:root{
  --ink:#1b1a17; --paper:#f4eee1; --paper2:#ece3d2; --card:#fffdf8;
  --pine:#234a3b; --pine-dk:#19362a; --ochre:#cf8a3b; --ochre-dk:#b1722a;
  --paprika:#bf3f1d; --olive:#5c6638; --line:#e3d8c4; --muted:#6e6354;
  --shadow:0 22px 50px -30px rgba(27,26,23,.55); --r:6px;
  --serif:'DM Serif Display',Georgia,serif; --sans:'Mulish','Segoe UI',system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body{overflow-x:hidden;max-width:100vw}
body{font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.05}
.wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}
.eyebrow{font-family:var(--sans);text-transform:uppercase;letter-spacing:.28em;font-size:.7rem;font-weight:800;color:var(--ochre-dk)}
.section{padding:80px 0}
.section--paper2{background:var(--paper2)}
.section--pine{background:var(--pine);color:#ede6d6}
.section--pine .eyebrow{color:var(--ochre)}
.lead{font-size:1.14rem;color:var(--muted);max-width:62ch}
.center{text-align:center}.center .lead{margin-left:auto;margin-right:auto}
.rule{height:1px;background:var(--line);border:0;margin:0}
.kicker-rule{display:flex;align-items:center;justify-content:center;gap:14px;color:var(--ochre-dk)}
.kicker-rule::before,.kicker-rule::after{content:'';height:1px;width:46px;background:var(--ochre)}

/* buttons -- squared, editorial */
.btn{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--sans);font-weight:800;font-size:.86rem;letter-spacing:.04em;text-transform:uppercase;padding:.95rem 1.6rem;border-radius:var(--r);border:1.5px solid transparent;cursor:pointer;transition:.18s}
.btn--primary{background:var(--pine);color:#f4eee1}
.btn--primary:hover{background:var(--pine-dk)}
.btn--accent{background:var(--ochre);color:#241a0c}
.btn--accent:hover{background:var(--ochre-dk)}
.btn--ghost{border-color:var(--ink);background:transparent;color:var(--ink)}
.btn--ghost:hover{background:var(--ink);color:var(--paper)}
.btn--lg{padding:1.05rem 2rem;font-size:.92rem}
.btn--block{display:flex;width:100%;justify-content:center}
.tlink{font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;color:var(--pine);border-bottom:2px solid var(--ochre);padding-bottom:3px}
.tlink:hover{color:var(--ochre-dk)}

/* nav -- top ochre hairline, tracked links */
.nav{position:sticky;top:0;z-index:60;background:rgba(244,238,225,.9);backdrop-filter:blur(10px);border-top:3px solid var(--ochre);border-bottom:1px solid var(--line)}
.nav__in{display:flex;align-items:center;gap:22px;height:78px}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink)}
.brand__mark{width:44px;height:44px;border-radius:50%;background:var(--pine);display:grid;place-items:center;color:var(--ochre);font-family:var(--serif);font-size:1.45rem;border:2px solid var(--ochre)}
.brand b{font-family:var(--serif);font-size:1.2rem;display:block;line-height:1}
.brand small{display:block;font-family:var(--sans);font-weight:800;font-size:.58rem;letter-spacing:.26em;text-transform:uppercase;color:var(--muted);margin-top:3px}
.nav__links{display:flex;align-items:center;gap:26px;margin-left:auto}
.nav__links a{font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink)}
.nav__links a:hover,.nav__links a.active{color:var(--ochre-dk)}
.nav__tools{display:flex;align-items:center;gap:14px}
.cart-btn{position:relative;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:transparent;border:1.5px solid var(--line);color:var(--ink)}
.cart-btn:hover{border-color:var(--pine)}
.cart-badge{position:absolute;top:-5px;right:-5px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--paprika);color:#fff;font-size:.68rem;font-weight:800;display:grid;place-items:center}
.hamburger{display:none;width:46px;height:46px;border-radius:var(--r);background:transparent;border:1.5px solid var(--line);cursor:pointer;align-items:center;justify-content:center}
.hamburger span,.hamburger span::before,.hamburger span::after{display:block;width:20px;height:2px;background:var(--ink);position:relative}
.hamburger span::before,.hamburger span::after{content:'';position:absolute;left:0}
.hamburger span::before{top:-6px}.hamburger span::after{top:6px}
.drawer{position:fixed;inset:0 0 0 auto;width:300px;max-width:84vw;background:var(--paper);box-shadow:-20px 0 50px -20px rgba(0,0,0,.4);transform:translateX(100%);transition:.28s;z-index:80;padding:26px 24px;display:flex;flex-direction:column;gap:4px}
.drawer.open{transform:translateX(0)}
.drawer a{padding:13px 4px;border-bottom:1px solid var(--line);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.84rem}
.drawer__close{align-self:flex-end;background:none;border:0;font-size:1.7rem;cursor:pointer;color:var(--ink)}
.overlay{position:fixed;inset:0;background:rgba(18,14,8,.5);opacity:0;visibility:hidden;transition:.28s;z-index:70}
.overlay.open{opacity:1;visibility:visible}

