:root {
    --ink:#16392b;
    --muted:#57665b;
    --paper:#fafbf5;
    --surface:#fff;
    --line:#d7dfd4;
    --green:#183d2c;
    --lime:#d5ed92;
    --wash:#eef2e7;
    --serif:Georgia,'Times New Roman',serif;
    --sans:Arial,Helvetica,sans-serif;
}
* {
    box-sizing:border-box;
}
body {
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font:16px/1.55 var(--sans);
}
a {
    color:inherit;
    text-underline-offset:4px;
}
button,input,select,textarea {
    font:inherit;
}
button,a,input,select,textarea {
    -webkit-tap-highlight-color:transparent;
}
button {
    cursor:pointer;
}
button:disabled {
    cursor:not-allowed;
    opacity:.45;
}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
    outline:3px solid #b07726;
    outline-offset:4px;
}
h1,h2,h3,h4,p {
    margin-top:0;
}
h1 {
    font:400 clamp(2.6rem,5vw,4.75rem)/1.04 var(--serif);
    letter-spacing:-.045em;
    margin-bottom:20px;
}
h1 em,h2 em {
    font-weight:400;
    color:#537141;
}
h2 {
    font-size:1.4rem;
    line-height:1.25;
    letter-spacing:-.035em;
    margin-bottom:16px;
}
h3 {
    font-size:1.15rem;
    line-height:1.3;
}
small {
    font-size:.875rem;
}
strong {
    font-weight:600;
}
.muted,.fine-note {
    color:var(--muted);
}
.fine-note {
    font-size:.875rem;
    line-height:1.55;
}
.eyebrow {
    font-size:.75rem;
    letter-spacing:.13em;
    font-weight:700;
    margin-bottom:17px;
}
.site-header {
    max-width:1456px;
    margin:auto;
    padding:26px 5%;
    display:flex;
    gap:30px;
    align-items:center;
    justify-content:space-between;
    border-bottom:1px solid var(--line);
}
.brand {
    display:flex;
    align-items:center;
    gap:14px;
    text-decoration:none;
    font:600 1.8rem var(--serif);
    letter-spacing:-.04em;
}
.brand small {
    display:block;
    letter-spacing:.12em;
    font:700 .625rem var(--sans);
    margin-top:6px;
}
.brand-mark {
    display:grid;
    place-content:center;
    width:48px;
    height:48px;
    border:1px solid var(--ink);
    border-radius:50%;
    font:italic 2.3rem var(--serif);
    letter-spacing:-.19em;
    padding-right:8px;
}
.brand-mark span {
    display:inline;
    font-size:1.4rem;
}
.site-header nav {
    display:flex;
    gap:27px;
    align-items:center;
    flex-wrap:wrap;
    font-size:.875rem;
}
.site-header nav a {
    text-decoration:none;
    padding:9px 0;
    white-space:nowrap;
}
.site-header nav .nav-active {
    border-bottom:2px solid var(--green);
    font-weight:700;
}
.site-header nav form {
    margin:0;
}
.text-button {
    background:none;
    border:0;
    color:var(--muted);
    padding:0;
    font-size:.875rem;
}
.nav-signin {
    display:flex;
    gap:22px;
}
.page {
    max-width:1320px;
    padding:46px 40px 80px;
    margin:auto;
    min-height:72vh;
}
.page-heading {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:35px;
    margin-bottom:42px;
}
.intro {
    font-size:1.0625rem;
    color:var(--muted);
    margin-bottom:0;
}
.farm-stamp {
    width:174px;
    min-width:174px;
    height:174px;
    border-radius:50%;
    border:1px solid #afbd9b;
    background:var(--lime);
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    transform:rotate(9deg);
    margin-right:60px;
    gap:9px;
}
.farm-stamp span {
    font-size:.625rem;
    letter-spacing:.1em;
    font-weight:700;
}
.farm-stamp strong {
    font:italic 1.8rem/1 var(--serif);
    text-align:center;
}
.builder-layout {
    display:grid;
    grid-template-columns:minmax(0,1fr) 335px;
    gap:38px;
    align-items:start;
}
.section-heading {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    margin-bottom:13px;
    flex-wrap:wrap;
}
.section-heading h2,.section-heading h3 {
    margin:0;
}
.section-heading>.muted,.section-heading>a {
    font-size:.875rem;
}
.step {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #acbca5;
    border-radius:50%;
    width:29px;
    height:29px;
    font-size:.75rem;
    margin-right:9px;
    vertical-align:2px;
}
.category-heading {
    font-size:.875rem;
    border-top:1px solid var(--line);
    padding-top:22px;
    margin-top:25px;
    margin-bottom:14px;
}
.category-heading span {
    font-weight:400;
    color:var(--muted);
    margin-left:12px;
}
.product-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}
.product-card {
    border:1px solid var(--line);
    background:var(--surface);
    padding:18px 15px;
    display:flex;
    flex-direction:column;
    transition:border-color .15s,background .15s;
    min-width:0;
}
.product-card.has-selection {
    border-color:#365d36;
    background:#f4f8ea;
    box-shadow:inset 0 0 0 1px #365d36;
}
.produce-label {
    display:flex;
    justify-content:space-between;
    gap:4px;
    flex-wrap:wrap;
    font-size:.6875rem;
    letter-spacing:.02em;
    color:#53664d;
    border-bottom:3px solid #bed37d;
    padding-bottom:11px;
    margin-bottom:21px;
}
.herb-label {
    border-bottom-color:#789676;
}
.product-card h4 {
    font:400 1.45rem/1.12 var(--serif);
    margin-bottom:10px;
    letter-spacing:-.02em;
}
.product-card p {
    font-size:.875rem;
    color:var(--muted);
    line-height:1.5;
    flex:1;
    margin-bottom:24px;
}
.product-bottom {
    display:flex;
    justify-content:space-between;
    gap:8px;
    align-items:center;
    flex-wrap:wrap;
}
.product-bottom strong {
    font-size:1.05rem;
}
.product-bottom small {
    display:block;
    font-size:.6875rem;
    color:var(--muted);
}
.stepper {
    display:flex;
    border:1px solid #b4c0ad;
    background:var(--surface);
    height:35px;
    align-items:stretch;
}
.stepper button {
    border:0;
    background:transparent;
    color:var(--ink);
    width:30px;
    min-height:33px;
    padding:0;
    font-size:1.2rem;
}
.stepper button:hover:not(:disabled) {
    background:var(--wash);
}
.stepper input {
    width:30px;
    padding:0;
    border:0;
    text-align:center;
    border-radius:0;
    background:transparent;
    font-size:.875rem;
    -moz-appearance:textfield;
}
.stepper input::-webkit-inner-spin-button,.stepper input::-webkit-outer-spin-button {
    -webkit-appearance:none;
    margin:0;
}
.capacity-note {
    margin-top:12px;
    font-size:.75rem;
}
.package-summary {
    position:sticky;
    top:24px;
    background:#f0f3e7;
    border:1px solid #bcc9af;
    padding:25px;
}
.summary-head {
    border-bottom:1px solid #cbd4c0;
    padding-bottom:20px;
}
.summary-head .eyebrow {
    font-size:.6875rem;
    margin-bottom:10px;
    display:block;
}
.summary-head h2 {
    font:400 1.85rem var(--serif);
    margin-bottom:9px;
}
.summary-head>span:last-child {
    font-size:.875rem;
}
.summary-lines {
    padding:20px 0;
    min-height:113px;
    font-size:.875rem;
}
.summary-lines>div,.price-lines>div {
    display:flex;
    justify-content:space-between;
    gap:12px;
    margin-bottom:10px;
}
.summary-lines strong {
    white-space:nowrap;
}
.price-lines {
    font-size:.875rem;
    border-top:1px solid #cbd4c0;
    padding-top:15px;
}
.total-line {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    border-top:1px solid #cbd4c0;
    padding-top:15px;
    margin-top:6px;
}
.total-line>strong {
    font:400 2.1rem var(--serif);
}
.summary-foot {
    margin-top:23px;
    border-top:1px solid #cbd4c0;
    padding-top:18px;
    font-size:.875rem;
}
.summary-foot p {
    font-size:.8125rem;
    color:var(--muted);
    margin:6px 0 0;
}
.button {
    min-height:44px;
    padding:11px 19px;
    border:1px solid var(--ink);
    font-weight:600;
    font-size:.875rem;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    text-decoration:none;
    border-radius:2px;
    text-align:center;
    line-height:1.35;
}
.button.primary {
    background:var(--green);
    color:#f9ffea;
}
.button.primary:hover:not(:disabled) {
    background:#285c3e;
}
.button.secondary {
    background:transparent;
    color:var(--green);
}
.button.secondary:hover:not(:disabled) {
    background:#e8eedb;
}
.button.full {
    width:100%;
}
.button.small {
    padding:8px 13px;
    font-size:.8125rem;
}
.acknowledge {
    display:flex;
    align-items:flex-start;
    gap:9px;
    font-weight:400;
    font-size:.8125rem;
    margin:18px 0;
}
.acknowledge input {
    width:17px;
    min-width:17px;
    height:17px;
    margin:4px 0 0;
    accent-color:var(--ink);
}
.builder-feedback {
    font-size:.8125rem;
    color:var(--ink);
    min-height:22px;
    margin-top:16px;
}
.form-section {
    margin-top:35px;
    padding-top:28px;
    border-top:1px solid var(--line);
}
.cadence-options {
    border:0;
    padding:0;
    margin:20px 0 14px;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}
