:root {
  --ink: #162019;
  --forest: #19372a;
  --moss: #6f7e67;
  --ivory: #f6f2e9;
  --paper: #fffdf8;
  --champagne: #c8a977;
  --line: rgba(22, 32, 25, .18);
  --serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  --sans: Inter, "Helvetica Neue", Arial, sans-serif;
  --ease: cubic-bezier(.2,.75,.25,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;overflow-x:hidden}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:auto}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer}
.site-shell{min-height:100vh}
.announcement{background:var(--forest);color:var(--ivory);padding:.55rem 1rem;text-align:center;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase}
.header{height:86px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(1.25rem,4vw,5rem);border-bottom:1px solid var(--line);background:rgba(255,253,248,.92);backdrop-filter:blur(14px);position:sticky;top:0;z-index:50}
.logo{font-family:var(--serif);font-size:1.6rem;letter-spacing:.22em;text-transform:uppercase;line-height:1}
.nav{display:flex;align-items:center;gap:clamp(1.3rem,2.5vw,2.8rem)}
.nav a,.header-actions a{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;position:relative}
.nav a:after,.header-actions a:after{content:"";position:absolute;left:0;bottom:-.4rem;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}
.nav a:hover:after,.nav a[aria-current="page"]:after,.header-actions a:hover:after{transform:scaleX(1);transform-origin:left}
.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:1.5rem}
.menu-toggle{display:none;width:42px;height:42px;border:0;background:transparent;padding:8px}
.menu-toggle span{display:block;height:1px;background:var(--ink);margin:7px 0;transition:.3s var(--ease)}
.hero{min-height:calc(100svh - 116px);display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);background:var(--ivory)}
.hero-copy{padding:clamp(4rem,9vw,9rem) clamp(1.5rem,7vw,8rem);display:flex;flex-direction:column;justify-content:center;position:relative}
.eyebrow{display:flex;align-items:center;gap:.9rem;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;margin:0 0 1.5rem}
.eyebrow:before{content:"";width:34px;height:1px;background:var(--champagne)}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:.98;margin:0}
h1{font-size:clamp(4rem,7.7vw,8.8rem);letter-spacing:-.045em}
.hero h1 em{font-weight:400;color:var(--moss)}
.hero-copy>p{font-family:var(--serif);font-size:clamp(1.15rem,1.55vw,1.55rem);line-height:1.45;max-width:31rem;margin:2rem 0 2.6rem}
.hero-media{position:relative;overflow:hidden;min-height:620px}
.hero-media img{height:100%;object-fit:cover}
.hero-note{position:absolute;right:0;bottom:0;background:var(--paper);padding:1.4rem 1.8rem;width:min(300px,70%);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:1.5rem;width:max-content;border:1px solid var(--ink);padding:1rem 1.45rem;font-size:.73rem;letter-spacing:.16em;text-transform:uppercase;background:transparent;transition:.35s var(--ease)}
.btn:after{content:"↗";font-size:1rem;transition:transform .35s var(--ease)}
.btn:hover{background:var(--ink);color:var(--paper)}
.btn:hover:after{transform:translate(3px,-3px)}
.btn-light{border-color:var(--paper);color:var(--paper)}
.btn-light:hover{background:var(--paper);color:var(--forest)}
.marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1rem 0;background:var(--paper)}
.marquee-track{display:flex;width:max-content;animation:marquee 28s linear infinite}
.marquee span{font-family:var(--serif);font-size:1.05rem;font-style:italic;padding:0 2.4rem;white-space:nowrap}
.marquee span:after{content:"✦";font-style:normal;color:var(--champagne);padding-left:4.8rem}
@keyframes marquee{to{transform:translateX(-50%)}}
.section{padding:clamp(5rem,10vw,10rem) clamp(1.25rem,5vw,6rem)}
.section-head{display:grid;grid-template-columns:1fr minmax(280px,.7fr);gap:3rem;align-items:end;margin-bottom:clamp(3rem,6vw,6rem)}
.section-head h2{font-size:clamp(3rem,6vw,6.8rem);letter-spacing:-.035em;max-width:12ch}
.section-head p{max-width:34rem;margin:0 0 .6rem auto;color:#435047}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.2rem,2.5vw,2.7rem)}
.product-card{position:relative}
.product-image{aspect-ratio:4/5;overflow:hidden;background:#eae7de;position:relative}
.product-image img{height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.product-card:hover .product-image img{transform:scale(1.035)}
.product-badge{position:absolute;top:1rem;left:1rem;background:var(--paper);padding:.45rem .7rem;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase}
.product-info{display:grid;grid-template-columns:1fr auto;gap:1rem;padding-top:1.2rem}
.product-info h3{font-family:var(--sans);font-size:.84rem;letter-spacing:.13em;text-transform:uppercase}
.product-info p{grid-column:1/-1;margin:0;color:#59645c;font-family:var(--serif);font-style:italic}
.price{font-size:.85rem}
.split{display:grid;grid-template-columns:1fr 1fr;min-height:760px;background:var(--forest);color:var(--paper)}
.split-media{overflow:hidden}.split-media img{height:100%;object-fit:cover}
.split-copy{padding:clamp(4rem,9vw,9rem);display:flex;flex-direction:column;justify-content:center}
.split-copy h2{font-size:clamp(3.4rem,6vw,7rem);max-width:8ch;letter-spacing:-.04em}
.split-copy p{font-family:var(--serif);font-size:1.25rem;max-width:28rem;margin:2rem 0 2.5rem;color:#dde3dc}
.ingredients{background:var(--ivory)}
.ingredient-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.ingredient{min-height:280px;padding:2rem;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:.4s var(--ease)}
.ingredient:hover{background:var(--forest);color:var(--paper)}
.ingredient-index{font-size:.65rem;letter-spacing:.14em}.ingredient h3{font-size:2rem}.ingredient p{font-size:.88rem;margin:1rem 0 0;line-height:1.55}
.quote{padding:clamp(6rem,14vw,14rem) clamp(1.5rem,10vw,12rem);text-align:center;background:var(--paper)}
.quote blockquote{font-family:var(--serif);font-size:clamp(2.3rem,5.5vw,6.3rem);line-height:1.08;letter-spacing:-.035em;max-width:19ch;margin:0 auto}
.quote cite{display:block;margin-top:2rem;font-size:.67rem;letter-spacing:.18em;text-transform:uppercase;font-style:normal}
.newsletter{display:grid;grid-template-columns:1fr 1fr;background:var(--champagne);min-height:360px}
.newsletter-copy{padding:clamp(3rem,7vw,7rem)}
.newsletter h2{font-size:clamp(3rem,5vw,5rem);max-width:10ch}
.newsletter-form{padding:clamp(3rem,7vw,7rem);display:flex;flex-direction:column;justify-content:center}
.field-line{display:flex;border-bottom:1px solid var(--ink)}
.field-line input{width:100%;border:0;background:transparent;padding:1rem 0;outline:none}
.field-line button{border:0;background:transparent;font-size:1.35rem}
.footer{background:#101712;color:#e9e8df;padding:4rem clamp(1.25rem,5vw,6rem) 1.5rem}
.footer-top{display:grid;grid-template-columns:1.3fr repeat(3,.6fr);gap:3rem;padding-bottom:5rem}
.footer-brand .logo{display:block;margin-bottom:1.5rem}.footer-brand p{max-width:24rem;color:#aeb7b0}
.footer h4{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;margin:0 0 1.4rem}.footer ul{list-style:none;padding:0;margin:0}.footer li{margin:.7rem 0}.footer a{color:#cbd0cc;font-size:.88rem}
.footer-bottom{border-top:1px solid rgba(255,255,255,.15);padding-top:1.4rem;display:flex;justify-content:space-between;font-size:.67rem;letter-spacing:.1em;text-transform:uppercase;color:#99a29b}
.page-hero{padding:clamp(5rem,10vw,10rem) clamp(1.25rem,5vw,6rem);background:var(--ivory);display:grid;grid-template-columns:1.25fr .75fr;gap:4rem;align-items:end}
.page-hero h1{font-size:clamp(4.4rem,10vw,10.5rem);max-width:8ch}.page-hero p{max-width:32rem;font-family:var(--serif);font-size:1.3rem;margin:0}
.filter-bar{display:flex;flex-wrap:wrap;gap:.6rem;padding:1.5rem clamp(1.25rem,5vw,6rem);border-bottom:1px solid var(--line);position:sticky;top:86px;z-index:20;background:rgba(255,253,248,.94);backdrop-filter:blur(10px)}
.filter-btn{border:1px solid var(--line);border-radius:50px;background:transparent;padding:.65rem 1.2rem;font-size:.67rem;letter-spacing:.12em;text-transform:uppercase}.filter-btn.active,.filter-btn:hover{background:var(--forest);color:#fff}
.catalog{grid-template-columns:repeat(4,1fr)}
.product-detail{display:grid;grid-template-columns:1.15fr .85fr;min-height:calc(100vh - 86px)}
.product-gallery{background:var(--ivory);padding:clamp(1rem,3vw,3rem);display:grid;place-items:center}.product-gallery img{max-height:820px;object-fit:contain}
.product-panel{padding:clamp(3rem,7vw,8rem);display:flex;flex-direction:column;justify-content:center}.product-panel h1{font-size:clamp(3.5rem,6vw,7rem)}
.product-panel .lead{font-family:var(--serif);font-size:1.3rem;margin:1.5rem 0}.rating{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.size-row{display:flex;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1rem 0;margin:2rem 0}.add-btn{width:100%;background:var(--forest);color:#fff;border:0;padding:1.25rem;letter-spacing:.16em;text-transform:uppercase;font-size:.72rem}
.accordion{border-bottom:1px solid var(--line)}.accordion button{width:100%;border:0;background:transparent;display:flex;justify-content:space-between;padding:1.2rem 0;font-size:.72rem;letter-spacing:.13em;text-transform:uppercase}.accordion-content{display:none;padding:0 0 1.3rem;color:#536057}.accordion.open .accordion-content{display:block}
.story-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem;align-items:start}.story-copy{grid-column:2/7;padding:5rem 0}.story-copy h2{font-size:clamp(3.2rem,6vw,6rem)}.story-copy p{font-family:var(--serif);font-size:1.25rem}.story-image{grid-column:8/13}.story-image img{aspect-ratio:3/4;object-fit:cover}
.timeline{max-width:1100px;margin:auto}.timeline-item{display:grid;grid-template-columns:140px 1fr;gap:3rem;padding:2.5rem 0;border-top:1px solid var(--line)}.timeline-item h3{font-size:2.1rem}.timeline-item p{margin:.7rem 0 0;max-width:45rem}
.journal-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem}.article-card:nth-child(1){grid-column:1/8}.article-card:nth-child(2){grid-column:9/13;margin-top:8rem}.article-card:nth-child(3){grid-column:2/6}.article-card:nth-child(4){grid-column:7/13;margin-top:4rem}.article-card img{aspect-ratio:4/3;object-fit:cover;background:var(--ivory)}.article-card h2{font-size:clamp(2rem,3vw,3.8rem);margin:.9rem 0}.meta{font-size:.66rem;letter-spacing:.15em;text-transform:uppercase;color:#617066}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,9vw,10rem)}.contact-info h2{font-size:clamp(3rem,5vw,5rem)}.contact-list{margin-top:3rem;border-top:1px solid var(--line)}.contact-row{padding:1.2rem 0;border-bottom:1px solid var(--line)}.contact-row span{display:block;font-size:.66rem;letter-spacing:.13em;text-transform:uppercase}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.form-group.full{grid-column:1/-1}.form-group label{display:block;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.5rem}.form-group input,.form-group textarea,.form-group select{width:100%;border:0;border-bottom:1px solid var(--ink);background:transparent;padding:.8rem 0;outline:none}.form-group textarea{min-height:130px;resize:vertical}.toast{position:fixed;right:1.5rem;bottom:1.5rem;background:var(--forest);color:#fff;padding:1rem 1.4rem;z-index:100;transform:translateY(150%);transition:.5s var(--ease)}.toast.show{transform:translateY(0)}
.reveal{opacity:0;transform:translateY(36px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:1050px){.nav{display:none}.header{grid-template-columns:1fr auto}.header>.logo{grid-column:1}.header-actions{display:none}.menu-toggle{display:block;grid-column:2}.nav.open{display:flex;position:fixed;inset:115px 0 0;background:var(--paper);flex-direction:column;align-items:flex-start;padding:4rem 2rem;gap:2rem}.nav.open a{font-family:var(--serif);font-size:2.4rem;text-transform:none;letter-spacing:-.02em}.hero{grid-template-columns:1fr}.hero-media{min-height:70vh}.product-grid,.catalog{grid-template-columns:repeat(2,1fr)}.ingredient-grid{grid-template-columns:repeat(2,1fr)}.footer-top{grid-template-columns:1fr 1fr}.product-detail{grid-template-columns:1fr}.product-gallery{min-height:70vh}}
@media(max-width:720px){.announcement{font-size:.58rem}.header{height:72px}.hero-copy{padding-top:5rem;padding-bottom:5rem}.hero h1{font-size:clamp(3.7rem,19vw,6rem)}.hero-media{min-height:62vh}.section-head,.page-hero{grid-template-columns:1fr}.product-grid,.catalog{grid-template-columns:1fr}.split{grid-template-columns:1fr;min-height:0}.split-media{min-height:65vh}.split-copy{padding:4rem 1.5rem}.ingredient-grid{grid-template-columns:1fr}.newsletter{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:.8rem}.filter-bar{top:72px}.story-grid{display:block}.story-copy{padding:3rem 0}.timeline-item{grid-template-columns:1fr;gap:.5rem}.journal-grid{display:block}.article-card{margin:0 0 4rem!important}.contact-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-group.full{grid-column:auto}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
