@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700&display=swap');
:root{--ink:#30211c;--rust:#a23a28;--rust-dark:#7a291f;--clay:#ca704e;--gold:#e9b26d;--cream:#fff9ed;--paper:#f8f0e3;--sand:#f0dfc8;--line:#dfcdb7;--muted:#76675d;--wine:#422820;--white:#fffdf8}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:108px}
body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:Fraunces,Georgia,serif;font-weight:500}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(3.8rem,6.65vw,7rem);line-height:1.015;letter-spacing:-.062em}
h2{font-size:clamp(2.7rem,4.7vw,5rem);line-height:1.08;letter-spacing:-.05em}
h3{font-size:clamp(1.5rem,2.4vw,2.15rem);line-height:1.16;letter-spacing:-.035em}
p{font-size:1rem;line-height:1.78}
a{color:inherit}button,input,select,textarea{font:inherit}
button,a,input,select,textarea{outline-offset:3px}
img{max-width:100%;display:block}
.container{width:min(1200px,calc(100% - 48px));margin:0 auto}
.container.narrow{width:min(850px,calc(100% - 48px))}
.eyebrow{display:block;font-weight:800;letter-spacing:.18em;text-transform:uppercase;font-size:.69rem;color:var(--rust);margin-bottom:17px}
.eyebrow.light{color:#f0b388}
.eyebrow::before{content:'';display:inline-block;width:25px;height:1px;background:currentColor;vertical-align:middle;margin-right:12px}
.lead{font-size:clamp(1.03rem,1.4vw,1.2rem);line-height:1.8;color:var(--muted)}
.copy{color:var(--muted);line-height:1.84}
.serif{font-family:Fraunces,Georgia,serif}
.button{display:inline-flex;align-items:center;justify-content:center;gap:15px;text-align:center;padding:16px 25px;min-height:54px;border:1px solid transparent;border-radius:3px;background:var(--rust);color:white;text-decoration:none;font-weight:800;letter-spacing:.015em;font-size:.85rem;cursor:pointer;transition:transform .2s,background .2s}
.button:hover{transform:translateY(-2px);background:var(--rust-dark)}
.button.light{background:var(--cream);color:var(--ink)}
.button.light:hover{background:#efdac3}
.button.outline{background:transparent;color:var(--rust);border-color:#c8a28e}
.button.outline:hover{background:#f6e0d0}
.button.dark{background:var(--ink);color:#fff}
.button.full{width:100%}
.text-link{display:inline-flex;align-items:center;gap:12px;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:5px;font-size:.84rem;font-weight:800}
.text-link:hover{color:var(--rust)}
.announcement{background:var(--ink);color:#ffe3c9;text-align:center;padding:9px 15px;font-size:.67rem;letter-spacing:.13em;text-transform:uppercase;font-weight:800}
.announcement a{text-decoration:none}
.site-header{background:rgba(255,249,237,.97);position:sticky;top:0;z-index:30;border-bottom:1px solid #dfcbb787;backdrop-filter:blur(12px)}
.header-inner{height:81px;display:flex;align-items:center;gap:30px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;white-space:nowrap;font-family:Fraunces,Georgia,serif;font-size:1.35rem;font-weight:700;letter-spacing:-.035em}
.brand img{width:49px;height:49px;border-radius:50%;object-fit:cover;border:2px solid var(--rust)}
.brand small{font-family:'DM Sans',sans-serif;display:block;font-size:.54rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:var(--rust);margin-top:1px}
.nav-links{margin-left:auto;display:flex;align-items:center;gap:28px}
.nav-links a:not(.button){font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;font-weight:800;white-space:nowrap}
.nav-links a.active:not(.button),.nav-links a:not(.button):hover{color:var(--rust)}
.nav-links .button{min-height:42px;padding:11px 18px;font-size:.72rem}
.menu-toggle{display:none;border:1px solid var(--line);padding:9px;background:none;color:var(--ink);margin-left:auto;font-size:1.4rem}
.hero{min-height:630px;display:grid;grid-template-columns:49% 51%;background:#431f1a;color:#fff7e7}
.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:70px max(35px,calc((100vw - 1200px)/2)) 65px max(26px,calc((100vw - 1200px)/2))}
.hero h1{max-width:650px;margin:0 0 27px}
.hero h1 em{color:#edb477;font-weight:400}
.hero .lead{color:#eed6c3;max-width:495px;font-size:1.08rem;margin-bottom:31px}
.hero-buttons{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.hero .text-link{color:#ffdfc8}
.hero-media{position:relative;min-height:630px;overflow:hidden}
.hero-media>img{width:100%;height:100%;object-fit:cover;object-position:center;position:absolute;inset:0}
.hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#431f1a44 0%,transparent 36%)}
.hero-seal{position:absolute;z-index:2;right:7%;bottom:7%;width:118px;height:118px;border-radius:50%;background:var(--cream);padding:6px;box-shadow:0 11px 26px #17090056;transform:rotate(-11deg)}
.hero-seal img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.hero-mini{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:#ebb88e;margin-top:44px}
.facts{background:#f2dfc8;border-bottom:1px solid var(--line)}
.facts-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.fact{padding:22px 25px;border-right:1px solid #dcbda8;display:flex;flex-direction:column;justify-content:center;gap:3px}
.fact:first-child{padding-left:0}.fact:last-child{border-right:0}
.fact strong{font-family:Fraunces,Georgia,serif;font-size:1.34rem;font-weight:600;letter-spacing:-.03em}
.fact span{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:#765748;font-weight:800}
.section{padding:115px 0}
.section-heading{max-width:800px;margin-bottom:46px}
.section-heading.center{text-align:center;margin:0 auto 52px}
.section-heading.center .eyebrow::before{display:none}
.intro-grid{display:grid;grid-template-columns:.98fr 1.02fr;gap:85px;align-items:center}
.intro-grid h2{max-width:510px}
.intro-image{position:relative}
.intro-image img{height:560px;width:100%;object-fit:cover;border-radius:2px}
.image-caption{font-size:.63rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:13px}
.editorial-mark{position:absolute;left:-25px;bottom:50px;background:var(--rust);color:#fff4e5;padding:18px 22px;font-family:Fraunces,serif;font-size:1.25rem;width:205px;line-height:1.23;transform:rotate(-3deg)}
.intro-copy p{max-width:510px}
.intro-copy .text-link{margin-top:21px}
.deep-story{background:var(--paper);overflow:hidden}
.deep-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}
.deep-story h2{max-width:570px}
.photo-window{position:relative}
.photo-window img{width:100%;height:570px;object-fit:cover}
.round-note{position:absolute;right:-20px;bottom:-26px;border-radius:50%;background:#e9b46d;color:#6e2a20;width:150px;height:150px;display:grid;place-items:center;text-align:center;font:600 1.2rem Fraunces,serif;transform:rotate(8deg);padding:17px}
.flavor{background:#fff9ed}
.flavor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}
.flavor-card{background:#f5e8d5;border:1px solid #dec8b5;padding:38px 30px 39px;min-height:315px}
.flavor-card .number{color:#a95339;font:500 1.1rem Fraunces,serif}
.flavor-card h3{margin:64px 0 13px}
.flavor-card p{font-size:.91rem;color:#725c4e;margin-bottom:0}
.flavor-footer{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-top:31px;color:var(--muted)}
.flavor-footer p{max-width:650px;margin:0;font-size:.89rem}
.ritual{background:#39231d;color:#fff7eb}
.ritual .lead,.ritual .copy{color:#dac3b0}
.ritual-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:57px}
.ritual-step{border-top:1px solid #906c5b;padding-top:22px}
.ritual-step span{font:500 3rem Fraunces,serif;color:#edae78}
.ritual-step h3{font-size:1.5rem;margin:21px 0 13px}
.ritual-step p{font-size:.86rem;color:#decabc}
.portrait-feature{background:#e9d3b9;overflow:hidden}
.portrait-grid{display:grid;grid-template-columns:.83fr 1.17fr;gap:70px;align-items:center}
.portrait-circle{height:390px;width:390px;max-width:100%;border-radius:50%;background:#c77c58;display:grid;place-items:center;box-shadow:0 0 0 18px #e1b696;margin:40px auto}
.portrait-circle img{width:81%;height:81%;object-fit:contain}
.portrait-feature h2{max-width:670px}
.portrait-feature p{color:#674b3e;max-width:560px}
.portrait-feature .button{margin-top:16px}
.order-section{background:#fff8ec}
.order-title{text-align:center;max-width:670px;margin:0 auto 48px}
.order-grid{display:grid;grid-template-columns:.91fr 1.09fr;gap:24px;align-items:start}
.product-pane{border:1px solid var(--line);background:#fbecdb;overflow:hidden}
.product-art{height:440px;background:radial-gradient(circle at 50% 42%,#eac69e 0,#cd8763 52%,#a34e3a 100%);display:grid;place-items:center;position:relative}
.product-art:before,.product-art:after{content:'✦';font-size:42px;position:absolute;color:#ffcfa2;opacity:.75}
.product-art:before{left:14%;top:16%}.product-art:after{right:12%;bottom:12%;font-size:26px}
.product-art img{width:min(73%,315px);height:auto;border-radius:50%;box-shadow:0 30px 48px #5e241d57;transform:rotate(-7deg)}
.product-info{padding:30px 33px 34px}
.product-info h3{font-size:2.1rem;margin:5px 0 10px}
.product-info p{font-size:.91rem;color:var(--muted)}
.product-price{font:600 2rem Fraunces,serif;margin:20px 0 18px}
.product-price small{font:.75rem 'DM Sans',sans-serif;color:var(--muted)}
.product-points{border-top:1px solid var(--line);padding-top:12px}
.product-points p{font-size:.82rem;margin:11px 0}
.order-card{background:#fff;border:1px solid var(--line);padding:34px 40px 37px;box-shadow:0 14px 45px #3a25120d}
.order-card h3{font-size:2.35rem;margin:0 0 8px}
.order-card>p{color:var(--muted);font-size:.86rem}
.field{margin:19px 0}
.field label{display:block;font-weight:800;font-size:.72rem;margin:0 0 8px}
.field input,.field textarea,.field select{display:block;width:100%;border:1px solid #d5bdac;background:#fffefa;border-radius:2px;padding:15px 16px;color:var(--ink);outline-color:var(--rust)}
.field textarea{min-height:84px;resize:vertical}
.field small{font-size:.68rem;color:var(--muted)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.qty{display:flex;align-items:center;gap:19px}
.qty button{width:45px;height:45px;border:1px solid #d5bdac;background:#fffdf9;color:var(--ink);font-size:24px;cursor:pointer}
.qty button:disabled{opacity:.35;cursor:default}
.qty strong{font-size:1.2rem;min-width:18px;text-align:center}
.order-total{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:19px 0;display:flex;justify-content:space-between;gap:20px;align-items:center;margin:18px 0}
.order-total span{font-weight:800;font-size:.85rem}.order-total strong{font:600 2rem Fraunces,serif}
.order-callout{padding:16px 18px;background:#f4e2cf;border-left:3px solid var(--rust);font-size:.77rem;line-height:1.7;color:#6b4c3e;margin:17px 0}
.form-fine{font-size:.69rem;color:var(--muted);line-height:1.55;margin-top:13px;text-align:center}
.pickup-band{background:#e4ba92}
.pickup-grid{display:grid;grid-template-columns:.83fr 1.17fr;gap:55px;align-items:center}
.pickup-band h2{max-width:520px}
.pickup-band p{color:#674a38}
.pickup-address{font-family:Fraunces,serif;font-size:1.52rem;margin:25px 0 17px}
.pickup-time{font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em}
.map-frame{height:430px;background:#d8c3ac;border:8px solid #fff7ed;box-shadow:0 18px 40px #66342026}
.map-frame iframe{border:0;width:100%;height:100%}
.faq{background:#fff9ed}
.faq-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line);padding:22px 0}
.faq-list summary{font-weight:800;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:'+';font-size:1.35rem;font-weight:400;color:var(--rust)}
.faq-list details[open] summary:after{content:'−'}
.faq-list details p{color:var(--muted);font-size:.91rem;margin:15px 25px 0 0}
.site-footer{background:#281d19;color:#e4c9b3;padding:62px 0 24px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:70px;padding-bottom:50px}
.footer-logo{font:600 2.3rem Fraunces,serif;color:#fff4e6;letter-spacing:-.05em}
.site-footer p{font-size:.83rem;color:#bea390;max-width:330px}
.site-footer h4{font:800 .68rem 'DM Sans',sans-serif;letter-spacing:.15em;text-transform:uppercase;color:#f1bd95;margin:0 0 21px}
.site-footer a{display:block;color:#ecd7c7;text-decoration:none;font-size:.84rem;margin:12px 0}
.site-footer a:hover{color:#fff}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #625046;padding-top:19px;font-size:.67rem;color:#a78d7b;line-height:1.6}
.footer-bottom a{display:inline;margin:0;color:inherit}
.page-hero{padding:96px 0 102px;background:#4a2820;color:#fff4e4;overflow:hidden}
.page-hero .intro{color:#dfc4ad;font-size:1.14rem;max-width:650px}
.page-hero h1{max-width:900px;margin:0 0 28px}
.page-hero.pale{background:#efd7bb;color:var(--ink)}
.page-hero.pale .intro{color:#6f5141}
.page-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:75px;align-items:center}
.page-hero img{width:100%;height:480px;object-fit:cover}
.story-column{display:grid;grid-template-columns:.6fr 1.4fr;gap:75px}
.story-column p{color:var(--muted);font-size:1.05rem}
.story-column p:first-child{font-size:1.18rem;color:#59463c}
.story-quote{font:500 clamp(1.65rem,3vw,2.6rem) Fraunces,serif;line-height:1.38;letter-spacing:-.035em;padding:34px 0 34px 34px;border-left:4px solid var(--rust);margin:34px 0 37px;color:#7d392a}
.chapter{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}
.chapter.reverse>div:first-child{order:2}
.chapter-image img{height:570px;width:100%;object-fit:cover}
.chapter h2{max-width:550px}
.chapter p{color:var(--muted)}
.chapter .eyebrow{margin-top:0}
.chapter .text-link{margin-top:18px}
.dark-chapter{background:#37241d;color:#fff2e1}
.dark-chapter p{color:#e0c5ad}
.family-number{font:500 clamp(8rem,19vw,18rem) Fraunces,serif;line-height:.9;letter-spacing:-.12em;color:var(--rust);text-align:center}
.family-stat{margin-top:5px;text-align:center;color:#87634e;text-transform:uppercase;letter-spacing:.13em;font-size:.73rem;font-weight:800}
.detail-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d9bca2;border:1px solid #d9bca2}
.detail-numbers .item{padding:35px;background:#fff8eb}
.detail-numbers strong{display:block;font:600 2rem Fraunces,serif;color:var(--rust);margin-bottom:8px}
.detail-numbers span{font-size:.82rem;line-height:1.6;color:var(--muted)}
.recipe-list{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}
.recipe-item{background:#fff9ef;border:1px solid var(--line);padding:27px 29px}
.recipe-item span{font-size:1.5rem}
.recipe-item h3{font-size:1.55rem;margin:18px 0 9px}
.recipe-item p{font-size:.88rem;color:var(--muted)}
.banner-cta{padding:70px 0;background:#bd6040;color:#fff2e1}
.banner-cta .container{display:flex;gap:25px;align-items:center;justify-content:space-between}
.banner-cta h2{max-width:800px;margin:0}
.pickup-hero{padding:90px 0;background:#eed3b4}
.pickup-hero h1{max-width:920px}
.pickup-hero p{max-width:650px;color:#71523f;font-size:1.1rem}
.pickup-layout{display:grid;grid-template-columns:.77fr 1.23fr;gap:50px;align-items:start}
.pickup-info-card{border:1px solid var(--line);padding:35px;background:#fff9ed}
.pickup-info-card h2{font-size:2.5rem}
.pickup-info-card p{color:var(--muted)}
.pickup-info-card .address{font:600 1.6rem Fraunces,serif;line-height:1.5;color:var(--ink)}
.pickup-info-card .button{margin-top:15px}
.payment-page{padding:65px 0 90px;background:#f6ead9;min-height:75vh}
.payment-card{max-width:720px;background:#fffaf2;margin:0 auto;border:1px solid var(--line);padding:55px;box-shadow:0 18px 55px #3c281214}
.payment-card h1{font-size:clamp(2.9rem,5vw,4.2rem)}
.payment-card p{color:var(--muted)}
.payment-icon{height:58px;width:58px;background:#dcf0d6;color:#396f3c;display:grid;place-items:center;border-radius:50%;font-size:1.7rem;margin-bottom:25px}
.payment-status{background:#f4e2cc;border-left:3px solid var(--rust);padding:14px 18px;font-size:.75rem;font-weight:800;color:#7e4b33;margin:23px 0}
.pay-table{background:#f9efdf;padding:9px 24px;margin:27px 0}
.pay-row{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);font-size:.85rem}
.pay-row:last-child{border-bottom:0}
.pay-row b{font-size:1rem;text-align:right}
.pay-row .recipient{font:600 1.35rem Fraunces,serif}
.payment-instructions{padding-left:19px;line-height:1.7;color:#685449;font-size:.85rem}
.payment-instructions li{padding-bottom:9px}
.payment-pickup{background:#f1d9bf;padding:24px;margin-top:30px}
.payment-pickup h3{margin:0 0 12px}
.payment-pickup a{font-weight:800;font-size:.83rem}
.desktop-only{display:block}
@media(max-width:1050px){.nav-links{gap:17px}.hero-copy{padding-left:35px;padding-right:25px}.intro-grid,.deep-story-grid,.chapter{gap:47px}.section{padding:82px 0}}
@media(max-width:850px){
 .header-inner{height:68px}.brand{font-size:1.2rem}.brand img{height:39px;width:39px}.menu-toggle{display:block}
 .nav-links{display:none;position:absolute;left:0;right:0;top:68px;background:var(--cream);padding:23px 25px 28px;box-shadow:0 13px 28px #2912071a;flex-direction:column;align-items:stretch;gap:17px;margin:0}
 .nav-links.open{display:flex}.nav-links .button{width:100%}.hero{grid-template-columns:1fr}.hero-copy{padding:74px 25px 56px}.hero-media{min-height:390px}.hero h1{max-width:650px}
 .facts-grid{grid-template-columns:repeat(2,1fr)}.fact{border-bottom:1px solid #dcbda8}.fact:nth-child(2){border-right:0}.fact:nth-child(n+3){border-bottom:0}.fact:nth-child(3){padding-left:0}
 .intro-grid,.deep-story-grid,.portrait-grid,.order-grid,.pickup-grid,.faq-grid,.story-column,.chapter,.pickup-layout,.page-hero-grid{grid-template-columns:1fr}
 .intro-grid,.deep-story-grid,.portrait-grid,.faq-grid,.chapter,.pickup-grid{gap:35px}
 .intro-image img,.photo-window img,.chapter-image img{height:420px}.photo-window{margin-bottom:20px}
 .flavor-grid{grid-template-columns:1fr}.flavor-card{min-height:0}.flavor-card h3{margin:31px 0 12px}
 .ritual-grid{grid-template-columns:repeat(2,1fr)}.portrait-circle{height:300px;width:300px;margin:10px auto 25px}
 .footer-grid{grid-template-columns:1.4fr 1fr;gap:33px}.footer-grid>div:first-child{grid-column:1/-1}
 .page-hero{padding:65px 0}.page-hero img{height:340px}.chapter.reverse>div:first-child{order:0}.family-number{text-align:left}.family-stat{text-align:left}
 .detail-numbers{grid-template-columns:1fr}.recipe-list{grid-template-columns:1fr}
 .banner-cta .container{align-items:flex-start;flex-direction:column}
}
@media(max-width:550px){
 .container,.container.narrow{width:min(100% - 36px,1200px)}.section{padding:65px 0}
 h1{font-size:clamp(3.45rem,13vw,4.6rem)}h2{font-size:clamp(2.6rem,10vw,3.4rem)}
 .hero{min-height:0}.hero-copy{padding:59px 18px 52px}.hero-media{min-height:315px}.hero-seal{height:87px;width:87px}
 .hero-buttons{flex-direction:column;align-items:flex-start}.hero-mini{margin-top:27px}
 .fact{padding:16px 12px}.fact strong{font-size:1.08rem}.fact span{font-size:.6rem}
 .intro-image img,.photo-window img,.chapter-image img{height:300px}.editorial-mark{left:8px;bottom:25px}
 .ritual-grid{grid-template-columns:1fr;gap:18px}.ritual-step{padding-bottom:10px}
 .flavor-footer{flex-direction:column;align-items:flex-start}
 .product-art{height:310px}.product-art img{width:245px}.product-info{padding:25px}.order-card{padding:27px 22px}.field-row{grid-template-columns:1fr;gap:0}
 .map-frame{height:300px}.faq-list details{padding:19px 0}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:1}
 .footer-bottom{flex-direction:column}.page-hero-grid{gap:22px}.page-hero img{height:300px}
 .story-quote{padding-left:18px}.payment-card{padding:30px 23px}.payment-page{padding:25px 0 55px}.pay-table{padding:7px 16px}
 .pay-row .recipient{font-size:1.07rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}