.choice {
    display:flex;
    align-items:flex-start;
    gap:9px;
    cursor:pointer;
    background:white;
    border:1px solid var(--line);
    padding:16px 12px;
    font-size:.875rem;
    font-weight:400;
    margin:0;
}
.choice:has(input:checked) {
    background:var(--wash);
    border-color:var(--ink);
}
.choice input {
    width:16px;
    min-width:16px;
    height:16px;
    accent-color:var(--green);
    margin-top:3px;
}
.choice strong {
    display:block;
}
.choice small {
    display:block;
    font-size:.75rem;
    line-height:1.4;
    color:var(--muted);
    margin-top:4px;
}
.field-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    margin:20px 0;
}
.wide {
    grid-column:1/-1;
}
label {
    display:block;
    font-size:.875rem;
    font-weight:600;
}
input,textarea,select {
    width:100%;
    padding:11px 12px;
    border:1px solid #a7b6a2;
    color:var(--ink);
    background:#fff;
    border-radius:2px;
    margin-top:7px;
    min-width:0;
}
input:focus,textarea:focus,select:focus {
    border-color:var(--green);
}
textarea {
    resize:vertical;
}
.field-help {
    font-size:.8125rem;
    color:var(--muted);
    align-self:center;
    margin:22px 0 0;
}
.policy-note {
    background:var(--wash);
    border-left:3px solid #91a16a;
    padding:15px 18px;
    font-size:.875rem;
    line-height:1.65;
}
.site-footer {
    max-width:1240px;
    margin:auto;
    border-top:1px solid var(--line);
    padding:28px 0 40px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    color:var(--muted);
    font-size:.75rem;
}
.footer-brand {
    font:400 1.5rem var(--serif);
    color:var(--ink);
    text-decoration:none;
}
.notice {
    border:1px solid #b7c59f;
    background:#eef3df;
    padding:16px 20px;
    margin-bottom:25px;
    font-size:.9375rem;
}
.notice.success {
    border-left:4px solid #3b6b3d;
}
.notice.error {
    background:#fff1e7;
    border-color:#a96137;
    color:#733811;
}
.notice ul {
    margin-bottom:0;
    padding-left:22px;
}
.auth-layout {
    display:grid;
    grid-template-columns:1fr 430px;
    gap:100px;
    max-width:1040px;
    margin:35px auto;
}
.auth-story>p {
    max-width:430px;
}
.auth-card {
    background:white;
    border:1px solid var(--line);
    padding:32px;
    align-self:start;
}
.auth-card h2 {
    font:400 2rem var(--serif);
}
.auth-card label {
    margin-bottom:20px;
}
.auth-card form+p {
    font-size:.875rem;
    margin-top:24px;
}
.compact-heading {
    display:flex;
    justify-content:space-between;
    gap:30px;
    align-items:center;
    margin:10px 0 36px;
    flex-wrap:wrap;
}
.compact-heading h1 {
    font-size:clamp(2.5rem,4.5vw,3.5rem);
}
.status-pill {
    display:inline-block;
    border:1px solid #bec9b8;
    border-radius:30px;
    font-size:.75rem;
    padding:5px 11px;
    white-space:nowrap;
}
.status-pill.active,.status-pill.packed {
    background:#dcecbd;
    border-color:#c7d9a4;
}
.status-pill.paused {
    background:#f1e6cf;
    border-color:#d1bd91;
}
.account-layout {
    display:grid;
    grid-template-columns:390px minmax(0,1fr);
    gap:45px;
    align-items:start;
}
.panel {
    padding:26px;
    background:#fff;
    border:1px solid var(--line);
}
.saved-items>div {
    display:flex;
    align-items:center;
    gap:13px;
    padding:18px 0;
    border-bottom:1px solid var(--line);
}
.saved-items>div:last-child {
    border:0;
}
.saved-items>div>span:nth-child(2) {
    flex:1;
}
.saved-items strong {
    font-size:.875rem;
}
.saved-items small {
    display:block;
    color:var(--muted);
    font-size:.75rem;
    margin-top:4px;
}
.quantity-badge {
    border:1px solid #b8c9a7;
    width:32px;
    min-width:32px;
    height:32px;
    display:grid;
    place-content:center;
    background:var(--wash);
}
.address-block {
    border-top:1px solid var(--line);
    padding-top:23px;
    margin-top:26px;
    font-size:.875rem;
}
.address-block .eyebrow {
    margin-bottom:12px;
}
.address-block p {
    margin-top:7px;
}
.billing-boundary {
    padding:17px;
    background:#f4f0df;
    font-size:.875rem;
    margin-top:24px;
}
.billing-boundary p {
    margin:8px 0 0;
    color:#655c40;
    font-size:.8125rem;
}
.delivery-list {
    margin-top:24px;
}
.delivery-row {
    display:flex;
    gap:18px;
    align-items:center;
    padding:18px 0;
    border-top:1px solid var(--line);
}
.date-tile {
    width:57px;
    min-width:57px;
    background:#e8eede;
    border:1px solid #cdd8be;
    padding:5px;
    text-align:center;
}
.date-tile span {
    display:block;
    font-size:.6875rem;
    text-transform:uppercase;
    letter-spacing:.1em;
}
.date-tile strong {
    display:block;
    font:400 1.8rem var(--serif);
    line-height:1.2;
}
.delivery-detail {
    flex:1;
}
.delivery-detail>strong {
    font-size:.9375rem;
    display:block;
}
.delivery-detail>span,.delivery-detail>small {
    display:block;
    font-size:.8125rem;
    color:var(--muted);
}
.delivery-row.skipped .date-tile {
    background:#f1f1ed;
}
.delivery-row.skipped .delivery-detail>strong {
    text-decoration:line-through;
}
.pause-card {
    background:var(--wash);
    padding:24px;
    margin-top:30px;
}
.pause-card p {
    font-size:.875rem;
}
.pause-card h3 {
    margin-bottom:8px;
}
.staff-toolbar {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    padding:20px 0;
    border-top:1px solid var(--line);
}
.staff-toolbar form {
    min-width:310px;
}
.staff-toolbar label {
    margin-bottom:8px;
}
.staff-toolbar .muted {
    font-size:.875rem;
    text-align:right;
}
.inline-controls {
    display:flex;
    gap:10px;
}
.inline-controls input {
    margin:0;
    max-width:230px;
}
.date-nav {
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin:8px 0 24px;
}
.date-nav a {
    padding:8px 15px;
    border:1px solid var(--line);
    text-decoration:none;
    font-size:.875rem;
}
.date-nav a.selected {
    background:var(--green);
    color:white;
    border-color:var(--green);
}
.stats-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    border:1px solid #bfc9b5;
    background:#eaf0df;
    margin-bottom:32px;
}
.stats-grid>div {
    padding:24px;
    border-right:1px solid #c5cebc;
}
.stats-grid>div:last-child {
    border:0;
}
.stats-grid span {
    font-size:.6875rem;
    letter-spacing:.08em;
    display:block;
    margin-bottom:11px;
}
.stats-grid strong {
    display:block;
    font:400 2.05rem var(--serif);
    margin-bottom:5px;
}
.stats-grid small {
    color:var(--muted);
    font-size:.75rem;
}
.packing-layout {
    display:grid;
    grid-template-columns:320px minmax(0,1fr);
    gap:34px;
    align-items:start;
}
.harvest-panel {
    background:#173b2b;
    color:#fafde9;
    padding:26px;
}
.harvest-panel .eyebrow {
    color:#d5ed92;
}
.harvest-panel .fine-note {
    color:#d6e0cf;
    font-size:.8125rem;
}
.harvest-row {
    display:flex;
    justify-content:space-between;
    gap:10px;
    border-top:1px solid #56705a;
    padding:17px 0;
}
.harvest-row small {
    display:block;
    font-size:.75rem;
    color:#d6e0cf;
}
.harvest-row>strong {
    font:400 1.7rem var(--serif);
    color:var(--lime);
}
.harvest-row>div>strong {
    font-size:.875rem;
}
.packing-card {
    background:white;
    border:1px solid var(--line);
    padding:22px;
    margin-bottom:17px;
    break-inside:avoid;
}
.packing-title {
    display:flex;
    justify-content:space-between;
    gap:15px;
    align-items:center;
}
.packing-title .eyebrow {
    font-size:.6875rem;
    margin-bottom:7px;
}
.packing-title h3 {
    margin-bottom:0;
}
.packing-items {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px 18px;
    padding:24px 0;
}
.packing-items>div {
    display:flex;
    align-items:center;
    gap:9px;
    font-size:.875rem;
}
.packing-items small {
    display:block;
    font-size:.75rem;
    color:var(--muted);
}
.packing-box {
    display:block;
    width:15px;
    height:15px;
    min-width:15px;
    border:1px solid #b5c1a9;
}
.packing-bottom {
    padding-top:18px;
    border-top:1px solid var(--line);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    font-size:.8125rem;
}
.packing-bottom p {
    margin:5px 0 0;
    color:var(--muted);
}
.empty-state {
    padding:32px 20px;
    background:var(--wash);
    font-size:.9375rem;
    border:1px dashed #bdc8b4;
}
.harvest-panel .empty-state {
    color:var(--ink);
}
.settings-layout {
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);
    gap:60px;
    margin:32px 0 50px;
    align-items:start;
}
.config-explanation {
    padding-top:20px;
}
.config-explanation h2 {
    font:400 2.4rem/1.1 var(--serif);
}
.config-explanation>p {
    font-size:.9375rem;
    color:var(--muted);
}
.catalog-settings {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px;
}
.sr-only {
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}
.skip-link {
    position:fixed;
    left:16px;
    top:-100px;
    background:white;
    padding:10px 20px;
    z-index:100;
}
.skip-link:focus {
    top:16px;
}
@media(min-width:1400px) {
    .product-card {
        padding:21px;
    }
    .product-grid {
        gap:16px;
    }
}
@media(max-width:1080px) {
    .page {
        padding:35px 28px 60px;
    }
    .builder-layout {
        grid-template-columns:minmax(0,1fr) 300px;
        gap:24px;
    }
    .product-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .cadence-options {
        grid-template-columns:1fr;
    }
    .choice {
        align-items:center;
    }
    .choice small {
        display:inline;
        margin-left:8px;
    }
    .farm-stamp {
        margin-right:40px;
    }
    .site-footer {
        margin:0 28px;
    }
    .site-header nav {
        gap:17px;
    }
    .auth-layout {
        gap:45px;
        grid-template-columns:1fr 390px;
    }
    .account-layout {
        grid-template-columns:340px minmax(0,1fr);
        gap:25px;
    }
    .packing-layout {
        grid-template-columns:280px minmax(0,1fr);
        gap:24px;
    }
    .packing-items {
        grid-template-columns:1fr;
    }
    .stats-grid>div {
        padding:18px;
    }
    .stats-grid strong {
        font-size:1.65rem;
    }
    .settings-layout {
        gap:30px;
    }
}
@media(max-width:760px) {
    .site-header {
        padding:22px 22px;
        flex-wrap:wrap;
        gap:21px;
    }
    .site-header nav {
        width:100%;
        gap:20px;
        font-size:.8125rem;
    }
    .brand {
        font-size:1.65rem;
    }
    .brand-mark {
        width:42px;
        height:42px;
    }

.demo-label {
        margin-right:6px;
    }
    .page {
        padding:30px 20px 55px;
    }
    .page-heading {
        margin-bottom:32px;
    }
    .page-heading h1 {
        font-size:2.8rem;
    }
    .farm-stamp {
        display:none;
    }
    .intro {
        font-size:1rem;
    }
    .builder-layout,.account-layout,.auth-layout,.packing-layout,.settings-layout {
        grid-template-columns:1fr;
        gap:30px;
    }
    .package-summary {
        position:static;
        padding:24px;
    }
    .product-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
    }
    .product-card {
        padding:16px 13px;
    }
    .product-card h4 {
        font-size:1.45rem;
    }
    .product-bottom {
        gap:13px;
    }
    .product-bottom small {
        font-size:.75rem;
    }
    .produce-label {
        font-size:.6875rem;
    }
    .section-heading h2 {
        font-size:1.2rem;
    }
    .category-heading span {
        display:block;
        margin:5px 0 0;
    }
    .cadence-options {
        gap:8px;
    }
    .field-grid {
        gap:16px;
    }
    .choice small {
        display:block;
        margin:3px 0 0;
    }
    .site-footer {
        flex-wrap:wrap;
        gap:12px;
        margin:0 20px;
    }
    .site-footer span:last-child {
        flex-basis:100%;
    }
    .auth-layout {
        margin:8px auto;
    }
    .auth-card {
        padding:24px;
    }
    .auth-story h1 {
        font-size:3rem;
    }

