:root{
  --paper:#f5ede0; --paper2:#fbf6ec; --ink:#1a1612; --ochre:#9c7414; --ochre-lt:#c99a2e;
  --sage:#406b56; --sage-lt:#5a8a72; --coral:#a83a2a; --terra:#9c4827; --grey:#6b6560;
  --line:#ddd1bd; --card:#efe7da;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Manrope',sans-serif;color:var(--ink);background:var(--paper);line-height:1.6;font-size:17px;overflow-x:hidden}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px}
.serif{font-family:'Instrument Serif',serif;font-weight:400}
.mono{font-family:'JetBrains Mono',monospace}
.tag{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ochre);font-weight:600}
.tag.sage{color:var(--sage)} .tag.coral{color:var(--coral)} .tag.terra{color:var(--terra)}
a{color:inherit;text-decoration:none}
img{max-width:100%}

.btn{display:inline-flex;align-items:center;gap:9px;font-family:'Manrope';font-weight:700;font-size:15px;padding:14px 26px;border-radius:100px;border:1.5px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;transition:transform .15s ease, box-shadow .15s ease;letter-spacing:.01em}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(26,22,18,.22)}
.btn.alt{background:transparent;color:var(--ink)}
.btn.alt:hover{background:var(--ink);color:var(--paper)}
.btn.ochre{background:var(--ochre);border-color:var(--ochre);color:#fff}
.btn.ochre:hover{box-shadow:0 8px 22px rgba(156,116,20,.35)}
.btn.sage{background:var(--sage);border-color:var(--sage);color:#fff}
.btn.sage:hover{box-shadow:0 8px 22px rgba(64,107,86,.32)}
.btn .ar{transition:transform .18s ease}
.btn:hover .ar{transform:translateX(4px)}
.btn.sm{font-size:14px;padding:10px 20px}

/* nav */
header.nav{position:sticky;top:0;z-index:50;background:rgba(245,237,224,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:70px}
.logo{font-family:'Instrument Serif',serif;font-size:25px;letter-spacing:-.01em;display:flex;align-items:center;gap:9px}
.logo .mk{width:26px;height:26px;border-radius:7px;background:var(--ochre);position:relative;flex:none}
.logo .mk::after{content:"";position:absolute;inset:7px 6px;border-left:2px solid var(--paper);border-bottom:2px solid var(--paper)}
.navlinks{display:flex;gap:26px;align-items:center}
.navlinks a{font-size:15px;font-weight:600;color:#40382c;transition:color .15s}
.navlinks a:hover{color:var(--ochre)}
.burger{display:none;font-size:26px;background:none;border:0;cursor:pointer}

/* hero */
.hero{position:relative;padding:66px 0 40px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}
.hero h1{font-family:'Instrument Serif',serif;font-size:66px;line-height:1.02;letter-spacing:-.015em;margin:18px 0 0}
.hero h1 em{font-style:italic;color:var(--ochre)}
.hero .sub{font-size:19.5px;color:#40382c;margin:22px 0 28px;max-width:520px;line-height:1.5}
.hero .cta-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.hero .trust{margin-top:24px;display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.hero .trust .t{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--grey)}
.hero .trust .t b{color:var(--ink);font-weight:700}
.chk{color:var(--sage);font-weight:800}

/* the lab card: meal -> prediction -> BBS -> action */
.lab{position:relative;background:var(--paper2);border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:0 30px 60px -30px rgba(26,22,18,.35)}
.lab .labhdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.lab .labhdr .k{font-family:'JetBrains Mono';font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--grey)}
.lab .snap{font-family:'JetBrains Mono';font-size:10px;letter-spacing:.1em;text-transform:uppercase;background:var(--ink);color:var(--paper);padding:5px 9px;border-radius:6px}
.lab .plate{height:130px;border-radius:15px;background:
  radial-gradient(circle at 30% 42%, #d98b3a 0 32px, transparent 33px),
  radial-gradient(circle at 64% 56%, #b7c27a 0 38px, transparent 39px),
  radial-gradient(circle at 45% 74%, #e8d9b0 0 27px, transparent 28px),
  linear-gradient(135deg,#efe7da,#e3d7bf);border:1px solid var(--line)}
.lab .split{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.lab .box{border:1px solid var(--line);border-radius:12px;padding:12px 13px;background:#fff}
.lab .box .k{font-family:'JetBrains Mono';font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--grey)}
.lab .box .v{font-family:'Instrument Serif';font-size:34px;line-height:1;margin-top:3px}
.lab .box .v small{font-size:14px;color:var(--grey);font-family:'Manrope'}
.lab .box.glu .v{color:var(--coral)} .lab .box.bbs .v{color:var(--sage)}
.lab .action{margin-top:12px;background:var(--sage);color:#fff;border-radius:12px;padding:12px 14px;display:flex;gap:11px;align-items:center}
.lab .action .ic{font-size:20px} .lab .action .txt{font-size:13.5px;line-height:1.35}
.lab .action .txt b{font-weight:700}
.float-badge{position:absolute;left:-22px;bottom:70px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:9px 12px;box-shadow:0 12px 26px -12px rgba(26,22,18,.3);transform:rotate(-4deg)}
.float-badge .k{font-family:'JetBrains Mono';font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--grey)}
.float-badge .v{font-family:'Instrument Serif';font-size:22px;color:var(--sage);line-height:1}

/* proof strip */
.proof{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper2);margin-top:42px}
.proof-in{display:flex;align-items:center;gap:34px;padding:18px 0;flex-wrap:wrap;justify-content:center}
.proof .item{display:flex;align-items:center;gap:9px;font-size:14px;color:#40382c}
.proof .item .n{font-family:'Instrument Serif';font-size:28px;color:var(--ochre);line-height:1}
.proof .sep{width:5px;height:5px;border-radius:50%;background:var(--line)}

/* sections */
section.blk{padding:84px 0}
.sec-head{max-width:700px;margin-bottom:42px}
.sec-head.center{text-align:center;margin-left:auto;margin-right:auto}
.sec-head h2{font-family:'Instrument Serif';font-size:46px;line-height:1.05;letter-spacing:-.01em;margin:12px 0 14px}
.sec-head p{font-size:18px;color:#40382c}

/* insight band */
.insight{background:var(--ink);color:var(--paper)}
.insight .tag{color:var(--ochre-lt)}
.insight h2{font-family:'Instrument Serif';font-size:48px;line-height:1.1;margin:16px 0 0;max-width:900px}
.insight h2 em{color:var(--ochre-lt);font-style:italic}
.insight .vs{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center;margin-top:40px;max-width:720px}
.insight .food{background:rgba(245,237,224,.06);border:1px solid rgba(245,237,224,.18);border-radius:16px;padding:20px 22px}
.insight .food .name{font-size:14.5px;color:#cfc4b2;margin-bottom:9px}
.insight .food .pk{font-family:'Instrument Serif';font-size:58px;line-height:.85}
.insight .food.hi .pk{color:#e88a5a} .insight .food.lo .pk{color:#8fc0a6}
.insight .food .u{font-size:12px;color:#9a9082;font-family:'JetBrains Mono';margin-top:4px;letter-spacing:.05em}
.insight .vsmark{font-family:'Instrument Serif';font-size:28px;color:#6b6152}

/* staircase */
.stair{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--paper2);margin-top:6px}
.step{padding:28px 22px;border-right:1px solid var(--line);position:relative}
.step:last-child{border-right:0}
.step .n{font-family:'JetBrains Mono';font-size:11px;letter-spacing:.14em;color:var(--ochre);font-weight:600;margin-bottom:12px}
.step .price{font-family:'Instrument Serif';font-size:30px;line-height:1;margin-bottom:7px}
.step .price small{font-size:13px;color:var(--grey);font-family:'Manrope'}
.step h4{font-size:15.5px;font-weight:800;margin-bottom:7px}
.step p{font-size:13px;color:#4a4234;line-height:1.45}
.step.hi{background:var(--ink)}
.step.hi .n{color:var(--ochre-lt)} .step.hi h4,.step.hi .price{color:var(--paper)} .step.hi p{color:#c9beac}
.stair-note{text-align:center;margin-top:20px;font-size:14.5px;color:var(--grey)}
.stair-note b{color:var(--ink);font-weight:700}

/* BBS feature */
.bbs-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:center}
.bbs-dial{background:var(--paper2);border:1px solid var(--line);border-radius:20px;padding:34px 30px;text-align:center}
.bbs-dial .big{font-family:'Instrument Serif';font-size:104px;line-height:.85;color:var(--sage)}
.bbs-dial .big small{font-size:30px;color:var(--grey)}
.bbs-dial .lbl{font-family:'JetBrains Mono';font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ochre);font-weight:600;margin-top:8px}
.bbs-dial .track{height:8px;background:#e3d9c6;border-radius:4px;margin:20px 0 6px;overflow:hidden}
.bbs-dial .track > i{display:block;height:100%;width:64%;background:linear-gradient(90deg,var(--sage),var(--sage-lt));border-radius:4px}
.bbs-dial .delta{font-family:'JetBrains Mono';font-size:12px;color:var(--sage);font-weight:600}
.drivers{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:6px}
.dcard{background:var(--paper2);border:1px solid var(--line);border-radius:14px;padding:18px 19px}
.dcard .ico{font-size:20px;margin-bottom:8px}
.dcard h5{font-size:15px;font-weight:800;margin-bottom:4px}
.dcard.glu h5{color:var(--coral)} .dcard.gut h5{color:var(--terra)} .dcard.wt h5{color:var(--ochre)} .dcard.act h5{color:var(--sage)}
.dcard p{font-size:12.5px;color:#4a4234;line-height:1.45}

/* three doors */
.doors{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.door{border:1px solid var(--line);border-radius:18px;padding:28px 26px;background:var(--paper2);display:flex;flex-direction:column;transition:transform .18s ease, box-shadow .18s ease}
.door:hover{transform:translateY(-4px);box-shadow:0 18px 36px -20px rgba(26,22,18,.3)}
.door .ico{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:16px}
.door.a .ico{background:rgba(64,107,86,.12)} .door.b .ico{background:rgba(156,116,20,.12)} .door.c .ico{background:rgba(156,72,39,.12)}
.door h3{font-family:'Instrument Serif';font-size:26px;line-height:1.05;margin-bottom:8px}
.door .who{font-family:'JetBrains Mono';font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--grey);margin-bottom:12px}
.door p{font-size:14px;color:#4a4234;line-height:1.5;flex:1;margin-bottom:18px}
.door a.go{font-weight:700;font-size:14.5px;display:inline-flex;align-items:center;gap:7px}
.door.a a.go{color:var(--sage)} .door.b a.go{color:var(--ochre)} .door.c a.go{color:var(--terra)}

/* testimonials */
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tcard{background:var(--paper2);border:1px solid var(--line);border-radius:18px;padding:26px 24px;display:flex;flex-direction:column}
.tcard .stat{display:flex;align-items:baseline;gap:8px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.tcard .stat .from{font-family:'JetBrains Mono';font-size:15px;color:var(--grey);text-decoration:line-through}
.tcard .stat .ar{color:var(--grey)} .tcard .stat .to{font-family:'Instrument Serif';font-size:32px;color:var(--sage);line-height:1}
.tcard .stat .u{font-family:'JetBrains Mono';font-size:10.5px;color:var(--grey);letter-spacing:.06em;margin-left:auto}
.tcard blockquote{font-size:15px;line-height:1.55;color:#332c22;margin:0 0 18px;flex:1}
.tcard .who{display:flex;align-items:center;gap:12px}
.tcard .av{width:38px;height:38px;border-radius:50%;background:var(--ochre);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px}
.tcard .who .nm{font-weight:700;font-size:14px} .tcard .who .mt{font-size:12px;color:var(--grey)}

/* science */
.science{background:var(--card)}
.sci-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:50px;align-items:center}
.sci-list{list-style:none} .sci-list li{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:15.5px}
.sci-list li .chk{color:var(--sage);font-weight:800;font-size:17px}
.sci-stats{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.sci-stats .s{background:var(--paper2);padding:22px 20px}
.sci-stats .s .n{font-family:'Instrument Serif';font-size:42px;line-height:.9;color:var(--ochre)}
.sci-stats .s .l{font-size:12.5px;color:#4a4234;margin-top:7px;line-height:1.4}

/* final cta */
.finalcta{background:var(--ink);color:var(--paper);text-align:center}
.finalcta h2{font-family:'Instrument Serif';font-size:56px;line-height:1.02;margin-bottom:16px;letter-spacing:-.01em}
.finalcta h2 em{color:var(--ochre-lt);font-style:italic}
.finalcta p{font-size:18.5px;color:#cabfae;max-width:560px;margin:0 auto 28px}
.finalcta .fine{margin-top:16px;font-size:13px;color:#8a8072}

/* footer */
footer{background:var(--paper2);border-top:1px solid var(--line);padding:58px 0 30px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px}
.foot-grid h5{font-family:'JetBrains Mono';font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--grey);margin-bottom:14px;font-weight:600}
.foot-grid a{display:block;font-size:14.5px;color:#40382c;padding:5px 0}
.foot-grid a:hover{color:var(--ochre)}
.foot-blurb{font-size:14px;color:var(--grey);max-width:290px;margin-top:14px}
.foot-bottom{border-top:1px solid var(--line);margin-top:38px;padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:12.5px;color:var(--grey)}
.disclaimer{font-size:11.5px;color:var(--grey);line-height:1.5;margin-top:16px;max-width:840px}

.rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease, transform .7s ease}
.rv.in{opacity:1;transform:none}

@media(max-width:960px){
  .hero-grid{grid-template-columns:1fr;gap:38px} .hero h1{font-size:52px}
  .stair{grid-template-columns:1fr 1fr} .bbs-grid{grid-template-columns:1fr;gap:32px}
  .doors{grid-template-columns:1fr} .tgrid{grid-template-columns:1fr} .sci-grid{grid-template-columns:1fr;gap:30px}
  .foot-grid{grid-template-columns:1fr 1fr} .insight h2{font-size:36px} .finalcta h2{font-size:40px}
  .navlinks{display:none} .burger{display:block}
}
@media(max-width:560px){
  .wrap{padding:0 20px} .hero h1{font-size:42px} .stair{grid-template-columns:1fr}
  .drivers{grid-template-columns:1fr} .sci-stats{grid-template-columns:1fr} .insight .vs{grid-template-columns:1fr}
  .sec-head h2{font-size:34px} .insight h2{font-size:29px} .lab .split{grid-template-columns:1fr}
}

/* ============================================================
   INNER-PAGE ADDITIONS  (shared across all Bite Balance pages)
   ============================================================ */

/* --- nav: active state + working mobile menu --- */
.navlinks a.active{color:var(--ochre)}
.navlinks a.active::after{content:"";display:block;height:2px;background:var(--ochre);border-radius:2px;margin-top:3px}
.mobile-menu{display:none;position:fixed;inset:70px 0 0;z-index:49;background:var(--paper);padding:26px 32px 40px;flex-direction:column;gap:4px;overflow-y:auto}
.mobile-menu.open{display:flex}
.mobile-menu a{font-family:'Instrument Serif',serif;font-size:30px;padding:12px 0;border-bottom:1px solid var(--line);color:var(--ink)}
.mobile-menu a.active{color:var(--ochre)}
.mobile-menu .btn{margin-top:22px;justify-content:center;font-family:'Manrope';font-size:16px}
body.menu-open{overflow:hidden}

/* --- inner page hero --- */
.phero{padding:70px 0 26px;position:relative}
.phero.tight{padding:60px 0 20px}
.phero-in{max-width:820px}
.phero h1{font-family:'Instrument Serif',serif;font-size:58px;line-height:1.03;letter-spacing:-.015em;margin:16px 0 0}
.phero h1 em{font-style:italic;color:var(--ochre)}
.phero .lead{font-size:20px;color:#40382c;margin-top:20px;max-width:640px;line-height:1.5}
.phero .cta-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:28px}
.crumb{font-family:'JetBrains Mono';font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--grey);display:flex;gap:8px;align-items:center}
.crumb a{color:var(--grey)} .crumb a:hover{color:var(--ochre)} .crumb .sl{color:var(--line)}
.phero.dark{background:var(--ink);color:var(--paper)}
.phero.dark h1{color:var(--paper)} .phero.dark h1 em{color:var(--ochre-lt)}
.phero.dark .lead{color:#cabfae} .phero.dark .crumb,.phero.dark .crumb a{color:#8a8072}
.phero.dark .tag{color:var(--ochre-lt)}

/* --- generic prose + lead-in --- */
.prose{max-width:720px} .prose p{font-size:17px;color:#3a3225;margin-bottom:18px;line-height:1.6}
.prose h3{font-family:'Instrument Serif';font-size:30px;margin:34px 0 12px;line-height:1.1}
.prose p em{color:var(--terra);font-style:italic}
.narrow{max-width:760px;margin:0 auto}

/* --- deep step blocks (how it works) --- */
.stepblock{display:grid;grid-template-columns:.42fr .58fr;gap:44px;align-items:start;padding:48px 0;border-top:1px solid var(--line)}
.stepblock:first-of-type{border-top:0}
.stepblock .lead-col .n{font-family:'JetBrains Mono';font-size:12px;letter-spacing:.16em;color:var(--ochre);font-weight:600}
.stepblock .lead-col .price{font-family:'Instrument Serif';font-size:44px;line-height:1;margin:12px 0 6px}
.stepblock .lead-col .price small{font-size:16px;color:var(--grey);font-family:'Manrope'}
.stepblock .lead-col h3{font-family:'Instrument Serif';font-size:34px;line-height:1.05;margin-bottom:12px}
.stepblock .lead-col p{font-size:15.5px;color:#4a4234;line-height:1.55}
.stepblock .body-col{background:var(--paper2);border:1px solid var(--line);border-radius:18px;padding:26px 28px}
.checklist{list-style:none} .checklist li{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:15px;color:#3a3225;align-items:flex-start}
.checklist li:last-child{border-bottom:0}
.checklist li .chk{color:var(--sage);font-weight:800;font-size:16px;flex:none;margin-top:1px}

/* --- timeline (day in the life / week arc) --- */
.timeline{position:relative;margin-left:6px;padding-left:30px}
.timeline::before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:2px;background:var(--line)}
.tl-item{position:relative;padding:0 0 26px}
.tl-item:last-child{padding-bottom:0}
.tl-item::before{content:"";position:absolute;left:-30px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--ochre);border:3px solid var(--paper);box-shadow:0 0 0 1px var(--line)}
.tl-item.sage::before{background:var(--sage)}
.tl-item .when{font-family:'JetBrains Mono';font-size:11px;letter-spacing:.08em;color:var(--grey);text-transform:uppercase}
.tl-item h4{font-size:16.5px;font-weight:800;margin:4px 0 5px}
.tl-item p{font-size:14.5px;color:#4a4234;line-height:1.5}

/* --- week arc (3 columns) --- */
.arc{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.arc .wk{background:var(--paper2);border:1px solid var(--line);border-radius:18px;padding:26px 24px;position:relative;overflow:hidden}
.arc .wk .wn{font-family:'JetBrains Mono';font-size:11px;letter-spacing:.14em;color:var(--ochre);font-weight:600}
.arc .wk h3{font-family:'Instrument Serif';font-size:28px;margin:10px 0 8px;line-height:1.05}
.arc .wk p{font-size:14px;color:#4a4234;line-height:1.5}
.arc .wk .bar{height:6px;border-radius:3px;background:#e3d9c6;margin-top:18px;overflow:hidden}
.arc .wk .bar > i{display:block;height:100%;background:linear-gradient(90deg,var(--sage),var(--sage-lt))}

/* --- filter chips --- */
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:26px}
.chip{font-family:'JetBrains Mono';font-size:12px;letter-spacing:.04em;padding:8px 15px;border-radius:100px;border:1.5px solid var(--line);background:var(--paper2);color:#4a4234;cursor:pointer;transition:all .15s;white-space:nowrap}
.chip:hover{border-color:var(--ochre);color:var(--ochre)}
.chip.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}

/* --- camp cards --- */
.camps-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.campcard{background:var(--paper2);border:1px solid var(--line);border-radius:18px;padding:24px 24px;display:flex;flex-direction:column;transition:transform .18s ease, box-shadow .18s ease}
.campcard:hover{transform:translateY(-4px);box-shadow:0 18px 36px -20px rgba(26,22,18,.28)}
.campcard .top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}
.campcard .host{font-family:'JetBrains Mono';font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--grey);margin-bottom:6px}
.campcard h3{font-family:'Instrument Serif';font-size:25px;line-height:1.08}
.campcard .badge{font-family:'JetBrains Mono';font-size:10px;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:100px;white-space:nowrap;flex:none}
.badge.open{background:rgba(64,107,86,.14);color:var(--sage)}
.badge.soon{background:rgba(156,116,20,.15);color:var(--ochre)}
.badge.full{background:rgba(107,101,96,.14);color:var(--grey)}
.campcard .meta{display:flex;flex-wrap:wrap;gap:8px 16px;margin:6px 0 16px;font-size:13.5px;color:#4a4234}
.campcard .meta span{display:flex;align-items:center;gap:6px}
.campcard .spots{margin-top:auto;padding-top:16px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}
.campcard .spots .s{font-size:13px;color:var(--grey)} .campcard .spots .s b{color:var(--ink)}
.langtag{font-family:'JetBrains Mono';font-size:10px;letter-spacing:.05em;padding:3px 8px;border:1px solid var(--line);border-radius:6px;color:var(--grey)}

/* --- generic feature row (alternating) --- */
.frow{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;padding:36px 0}
.frow.rev .fr-media{order:2}
.fr-media{background:var(--paper2);border:1px solid var(--line);border-radius:20px;padding:30px;min-height:240px;display:flex;align-items:center;justify-content:center}
.frow h3{font-family:'Instrument Serif';font-size:34px;line-height:1.05;margin-bottom:12px}
.frow p{font-size:16px;color:#3a3225;line-height:1.58;margin-bottom:12px}

/* --- stat cards row --- */
.statrow{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.statrow .s{background:var(--paper2);padding:26px 22px}
.statrow .s .n{font-family:'Instrument Serif';font-size:44px;line-height:.9;color:var(--ochre)}
.statrow .s .n.sage{color:var(--sage)}
.statrow .s .l{font-size:12.5px;color:#4a4234;margin-top:8px;line-height:1.4}

/* --- sponsor outcomes dashboard mock --- */
.dash{background:var(--paper2);border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:0 30px 60px -34px rgba(26,22,18,.35)}
.dash .dhdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:10px}
.dash .dhdr .t{font-weight:800;font-size:16px} .dash .dhdr .t small{display:block;font-family:'JetBrains Mono';font-size:10px;letter-spacing:.1em;color:var(--grey);text-transform:uppercase;font-weight:500;margin-top:3px}
.dash .live{font-family:'JetBrains Mono';font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--sage);display:flex;align-items:center;gap:7px}
.dash .live::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--sage);box-shadow:0 0 0 3px rgba(64,107,86,.18)}
.dash .kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:13px;padding:15px 16px}
.kpi .k{font-family:'JetBrains Mono';font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--grey)}
.kpi .v{font-family:'Instrument Serif';font-size:38px;line-height:1;margin-top:5px}
.kpi .v small{font-size:14px;color:var(--grey);font-family:'Manrope'}
.kpi.up .v{color:var(--sage)} .kpi .d{font-family:'JetBrains Mono';font-size:11px;color:var(--sage);margin-top:5px}
.dash .chartcard{background:#fff;border:1px solid var(--line);border-radius:13px;padding:18px 18px 12px}
.dash .chartcard .k{font-family:'JetBrains Mono';font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--grey);margin-bottom:14px}
.bars{display:flex;align-items:flex-end;gap:10px;height:120px}
.bars .b{flex:1;background:linear-gradient(180deg,var(--sage-lt),var(--sage));border-radius:6px 6px 0 0;position:relative;min-width:0}
.bars .b span{position:absolute;top:-18px;left:0;right:0;text-align:center;font-family:'JetBrains Mono';font-size:10px;color:var(--grey)}
.bars .b em{position:absolute;bottom:-20px;left:0;right:0;text-align:center;font-family:'JetBrains Mono';font-size:9px;color:var(--grey);font-style:normal}

/* --- pricing / package table --- */
.pkgs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pkg{background:var(--paper2);border:1px solid var(--line);border-radius:18px;padding:28px 26px;display:flex;flex-direction:column}
.pkg.hi{background:var(--ink);color:var(--paper)}
.pkg .pn{font-family:'JetBrains Mono';font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ochre);font-weight:600}
.pkg.hi .pn{color:var(--ochre-lt)}
.pkg .amt{font-family:'Instrument Serif';font-size:46px;line-height:1;margin:12px 0 4px}
.pkg .amt small{font-size:15px;color:var(--grey);font-family:'Manrope'}
.pkg.hi .amt small{color:#cabfae}
.pkg .who{font-size:14px;color:#4a4234;margin-bottom:16px}
.pkg.hi .who{color:#cabfae}
.pkg ul{list-style:none;margin-bottom:22px;flex:1}
.pkg li{display:flex;gap:10px;padding:8px 0;font-size:14px;border-bottom:1px solid var(--line)}
.pkg.hi li{border-color:rgba(245,237,224,.14);color:#e6ddcd}
.pkg li .chk{color:var(--sage);font-weight:800;flex:none}
.pkg.hi li .chk{color:var(--sage-lt)}

/* --- forms --- */
.formcard{background:var(--paper2);border:1px solid var(--line);border-radius:22px;padding:34px 34px;box-shadow:0 30px 60px -36px rgba(26,22,18,.3)}
.field{margin-bottom:18px}
.field label{display:block;font-size:13px;font-weight:700;margin-bottom:7px;color:#3a3225}
.field label .req{color:var(--coral)}
.field input,.field select,.field textarea{width:100%;font-family:'Manrope';font-size:15px;color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:11px;padding:12px 14px;transition:border-color .15s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--ochre)}
.field textarea{resize:vertical;min-height:110px}
.field .hint{font-size:12px;color:var(--grey);margin-top:6px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.optset{display:flex;gap:10px;flex-wrap:wrap}
.opt{position:relative}
.opt input{position:absolute;opacity:0;width:0;height:0}
.opt span{display:inline-block;font-size:14px;padding:10px 16px;border:1.5px solid var(--line);border-radius:100px;background:#fff;cursor:pointer;transition:all .15s}
.opt input:checked + span{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.opt input:focus-visible + span{outline:2px solid var(--ochre);outline-offset:2px}
.form-note{font-size:12.5px;color:var(--grey);margin-top:14px;line-height:1.5}
.form-done{display:none;text-align:center;padding:30px 10px}
.form-done .ic{font-size:44px} .form-done h3{font-family:'Instrument Serif';font-size:32px;margin:10px 0 8px}
.form-done p{font-size:15.5px;color:#4a4234;max-width:380px;margin:0 auto}

/* --- FAQ accordion --- */
.faq{max-width:820px;margin:0 auto}
.qa{border-bottom:1px solid var(--line)}
.qa button{width:100%;text-align:left;background:none;border:0;cursor:pointer;padding:22px 40px 22px 0;font-family:'Manrope';font-size:18px;font-weight:700;color:var(--ink);position:relative;line-height:1.35}
.qa button::after{content:"+";position:absolute;right:6px;top:20px;font-size:26px;font-weight:400;color:var(--ochre);transition:transform .2s}
.qa.open button::after{transform:rotate(45deg)}
.qa .a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.qa .a p{font-size:15.5px;color:#4a4234;line-height:1.6;padding:0 40px 24px 0}
.qa.open .a{max-height:340px}

/* --- contact option cards --- */
.optcards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.optcard{background:var(--paper2);border:1px solid var(--line);border-radius:16px;padding:22px 22px;transition:transform .16s,box-shadow .16s}
.optcard:hover{transform:translateY(-3px);box-shadow:0 16px 32px -20px rgba(26,22,18,.26)}
.optcard .ic{font-size:22px;margin-bottom:10px}
.optcard h4{font-size:16px;font-weight:800;margin-bottom:5px}
.optcard p{font-size:13.5px;color:#4a4234;line-height:1.5;margin-bottom:10px}
.optcard a{font-weight:700;font-size:13.5px;color:var(--ochre)}

/* --- big before/after --- */
.ba{display:grid;grid-template-columns:1fr auto 1fr;gap:26px;align-items:center;background:var(--paper2);border:1px solid var(--line);border-radius:20px;padding:34px}
.ba .side{text-align:center}
.ba .side .lbl{font-family:'JetBrains Mono';font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--grey);margin-bottom:8px}
.ba .side .big{font-family:'Instrument Serif';font-size:74px;line-height:.85}
.ba .side.before .big{color:var(--coral)} .ba .side.after .big{color:var(--sage)}
.ba .side .u{font-family:'JetBrains Mono';font-size:11px;color:var(--grey);margin-top:6px}
.ba .arrow{font-family:'Instrument Serif';font-size:40px;color:var(--ochre)}

/* --- misc --- */
.section-alt{background:var(--card)}
.pad-sm{padding:56px 0}
.centerwrap{text-align:center;max-width:640px;margin:0 auto}
.split-cta{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:30px}
.mini-note{font-size:13px;color:var(--grey);margin-top:14px}
.leadgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.leadcard{background:var(--paper2);border:1px solid var(--line);border-radius:16px;padding:24px 22px}
.leadcard .ic{width:44px;height:44px;border-radius:11px;background:rgba(156,116,20,.12);display:flex;align-items:center;justify-content:center;font-size:21px;margin-bottom:14px}
.leadcard.s .ic{background:rgba(64,107,86,.12)} .leadcard.t .ic{background:rgba(156,72,39,.12)}
.leadcard h4{font-size:16.5px;font-weight:800;margin-bottom:7px}
.leadcard p{font-size:14px;color:#4a4234;line-height:1.5}

@media(max-width:960px){
  .phero h1{font-size:44px}
  .stepblock{grid-template-columns:1fr;gap:22px}
  .frow{grid-template-columns:1fr;gap:26px} .frow.rev .fr-media{order:0}
  .arc{grid-template-columns:1fr} .camps-grid{grid-template-columns:1fr}
  .statrow{grid-template-columns:1fr 1fr} .pkgs{grid-template-columns:1fr}
  .dash .kpis{grid-template-columns:1fr 1fr} .optcards{grid-template-columns:1fr}
  .leadgrid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .phero h1{font-size:36px} .phero .lead{font-size:17px}
  .field-row{grid-template-columns:1fr} .statrow{grid-template-columns:1fr}
  .ba{grid-template-columns:1fr;gap:16px} .ba .arrow{transform:rotate(90deg)}
  .dash .kpis{grid-template-columns:1fr} .formcard{padding:26px 22px}
}