/* masthead hero */
.mhero{padding:64px 0 26px;text-align:center}
.mhero h1{font-size:clamp(2.7rem,6.4vw,5.4rem);letter-spacing:-.01em;margin:14px auto 16px;max-width:16ch}
.mhero h1 em{font-style:italic;color:var(--pine)}
.mhero .lead{margin:0 auto 26px}
.mhero__cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.hero-band{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:16px;margin-top:44px}
.hero-band figure{position:relative;overflow:hidden;border-radius:var(--r)}
.hero-band img{width:100%;height:100%;object-fit:cover}
.hero-band figure:nth-child(1){height:300px;align-self:end}
.hero-band figure:nth-child(2){height:380px}
.hero-band figure:nth-child(3){height:300px;align-self:start}
.statline{display:flex;justify-content:center;gap:48px;flex-wrap:wrap;margin-top:40px;padding-top:30px;border-top:1px solid var(--line)}
.statline div b{font-family:var(--serif);font-size:2rem;color:var(--pine);display:block;line-height:1}
.statline div span{font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}

/* generic banner hero for inner pages */
.hero{background:var(--paper2)}
.hero--pad{padding:54px 0 34px}
.hero h1{font-size:clamp(2.3rem,5vw,3.6rem)}

/* cuisine marquee */
.marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--card)}
.marquee__track{display:flex;gap:34px;padding:18px 0;width:max-content;animation:scroll 38s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
.mq-item{display:flex;align-items:center;gap:12px;white-space:nowrap}
.mq-item img{width:54px;height:54px;border-radius:50%;object-fit:cover;border:2px solid var(--ochre)}
.mq-item span{font-family:var(--serif);font-size:1.25rem}
.mq-item small{color:var(--muted);font-size:.78rem;display:block}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* section head -- editorial */
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:34px;flex-wrap:wrap}
.sec-head h2{font-size:clamp(1.9rem,3.6vw,2.7rem)}
.sec-head .eyebrow{display:block;margin-bottom:8px}

/* grids */
.grid{display:grid;gap:22px}
.grid--2{grid-template-columns:repeat(2,1fr)}
.grid--3{grid-template-columns:repeat(3,1fr)}
.grid--4{grid-template-columns:repeat(4,1fr)}

