
:root{
  --night:#0E0E11; --lacquer:#121216; --ivory:#F3EDE2; --blue:#7D5E1F; --gold:#C9A04A; --gold-deep:#8A6A22;
  --sand:#EFE7D8; --paper:#F7F2E8; --ink:#1A1C24; --muted:#555763; --muted-night:#BAC0CF; --line:#D9CEBB; --line-night:rgba(239,231,216,.16);
  --serif:'Instrument Serif','Didot','Bodoni 72',Georgia,serif;
  --sans:'Jost','Futura','Century Gothic','Avenir Next',sans-serif;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
/* Brand document: fixed palette in both schemes */
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){ --paper:#F7F2E8; --sand:#EFE7D8; --ink:#1A1C24; } }
:root[data-theme="dark"]{ --paper:#F7F2E8; --sand:#EFE7D8; --ink:#1A1C24; }
html{scroll-behavior:smooth; scroll-padding-top:env(safe-area-inset-top,0px); background:var(--night)}
*,*::before,*::after{box-sizing:border-box}
body{margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:17px; line-height:1.6; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility}
img{max-width:100%; height:auto}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold); outline-offset:3px; border-radius:2px}
.wrap{width:min(1180px, 100% - 48px); margin-inline:auto}
.sr{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
.skip{position:absolute; left:16px; top:-60px; background:var(--gold); color:var(--ink); padding:10px 16px; z-index:10; border-radius:2px}
.skip:focus{top:16px}
[hidden]{display:none !important}
img.org-logo,img.partner-logo{display:block; object-fit:contain; height:auto}

/* Shared type */
.eyebrow{font-size:15px; font-weight:500; color:var(--gold-deep); margin:0 0 18px}
.dark .eyebrow{color:var(--gold)}
h2.h{font-family:var(--serif); font-weight:400; font-size:clamp(40px, 4.8vw, 66px); line-height:1; letter-spacing:-.01em; margin:0 0 20px}
.intro{color:var(--muted); max-width:54ch; margin:0 0 56px; font-size:18px}
.dark .intro{color:var(--muted-night)}
.fine{font-size:14px; color:var(--muted)}
.dark .fine{color:var(--muted-night)}
.ph{color:var(--blue)}
section{padding:112px 0}
.dark{background:var(--night); color:var(--sand); position:relative; isolation:isolate}
.dark::after{content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:.09; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.sand{background:var(--sand)}

/* ---------- Hero ---------- */
.hero{padding:0; overflow:hidden}
.hero::before{content:""; position:absolute; inset:0; z-index:-1; opacity:.028;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='88' viewBox='0 0 88 88'%3E%3Cg fill='none' stroke='%23EFE7D8' stroke-width='2'%3E%3Crect x='4' y='4' width='80' height='80' rx='6'/%3E%3Ccircle cx='44' cy='44' r='28'/%3E%3Cpath d='M44 4v12M44 72v12M4 44h12M72 44h12'/%3E%3C/g%3E%3C/svg%3E");
  background-size:88px 88px;
  mask-image:linear-gradient(90deg, transparent 0%, #000 60%); -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 60%)}
.lockup{background:var(--ivory); color:var(--ink); position:relative; z-index:2}
.lockup .wrap{display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:88px}
.lockup-logos{display:flex; align-items:center; gap:20px}
.lockup .org-logo{width:60px; height:60px}
.lockup .partner-logo{width:92px; height:62px}
.lockup .x{font-family:var(--serif); font-size:26px; color:var(--gold-deep)}
.lockup nav{display:flex; gap:28px; font-size:15px}
.lockup nav a{text-decoration:none; color:var(--muted)}
.lockup nav a:hover{color:var(--ink)}
.hero-grid{display:grid; grid-template-columns:1.15fr .85fr; align-items:center; gap:40px; padding:72px 0 88px}
.hero .eyebrow{margin-bottom:24px}
.hero h1{font-family:var(--serif); font-weight:400; font-size:clamp(64px, 9vw, 140px); line-height:.9; letter-spacing:-.02em; margin:0 0 28px}
.hero-lede{max-width:40ch; font-size:19px; color:var(--muted-night); margin:0 0 44px}
.offer{display:grid; grid-template-columns:1.3fr 1fr .7fr; gap:28px; align-items:end; padding-top:28px; border-top:1px solid var(--line-night); max-width:620px; margin-bottom:40px}
.offer span{display:block; font-size:14px; color:var(--muted-night); margin-bottom:8px; line-height:1.35}
.offer strong{display:block; font-family:var(--serif); font-weight:400; font-size:clamp(34px,3.6vw,46px); line-height:1; color:var(--sand)}
.offer div:first-child strong{color:var(--gold); font-size:clamp(46px,5vw,64px)}
.btns{display:flex; gap:14px; flex-wrap:wrap}
.btn{display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:0 28px; border-radius:2px; font:500 16px/1 var(--sans); text-decoration:none; cursor:pointer; border:1px solid transparent; transition:background .2s, border-color .2s}
.btn-gold{background:var(--gold); color:var(--ink)}
.btn-gold:hover{background:#D9B464}
.btn-ghost{color:var(--sand); border-color:rgba(239,231,216,.4)}
.btn-ghost:hover{border-color:var(--sand)}
.hero-meta{margin:28px 0 0; font-size:14px; color:var(--muted-night)}

/* Chip */
.chip-stage{position:relative; display:flex; flex-direction:column; align-items:center; gap:22px}
.chip-stage::before{content:""; position:absolute; left:50%; top:44%; width:150%; aspect-ratio:1; transform:translate(-50%,-50%); z-index:-1; pointer-events:none;
  background:radial-gradient(closest-side, rgba(201,160,74,.14), rgba(201,160,74,0))}
.scene{--chip:clamp(240px, 31vw, 410px); width:var(--chip); height:var(--chip); perspective:1400px; touch-action:pan-y; cursor:grab}
.scene:active{cursor:grabbing}
.chip{--half:10px; position:relative; width:100%; height:100%; transform-style:preserve-3d; will-change:transform}
.chip .layer{position:absolute; inset:0; border-radius:50%; background:repeating-conic-gradient(from 7.5deg, #D9D1C2 0 15deg, #0A0C14 15deg 45deg)}
.face{position:absolute; inset:0; border-radius:50%; backface-visibility:hidden; -webkit-backface-visibility:hidden; overflow:hidden;
  background:repeating-conic-gradient(from 7.5deg, var(--ivory) 0 15deg, var(--lacquer) 15deg 45deg);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.5), inset 0 0 0 2px rgba(201,160,74,.35)}
.face svg{position:absolute; inset:0; width:100%; height:100%}
.face .mark{position:absolute; object-fit:contain; pointer-events:none; -webkit-user-drag:none; user-select:none}
.face.front .mark{left:31%; top:31%; width:38%; height:38%}
.face.back .mark{left:29%; top:33%; width:42%; height:34%}
.face::after{content:""; position:absolute; inset:0; border-radius:50%; pointer-events:none;
  background:radial-gradient(circle at 30% 24%, rgba(255,255,255,.2), rgba(255,255,255,0) 38%), radial-gradient(circle at 70% 82%, rgba(0,0,0,.28), rgba(0,0,0,0) 45%)}
.face.front{transform:translateZ(var(--half))}
.face.back{transform:rotateY(180deg) translateZ(var(--half))}
.shadow{width:58%; height:26px; margin-top:-2px; border-radius:50%; background:radial-gradient(closest-side, rgba(0,0,0,.6), transparent)}
.chip-caption{display:flex; align-items:center; gap:16px; font-size:14px; color:var(--muted-night); flex-wrap:wrap; justify-content:center}
.chip-caption button{background:none; border:1px solid rgba(239,231,216,.35); color:var(--sand); border-radius:2px; min-height:44px; padding:0 18px; font:500 15px var(--sans); cursor:pointer}
.chip-caption button:hover{border-color:var(--sand)}

/* ---------- Why ---------- */
.why{padding-bottom:96px}
.why-quote{font-family:var(--serif); font-weight:400; font-size:clamp(40px, 5.4vw, 80px); line-height:1.02; letter-spacing:-.015em; max-width:17ch; margin:0 0 48px}
.why-body{display:grid; grid-template-columns:1fr 1fr; gap:48px; max-width:980px}
.why-body p{margin:0; color:var(--muted)}

/* ---------- Value ---------- */
.value{padding-top:0}
.pillars{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:48px; border-top:1px solid var(--ink); padding-top:32px}
.pillars .for{font-size:14px; color:var(--gold-deep); margin:0 0 10px; font-weight:500}
.pillars h3{font-family:var(--serif); font-weight:400; font-size:32px; line-height:1.08; margin:0 0 10px}
.pillars p{margin:0; color:var(--muted); max-width:34ch}

/* ---------- Audience ---------- */
.stats{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:32px; border-top:1px solid var(--ink); padding-top:28px}
.stats .n{font-family:var(--serif); font-size:clamp(44px, 5vw, 72px); line-height:1}
.stats p{margin:8px 0 0; color:var(--muted)}
.fields{display:grid; grid-template-columns:1fr 1fr; gap:0 40px; margin-top:48px}
.fields div{border-top:1px solid var(--line); padding:20px 0}
.fields h3{font-size:17px; font-weight:500; margin:0 0 4px}
.fields p{margin:0; color:var(--blue); font-weight:500; font-size:15px; letter-spacing:.02em}
.why-aud{margin:48px 0 0; max-width:62ch; color:var(--muted)}

/* ---------- Journey ---------- */
.steps{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); position:relative; margin-bottom:48px}
.steps::before{content:""; position:absolute; left:0; right:0; top:27px; height:1px; background:var(--line)}
.track{position:absolute; left:0; top:26px; height:3px; background:var(--blue); width:12.5%; transition:width .6s cubic-bezier(.2,.7,.1,1)}
.step{position:relative; background:none; border:0; padding:0 16px 0 0; text-align:left; cursor:pointer; font:inherit; color:var(--muted)}
.step .dot{display:grid; place-items:center; width:56px; height:56px; border-radius:50%; background:var(--sand); border:1px solid var(--line); font-family:var(--serif); font-size:26px; color:var(--muted); margin-bottom:16px; transition:background .3s, color .3s, border-color .3s}
.step strong{display:block; font-weight:500; font-size:19px; color:var(--ink)}
.step[aria-selected="true"] .dot{background:var(--blue); border-color:var(--blue); color:var(--sand)}
.step:hover .dot{border-color:var(--blue)}
.panel{border-top:1px solid var(--ink); padding-top:40px; min-height:190px}
.panel h3{font-family:var(--serif); font-weight:400; font-size:clamp(34px, 4.2vw, 58px); line-height:1.02; margin:0 0 16px; max-width:18ch}
.panel p{margin:0; color:var(--muted); max-width:46ch}

/* ---------- Visualize ---------- */
.rows{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:72px}
.rows li{display:grid; grid-template-columns:1.25fr 1fr; gap:56px; align-items:center}
.rows li:nth-child(even) figure{order:2}
.rows figure{margin:0; position:relative; border-radius:2px; overflow:hidden; background:var(--night)}
.rows img{width:100%; display:block}
.rows figcaption{position:absolute; left:12px; bottom:12px; background:rgba(15,21,38,.82); color:var(--sand); font-size:13px; padding:5px 10px; border-radius:2px}
.rows li > div{border-top:1px solid var(--ink); padding-top:24px}
.rows .kicker{font-size:14px; font-weight:500; color:var(--gold-deep); margin:0 0 8px}
.rows h3{font-family:var(--serif); font-weight:400; font-size:clamp(32px, 3.8vw, 52px); line-height:1.02; margin:0 0 12px}
.rows p{margin:0; color:var(--muted); max-width:42ch}
.rows .fine{margin-top:10px; font-style:italic}

/* ---------- Measure ---------- */
.measure-cols{display:grid; grid-template-columns:1fr 1fr; gap:56px}
.measure-cols h3{font-family:var(--serif); font-weight:400; font-size:34px; line-height:1.05; margin:0 0 6px}
.measure-cols .who{margin:0 0 20px; color:var(--muted)}
.mlist{list-style:none; margin:0; padding:0}
.mlist li{padding:16px 0; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:16px}
.mlist li span:last-child{color:var(--muted); font-size:15px; text-align:right}
.measure-foot{margin-top:48px; padding:28px 32px; background:var(--sand); border-radius:4px; max-width:880px}
.measure-foot p{margin:0}

/* ---------- Close ---------- */
.close{padding:120px 0 48px}
.close h2{font-family:var(--serif); font-weight:400; font-size:clamp(48px, 7vw, 108px); line-height:.95; letter-spacing:-.02em; margin:0 0 24px; max-width:13ch}
.close .cta{font-size:20px; color:var(--muted-night); max-width:44ch; margin:0 0 56px}
.contact{display:flex; gap:48px; flex-wrap:wrap; color:var(--muted-night); margin-bottom:96px}
.contact strong{display:block; color:var(--sand); font-weight:500}
.foot{display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap; padding-top:28px; border-top:1px solid var(--line-night); font-size:14px; color:var(--muted-night)}
.foot p{margin:0 0 8px; max-width:78ch}

/* ---------- Responsive ---------- */
@media (max-width: 900px){
  section{padding:80px 0}
  .lockup nav{display:none}
  .hero{padding:0}
  .hero-grid{grid-template-columns:1fr; padding:48px 0 72px; gap:48px}
  .scene{--chip:min(62vw, 250px)}
  .hero::before{opacity:.028}
  .why-body,.pillars,.invest-cols,.model-grid,.measure-cols,.tier-cards,.fields{grid-template-columns:1fr}
  .why-body{gap:20px} .pillars{gap:32px}
  .stats{grid-template-columns:repeat(2, minmax(0,1fr))}
  .step strong{font-size:15px}
  .step .dot{width:48px; height:48px; font-size:22px}
  .steps::before{top:23px} .track{top:22px}
  .results{padding:32px}
  .value{padding-top:0}
}
@media (max-width: 700px){
  .rows{gap:52px}
  .rows li{grid-template-columns:1fr; gap:20px}
  .rows li:nth-child(even) figure{order:0}
  .rows li > div{border-top:0; padding-top:0}
}
@media (max-width: 560px){
  .wrap{width:calc(100% - 40px)}
  .offer{grid-template-columns:1fr 1fr}
  .offer div:first-child{grid-column:1/-1}
  .results{grid-template-columns:1fr}
  .step{padding-right:6px}
  .step strong{font-size:13px}
  .mlist li{flex-direction:column; gap:2px}
  .ctl output{font-size:24px}
  #o-pool{white-space:nowrap}
  .mlist li span:last-child{text-align:left}
  .measure-foot{padding:22px}
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .bar i,.track{transition:none}
}

/* ---------- License to Give revision ---------- */
.pre{font-size:14px; letter-spacing:.28em; text-transform:uppercase; color:var(--sand); margin:0 0 6px}
.pre b{font-family:var(--serif); font-style:italic; font-weight:400; font-size:26px; letter-spacing:.02em; text-transform:none; color:var(--gold)}
.hero h1{color:var(--gold); margin-bottom:24px}
.hero h1 .to{font-size:.42em; font-style:italic; vertical-align:.45em; color:var(--sand); margin:0 .08em}
.exp{border-left:2px solid var(--gold); padding:4px 0 4px 18px; margin:0 0 32px}
.exp strong{display:block; font-family:var(--serif); font-weight:400; font-size:clamp(26px,2.8vw,34px); line-height:1.1; color:var(--sand)}
.exp span{display:block; font-size:15px; color:var(--muted-night); margin-top:4px}
.offer{grid-template-columns:1.4fr .8fr; max-width:560px}
.banner{margin:0; background:var(--night); border-top:1px solid var(--line-night); position:relative}
.banner img{display:block; width:100%; height:auto}
.banner figcaption{position:absolute; right:16px; bottom:12px; background:rgba(14,14,17,.8); color:var(--sand); font-size:13px; padding:5px 10px; border-radius:2px}
.flow{display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; margin:0 0 48px; font-size:15px; color:var(--muted)}
.flow span{border:1px solid var(--line); border-radius:2px; padding:6px 12px; color:var(--ink); background:var(--paper)}
.flow span.ac{background:var(--night); color:var(--gold); border-color:var(--night)}
.flow i{font-style:normal; color:var(--gold-deep)}
.supports{margin-top:48px; padding:28px 32px; background:var(--sand); border-radius:4px; display:grid; grid-template-columns:auto 1fr; gap:24px; align-items:center; max-width:980px}
.supports .org-logo{width:72px; height:72px}
.supports p{margin:0}
.partner{display:grid; grid-template-columns:.9fr 1.1fr; gap:56px; align-items:start}
.pcard{background:var(--night); color:var(--sand); border-radius:4px; padding:40px}
.pcard .tname{font-size:15px; color:var(--gold); font-weight:500; margin:0}
.pcard .tprice{font-family:var(--serif); font-size:clamp(64px,7vw,96px); line-height:1; color:var(--gold); margin:12px 0 10px}
.pcard h3{font-family:var(--serif); font-weight:400; font-size:30px; line-height:1.1; margin:0 0 14px}
.pcard p{margin:0 0 12px; color:var(--muted-night)}
.pcard .fine{margin-top:20px}
.ilist{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:0 32px}
.ilist li{padding:14px 0; border-top:1px solid var(--line)}
.ilist li small{display:block; color:var(--muted); font-size:14px}
.rows figure.portrait{width:100%; max-width:440px; justify-self:center}
.rows figure.portrait img{width:100%; height:auto}
@media (max-width: 900px){
  .partner,.supports{grid-template-columns:1fr}
  .supports{padding:24px}
  .pcard{padding:30px}
  .banner img{height:220px; object-fit:cover; object-position:50% 50%}
  .banner figcaption{right:auto; left:12px}
}
@media (max-width: 560px){
  .ilist{grid-template-columns:1fr}
  .offer{grid-template-columns:1fr 1fr}
  .rows figure.portrait img{max-width:100%}
}

/* =========================================================
   Production pass: shared components for every partner page
   ========================================================= */
.pre b{font-style:normal}
.pre b .th{font-size:.72em; letter-spacing:.04em; margin-left:.04em}
.gala-line{font-size:15px; letter-spacing:.3em; text-transform:uppercase; color:var(--sand); margin:0 0 28px}
.lockup-call{display:none}
.pillars-sec{padding:112px 0}

/* Impact */
.impact-grid{display:grid; grid-template-columns:1.1fr 1fr 1fr; gap:40px; align-items:end; border-top:1px solid var(--line-night); padding-top:32px}
.impact-total .n{font-family:var(--serif); font-size:clamp(64px, 8vw, 112px); line-height:.9; color:var(--gold)}
.impact .n{font-family:var(--serif); font-size:clamp(44px, 5vw, 64px); line-height:1}
.impact-grid p{margin:10px 0 0; color:var(--muted-night)}
.impact-note{margin:36px 0 0; max-width:66ch}

/* Typographic feature card (e.g. signature cocktail) */
.menu-card{aspect-ratio:4/3; background:var(--night); color:var(--sand); display:flex; align-items:center; justify-content:center; padding:24px}
.menu-card .frame{width:100%; height:100%; border:1px solid rgba(201,160,74,.6); outline:1px solid rgba(201,160,74,.25); outline-offset:-8px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:10px; padding:24px}
.menu-card .lbl{font-size:13px; letter-spacing:.32em; text-transform:uppercase; color:var(--gold)}
.menu-card .name{font-family:var(--serif); font-style:italic; font-size:clamp(38px, 4.4vw, 58px); line-height:1; color:var(--sand)}
.menu-card .rule{width:56px; height:1px; background:var(--gold); margin:6px 0}
.menu-card .recipe{font-size:14px; letter-spacing:.2em; text-transform:uppercase; color:var(--muted-night)}

/* Contact */
.contact-cta{display:flex; flex-wrap:wrap; gap:14px; margin:0 0 56px}
.contact-grid{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:32px; margin-bottom:96px; border-top:1px solid var(--line-night); padding-top:28px}
.contact-grid .k{font-size:14px; color:var(--muted-night); margin:0 0 6px}
.contact-grid a,.contact-grid .v{font-size:20px; color:var(--sand); text-decoration:none; font-weight:500; overflow-wrap:break-word}
.contact-grid a:hover{color:var(--gold)}
.contact-grid small{display:block; color:var(--muted-night); font-size:15px; margin-top:4px}
.foot .site{color:var(--muted-night)}

/* Hero offer: up to three facts */
.offer{grid-template-columns:1.5fr .8fr .8fr; max-width:660px}

/* ---------- Tablet ---------- */
@media (max-width: 900px){
  .impact-grid{grid-template-columns:1fr 1fr}
  .impact-total{grid-column:1/-1}
  .contact-grid{grid-template-columns:1fr; gap:24px}
  .pillars-sec{padding:72px 0}
}

/* ---------- Phones (375–640px): designed, not shrunk ---------- */
@media (max-width: 640px){
  body{font-size:16px}
  section,.pillars-sec{padding:52px 0}
  .close{padding:56px 0 32px}
  h2.h{font-size:clamp(34px, 10vw, 44px); margin-bottom:14px}
  .intro{font-size:16px; margin-bottom:32px}
  .eyebrow{font-size:14px; margin-bottom:12px}
  .fine{font-size:15px}

  .lockup .wrap{min-height:72px}
  .lockup .org-logo{width:48px; height:48px}
  .lockup .partner-logo{width:72px; height:49px}
  .lockup-logos{gap:12px}
  .lockup .x{font-size:20px}
  .lockup-call{display:inline-flex; align-items:center; min-height:44px; padding:0 14px; border:1px solid var(--ink); border-radius:2px; font-size:15px; font-weight:500; text-decoration:none; color:var(--ink); white-space:nowrap}

  .hero-grid{padding:36px 0 44px; gap:32px}
  .hero .eyebrow{margin-bottom:16px}
  .pre{font-size:13px; letter-spacing:.18em; margin-bottom:4px}
  .pre b{font-size:22px}
  .hero h1{font-size:clamp(46px, 14vw, 68px); line-height:.95; margin:0 0 10px}
  .hero h1 .to{font-size:.5em; vertical-align:.32em}
  .gala-line{font-size:13px; letter-spacing:.24em; margin-bottom:24px}
  .exp{margin-bottom:24px; padding-left:14px}
  .exp strong{font-size:26px}
  .exp span{font-size:15px}
  .offer{grid-template-columns:1fr 1fr; gap:16px 20px; padding:20px; border:1px solid var(--line-night); border-radius:4px; margin-bottom:24px}
  .offer div:first-child{grid-column:1/-1}
  .offer div:first-child strong{font-size:52px}
  .offer strong{font-size:34px}
  .btns{flex-direction:column}
  .btns .btn,.contact-cta .btn{width:100%; min-height:56px; font-size:17px}
  .hero-meta{margin-top:20px; font-size:15px}
  .scene{--chip:min(64vw, 240px)}
  .chip-caption{font-size:14px}

  .why-quote{font-size:clamp(32px, 9vw, 40px); margin-bottom:28px}
  .flow{gap:8px 10px; font-size:14px; margin-bottom:28px}
  .flow span{padding:5px 10px}
  .why-body{gap:16px}
  .supports{margin-top:32px; padding:20px; gap:16px; grid-template-columns:56px 1fr; align-items:start}
  .supports .org-logo{width:56px; height:56px}

  .impact-grid{grid-template-columns:1fr 1fr; gap:24px 20px; padding-top:24px; align-items:start}
  .why{padding-bottom:52px}
  .impact-total .n{font-size:60px}
  .impact .n{font-size:36px}
  .impact-grid p{font-size:15px}
  .impact-note{margin-top:24px}

  .pillars{gap:28px; padding-top:24px}
  .pillars h3{font-size:28px}

  .pcard{padding:24px}
  .pcard .tprice{font-size:56px}
  .pcard h3{font-size:26px}
  .ilist li{padding:12px 0}

  .rows{gap:40px}
  .rows h3{font-size:30px}
  .rows figcaption{font-size:12px; left:8px; bottom:8px}
  .menu-card{padding:16px}
  .menu-card .name{font-size:40px}
  .menu-card .recipe{font-size:13px; letter-spacing:.14em}

  .steps{margin-bottom:28px}
  .panel{padding-top:24px; min-height:0}
  .panel h3{font-size:30px}

  .measure-cols{gap:36px}
  .measure-cols h3{font-size:28px}
  .measure-foot{margin-top:32px; padding:20px}

  .close h2{font-size:clamp(40px, 12vw, 54px); margin-bottom:16px}
  .close .cta{font-size:17px; margin-bottom:28px}
  .contact-cta{margin-bottom:36px}
  .contact-grid{margin-bottom:48px}
  .contact-grid a,.contact-grid .v{font-size:18px}
  .foot{font-size:14px}
}