.compact-heading {
        margin:5px 0 26px;
        gap:12px;
    }
    .compact-heading h1 {
        font-size:2.7rem;
    }
    .panel {
        padding:22px;
    }
    .account-layout {
        gap:35px;
    }
    .delivery-row {
        gap:11px;
    }
    .delivery-detail>strong {
        font-size:.875rem;
    }
    .delivery-detail>span {
        font-size:.75rem;
    }
    .delivery-row .button {
        padding:9px 12px;
    }
    .staff-toolbar {
        align-items:flex-start;
        flex-direction:column;
    }
    .staff-toolbar form {
        min-width:0;
        width:100%;
    }
    .staff-toolbar .muted {
        text-align:left;
    }
    .stats-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .stats-grid>div {
        border-bottom:1px solid #c5cebc;
    }
    .stats-grid>div:nth-child(2) {
        border-right:0;
    }
    .stats-grid>div:nth-child(3) {
        border-bottom:0;
    }
    .packing-items {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .packing-bottom {
        flex-wrap:wrap;
    }
    .catalog-settings {
        grid-template-columns:1fr;
    }
    .config-explanation {
        padding-top:0;
    }
    .settings-layout {
        margin-bottom:35px;
    }
    .status-pill {
        white-space:normal;
    }
    .harvest-panel {
        padding:24px;
    }
}
@media(max-width:380px) {
    .product-grid,.field-grid,.packing-items {
        grid-template-columns:1fr;
    }
    .wide {
        grid-column:auto;
    }
    .product-bottom {
        flex-wrap:nowrap;
    }
    .product-card p {
        margin-bottom:14px;
    }
    .page-heading h1 {
        font-size:2.5rem;
    }
    .stats-grid strong {
        font-size:1.45rem;
    }
    .delivery-row {
        flex-wrap:wrap;
    }
    .delivery-row form {
        margin-left:68px;
    }
    .site-header nav {
        gap:14px;
    }
    .stepper {
        height:40px;
    }
    .stepper button {
        width:36px;
    }
    .stepper input {
        width:35px;
    }
}
@media(prefers-reduced-motion:reduce) {
    * {
        transition:none!important;
        scroll-behavior:auto!important;
    }
}
@media print {
    body {
        background:white;
        color:#000;
        font-size:12px;
    }
    .site-header,.site-footer,.no-print,.staff-toolbar {
        display:none;
    }
    .page {
        max-width:none;
        padding:0;
    }
    .compact-heading h1 {
        font-size:28px;
    }
    .compact-heading {
        margin:0 0 16px;
    }
    .stats-grid {
        margin-bottom:20px;
    }
    .stats-grid strong {
        font-size:20px;
    }
    .stats-grid>div {
        padding:10px;
    }
    .packing-layout {
        grid-template-columns:240px 1fr;
        gap:20px;
    }
    .harvest-panel {
        background:white;
        color:black;
        border:1px solid #777;
        padding:15px;
    }
    .harvest-panel .eyebrow,.harvest-panel .fine-note,.harvest-row small,.harvest-row>strong {
        color:black;
    }
    .packing-card {
        padding:14px;
    }
    .packing-items {
        grid-template-columns:1fr;
        padding:15px 0;
    }
    .packing-title h3 {
        font-size:14px;
    }
    .packing-bottom {
        font-size:12px;
    }
    .notice {
        display:none;
    }
    .packing-card,.harvest-row {
        break-inside:avoid;
    }
    .status-pill {
        border:1px solid #777;
    }
}
.brand-mark {
    display:flex;
    align-items:center;
    justify-content:center;
    letter-spacing:-.08em;
    padding:0 4px 3px 0;
}
.brand-mark span {
    display:inline;
    margin-top:9px;
    margin-left:-1px;
}
.farm-stamp span {
    font-size:.6875rem;
    max-width:135px;
    text-align:center;
}
.page-heading h1 {
    font-size:clamp(2.6rem,4.1vw,3.65rem);
}
.page-heading {
    margin-bottom:30px;
}
.inline-controls .button {
    white-space:nowrap;
    flex-shrink:0;
}
.inline-controls input {
    flex:1;
}
.staff-toolbar form {
    min-width:340px;
}
@media(max-width:760px) {
    .staff-toolbar form {
        min-width:0;
    }
}