/* RECIPE overlay card -- signature look */
.rcard{position:relative;display:block;border-radius:var(--r);overflow:hidden;aspect-ratio:3/4;box-shadow:var(--shadow)}
.rcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.5s}
.rcard:hover img{transform:scale(1.06)}
.rcard::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(20,18,12,.92) 0%,rgba(20,18,12,.45) 38%,rgba(20,18,12,0) 66%)}
.rcard__cat{position:absolute;top:0;left:0;z-index:2;background:var(--ochre);color:#241a0c;font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.66rem;padding:.4rem .7rem;border-bottom-right-radius:var(--r)}
.rcard__lock{position:absolute;top:12px;right:12px;z-index:2;width:34px;height:34px;border-radius:50%;background:var(--paprika);display:grid;place-items:center}
.rcard__lock svg{width:16px;height:16px;fill:#fff}
.rcard__body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:18px 18px 20px;color:#f7f1e6}
.rcard__t{font-family:var(--serif);font-size:1.32rem;line-height:1.1;margin-bottom:8px}
.rcard__m{display:flex;gap:14px;font-size:.78rem;color:#e7dcc6;opacity:.92}
.rcard__m .star{color:var(--ochre)}

/* product / generic card -- flat editorial */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:.2s}
.card:hover{border-color:var(--pine);transform:translateY(-3px)}
.card__media{position:relative;aspect-ratio:4/3;overflow:hidden}
.card__media img{width:100%;height:100%;object-fit:cover;transition:.5s}
.card:hover .card__media img{transform:scale(1.05)}
.card__body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:7px;flex:1}
.card__ey{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ochre-dk);font-weight:800}
.card__title{font-family:var(--serif);font-size:1.22rem;line-height:1.1}
.card__desc{font-size:.9rem;color:var(--muted);flex:1}
.card__meta{display:flex;gap:14px;font-size:.78rem;color:var(--muted);padding-top:10px;margin-top:2px;border-top:1px solid var(--line)}
.card__meta b{color:var(--ink)}
.price{font-family:var(--serif);font-size:1.3rem;color:var(--pine)}
.rating{color:var(--ochre-dk);font-weight:800}

/* category tile -- numbered editorial */
.cat-tile{position:relative;display:block;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--card)}
.cat-tile img{width:100%;height:170px;object-fit:cover}
.cat-tile .cb{padding:14px 16px 16px}
.cat-tile h3{font-family:var(--serif);font-size:1.3rem}
.cat-tile p{font-size:.85rem;color:var(--muted);margin-top:4px}
.cat-tile:hover{border-color:var(--pine)}

