@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap');
:root{--ink:#352819;--forest:#493522;--forest-2:#2c2117;--honey:#eeb54a;--gold:#8b570b;--cream:#f5ecd9;--paper:#fffcf5;--line:#dfd1b7;--muted:#6e6254;--shadow:0 12px 35px #49352212}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 'DM Sans',sans-serif}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}h1,h2,h3{font-family:'Fraunces',Georgia,serif}h1,h2,h3,h4,p{overflow-wrap:break-word}.skip-link{position:fixed;top:-80px;left:20px;z-index:100;background:white;padding:12px}.skip-link:focus{top:10px}.delivery-banner{text-align:center;padding:9px 16px;background:var(--forest-2);color:#ffe2a4;font-size:.875rem;font-weight:700;letter-spacing:.08em}.site-header{min-height:84px;padding:10px max(24px,5vw);display:flex;align-items:center;gap:30px;border-bottom:1px solid var(--line);background:#fffcf5f5;position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;margin-right:auto}.brand-logo{width:56px;height:56px;object-fit:contain;border-radius:8px;flex-shrink:0}.brand strong,.brand small{display:block}.brand strong{font:700 1.15rem 'Fraunces',serif}.brand small{font-size:.875rem;color:var(--muted)}.site-header nav{display:flex;gap:25px}.site-header nav a{text-decoration:none;font-weight:600;min-height:44px;display:flex;align-items:center}.cart-link{padding:10px 16px;min-height:44px;border-radius:999px;background:var(--forest);color:white;text-decoration:none;font-weight:700;white-space:nowrap}.cart-link span{display:inline-grid;place-items:center;background:var(--honey);color:var(--ink);min-width:25px;height:25px;padding:0 5px;border-radius:50%;margin-left:5px}.hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;padding:55px max(24px,6vw);gap:35px;background:var(--cream);border-bottom:1px solid var(--line);position:relative}.hero-copy{position:relative}.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:.875rem;font-weight:700;color:var(--gold);margin:0 0 12px}.hero h1{font-size:clamp(3.4rem,6.5vw,6.8rem);line-height:.98;letter-spacing:-.025em;margin:12px 0 25px}.hero-copy>p:not(.eyebrow){max-width:550px;margin:0 0 24px}.hero-copy .hero-subtitle{font:600 clamp(1.3rem,2vw,1.85rem)/1.3 'Fraunces',serif;color:var(--gold)}.hero-photo{display:flex;justify-content:center;align-items:center}.hero-photo img{width:100%;max-width:400px;height:auto;object-fit:contain;border-radius:50%;box-shadow:var(--shadow)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 24px;border:0;border-radius:8px;text-decoration:none;font-weight:700}.button.primary{background:var(--honey);color:var(--ink);border:1px solid #bd8428;box-shadow:0 4px 0 #9f6f2320}.hero-copy .hero-delivery{margin:20px 0 0!important;font-size:.875rem;font-weight:700;color:var(--gold)}.promise{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);background:var(--paper)}.promise>div{padding:23px 5vw;border-right:1px solid var(--line)}.promise>div:last-child{border:0}.promise strong,.promise span{display:block}.promise strong{font:700 1.1rem 'Fraunces',serif}.promise span{color:var(--muted);font-size:.875rem;margin-top:4px}.shop{padding:65px max(24px,6vw)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:24px}.section-heading h2,.order-panel h2,.about h2{font:700 clamp(2rem,3.5vw,3.6rem)/1.12 'Fraunces',serif;margin:0}.section-heading>p{max-width:360px;color:var(--muted);margin:0}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 18px}.filters button{border:1px solid var(--line);background:white;border-radius:999px;padding:10px 17px;min-height:44px;font-weight:600}.filters button[data-filter=honey]{border-color:var(--gold);font-weight:700}.filters button.active{background:var(--forest);border-color:var(--forest);color:white}.image-note{font-size:.875rem;color:var(--muted);margin:0 0 16px;max-width:900px}.catalog-status{font-weight:700;font-size:.94rem;margin:0 0 18px}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.product-card{border:1px solid var(--line);background:white;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:.2s box-shadow}.product-card:hover{box-shadow:var(--shadow)}.product-photo{margin:0;background:#faf9f6;border-bottom:1px solid #eee7dc}.recreated-photo{aspect-ratio:1;overflow:hidden}.recreated-photo img{display:block;width:100%;height:100%;object-fit:contain}.product-body{padding:20px;display:flex;flex-direction:column;flex:1;gap:0}.product-top{display:flex;flex-direction:column;gap:9px}.product-card h4{font:600 1.2rem/1.25 'Fraunces',serif;margin:0}.price{font-weight:700;font-size:1.4rem;color:var(--gold);white-space:nowrap}.product-card p{color:var(--muted);font-size:.875rem;margin:7px 0 18px}.add-button{width:100%;margin-top:auto;min-height:46px;padding:10px 8px;border:1px solid #c38b30;background:#f8e5bb;color:var(--ink);border-radius:8px;font-weight:700}.add-button:hover{background:var(--honey)}.variant-label{font-weight:600;font-size:.875rem;margin:0 0 6px}.product-variant{width:100%;min-height:44px;border:1px solid var(--line);border-radius:6px;padding:8px;background:white;margin-bottom:16px}.catalog-help{color:var(--muted);margin-top:28px}.order-panel{margin:0 max(24px,6vw) 65px;padding:clamp(24px,4vw,60px);background:var(--forest);color:white;border-radius:18px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}.order-panel .eyebrow{color:#ffd983}.order-intro>p{max-width:520px}.basket{min-height:55px;margin-top:28px}.basket-item{display:flex;justify-content:space-between;align-items:start;gap:14px;padding:18px 0;border-bottom:1px solid #ffffff35}.basket-product{flex:1;min-width:0}.basket-product strong,.basket-product small{display:block}.basket-product small{color:#f0e6d7;font-size:.875rem;margin-top:3px}.basket-controls{display:flex;flex-direction:column;align-items:end;gap:6px}.quantity{display:flex;align-items:center;gap:4px;background:#fffcf5;border-radius:8px;color:var(--ink)}.quantity button{min-width:44px;min-height:44px;background:transparent;border:0;color:var(--ink);font-size:1.3rem}.quantity span{min-width:24px;text-align:center;font-weight:700}.remove-item{color:#ffe2a4;background:none;border:0;text-decoration:underline;min-height:44px;font-size:.875rem}.basket-total{padding:18px 0}.basket-total>span{font-size:.875rem;color:#ffe2a4}.basket-total>div{display:flex;justify-content:space-between;gap:16px;margin-top:10px;font-size:1.2rem}.order-form{display:flex;flex-direction:column;gap:8px;min-width:0}.order-form h3{font:700 1.5rem 'Fraunces',serif;margin:0 0 12px}.order-form label{font-weight:600;margin-top:8px}.order-form label span{font-size:.875rem;font-weight:400;color:#f0e6d7}.order-form input,.order-form select,.order-form textarea{width:100%;color:var(--ink);border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:12px;min-height:48px}.order-form textarea{resize:vertical}.order-form :is(input,select,textarea):focus-visible{outline:3px solid var(--honey);outline-offset:3px}#addressFields{display:flex;flex-direction:column;gap:8px}[hidden]{display:none!important}.order-actions{display:grid;gap:12px;margin-top:14px}.order-actions .button{width:100%}.whatsapp{background:white;color:var(--ink);border:1px solid var(--line)}.copy-order{border:0;background:transparent;color:#ffe2a4;text-decoration:underline;min-height:44px}.form-help{font-size:.875rem;color:#f0e6d7;margin:8px 0}.order-status{font-size:.94rem;color:#ffe2a4;margin:0}.food-notice{grid-column:1/-1;border:1px solid var(--line);background:var(--cream);color:var(--ink);border-radius:10px;padding:24px}.food-notice h3{margin:0;font-size:1.1rem}.food-notice p{margin:10px 0 0}.food-notice p:last-child{font-size:.875rem}.contact-section{padding:0 max(24px,6vw) 65px;text-align:center}.contact-section h2{font:700 2rem 'Fraunces',serif;margin:0}.contact-links{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:22px}.contact-links a{border:1px solid var(--line);border-radius:8px;padding:12px 18px;background:white;overflow-wrap:anywhere}.about{padding:65px max(24px,14vw);text-align:center;background:var(--cream);border-top:1px solid var(--line)}.about p:last-child{max-width:760px;margin:20px auto 0;color:var(--muted);font-size:1rem}footer{padding:30px max(24px,6vw);background:var(--forest-2);color:white;display:flex;justify-content:space-between;gap:20px}.mobile-basket{display:none}
@media(max-width:1100px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.site-header nav{display:none}}
@media(max-width:800px){.hero{padding-block:36px;gap:24px}.hero h1{font-size:clamp(2.8rem,7vw,4.4rem)}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.order-panel{grid-template-columns:1fr}.section-heading{display:block}.section-heading>p{margin-top:12px}.promise>div{padding:20px 24px}.promise strong{font-size:1rem}}
@media(max-width:600px){html{scroll-padding-top:90px}.delivery-banner{font-size:.875rem;letter-spacing:0;padding:8px}.site-header{min-height:70px;padding:9px 16px;gap:10px}.brand{gap:8px}.brand-logo{width:43px;height:43px}.brand strong{font-size:1rem}.brand small{font-size:.875rem}.cart-link{padding:8px 10px;font-size:.875rem}.hero{grid-template-columns:1fr;padding:30px 22px;gap:0;overflow:hidden}.hero-copy{z-index:1}.hero h1{font-size:clamp(2.8rem,12vw,4.1rem);margin:12px 0 18px}.hero-copy>p:not(.eyebrow){max-width:100%;margin-bottom:18px}.hero .eyebrow{max-width:235px;font-size:.875rem;letter-spacing:.04em}.hero-copy .hero-subtitle{max-width:260px;font-size:1.3rem}.hero-photo{position:absolute;top:28px;right:18px;width:90px;opacity:.85}.hero-photo img{box-shadow:none}.hero-copy .hero-delivery{font-size:.875rem}.promise{grid-template-columns:1fr}.promise>div{padding:13px 22px;border-right:0;border-bottom:1px solid var(--line)}.promise>div:first-child{background:#f9e4b9}.promise>div:nth-child(n+2){display:none}.shop{padding:36px 16px}.filters{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;padding:4px 2px 12px;margin:18px -2px 10px;scrollbar-width:thin}.filters button{flex-shrink:0;padding:10px 16px}.product-grid{gap:12px}.product-body{padding:13px}.product-card h4{font-size:1.05rem}.price{font-size:1.3rem}.product-card p{font-size:.875rem}.add-button{font-size:.875rem}.product-variant{font-size:1rem}.order-panel{margin:0 16px 40px;padding:24px 18px;gap:26px}.basket-item{gap:8px}.basket-controls{max-width:132px}.quantity button{min-width:44px}.food-notice{padding:18px}.contact-section{padding:0 20px 40px}.about{padding:40px 22px}.contact-section h2{font-size:1.7rem}.mobile-basket{display:flex;position:fixed;bottom:12px;left:16px;right:16px;z-index:20;min-height:52px;padding:12px 18px;justify-content:space-between;align-items:center;gap:12px;background:var(--forest-2);color:white;border:1px solid #b58637;border-radius:12px;text-decoration:none;box-shadow:0 6px 25px #0003;font-size:.94rem}.mobile-basket strong{color:#ffe2a4}.mobile-basket:not(.has-items){display:none}footer{flex-direction:column;padding-bottom:100px}}
@media(max-width:360px){.brand small{display:none}.hero-photo{width:70px}.product-grid{grid-template-columns:1fr}.basket-item{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.product-card{transition:none}}

/* Owner-selected portrait, shown in full on every screen. */
.hero-photo img{max-width:520px;border-radius:16px;border:1px solid var(--line)}
@media(max-width:600px){.hero-photo{position:static;width:100%;opacity:1;margin-top:26px}.hero-photo img{width:100%;height:auto}.hero-copy .hero-subtitle{max-width:100%}.hero .eyebrow{max-width:100%}}

/* Calm meadow hero: one brand mark in the header, compact family portrait. */
.hero{background-color:var(--cream);background-image:linear-gradient(90deg,rgba(255,252,245,.96) 0%,rgba(255,252,245,.90) 38%,rgba(255,252,245,.40) 65%,rgba(255,252,245,.10) 100%),url('assets/apiary-meadow-background.webp');background-size:cover;background-position:center 68%;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);padding-block:48px;min-height:410px}
.hero h1{font-size:clamp(2.4rem,4.1vw,4.1rem);line-height:1.08;letter-spacing:-.025em;max-width:650px;margin:14px 0 18px}
.hero-copy .hero-subtitle{font-size:clamp(1.2rem,1.8vw,1.6rem)}
.hero-photo{position:relative;justify-content:center}
.hero-photo img{max-width:320px;width:100%;border:5px solid #fffcf5;border-radius:12px;box-shadow:0 12px 35px #35281925}
@media(max-width:800px){.hero{gap:25px;padding-block:36px}.hero h1{font-size:clamp(2rem,4.5vw,3.2rem)}}
@media(max-width:600px){.hero{grid-template-columns:1fr;padding:30px 22px;min-height:0;background-image:linear-gradient(180deg,rgba(255,252,245,.96) 0%,rgba(255,252,245,.90) 45%,rgba(255,252,245,.35) 100%),url('assets/apiary-meadow-background.webp');background-position:65% bottom;gap:0}.hero h1{font-size:clamp(2rem,8vw,2.7rem);margin:12px 0 18px}.hero-photo{width:100%;margin-top:24px;justify-content:flex-end}.hero-photo img{max-width:220px}.hero-copy .hero-subtitle{font-size:1.25rem}}

.product-size{width:100%;min-height:44px;border:1px solid var(--line);border-radius:6px;padding:8px;font:inherit;background:white;margin-bottom:16px}.product-size:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

/* Clear ordering steps and consistent, touch-friendly categories. */
.ordering-preview{font-size:.875rem;font-weight:600;color:var(--forest);margin-top:16px!important;margin-bottom:0!important}
.order-steps{list-style:none;padding:0;margin:24px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.order-steps li{border-left:3px solid var(--honey);padding:4px 14px}.order-steps strong,.order-steps span{display:block}.order-steps span{color:var(--muted);font-size:.94rem;margin-top:5px}.size-note{color:var(--muted);font-size:.875rem}.filters button[data-filter=honey]{border-color:var(--line);font-weight:600}.filters button.active{border-color:var(--forest)}.filters button:focus-visible{outline-offset:2px}.product-info{font-size:.875rem;margin:0 0 16px;color:var(--muted)}.product-info summary{cursor:pointer;min-height:44px;padding:10px 0;color:var(--ink);font-weight:600}.product-info summary:focus-visible{outline:3px solid var(--gold)}.product-info a{display:inline-block;min-height:44px;padding:10px 0}.product-info p{margin:4px 0}.fulfillment-info{margin:0 max(24px,6vw) 36px;padding:28px;border:1px solid var(--line);border-radius:16px;background:var(--cream)}.fulfillment-info h2{font-size:1.8rem;margin:0 0 12px}.fulfillment-info>div{display:grid;grid-template-columns:1fr 1fr;gap:28px}.fulfillment-info p{margin:12px 0}.fulfillment-info>p{font-size:.94rem;color:var(--muted)}
@media(max-width:800px){.filters{flex-wrap:nowrap;overflow-x:auto;padding:6px 4px 14px;scrollbar-width:thin}.filters button{flex-shrink:0}.order-steps{gap:12px}.order-steps li{padding-left:10px}}
@media(max-width:600px){.order-steps{grid-template-columns:1fr;gap:12px}.fulfillment-info{margin:0 16px 28px;padding:22px 18px}.fulfillment-info>div{grid-template-columns:1fr;gap:0}}

.basket-total .tax-note{font-size:.875rem;color:#f0e6d7;margin:14px 0 0}

.messenger{background:#fffcf5;color:var(--ink);border:1px solid var(--line)}

.customer-reviews{margin:0 max(24px,6vw) 36px;padding:clamp(24px,4vw,44px);background:var(--cream);border:1px solid var(--line);border-radius:16px;text-align:center}.customer-reviews h2{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.2;margin:0}.customer-review{max-width:760px;margin:24px auto 0}.customer-review blockquote{margin:0}.customer-review blockquote p{font:600 clamp(1.2rem,2.2vw,1.65rem)/1.55 'Fraunces',Georgia,serif;margin:0}.customer-review figcaption{margin-top:18px;font-size:.875rem;color:var(--muted)}
@media(max-width:600px){.customer-reviews{margin:0 16px 28px;padding:28px 22px}}

/* Product families stay together in every category, including All products. */
.catalog-sections{display:flex;flex-direction:column;gap:36px}.catalog-section{min-width:0}.catalog-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:18px}.catalog-section-heading h3{font:600 clamp(1.25rem,2vw,1.65rem)/1.3 'Fraunces',Georgia,serif;margin:0}.catalog-section-heading span{font-size:.875rem;color:var(--muted);white-space:nowrap}
@media(max-width:600px){.filters{flex-wrap:wrap;overflow:visible;padding-bottom:4px;gap:8px}.filters button{font-size:.875rem;padding:9px 13px}.catalog-sections{gap:28px}.catalog-section-heading{align-items:flex-start;gap:12px}}

/* Compact storefront introduction, replacing the meadow/poster hero. */
.store-intro{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:48px;align-items:center;padding:38px max(24px,6vw);background:var(--paper);border-bottom:1px solid var(--line)}
.store-intro-copy{max-width:630px}.store-intro h1{font:700 clamp(2.3rem,4.2vw,3.7rem)/1.08 'Fraunces',Georgia,serif;letter-spacing:-.025em;margin:14px 0 20px}.store-intro .eyebrow{font-size:.875rem;letter-spacing:.07em}
.intro-description{max-width:520px;color:var(--muted);margin:0 0 24px}.intro-caption{font-size:.875rem;color:var(--gold);margin:18px 0 0;font-weight:600}
.intro-product{margin:0;justify-self:center;width:100%;max-width:310px;padding:16px;background:white;border:1px solid var(--line);border-radius:18px}.intro-product img{display:block;width:100%;height:245px;object-fit:contain}.intro-product figcaption{text-align:center;color:var(--muted);font-size:.875rem;margin-top:10px}
.family-portrait{max-width:250px;margin:28px auto 0}.family-portrait img{display:block;width:100%;height:auto;border-radius:12px}.family-portrait figcaption{font-size:.875rem;color:var(--muted);margin-top:10px}
@media(max-width:700px){.store-intro{grid-template-columns:1fr;padding:28px 22px;gap:0}.store-intro h1{font-size:clamp(2.15rem,8vw,2.7rem)}.intro-product{display:none}.intro-description{margin-bottom:20px}.intro-caption{margin-top:16px}.store-intro .eyebrow{letter-spacing:.04em}}

/* Owner-selected sunset apiary banner, shown uncropped. */
.apiary-banner{background:var(--paper);border-bottom:1px solid var(--line)}
.apiary-banner-link{display:block;color:var(--ink);text-decoration:none}
.apiary-banner-link img{display:block;width:100%;height:auto}
.banner-accessible-heading{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.banner-phone-button{display:none}
.apiary-banner-link:focus-visible{outline:4px solid var(--gold);outline-offset:-4px}
@media(max-width:700px){.banner-phone-button{display:block;width:max-content;max-width:calc(100% - 40px);margin:18px auto;padding:14px 24px;border-radius:12px;background:var(--honey);font-weight:700;min-height:48px}}

.phone-introduction{display:none}.shopping-summary{color:var(--muted);font-size:.9rem;margin:12px 0 20px}
.category-previews{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:20px 0}.category-previews button{border:1px solid var(--line);border-radius:12px;background:white;padding:8px;overflow:hidden;color:var(--ink)}.category-previews .product-photo{border:0;max-height:120px}.category-previews img{max-height:120px}.category-previews span{display:block;font-weight:700;padding:10px 0;min-height:44px}
.size-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0 0 18px}.size-choice{min-height:58px;border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:8px;color:var(--ink);text-align:left;font-size:.85rem}.size-choice span,.size-choice strong{display:block}.size-choice[aria-pressed=true]{border:2px solid var(--gold);background:#f8e5bb;padding:7px}.order-panel>.order-steps{grid-column:1/-1;margin:0}.request-explanation{margin:0 0 12px;font-size:.94rem}
@media(max-width:700px){.phone-introduction{display:block;padding:0 20px 20px}.phone-introduction h2{font-size:1.6rem;line-height:1.2;margin:0 0 10px}.phone-introduction p{margin:0;color:var(--muted)}.category-previews{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.category-previews button:first-child{grid-column:1/-1;display:flex;align-items:center;gap:16px}.category-previews button:first-child .product-photo{width:90px}.category-previews .product-photo,.category-previews img{max-height:90px}.basket-visible{padding-bottom:90px}.mobile-basket{bottom:max(12px,env(safe-area-inset-bottom));min-height:56px}.size-options{grid-template-columns:1fr}.order-panel>.order-steps{display:none}}