/* Public pages share the farm palette and use the full desktop canvas. */
.page { max-width:1560px; width:100%; padding-left:48px; padding-right:48px; }
.site-header,.site-footer { max-width:1660px; padding-left:48px; padding-right:48px; }
.site-header nav { gap:23px; }
.farm-ribbon { background:var(--green); color:var(--lime); padding:10px 48px; font-size:.7rem; letter-spacing:.15em; display:flex; justify-content:space-between; }
.farm-ribbon span { color:#f5f7ea; letter-spacing:.04em; }
.home-hero { display:grid; grid-template-columns:.9fr 1.25fr; gap:60px; align-items:center; padding:22px 0 48px; }
.hero-copy h1 { font-size:clamp(3.8rem,6.4vw,7rem); line-height:.99; }
.hero-copy .intro { max-width:440px; }
.hero-actions { display:flex; align-items:center; gap:26px; margin:30px 0 22px; flex-wrap:wrap; }
.hero-photo { margin:0; background:var(--green); position:relative; }
.hero-photo img { display:block; width:100%; height:650px; object-fit:cover; }
.hero-photo figcaption { padding:18px 24px; color:var(--lime); font-size:.7rem; letter-spacing:.15em; }
.value-strip { display:grid; grid-template-columns:repeat(3,1fr); border-block:1px solid var(--line); padding:25px 0; gap:25px; font-size:.9rem; }
.value-strip strong { display:block; margin-bottom:3px; }
.editorial-section { display:grid; grid-template-columns:1fr 1fr; gap:10%; margin:85px 0 35px; align-items:start; }
.display-heading { font:400 clamp(2.2rem,3.4vw,3.8rem)/1.08 var(--serif); letter-spacing:-.035em; }
.section-intro { max-width:570px; font-size:1.05rem; }
.feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.feature-card { display:flex; flex-direction:column; padding:36px; background:var(--wash); color:var(--ink); text-decoration:none; min-height:235px; }
.feature-card h3 { font:400 1.9rem/1.1 var(--serif); }
.feature-card>span:last-child { margin-top:auto; font-size:.9rem; text-decoration:underline; }
.feature-card.dark { background:var(--green); color:var(--paper); }
.feature-card.dark .eyebrow { color:var(--lime); }
.pricing-band { display:grid; grid-template-columns:1.15fr 1fr; gap:12%; padding:55px; background:#e7edda; margin:80px 0; }
.big-price { font:400 4.5rem/1.1 var(--serif); margin-bottom:12px; }
.big-price small { font:400 1rem var(--sans); display:block; margin-top:10px; }
.closing-invite { padding:10px 0 50px; text-align:center; }
.site-footer { gap:35px; align-items:start; }
.site-footer nav { display:grid; grid-template-columns:1fr 1fr; gap:8px 40px; }
.site-footer p { font-size:.85rem; margin:14px 0 0; }
.catalog-nav { display:flex; gap:15px; flex-wrap:wrap; padding:20px 0; border-block:1px solid var(--line); }
.catalog-nav a { text-decoration:none; padding:8px 16px; background:var(--wash); }
.catalog-section { padding-top:40px; scroll-margin-top:20px; }
.catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.catalog-card { padding:28px; border:1px solid var(--line); background:white; display:flex; flex-direction:column; }
.catalog-card h3 { font:400 1.9rem var(--serif); margin-top:26px; }
.catalog-price { display:flex; align-items:center; gap:18px; margin:15px 0 24px; }
.catalog-price strong { font:400 2rem var(--serif); }
.catalog-card>.fine-note { margin-bottom:0; }
.catalog-card>a { margin-top:auto; }
.split-heading { display:grid; grid-template-columns:1fr 1fr; gap:10%; margin-bottom:45px; align-items:center; }
.growing-principle { background:var(--green); color:var(--paper); padding:40px; max-width:100%; }
.growing-principle>p { max-width:900px; }
.growing-principle .fine-note { color:#d0dacb; }
.grow-grid { display:grid; grid-template-columns:1fr 1fr; margin-top:40px; gap:28px; }
.grow-card { display:flex; gap:28px; padding:30px 0; border-top:1px solid var(--line); }
.grow-number { font:400 3rem var(--serif); color:#8c9e7d; }
.grow-card h2 { font:400 2rem var(--serif); }
.grow-days { display:block; margin:20px 0 12px; }
.grow-days small { display:block; font-weight:400; color:var(--muted); }
.source-details { background:var(--wash); padding:24px; }
.source-details summary { cursor:pointer; font-weight:600; }
.source-details p { margin:20px 0 0; }
.how-columns,.policy-grid { display:grid; grid-template-columns:1fr 1fr; gap:50px; }
.rule-row { display:flex; justify-content:space-between; gap:15px; border-bottom:1px solid #bac7b2; padding:14px 0; }
.billing-grid { display:grid; grid-template-columns:.9fr 1.2fr; gap:45px; }
.invoice-row { border-bottom:1px solid var(--line); padding:22px 0; }
.invoice-row header { display:flex; justify-content:space-between; gap:20px; }
.invoice-actions { display:flex; gap:20px; align-items:center; flex-wrap:wrap; margin-top:15px; }
.account-nav { display:flex; gap:22px; margin-bottom:28px; flex-wrap:wrap; }
@media(min-width:1550px) { .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:1150px) { .site-header { align-items:flex-start; } .site-header nav { justify-content:flex-end; gap:12px 20px; } .home-hero { gap:35px; } .hero-photo img { height:550px; } .feature-card { padding:25px; } }
@media(max-width:800px) { .page,.site-header,.site-footer { padding-left:24px; padding-right:24px; } .farm-ribbon { padding:10px 24px; } .farm-ribbon span { display:none; } .site-header { flex-direction:column; } .site-header nav { justify-content:flex-start; } .home-hero,.split-heading,.editorial-section,.pricing-band,.billing-grid { grid-template-columns:1fr; gap:25px; } .home-hero { padding-top:15px; } .hero-photo img { height:420px; } .hero-copy h1 { font-size:4.5rem; } .feature-grid,.catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .feature-grid>*:last-child { grid-column:1/-1; } .pricing-band { padding:32px; margin:50px 0; } .editorial-section { margin-top:55px; } .grow-grid,.how-columns,.policy-grid { grid-template-columns:1fr; gap:20px; } .site-footer { flex-wrap:wrap; } }
@media(max-width:520px) { .page,.site-header,.site-footer { padding-left:18px; padding-right:18px; } .hero-copy h1 { font-size:3.8rem; } .hero-photo img { height:340px; } .value-strip,.feature-grid,.catalog-grid { grid-template-columns:1fr; } .value-strip { gap:18px; } .feature-card { min-height:210px; } .growing-principle { padding:25px; } .grow-card { gap:18px; } .pricing-band { padding:25px; } .site-footer nav { grid-template-columns:1fr; } }

/* A compact mountain mark keeps the navigation light; the complete logo lives in the footer. */
.site-header { padding-top:20px; padding-bottom:20px; align-items:center; gap:24px; }
.brand { flex-shrink:0; line-height:1.1; gap:12px; }
.brand-symbol { display:block; width:52px; height:auto; flex:none; }
.footer-logo { display:block; width:124px; height:auto; }
.footer-brand { display:inline-block; }
@media(max-width:800px) {
    .site-header { align-items:flex-start; gap:17px; padding-top:18px; padding-bottom:18px; }
    .brand-symbol { width:46px; }
}

.brand-wordmark > img { display:block; width:164px; height:auto; }
.brand-wordmark small { margin-top:3px; font-size:.55rem; letter-spacing:.11em; }

@media (min-width: 901px) { .checkout-layout { grid-template-columns: 1.15fr 1fr; } }

.site-footer{flex-wrap:wrap}
.site-footer .site-ownership{flex-basis:100%;border-top:1px solid var(--line);padding-top:20px;color:var(--ink)}
.site-footer .site-ownership>p:first-child{margin:0;font-size:.75rem}