/* badges/pills */
.lock{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;background:var(--paprika);display:grid;place-items:center;z-index:2}
.lock svg{width:16px;height:16px;fill:#fff}
.pill{display:inline-flex;align-items:center;gap:6px;padding:.32rem .72rem;border-radius:999px;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.pill--members{background:var(--paprika);color:#fff}
.pill--free{background:rgba(92,102,56,.16);color:var(--olive)}
.tag{display:inline-block;background:var(--paper2);color:var(--muted);font-size:.7rem;font-weight:800;padding:.25rem .6rem;border-radius:4px;text-transform:uppercase;letter-spacing:.08em}

/* numbered steps -- big ochre numerals */
.bignum{list-style:none;display:grid;gap:0}
.bignum li{display:grid;grid-template-columns:90px 1fr;gap:22px;align-items:start;padding:24px 0;border-top:1px solid var(--line)}
.bignum li:last-child{border-bottom:1px solid var(--line)}
.bignum .n{font-family:var(--serif);font-size:3.2rem;color:var(--ochre);line-height:.9}
.bignum h3{font-family:var(--serif);font-size:1.4rem;margin-bottom:4px}
.bignum p{color:var(--muted)}
.section--pine .bignum li{border-color:rgba(255,255,255,.16)}
.section--pine .bignum p{color:#c9bda7}
.section--pine .bignum p{color:#cdc1ad}

/* photo strip + mosaic + gallery */
.photo-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.photo-strip img{aspect-ratio:1/1;object-fit:cover;border-radius:var(--r)}
.photo-mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:150px;gap:14px}
.photo-mosaic img{width:100%;height:100%;object-fit:cover;border-radius:var(--r)}
.photo-mosaic img:nth-child(1){grid-row:span 2}
.photo-mosaic img:nth-child(6){grid-row:span 2}
.recipe-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.recipe-gallery img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);width:100%}

/* banner strip */
.banner{background:var(--pine);color:#eee6d6;border-radius:var(--r);padding:22px 26px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;justify-content:space-between}
.banner p{margin:0;max-width:64ch}.banner b{color:var(--ochre)}

/* recipe detail */
.rd-hero{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:40px 0}
.rd-hero img{width:100%;height:440px;object-fit:cover;border-radius:var(--r);box-shadow:var(--shadow)}
.rd-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:10px 0 24px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.rd-tile{padding:16px;text-align:center;border-right:1px solid var(--line);background:var(--card)}
.rd-tile:last-child{border-right:0}
.rd-tile b{display:block;font-family:var(--serif);font-size:1.4rem;color:var(--pine)}
.rd-tile span{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}
.rd-cols{display:grid;grid-template-columns:.85fr 1.15fr;gap:44px;align-items:start}
.ing-list{list-style:none;display:flex;flex-direction:column;gap:10px}
.ing-list li{display:flex;gap:12px;align-items:flex-start;padding-bottom:10px;border-bottom:1px dashed var(--line)}
.ing-list li::before{content:'';width:9px;height:9px;border-radius:50%;background:var(--ochre);margin-top:9px;flex:none}
.steps{list-style:none;counter-reset:s;display:flex;flex-direction:column;gap:18px}
.steps li{counter-increment:s;display:grid;grid-template-columns:46px 1fr;gap:16px;align-items:start}
.steps li::before{content:counter(s,decimal-leading-zero);width:46px;height:46px;border-radius:50%;background:var(--pine);color:var(--ochre);font-family:var(--serif);font-size:1rem;display:grid;place-items:center}
.paywall{background:var(--pine);color:#f1eada;color:#f1eada;border-radius:var(--r);padding:34px;text-align:center;box-shadow:var(--shadow)}
.paywall .lockbig{width:62px;height:62px;border-radius:50%;background:var(--paprika);display:grid;place-items:center;margin:0 auto 14px}
.paywall .lockbig svg{width:28px;height:28px;fill:#fff}
.paywall h3{font-size:1.7rem;margin-bottom:8px}
.paywall ul{list-style:none;display:inline-flex;flex-direction:column;gap:8px;margin:18px 0;text-align:left}
.paywall ul li{display:flex;gap:10px}.paywall ul li::before{content:'\2713';color:var(--ochre);font-weight:800}

/* plans */
.plans{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:780px;margin:0 auto}
.plan{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:32px;text-align:center}
.plan.feat{border:2px solid var(--pine);position:relative}
.plan.feat::after{content:'Best value';position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--ochre);color:#241a0c;font-size:.66rem;font-weight:800;padding:.3rem .8rem;border-radius:4px;text-transform:uppercase;letter-spacing:.12em}
.plan .amt{font-family:var(--serif);font-size:3rem;color:var(--pine);line-height:1}
.plan .amt small{font-size:1rem;color:var(--muted)}
.plan ul{list-style:none;text-align:left;margin:18px 0;display:flex;flex-direction:column;gap:10px}
.plan ul li{display:flex;gap:10px}.plan ul li::before{content:'\2713';color:var(--olive);font-weight:800}

/* forms */
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.field label{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--ink)}
.field input,.field textarea,.field select{padding:.85rem .9rem;border:1px solid var(--line);border-radius:var(--r);font-family:var(--sans);font-size:.95rem;background:var(--card);width:100%}
.field input:focus,.field textarea:focus{outline:2px solid var(--ochre)}
.formcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:30px}
.note{font-size:.85rem;color:var(--muted)}
.alert{padding:.85rem 1rem;border-radius:var(--r);font-size:.9rem;margin-bottom:14px}
.alert--ok{background:rgba(92,102,56,.14);color:var(--olive)}
.alert--err{background:rgba(191,63,29,.12);color:#9a3417}

/* cart */
.cart-row{display:grid;grid-template-columns:84px 1fr auto auto;gap:16px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px;margin-bottom:12px}
.cart-row img{width:84px;height:84px;object-fit:cover;border-radius:var(--r)}
.qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.qty button{width:34px;height:34px;border:0;background:var(--paper2);font-size:1.1rem;cursor:pointer}
.qty span{width:38px;text-align:center;font-weight:800}
.summary{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;position:sticky;top:96px}
.summary .row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed var(--line)}
.summary .row.total{border:0;font-family:var(--serif);font-size:1.3rem;color:var(--pine);padding-top:14px}

/* accordion */
.acc{background:var(--card);border:1px solid var(--line);border-radius:var(--r);margin-bottom:12px;overflow:hidden}
.acc summary{padding:18px 20px;font-weight:700;cursor:pointer;font-family:var(--serif);font-size:1.08rem;list-style:none;display:flex;justify-content:space-between}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:'+';color:var(--ochre-dk);font-size:1.4rem}
.acc[open] summary::after{content:'\2013'}
.acc p{padding:0 20px 18px;color:var(--muted)}

/* team */
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.team img{aspect-ratio:1/1;object-fit:cover;border-radius:var(--r);margin-bottom:12px}
.team b{font-family:var(--serif);font-size:1.15rem;display:block}
.team span{color:var(--ochre-dk);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}

/* prose */
.prose{max-width:78ch}
.prose h2{font-size:1.5rem;margin:30px 0 10px}
.prose h3{font-size:1.15rem;margin:22px 0 8px}
.prose p,.prose li{color:#473c30;margin-bottom:12px}
.prose ul{margin:0 0 14px 20px}
.prose table{width:100%;border-collapse:collapse;margin:14px 0}
.prose th,.prose td{border:1px solid var(--line);padding:10px;text-align:left;font-size:.9rem}
.prose th{background:var(--paper2)}
.crumbs{font-size:.78rem;color:var(--muted);padding:18px 0;text-transform:uppercase;letter-spacing:.08em}
.crumbs a:hover{color:var(--ochre-dk)}

/* chips */
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:.5rem 1.05rem;font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em}
.chip:hover,.chip.active{background:var(--pine);color:var(--paper);border-color:var(--pine)}

/* footer */
.foot{background:var(--ink);color:#c9bda7;color:#c9bda7;padding:64px 0 26px}
.foot__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:34px}
.foot h4{color:#fff;font-size:.82rem;margin-bottom:14px;font-family:var(--sans);text-transform:uppercase;letter-spacing:.16em;font-weight:800}
.foot a{display:block;padding:5px 0;color:#bdb09b;font-size:.9rem}
.foot a:hover{color:var(--ochre)}
.foot__brand .brand{color:#fff}
.foot__brand p{margin-top:14px;font-size:.9rem;max-width:34ch;color:#bdb09b}
.foot__bottom{border-top:1px solid #34302a;margin-top:36px;padding-top:18px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:.8rem;color:#8f8473}
.support-box{background:#211f1a;border:1px solid #34302a;border-radius:var(--r);padding:14px;margin-top:8px}
.support-box b{color:#fff}

/* cookie + toast */
.cookie{position:fixed;left:18px;right:18px;bottom:18px;z-index:90;background:var(--ink);color:#efe6d4;border-radius:var(--r);padding:16px 20px;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;box-shadow:var(--shadow)}
.cookie p{margin:0;font-size:.86rem;max-width:70ch}.cookie a{color:var(--ochre);text-decoration:underline}
.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--pine);color:#f4eee1;padding:.85rem 1.4rem;border-radius:var(--r);font-weight:700;font-size:.88rem;opacity:0;transition:.25s;z-index:95;box-shadow:var(--shadow)}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

.split{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.split img{border-radius:var(--r);box-shadow:var(--shadow);width:100%;height:100%;max-height:460px;object-fit:cover}
.mt8{margin-top:8px}.mt16{margin-top:16px}.mt24{margin-top:24px}.mt32{margin-top:32px}

@media(max-width:1024px){
  .nav__links{display:none}.hamburger{display:flex}
  .rd-hero,.rd-cols,.split,.hero-band{grid-template-columns:1fr}
  .hero-band figure{height:260px!important;align-self:auto!important}
  .grid--4{grid-template-columns:repeat(3,1fr)}
  .team{grid-template-columns:repeat(2,1fr)}
  .foot__grid{grid-template-columns:1fr 1fr}
  .photo-mosaic{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:768px){
  .section{padding:56px 0}
  .grid--2,.grid--3,.grid--4{grid-template-columns:1fr}
  .plans{grid-template-columns:1fr}
  .photo-strip{grid-template-columns:repeat(4,1fr)}
  .recipe-gallery{grid-template-columns:repeat(2,1fr)}
  .rd-tiles{grid-template-columns:repeat(2,1fr)}
  .rd-tile:nth-child(2){border-right:0}
  .foot__grid{grid-template-columns:1fr 1fr}
  .photo-mosaic{grid-template-columns:repeat(2,1fr)}
  .statline{gap:28px}
}
@media(max-width:480px){
  .grid--3,.grid--4{grid-template-columns:1fr 1fr}
  .photo-strip{grid-template-columns:repeat(3,1fr)}
  .recipe-gallery{grid-template-columns:1fr}
  .mhero__cta .btn{flex:1 1 100%;justify-content:center}
  .foot__grid{grid-template-columns:1fr}
  .banner{flex-direction:column;align-items:flex-start}
  .bignum li{grid-template-columns:60px 1fr;gap:14px}
}

/* compatibility aliases for inner pages */
.section--sand{background:var(--paper2)}
.section--ink{background:var(--pine);color:#ede6d6}
.section--ink .eyebrow{color:var(--ochre)}
.section--ink .lead{color:#cdc1ad}
.hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:center;padding:50px 0 58px}
.hero__media{position:relative}
.hero__media img{border-radius:var(--r);box-shadow:var(--shadow);width:100%;height:460px;object-fit:cover}
.hero__chip{position:absolute;left:-14px;bottom:24px;background:var(--card);border-radius:var(--r);padding:14px 18px;box-shadow:var(--shadow);display:flex;align-items:center;gap:10px;font-weight:800}
.hero__chip b{font-family:var(--serif);font-size:1.5rem;color:var(--pine)}
.hero__stats{display:flex;gap:30px;margin-top:24px;flex-wrap:wrap}
.hero__stats div b{font-family:var(--serif);font-size:1.7rem;display:block;color:var(--pine)}
.hero__stats div span{font-size:.82rem;color:var(--muted)}
.hero__cta{display:flex;gap:14px;flex-wrap:wrap}
@media(max-width:1024px){.hero__grid{grid-template-columns:1fr}.hero__media img{height:360px}}

/* ---------- inner-page components (v2) ---------- */
.phead{padding:58px 0 34px;text-align:center;background:var(--paper2);border-bottom:1px solid var(--line)}
.phead h1{font-size:clamp(2.2rem,4.8vw,3.7rem);margin-top:12px}
.phead .lead{margin:14px auto 0}
.phead--split{text-align:left}
.phead--split .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center}
.phead--split .kicker-rule{justify-content:flex-start}
.phead--split .kicker-rule::before{display:none}
.phead--split .lead{margin-left:0}
.phead__media img{width:100%;height:340px;object-fit:cover;border-radius:var(--r);box-shadow:var(--shadow)}
@media(max-width:900px){.phead--split .wrap{grid-template-columns:1fr}.phead--split .phead__media{display:none}}
.fband{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--card)}
.fband__txt{padding:42px}
.fband img{width:100%;height:100%;object-fit:cover;min-height:320px}
@media(max-width:768px){.fband{grid-template-columns:1fr}}
.vals{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.val{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px}
.val .vn{font-family:var(--serif);font-size:2.2rem;color:var(--ochre);line-height:1}
.val h3{font-family:var(--serif);font-size:1.25rem;margin:8px 0 6px}
.val p{color:var(--muted);font-size:.92rem}
@media(max-width:768px){.vals{grid-template-columns:1fr}}
.authwrap{max-width:470px;margin:0 auto}
.authwrap .formcard{box-shadow:var(--shadow)}
.listhead{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;flex-wrap:wrap;margin:0 0 22px}