/* Emozu site. Light, warm, calm. Style follows the Emozu deck. */
@font-face{font-family:Onest;src:url(assets/fonts/onest-latin-wght-normal.woff2) format("woff2-variations");font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Onest;src:url(assets/fonts/onest-cyrillic-wght-normal.woff2) format("woff2-variations");font-weight:100 900;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Caveat;src:url(assets/fonts/caveat-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F}
@font-face{font-family:Caveat;src:url(assets/fonts/caveat-cyrillic-600-normal.woff2) format("woff2");font-weight:600;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}

:root{
  color-scheme:light;
  --bg:#FAF5EF;--bg2:#F3E8DD;--card:#FFFFFF;
  --ink:#2B2622;--ink2:#655D55;--ink3:#7B7269;
  --line:#E9DFD3;--line2:#D9CCBC;
  --blue:#5B8DB8;--blue-ink:#3C6C98;--blue-soft:#BFD6EA;--blue-wash:#E7F0F7;
  --coral:#E5735B;--coral-ink:#BC4E37;--coral-wash:#FBE9E4;
  --sage:#7FA283;--sage-ink:#47704F;--sage-wash:#E4EEE2;
  --amber:#DFA23E;--amber-ink:#8F6214;--lilac:#B09BD6;--lilac-ink:#6A52A0;
  --r:24px;--r-s:16px;
  --shadow:0 1px 2px rgba(70,45,20,.05),0 14px 34px rgba(70,45,20,.07);
  --shadow-l:0 2px 4px rgba(70,45,20,.05),0 26px 60px rgba(70,45,20,.12);
  --head:68px;
  --gut:clamp(16px,4vw,40px);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.55 Onest,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
p{margin:0}
h1,h2,h3{margin:0;font-weight:700;letter-spacing:-.022em;text-wrap:balance}
h1{font-size:clamp(38px,5.6vw,74px);line-height:1.05}
h2{font-size:clamp(29px,4vw,52px);line-height:1.08}
h3{font-size:clamp(19px,1.8vw,23px);line-height:1.22;letter-spacing:-.012em}
:focus-visible{outline:2.5px solid var(--blue-ink);outline-offset:3px;border-radius:6px}
::selection{background:var(--blue-soft)}
section[id],.anchor{scroll-margin-top:calc(var(--head) + 16px)}

.wrap{width:min(1160px,100%);margin-inline:auto;padding-inline:var(--gut)}
.skip{position:absolute;left:12px;top:-60px;background:var(--ink);color:#fff;padding:10px 16px;border-radius:10px;z-index:100}
.skip:focus{top:10px}
.eyebrow{font-size:13px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink3)}
.lead{font-size:clamp(17px,1.5vw,20px);line-height:1.5;color:var(--ink2);max-width:62ch}
.small{font-size:13.5px;line-height:1.5;color:var(--ink3)}
.small a{color:var(--ink2)}
.src{font-size:13px;line-height:1.5;color:var(--ink3);margin-top:14px}
.src a{color:var(--ink2);text-underline-offset:2px}
.hand{font-family:Caveat,"Segoe Print",cursive;font-weight:600;font-size:23px;line-height:1.05;color:var(--ink2)}
.sec{padding-block:clamp(72px,10vw,132px)}
.sec.tint{background:#F6EEE5}
.sec-head{display:grid;gap:16px;margin-bottom:clamp(32px,4.5vw,56px);max-width:820px}
.sub-head{margin:clamp(44px,6vw,72px) 0 clamp(20px,2.5vw,30px);display:grid;gap:8px;max-width:760px}
.chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;letter-spacing:.02em;padding:4px 10px;border-radius:99px;background:rgba(255,255,255,.92);color:var(--ink2);box-shadow:0 1px 3px rgba(70,45,20,.12)}
.card{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);padding:clamp(20px,2.4vw,30px)}
.card.flat{background:var(--bg2);box-shadow:none}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 24px;border:0;border-radius:99px;background:var(--ink);color:#fff;font:600 16px/1 Onest,system-ui,sans-serif;text-decoration:none;cursor:pointer;transition:background .2s,box-shadow .2s}
.btn:hover{background:#463E37;box-shadow:0 10px 26px rgba(43,38,34,.2)}
.btn.ghost{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line2)}
.btn.ghost:hover{background:#fff;box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn.sm{min-height:40px;padding:0 16px;font-size:14.5px}
.btn[disabled]{opacity:.55;cursor:default}

/* header and group rail */
.top{position:sticky;top:0;z-index:50;background:rgba(250,245,239,.9);backdrop-filter:saturate(1.3) blur(10px);-webkit-backdrop-filter:saturate(1.3) blur(10px);transition:transform .3s ease,box-shadow .3s}
.top.scrolled{box-shadow:0 1px 0 var(--line)}
.top.hide{transform:translateY(-100%)}
.top-row{display:flex;align-items:center;gap:14px;height:var(--head);padding-inline:var(--gut);width:min(1160px,100%);margin-inline:auto}
.brand{display:block;margin-right:auto;border-radius:8px}
.brand img{height:34px;width:auto;margin-left:-4px}
.li{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;color:var(--ink2);transition:background .2s,color .2s}
.li:hover{background:var(--bg2);color:var(--blue-ink)}
.lang{display:flex;gap:2px;font-size:14px;font-weight:600}
.lang a{padding:7px 9px;border-radius:9px;color:var(--ink3);text-decoration:none}
.lang a[aria-current]{color:var(--ink);background:var(--bg2)}
.rail{display:flex;gap:4px;overflow-x:auto;padding:0 var(--gut) 10px;scrollbar-width:none;width:min(1160px,100%);margin-inline:auto}
.rail::-webkit-scrollbar{display:none}
.rail a{flex:none;display:flex;align-items:center;gap:8px;min-height:32px;padding:0 11px;border-radius:99px;font-size:13.5px;font-weight:500;color:var(--ink3);text-decoration:none;transition:background .25s,color .25s}
.rail a i{display:none}
.rail a.on{background:var(--ink);color:#fff}
@media (min-width:1400px){
  .rail{position:fixed;left:22px;top:50%;transform:translateY(-50%);flex-direction:column;align-items:flex-start;gap:2px;width:auto;padding:0;overflow:visible;margin:0}
  .rail a{background:none;min-height:30px;padding:0 6px;font-size:13px}
  .rail a i{display:block;width:18px;height:2px;border-radius:2px;background:var(--line2);transition:width .3s,background .3s}
  .rail a:hover{color:var(--ink)}
  .rail a.on{background:none;color:var(--ink);font-weight:600}
  .rail a.on i{width:30px;background:var(--blue)}
  .top.hide{transform:none}
  .top{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(250,245,239,.97)}
}

/* hero */
.hero{padding-block:clamp(26px,4vw,52px) clamp(44px,6vw,76px)}
.hero-grid{display:grid;gap:clamp(30px,4vw,60px);align-items:center}
.hero-copy{display:grid;gap:clamp(16px,1.8vw,22px);justify-items:start}
.logo{width:clamp(220px,25vw,330px);height:auto;margin-left:-8px}
.logo-sub{margin-top:-12px}
.cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.tag{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:500;color:var(--ink2)}
.tag::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--amber)}
.hero-fig{position:relative;margin:0;max-width:560px;width:100%;justify-self:center}
.hero-fig>img{width:100%;aspect-ratio:818/985;object-fit:cover;border-radius:32px;box-shadow:var(--shadow-l)}
.float{position:absolute;background:#fff;border-radius:18px;box-shadow:var(--shadow-l);padding:11px 15px;font-size:14px;line-height:1.3}
.float.alert{left:-14px;bottom:8%;display:flex;gap:10px;align-items:center;max-width:250px}
.float.alert img{width:38px;height:38px;border-radius:10px;object-fit:cover}
.float.alert b{display:block;font-weight:650}
.float.alert small{font-size:12px;color:var(--ink3)}
.float.zero{right:-10px;top:5%;font-weight:550;max-width:170px}
.hero-fig>img.float.phone{right:-62px;bottom:-40px;left:auto;width:clamp(112px,32%,184px);height:auto;aspect-ratio:600/1128;object-fit:contain;padding:0;background:none;border-radius:0;box-shadow:none;filter:drop-shadow(0 18px 22px rgba(70,45,20,.22)) drop-shadow(0 3px 5px rgba(70,45,20,.1))}
@media (max-width:600px){.hero-fig>img.float.phone{right:-6px;bottom:-22px}}
.float.zero em{font-style:normal;color:var(--coral-ink);font-weight:700}
.hero-note{position:absolute;left:10px;bottom:-40px;display:flex;gap:6px;align-items:flex-end}
.hero-note svg{width:34px;height:34px;flex:none;color:var(--ink2)}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:clamp(58px,6vw,84px)}
.stat{background:#fff;border-radius:var(--r-s);box-shadow:var(--shadow);padding:16px 18px;display:grid;gap:4px;align-content:start}
.stat b{font-size:clamp(22px,2.4vw,29px);line-height:1.1;font-weight:700;letter-spacing:-.02em;color:var(--blue-ink)}
.stat b.zero{color:var(--coral-ink)}
.stat span{font-size:14px;line-height:1.35;color:var(--ink2)}
@media (min-width:900px){
  .hero-grid{grid-template-columns:1.08fr .92fr}
  .stats{grid-template-columns:repeat(4,1fr)}
  .hero-fig{justify-self:end}
}
@media (max-width:520px){
  .float.alert{left:-6px;max-width:220px}
  .float.zero{right:-6px}
}

/* problem */
.voices{display:grid;gap:12px;margin-bottom:clamp(20px,3vw,32px)}
.voice{background:#fff;border-radius:20px 20px 20px 6px;box-shadow:var(--shadow);padding:16px 20px;font-size:16.5px;line-height:1.4}
.voice:nth-child(2){border-radius:20px 20px 6px 20px}
@media (min-width:860px){.voices{grid-template-columns:repeat(3,1fr)}}
.chart-card h3{margin-bottom:6px}
.chart-card .small{margin-bottom:16px}
.bars{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.bars li{display:grid;grid-template-columns:minmax(120px,38%) 1fr 44px;gap:12px;align-items:center;font-size:15px;line-height:1.25}
.bars .bt{display:block;height:12px;border-radius:7px;background:#F4ECE3;overflow:hidden}
.bars .bt i{display:block;height:100%;width:var(--v);border-radius:7px;background:var(--blue-soft);transform-origin:left}
.bars b{font-size:14px;font-weight:600;text-align:right;color:var(--ink2);font-variant-numeric:tabular-nums}
.bars li.hot .bt i{background:var(--coral)}
.bars li.hot b,.bars li.hot .bl{color:var(--coral-ink);font-weight:600}
.bars.tall li{grid-template-columns:minmax(110px,40%) 1fr 72px}
.bars li.est .bt i{background:repeating-linear-gradient(135deg,var(--sage) 0 4px,#fff 4px 7px)}
@media (min-width:980px){.bars.two{grid-template-columns:1fr 1fr;column-gap:48px}}
@media (max-width:520px){.bars li{grid-template-columns:minmax(0,1fr) 40px;grid-template-areas:"l n" "b b";gap:3px 8px}.bars .bl{grid-area:l}.bars .bt{grid-area:b}.bars b{grid-area:n}
  .bars.tall li{grid-template-columns:minmax(0,1fr) auto}}

.stack-wrap{display:grid;gap:26px;margin-top:clamp(44px,6vw,76px)}
.stack-side{display:grid;gap:12px;align-content:start}
.stack{perspective:1200px;display:grid;gap:18px}
.scard{position:sticky;top:calc(var(--head) + 54px + var(--i)*10px);background:#fff;border-radius:var(--r);box-shadow:var(--shadow-l);padding:22px 24px;display:grid;grid-template-columns:44px 1fr;gap:6px 16px;transform-origin:50% 0;will-change:transform;min-height:170px;align-content:start}
.scard:nth-child(even){background:#FFFBF6}
.scard .ic{grid-row:span 3;width:40px;height:40px}
.scard h3 b{color:var(--blue-ink);font-weight:700}
.scard.c-coral h3 b{color:var(--coral-ink)}
.scard.c-sage h3 b{color:var(--sage-ink)}
.scard.c-lilac h3 b{color:var(--lilac-ink)}
.scard.c-amber h3 b{color:var(--amber-ink)}
.scard p{color:var(--ink2);font-size:15.5px;line-height:1.45}
.scard .src{margin-top:4px}
@media (min-width:900px){
  .stack-wrap{grid-template-columns:.8fr 1.2fr;gap:56px}
  .stack-side{position:sticky;top:calc(var(--head) + 40px);align-self:start}
  .scard{top:calc(var(--head) + 28px + var(--i)*12px)}
}
@media (min-width:1400px){.scard{top:calc(var(--head) + 16px + var(--i)*12px)}}

/* idea */
.band-grid{display:grid;gap:14px}
.band-main{position:relative;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-l);background:#F1EBE3}
.band-main>img{width:100%;aspect-ratio:1400/781;object-fit:cover}
.band-main svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.band-main svg line{stroke:#2B2622;stroke-width:1.5;vector-effect:non-scaling-stroke}
.band-main svg circle{fill:#2B2622}
.call{position:absolute;font-size:clamp(11px,1.15vw,15px);line-height:1.15;font-weight:500;color:#2B2622;white-space:nowrap;transform:translate(-50%,-50%)}
.call.r{transform:translate(0,-50%)}
.call.l{transform:translate(-100%,-50%);text-align:right;white-space:normal;width:max-content;max-width:23%}
.band-main .call{font-size:clamp(11px,.98vw,14px)}
.band-main .chip{position:absolute;left:14px;top:14px}
.band-note{margin-top:12px;color:var(--ink2);font-size:15px}
.reads{display:none}
.wears{display:grid;gap:12px}
.wear{position:relative;display:grid;grid-template-columns:44% 1fr;align-items:center;gap:16px;background:#fff;border-radius:20px;box-shadow:var(--shadow);overflow:hidden}
.wear img{width:100%;height:100%;aspect-ratio:518/380;object-fit:cover}
.wear div{padding:10px 14px 10px 0;display:grid;gap:3px}
.wear b{font-size:16.5px;font-weight:650;line-height:1.2}
.wear span{font-size:14px;line-height:1.3;color:var(--ink2)}
@media (min-width:960px){
  .band-grid{grid-template-columns:1.9fr 1fr;align-items:stretch}
  .wears{gap:12px;grid-template-rows:repeat(3,1fr)}
  .wear{min-height:0}
  .wear img{height:0;min-height:100%;aspect-ratio:auto}
}
@media (max-width:700px){
  .band-main>img{aspect-ratio:4/3;object-position:30% 50%}
  .call{display:none}
  .band-main svg{display:none}
  .reads{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;margin:12px 0 0;padding:0;list-style:none;font-size:14.5px;color:var(--ink2)}
  .reads li{display:flex;gap:8px;align-items:baseline}
  .reads li::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--blue);transform:translateY(-2px)}
}
.zoo{display:grid;gap:0;margin-top:clamp(22px,3vw,34px);background:#fff;border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}
.zoo-img{position:relative}
.zoo-img img{width:100%;aspect-ratio:1600/554;object-fit:cover;min-height:200px}
.zoo-img .chip{position:absolute;left:14px;top:14px}
.zoo-text{padding:clamp(20px,2.4vw,30px);display:grid;gap:10px}
.zoo-text p{color:var(--ink2)}
@media (min-width:900px){.zoo-text{grid-template-columns:.8fr 1.2fr;gap:30px;align-items:start}}

/* phones */
.phones{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px var(--gut) 22px;margin-inline:calc(var(--gut)*-1);scrollbar-width:none}
.phones::-webkit-scrollbar{display:none}
.ph-col{flex:none;width:252px;scroll-snap-align:center;display:grid;gap:12px;justify-items:center;text-align:center}
.phone{width:236px;height:480px;border-radius:38px;background:#2B2622;padding:7px;box-shadow:var(--shadow-l)}
.ph3d{display:block;width:250px;height:auto;aspect-ratio:500/1064;filter:drop-shadow(0 22px 26px rgba(70,45,20,.16)) drop-shadow(0 4px 6px rgba(70,45,20,.08))}
.screen{position:relative;height:100%;border-radius:31px;overflow:hidden;background:#FBF7F1;font-size:12.5px;line-height:1.3;display:flex;flex-direction:column;padding:42px 14px 14px;text-align:left}
.screen::before{content:"";position:absolute;left:50%;top:10px;width:70px;height:19px;margin-left:-35px;background:#2B2622;border-radius:12px}
.lock{background:linear-gradient(155deg,#5F7E9B 0,#94A7B5 45%,#D9C7AB 100%);color:#fff;text-align:center;align-items:center;padding-inline:9px}
.lock .day{font-size:12px;opacity:.92}
.lock .clock{font-size:50px;line-height:1.1;font-weight:500;letter-spacing:-.02em}
.notif{margin-top:auto;margin-bottom:42px;background:rgba(255,255,255,.96);color:var(--ink);border-radius:18px;padding:11px 12px;text-align:left;width:100%;box-shadow:0 12px 30px rgba(30,30,40,.25)}
.notif .nh{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--ink3);margin-bottom:7px}
.notif .nh img{width:20px;height:20px;border-radius:5px;object-fit:cover}
.notif .nh span:last-child{margin-left:auto}
.notif b{display:block;font-size:14px;line-height:1.2;font-weight:650;margin-bottom:3px}
.notif p{color:var(--ink2);font-size:12px}
.notif .nb{margin-top:9px;background:var(--blue);color:#fff;font-weight:600;text-align:center;border-radius:99px;padding:8px}
.scr-t{font-size:15px;font-weight:650;margin-bottom:10px}
.dayline{display:grid;grid-template-columns:38px 26px 1fr;gap:0 8px;flex:1;min-height:0}
.dayline .hrs,.dayline .evs{display:grid;grid-template-rows:subgrid;grid-row:1/8}
.dayline{grid-template-rows:repeat(7,1fr)}
.dayline .hrs span{color:var(--ink3);font-size:10.5px;align-self:center}
.dayline .evs span{align-self:center;font-size:11px;color:var(--ink2)}
.dayline .evs span.al{color:var(--coral-ink);font-weight:650}
.dayline .col{grid-row:1/8;border-radius:7px;overflow:hidden;display:grid;grid-template-rows:2fr 1fr 2fr 1fr 1fr}
.dayline .col i{display:block;transform-origin:top}
.dstat{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-top:10px}
.dstat div{border:1px solid var(--line);border-radius:10px;padding:7px;text-align:center;font-size:10.5px;color:var(--ink2);background:#fff}
.dstat b{display:block;font-size:17px;line-height:1.15}
.works{list-style:none;margin:0;padding:0;display:grid;gap:13px}
.works li{display:grid;grid-template-columns:1fr auto;gap:5px 6px;font-size:12.5px}
.works span:nth-child(2){color:var(--ink3);font-size:11.5px}
.works .bt{grid-column:1/-1;height:8px;border-radius:5px;background:#EFE6DA;overflow:hidden}
.works .bt i{display:block;height:100%;width:var(--v);background:var(--c);border-radius:5px;transform-origin:left}
.scr-note{margin-top:auto;background:var(--bg2);border-radius:10px;padding:10px;font-size:11.5px;color:var(--ink2)}
.ph-col h3{font-size:13px;letter-spacing:.13em;text-transform:uppercase;font-weight:650}
.ph-col p{font-size:14.5px;line-height:1.35;color:var(--ink2);max-width:230px}
@media (min-width:880px){.phones{justify-content:space-around;overflow:visible;margin:0;padding:6px 0 0}}

/* where this goes */
.goes{margin-top:clamp(44px,6vw,76px);display:grid;gap:26px}
.goes-copy{display:grid;gap:12px;align-content:start}
.goes-copy .big{font-size:clamp(23px,2.5vw,32px);line-height:1.15;font-weight:700;letter-spacing:-.018em}
.goes-track{position:relative;display:grid;grid-template-columns:repeat(3,1fr);align-items:end;gap:8px}
.gc{background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:6px 6px 12px;display:grid;gap:8px;text-align:center}
.gc.g2 img{aspect-ratio:1/1.2}.gc.g3 img{aspect-ratio:1/1.5}
.gc img{width:100%;border-radius:13px;object-fit:cover;aspect-ratio:1/1}
.gc small{display:block;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--ink3);margin-bottom:4px}
.gc p{font-size:13px;line-height:1.25;padding-inline:3px}
.goes-arrow{display:none}
.goes-arrow::after{content:"";position:absolute;right:0;top:-4.5px;width:9px;height:9px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg)}
@media (min-width:600px){.goes-track{gap:14px}.gc{padding:10px 10px 18px;border-radius:var(--r);gap:12px}.gc img{border-radius:16px}.gc small{font-size:12px;letter-spacing:.17em}.gc p{font-size:15.5px;line-height:1.3;padding-inline:6px}}
@media (min-width:960px){
  .goes{grid-template-columns:.8fr 1.2fr;gap:44px;align-items:end}
  .goes-arrow{display:block;position:absolute;left:0;right:0;top:-30px;height:0;border-top:1.5px solid var(--ink);color:var(--ink)}
}

/* science: signal */
.sig{position:relative;padding:clamp(16px,2vw,24px)}
.sig-plot{position:relative;height:clamp(300px,34vw,380px);margin-top:10px}
.sig-plot svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.sig-zone{fill:var(--sage-wash)}
.sig-grid{stroke:#F0E7DB;stroke-width:1;vector-effect:non-scaling-stroke}
.sig-edge{stroke:var(--sage);stroke-width:1.4;stroke-dasharray:5 5;vector-effect:non-scaling-stroke}
.sig-ep{stroke:var(--coral);stroke-width:2.2;vector-effect:non-scaling-stroke}
.sig-head{stroke:var(--ink);stroke-width:1;opacity:.35;vector-effect:non-scaling-stroke}
.sig-l{fill:none;stroke-width:2.3;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.sig-lab{position:absolute;left:0;font-size:13.5px;font-weight:600;line-height:1.1;background:rgba(255,255,255,.85);padding:2px 6px 2px 0;border-radius:4px}
.sig-ax{position:relative;height:40px;margin-top:6px;font-size:12.5px;color:var(--ink3)}
.sig-ax span{position:absolute;transform:translateX(-50%);top:0;white-space:nowrap}
.sig-ax span.ep{color:var(--coral-ink);font-weight:650}
.sig-win{position:absolute;top:-4px;transform:translateX(-50%);font-size:12.5px;font-weight:600;color:var(--sage-ink);white-space:nowrap;background:rgba(255,255,255,.9);padding:1px 7px;border-radius:7px}
.sig-axt{position:absolute;left:0;bottom:0}

/* science: study cards */
.studies{display:grid;gap:14px}
@media (min-width:760px){.studies{grid-template-columns:repeat(6,1fr)}.study{grid-column:span 3}.studies.has-open .study{grid-column:span 2}.studies.has-open .study.open{grid-column:1/-1;order:-1}}
.study{position:relative;background:#fff;border-radius:var(--r);box-shadow:var(--shadow);padding:20px 22px;display:grid;gap:10px;align-content:start;overflow:hidden}
.study.open{box-shadow:var(--shadow-l)}
.study header{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;justify-content:space-between}
.study header small{font-size:13px;font-weight:600;color:var(--ink3)}
.study .facts{font-size:14.5px;line-height:1.4;color:var(--ink2)}
.scale{position:relative;height:40px;margin:6px 0 2px}
.scale::before{content:"";position:absolute;left:0;right:0;top:13px;height:6px;border-radius:4px;background:linear-gradient(90deg,#F2E9DF,var(--blue-wash))}
.scale .tick{position:absolute;top:24px;font-size:11px;color:var(--ink3);transform:translateX(-50%)}
.scale .tick:nth-last-of-type(2){transform:none}
.scale .tick:last-of-type{transform:translateX(-100%)}
.scale .pt{position:absolute;top:8px;width:16px;height:16px;margin-left:-8px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 3px #fff,0 2px 6px rgba(50,80,110,.35)}
.scale .pt.alt{background:var(--lilac)}
.scale .pt em{position:absolute;bottom:17px;left:50%;transform:translateX(-50%);font-style:normal;font-size:12.5px;font-weight:650;white-space:nowrap;color:var(--ink);line-height:1;display:none}
.scale-vals{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13.5px;color:var(--ink2)}
.scale-vals i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;background:var(--blue);transform:translateY(0)}
.scale-vals span.alt i{background:var(--lilac)}
.scale-vals b{font-weight:650;color:var(--ink)}
.study-foot{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:space-between;margin-top:2px}
.study-toggle{appearance:none;border:0;background:var(--bg2);color:var(--ink);font:600 14px/1 Onest,system-ui,sans-serif;border-radius:99px;min-height:38px;padding:0 15px;cursor:pointer}
.study-toggle:hover{background:#EBDCCB}
.study a.out{font-size:14px;font-weight:550;color:var(--blue-ink);text-underline-offset:3px}
.study-more{display:grid;gap:8px;font-size:15.5px;line-height:1.48;color:var(--ink2);border-top:1px solid var(--line);padding-top:12px;margin-top:2px}
.study-more ul{margin:0;padding-left:18px;display:grid;gap:5px}
html.js .study:not(.open) .study-more{display:none}
html:not(.js) .study-toggle{display:none}
.finds{display:grid;gap:14px;margin-top:14px}
.find{display:grid;gap:7px;align-content:start;padding:22px}
.find .ic{width:34px;height:34px}
.find p{font-size:15.5px;line-height:1.42;color:var(--ink2)}
@media (min-width:760px){.finds{grid-template-columns:repeat(3,1fr)}}
.honest{margin-top:14px;background:var(--coral-wash);box-shadow:none;display:grid;gap:10px}
.honest p{color:#5D453D}
.honest b.n{color:var(--coral-ink)}
@media (min-width:860px){.honest{grid-template-columns:.75fr 1.25fr;gap:32px;align-items:start}}
.measure{display:grid;gap:24px;margin-top:14px}
.measure p{color:var(--ink2)}
@media (min-width:860px){.measure{grid-template-columns:.8fr 1.2fr;gap:44px}}

/* gap */
.dots-card{display:grid;gap:22px}
.dgroups{display:grid;gap:16px}
.dg{display:grid;gap:8px;align-content:start}
.dg h3{font-size:16px;display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.dg h3 b{font-weight:700;color:var(--blue-ink)}
.dg .where{font-size:13.5px;color:var(--ink3);margin-top:-5px}
.dotgrid{display:flex;flex-wrap:wrap;gap:6px}
.dotgrid i{width:13px;height:13px;border-radius:50%;background:var(--blue-soft);display:block}
.dg.d2 .dotgrid i{background:var(--blue)}
.dg.d3 .dotgrid i{background:var(--lilac)}
.home{border:2px dashed var(--coral);border-radius:18px;background:var(--coral-wash);min-height:124px;display:grid;place-content:center;justify-items:center;gap:0;padding:12px;text-align:center}
.home b{font-size:42px;line-height:1;color:var(--coral-ink);font-weight:750}
.home span{font-size:14px;color:var(--coral-ink);font-weight:600}
@media (min-width:860px){.dgroups{grid-template-columns:.9fr 2fr .7fr .9fr;gap:30px}}
.tl{list-style:none;margin:0;padding:0;display:grid;gap:0;position:relative}
.tl li{position:relative;padding:0 0 18px 26px;font-size:15px;line-height:1.35}
.tl li::before{content:"";position:absolute;left:0;top:6px;width:12px;height:12px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px #fff;z-index:1}
.tl li.gone::before{background:var(--coral)}
.tl li.us::before{background:var(--sage)}
.tl::before{content:"";position:absolute;left:5px;top:8px;bottom:18px;width:2px;background:var(--line)}
.tl .yr{display:block;font-size:13px;font-weight:650;color:var(--ink3)}
.tl b{font-weight:650}
.tl li.gone b{color:var(--coral-ink)}
.tl li.us b{color:var(--sage-ink)}
.tl p{color:var(--ink2);font-size:14px}
@media (min-width:900px){
  .tl{grid-template-columns:repeat(7,1fr);gap:12px}
  .tl::before{left:0;right:0;top:5px;bottom:auto;width:auto;height:2px}
  .tl li{padding:24px 0 0}
  .tl li::before{top:0}
}
.tl + .src{margin-top:30px}
.field{display:grid;gap:14px;margin-top:clamp(32px,4vw,48px)}
@media (min-width:900px){.field{grid-template-columns:1.25fr .75fr}}
.quad{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.quad .cell{background:#FBF6F0;border-radius:14px;padding:12px 13px;font-size:13.5px;line-height:1.3;display:grid;gap:7px;align-content:start;min-height:112px}
.quad .cell>small{font-size:11.5px;letter-spacing:.04em;color:var(--ink3);font-weight:600}
.quad .cell span b{font-weight:650;color:var(--ink);display:block}
.quad .cell span{color:var(--ink2)}
.quad .cell.us{background:var(--blue-wash);box-shadow:inset 0 0 0 2px var(--blue)}
.quad .cell.us b{color:var(--blue-ink);font-size:15.5px}
.reg{display:grid;gap:10px;align-content:start}
.reg p{font-size:15px;color:var(--ink2);line-height:1.42}
.owlet{display:grid;grid-template-columns:auto 1fr auto;gap:6px 10px;align-items:center;font-size:13px;color:var(--ink2);margin:6px 0}
.owlet i{display:block;height:6px;background:var(--amber);border-radius:4px;transform-origin:left}
.owlet b{grid-column:1/-1;font-size:18px;font-weight:700}

/* method */
.loop{list-style:none;margin:0;padding:0;display:grid;gap:10px;counter-reset:s}
.loop li{counter-increment:s;background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:15px 16px;display:grid;gap:3px;align-content:start;position:relative}
.loop li::before{content:counter(s);font-size:12.5px;font-weight:700;color:var(--blue-ink);width:24px;height:24px;border-radius:50%;background:var(--blue-wash);display:grid;place-items:center;margin-bottom:5px}
.loop b{font-size:15.5px;line-height:1.22;font-weight:650}
.loop span{font-size:13.5px;line-height:1.3;color:var(--ink2)}
@media (min-width:600px){.loop{grid-template-columns:repeat(2,1fr)}}
@media (min-width:980px){.loop{grid-template-columns:repeat(6,1fr)}}
.loop-back{margin-top:12px;display:flex;gap:10px;align-items:center;color:var(--ink2)}
.loop-back svg{flex:none;width:34px;height:22px;color:var(--sage)}
.gantt{display:grid;grid-template-columns:repeat(8,1fr);gap:6px 3px;margin-top:6px}
.gantt .gh{grid-column:span 4;font-size:13.5px;font-weight:650;padding:4px 2px}
.gantt .gh.b{color:var(--sage-ink)}
.gantt .gh.a{color:var(--blue-ink)}
.gantt .gl{grid-column:1/-1;font-size:13.5px;color:var(--ink2);margin-top:6px}
.gantt i{display:block;height:15px;border-radius:5px;background:var(--blue-soft);transform-origin:left}
.gantt i.dim{background:#F3EBE1}
.gantt i.on{background:var(--sage)}
.gantt i.cal{background:var(--lilac)}
.gantt .wk{font-size:11.5px;color:var(--ink3);text-align:left;padding-top:3px}
.method-grid{display:grid;gap:14px;margin-top:26px}
@media (min-width:900px){.method-grid{grid-template-columns:1.3fr .7fr}}
.keys{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.keys li{font-size:13.5px;padding:5px 10px;border-radius:99px;background:var(--bg2);color:var(--ink);font-weight:500}

/* roadmap */
.road{position:relative;display:grid;gap:12px;padding-left:24px}
.road-line{position:absolute;left:5px;top:12px;bottom:12px;width:3px;background:var(--line);border-radius:3px;overflow:hidden}
.road-line i{display:block;width:100%;height:100%;background:var(--blue);transform-origin:top}
.rs{position:relative;background:#fff;border-radius:20px;box-shadow:var(--shadow);padding:18px 18px 20px;display:grid;gap:7px;align-content:start}
.rs::before{content:"";position:absolute;left:-24px;top:22px;width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 3px var(--blue)}
.rs small{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:650;color:var(--ink3)}
.rs b{font-size:18px;line-height:1.18;font-weight:680;letter-spacing:-.01em}
.rs p{font-size:14.5px;line-height:1.38;color:var(--ink2)}
.rs.now::before{background:var(--amber);box-shadow:0 0 0 4px #F8E9CE}
.rs.now small{color:var(--amber-ink)}
.rs.goal{background:var(--ink);color:#fff}
.rs.goal small{color:#CFC5BA}
.rs.goal p{color:#E6DED5}
.rs.goal::before{background:var(--coral);box-shadow:0 0 0 4px var(--coral-wash)}
@media (min-width:1000px){
  .road{grid-template-columns:repeat(5,1fr);padding:30px 0 0;gap:12px}
  .road-line{left:0;right:0;top:6px;bottom:auto;width:auto;height:3px}
  .road-line i{transform-origin:left}
  .rs::before{left:18px;top:-30px}
}
.plan-note{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:14.5px;color:var(--ink2)}

/* form */
.write{background:var(--bg2)}
.write-grid{display:grid;gap:clamp(26px,4vw,56px)}
.write-side{display:grid;gap:16px;align-content:start}
.write-side p.direct{font-size:15px;color:var(--ink2)}
.write-side p.direct a{font-weight:600}
.write-side p.mail{font-size:15px;color:var(--ink2)}
.write-side p.mail a{font-weight:650;color:var(--blue-ink);text-underline-offset:3px}
.write-side .logo-mini{width:66px;height:66px;border-radius:18px;object-fit:cover}
.form{background:#fff;border-radius:28px;box-shadow:var(--shadow-l);padding:clamp(20px,3vw,34px);display:grid;gap:16px}
.form fieldset{border:0;margin:0;padding:0;display:grid;gap:9px}
.form legend,.form label.f>span{font-size:14px;font-weight:600;padding:0;margin-bottom:6px;display:block}
.roles{display:flex;flex-wrap:wrap;gap:7px}
.role{position:relative;display:inline-block}
.role input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.role span{display:flex;align-items:center;min-height:42px;padding:0 14px;border-radius:99px;background:var(--bg);box-shadow:inset 0 0 0 1.5px var(--line);font-size:14.5px;font-weight:500;transition:background .2s,color .2s,box-shadow .2s}
.role input:hover+span{box-shadow:inset 0 0 0 1.5px var(--ink3)}
.role input:checked+span{background:var(--ink);color:#fff;box-shadow:none}
.role input:focus-visible+span{outline:2.5px solid var(--blue-ink);outline-offset:2px}
.role-hint{font-size:14px;line-height:1.4;color:var(--ink2);min-height:20px}
.two{display:grid;gap:14px}
@media (min-width:600px){.two{grid-template-columns:1fr 1fr}}
.form input[type=text],.form input[type=url],.form textarea{width:100%;border:0;background:var(--bg);box-shadow:inset 0 0 0 1.5px var(--line);border-radius:14px;padding:13px 14px;font:400 16px/1.4 Onest,system-ui,sans-serif;color:var(--ink);transition:box-shadow .2s}
.form input:focus,.form textarea:focus{outline:0;box-shadow:inset 0 0 0 2px var(--blue-ink);background:#fff}
.form textarea{min-height:112px;resize:vertical}
.form ::placeholder{color:#8C8378}
.drop{position:relative;display:flex;align-items:center;gap:10px;min-height:54px;padding:8px 14px;border-radius:14px;border:1.5px dashed var(--line2);background:var(--bg);font-size:14.5px;color:var(--ink2);transition:border-color .2s,background .2s}
.drop:hover,.drop.over{border-color:var(--ink3);background:#fff}
.drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.drop svg{flex:none;width:20px;height:20px}
.drop .fname{font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.drop button{position:relative;z-index:2;margin-left:auto;border:0;background:none;font:600 13px Onest,sans-serif;color:var(--coral-ink);cursor:pointer;min-height:30px}
.form-foot{display:grid;gap:10px}
.form-foot .btn{width:100%;min-height:56px;font-size:17px}
.form-msg{font-size:14.5px;line-height:1.4;border-radius:12px;padding:0}
.form-msg.err{color:var(--coral-ink)}
.form-msg.ok{background:var(--sage-wash);color:#2E5337;padding:13px 15px}
.hp{position:absolute!important;left:-9999px;opacity:0;height:0;width:0}
.privacy{font-size:13px;line-height:1.45;color:var(--ink3)}
.privacy a{color:var(--ink2);text-underline-offset:2px}
.form[hidden],.sent[hidden]{display:none}
.sent:focus{outline:0}
.sent a{color:inherit;font-weight:600}
.sent{display:grid;gap:8px;background:var(--sage-wash);border-radius:18px;padding:18px 20px;color:#2E5337}
.sent b{font-size:18px}
@media (min-width:940px){.write-grid{grid-template-columns:.8fr 1.2fr}}

/* sources */
.srcs{display:grid;gap:clamp(26px,3vw,40px)}
@media (min-width:860px){.srcs{grid-template-columns:1fr 1fr;gap:40px 56px}}
.srcs h3{font-size:16px;margin-bottom:10px}
.srcs ol{margin:0;padding:0;list-style:none;display:grid;gap:11px}
.srcs li{font-size:14.5px;line-height:1.42;color:var(--ink2)}
.srcs li a{color:var(--ink);font-weight:550;text-underline-offset:3px;text-decoration-color:var(--line2);overflow-wrap:anywhere}
.srcs li a:hover{text-decoration-color:var(--ink)}

/* footer */
.foot{padding-block:36px 44px;background:var(--ink);color:#EDE6DD}
.foot .wrap{display:grid;gap:12px}
.foot p{font-size:14px;line-height:1.5;color:#CFC6BB;max-width:78ch}
.foot p b{color:#fff;font-weight:600}
.foot a{color:#fff;text-underline-offset:3px}
.foot .foot-row{display:flex;flex-wrap:wrap;gap:6px 18px;color:#EDE6DD}

/* phone sticky button */
.mob-cta{position:fixed;left:12px;right:12px;bottom:12px;z-index:40;display:none}
.mob-cta .btn{width:100%;box-shadow:var(--shadow-l)}
@media (max-width:640px){.mob-cta{display:block;transform:translateY(90px);transition:transform .3s}.mob-cta.show{transform:none}}

/* motion initial states, only when JS will animate them */
.ln-mask{padding-bottom:.14em;margin-bottom:-.14em}
html.motion .rv{opacity:0;transform:translateY(20px)}
html.motion [data-split]{visibility:hidden}
html.motion .bars .bt i,html.motion .works .bt i{transform:scaleX(0)}
html.motion .dotgrid i{opacity:0;transform:scale(.2)}
html.motion .scale .pt{transform:scale(0)}
html.motion .gantt i{transform:scaleX(0)}
html.motion .notif{opacity:0;transform:translateY(26px)}
html.motion .dayline .col i{transform:scaleY(0)}
html.motion .home{opacity:0}
html.motion .band-main svg line{opacity:0}
html.motion .call{opacity:0}
html.motion .road-line i{transform:scale(0)}
html.motion .owlet i{transform:scaleX(0)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
@media print{.top,.mob-cta{display:none}html.motion .rv{opacity:1;transform:none}}

.btn.sm{white-space:nowrap}

/* ---- v2: home short path, FAQ, research page ---- */
@media (min-width:900px){.stats.three{grid-template-columns:repeat(3,1fr)}}
.finds.nums .find{gap:8px}
.num{font-size:clamp(36px,4.4vw,52px);line-height:1;font-weight:750;letter-spacing:-.03em;color:var(--blue-ink)}
.finds.nums h3{font-size:17px;line-height:1.35;font-weight:600;letter-spacing:-.005em}
.finds.nums .src{margin-top:2px}
.more{margin-top:26px}
.sub-head{display:grid;gap:10px;margin:clamp(40px,5vw,64px) 0 18px;max-width:780px}
.faq{display:grid;gap:10px;max-width:860px}
.qa{background:#fff;border-radius:var(--r-s);box-shadow:var(--shadow)}
.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;font-weight:650;font-size:17px;line-height:1.35}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--bg2);font-weight:500;font-size:19px;color:var(--ink2);transition:transform .25s}
.qa[open] summary::after{transform:rotate(45deg)}
.qa p{padding:0 22px 20px;color:var(--ink2);font-size:16px;line-height:1.55;max-width:70ch}
.r-intro{padding-block:clamp(48px,7vw,96px) clamp(24px,3vw,40px)}
.r-intro .wrap{display:grid;gap:16px;max-width:900px;margin-inline:0 auto}
@media (min-width:1160px){.r-intro .wrap{margin-inline:auto}}
.crumb{font-size:14px;color:var(--ink3)}
.crumb a{color:var(--ink2)}
.foot .foot-row a + a{margin-left:0}

/* ---- v2: one-pager /brief/, phone first ---- */
.bp{background:var(--bg)}
.bp-top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:10px;padding:10px max(16px,env(safe-area-inset-left)) 10px max(16px,env(safe-area-inset-right));background:rgba(250,245,239,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.bp-logo img{height:28px;width:auto}
.bp-tag{margin-right:auto;font-size:12.5px;color:var(--ink3);white-space:nowrap}
.bp-main{width:min(620px,100%);margin-inline:auto;padding:0 18px 40px}
.bp-cover{display:grid;gap:14px;padding:26px 0 8px}
.bp-cover h1{font-size:clamp(34px,9vw,52px);line-height:1.04}
.bp-lead{font-size:18px;line-height:1.5;color:var(--ink2)}
.bp-img{margin:4px 0 0;position:relative}
.bp-img img{width:100%;border-radius:22px;background:var(--bg2)}
.bp-cover .bp-img img{aspect-ratio:4/4.3;object-fit:cover;object-position:50% 40%}
.bp-img figcaption{position:absolute;left:12px;bottom:10px;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:rgba(43,38,34,.45);padding:4px 9px;border-radius:99px}
.bp-chips,.bp-who{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.bp-chips li{font-size:13px;font-weight:600;padding:6px 11px;border-radius:99px;background:var(--coral-wash);color:var(--coral-ink)}
.bp-toc{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 0;padding:0;list-style:none;counter-reset:t}
.bp-toc li{counter-increment:t}
.bp-toc a{display:inline-flex;gap:6px;align-items:center;min-height:36px;padding:0 13px;border-radius:99px;background:#fff;box-shadow:inset 0 0 0 1px var(--line2);font-size:14px;font-weight:550;text-decoration:none}
.bp-toc a::before{content:"0" counter(t);font-size:11.5px;color:var(--ink3);font-weight:600}
.bp-sec{display:grid;gap:14px;margin-top:20px;padding:24px 20px;background:#fff;border-radius:24px;box-shadow:var(--shadow);scroll-margin-top:64px}
.bp-sec h2{font-size:clamp(25px,6.6vw,34px);line-height:1.1}
.bp-sec > p{font-size:16.5px;line-height:1.55;color:var(--ink2)}
.bp-n{font-size:12.5px;font-weight:650;letter-spacing:.16em;text-transform:uppercase;color:var(--blue-ink)}
.bp-nums{display:grid;gap:0;margin:4px 0 0;padding:0;list-style:none}
.bp-nums li{display:grid;grid-template-columns:86px 1fr;gap:12px;align-items:baseline;padding:14px 0;border-top:1px solid var(--line)}
.bp-nums b{font-size:34px;line-height:1;font-weight:750;letter-spacing:-.03em;color:var(--coral-ink)}
.bp-nums span{font-size:16px;line-height:1.4;font-weight:550}
.bp-nums small,.bp-src{display:block;margin-top:4px;font-size:13px;font-weight:400;line-height:1.45;color:var(--ink3)}
.bp-nums small a,.bp-src a{color:var(--ink2)}
.bp-sec .bp-img img{border-radius:16px}
.bp-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.bp-list li{padding:2px 0 2px 16px;border-left:3px solid var(--blue-soft);font-size:15.5px;line-height:1.45;color:var(--ink2)}
.bp-list b{display:block;color:var(--ink);font-size:16.5px;margin-bottom:2px}
.bp-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bp-tiles div{display:grid;gap:6px;align-content:start;padding:16px 14px;border-radius:16px;background:var(--blue-wash)}
.bp-tiles b{font-size:clamp(24px,7vw,30px);white-space:nowrap;line-height:1;font-weight:750;letter-spacing:-.03em;color:var(--blue-ink)}
.bp-tiles .z{background:var(--coral-wash)}
.bp-tiles .z b{color:var(--coral-ink)}
.bp-tiles span{font-size:13.5px;line-height:1.35;color:var(--ink2)}
.bp-honest{display:grid;gap:6px;padding:16px 16px;border-radius:16px;background:var(--bg2)}
.bp-honest b{font-size:15px}
.bp-honest p{font-size:15px;line-height:1.5;color:var(--ink2)}
.bp-tl{margin:0;padding:0;list-style:none;display:grid}
.bp-tl li{display:grid;grid-template-columns:64px 1fr;gap:12px;padding:11px 0;border-top:1px solid var(--line);font-size:15.5px;line-height:1.4}
.bp-tl time{font-weight:700;color:var(--ink3)}
.bp-tl li.us{border-radius:14px;border:0;margin-top:6px;padding:14px 12px;background:var(--sage-wash)}
.bp-tl li.us time{color:var(--sage-ink)}
.bp-tl li.us span{font-weight:600}
.bp-steps{margin:0;padding:0;list-style:none;display:grid;position:relative}
.bp-steps li{position:relative;padding:0 0 18px 28px;font-size:15px;line-height:1.45;color:var(--ink2)}
.bp-steps li::before{content:"";position:absolute;left:5px;top:6px;width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 2.5px var(--line2)}
.bp-steps li::after{content:"";position:absolute;left:9px;top:20px;bottom:0;width:2px;background:var(--line)}
.bp-steps li:last-child{padding-bottom:0}
.bp-steps li:last-child::after{display:none}
.bp-steps li.on::before{background:var(--blue);box-shadow:0 0 0 4px var(--blue-wash)}
.bp-steps li.goal::before{background:var(--sage);box-shadow:0 0 0 4px var(--sage-wash)}
.bp-steps b{display:block;color:var(--ink);font-size:16px;margin-bottom:2px}
.bp-ask{background:var(--ink);color:#F4EEE7}
.bp-ask .bp-n{color:var(--blue-soft)}
.bp-ask > p{color:#D9D0C6}
.bp-who li{font-size:14px;font-weight:550;padding:7px 12px;border-radius:99px;background:rgba(255,255,255,.1)}
.bp-cta{display:grid;gap:10px;margin-top:6px}
.bp-ask .btn{background:#fff;color:var(--ink)}
.bp-ask .btn.ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35)}
.bp-ask .bp-sign{font-size:13.5px;color:#BFB5AA}
.bp-foot{width:min(620px,100%);margin-inline:auto;padding:6px 18px 110px;display:flex;flex-wrap:wrap;gap:8px 16px;font-size:14px}
.bp-foot a{color:var(--ink2)}
.bp-foot p{flex-basis:100%;font-size:12.5px;color:var(--ink3)}
.bp-fab{transition:opacity .25s,transform .25s;position:fixed;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:30;display:inline-flex;align-items:center;min-height:48px;padding:0 24px;border-radius:99px;background:var(--ink);color:#fff;font-weight:650;font-size:15.5px;text-decoration:none;box-shadow:0 12px 30px rgba(43,38,34,.28)}
@media (min-width:700px){.bp-main{padding-inline:24px}.bp-sec{padding:30px 30px}.bp-cta{grid-template-columns:auto auto;justify-content:start}.bp-fab{display:none}.bp-foot{padding-bottom:40px}}
@media print{.bp-top,.bp-fab{display:none}.bp-sec{box-shadow:none;border:1px solid var(--line);break-inside:avoid}}
.bp-fab.off{opacity:0;pointer-events:none;transform:translate(-50%,20px)}
@media (max-width:899px){.stats.three{grid-template-columns:repeat(3,1fr);gap:8px}.stats.three .stat{padding:12px 10px}.stats.three .stat b{font-size:20px}.stats.three .stat span{font-size:12.5px}}

/* ---- v3: blog for parents ---- */
.bp-top a.bp-tag{text-decoration:none;color:var(--ink2);font-weight:550}
.ar{width:min(720px,100%);margin-inline:auto;padding:22px 20px 40px}
.ar .crumb{margin-bottom:14px}
.ar h1{font-size:clamp(30px,6.4vw,44px);line-height:1.1;letter-spacing:-.025em}
.ar-lead{margin-top:14px;font-size:clamp(18px,2.4vw,20px);line-height:1.5;color:var(--ink2)}
.ar-meta{margin-top:12px;font-size:13.5px;color:var(--ink3)}
.ar-body{margin-top:26px;font-size:17.5px;line-height:1.68;color:var(--ink)}
.ar-body > * + *{margin-top:16px}
.ar-body h2{margin-top:38px;font-size:clamp(23px,4.4vw,28px);line-height:1.18;letter-spacing:-.018em}
.ar-body h2 + *{margin-top:12px}
.ar-body ul,.ar-body ol{padding-left:22px}
.ar-body li + li{margin-top:7px}
.ar-body a{color:var(--blue-ink);text-underline-offset:3px;text-decoration-color:var(--blue-soft)}
.ar-body a:hover{text-decoration-color:var(--blue-ink)}
.ar-body em{color:var(--ink3);font-size:15px;font-style:normal;display:block;padding:12px 14px;border-radius:12px;background:var(--bg2)}
.ar-body h2:last-of-type ~ ol{font-size:14.5px;line-height:1.5;color:var(--ink2)}
.ar-body pre{background:#fff;border-radius:14px;box-shadow:inset 0 0 0 1px var(--line);padding:14px 16px;overflow-x:auto}
.ar-body code{font:14px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap}
.ar-table{overflow-x:auto;border-radius:14px;box-shadow:inset 0 0 0 1px var(--line);background:#fff}
.ar-table table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.4}
.ar-table th,.ar-table td{text-align:left;padding:10px 14px;border-top:1px solid var(--line);vertical-align:top}
.ar-table thead th{border-top:0;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);background:var(--bg2)}
.ar-table td:first-child{font-weight:600;white-space:nowrap}
.ar-cta{margin-top:40px;display:grid;gap:8px;padding:20px;border-radius:20px;background:var(--blue-wash)}
.ar-cta p{font-size:15.5px;line-height:1.5;color:var(--ink2)}
.ar-cta-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.ar-more{margin-top:34px;display:grid;gap:10px}
.ar-rel,.ar-card{display:grid;gap:5px;padding:16px 18px;border-radius:18px;background:#fff;box-shadow:var(--shadow);text-decoration:none;color:var(--ink);transition:box-shadow .2s,transform .2s}
.ar-rel:hover,.ar-card:hover{box-shadow:var(--shadow-l);transform:translateY(-1px)}
.ar-rel b,.ar-card b{font-size:17px;line-height:1.3}
.ar-rel span{display:none}
.ar-card span{font-size:15px;line-height:1.45;color:var(--ink2)}
.ar-rel small,.ar-card small{font-size:12.5px;color:var(--ink3)}
.ar-list{display:grid;gap:12px;margin-top:26px}
@media (min-width:700px){.ar{padding:34px 24px 56px}.ar-list{grid-template-columns:1fr 1fr}.ar-more{grid-template-columns:1fr 1fr}.ar-more .eyebrow{grid-column:1/-1}}
.faq-more{margin-top:28px;max-width:860px;display:grid;gap:10px}
.faq-more ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.faq-more li a{display:block;padding:12px 16px;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 1px var(--line);text-decoration:none;font-weight:550;line-height:1.35}
.faq-more li a:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}
.bp-ask .bp-cta button.btn{border:0;cursor:pointer}
.bp-inv{display:grid;gap:10px;margin-top:4px;padding:16px;border-radius:18px;background:rgba(255,255,255,.07)}
.bp-inv[hidden]{display:none}
.bp-inv-h{font-size:15px;color:#F4EEE7}
.bp-inv label{display:grid;gap:4px}
.bp-inv label span{font-size:12.5px;font-weight:600;color:#D9D0C6}
.bp-inv input{font:500 16.5px/1.3 Onest,system-ui,sans-serif;padding:12px 13px;border-radius:12px;border:1.5px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff;outline:none;min-height:48px;width:100%}
.bp-inv input:focus{border-color:#fff}
.bp-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0}
.bp-inv-msg{font-size:14px;font-weight:600;color:#F2B8A9}
.bp-inv-msg:empty{display:none}
.bp-inv-ok{font-size:15.5px;line-height:1.5;color:#F4EEE7}
.bp-ask .bp-sign a{color:#BFD6EA}
/* intro booking */
.bk{min-height:100vh;display:flex;flex-direction:column}
.bk-top{display:flex;align-items:center;height:64px;padding:0 var(--gut);max-width:1080px;width:100%;margin:0 auto;box-sizing:border-box}
.bk-logo img{display:block;height:30px;width:auto}
.bk-wrap{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:8px var(--gut) 40px;box-sizing:border-box}
.bk-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);background:#fff;border-radius:28px;box-shadow:var(--shadow-l);overflow:hidden}
.bk-info{border-right:1px solid var(--line);display:flex;flex-direction:column;min-width:0}
.bk-head{padding:clamp(20px,3vw,34px);padding-top:clamp(18px,2.4vw,26px);display:flex;flex-direction:column;gap:12px;flex:1}
.bk-head .eyebrow{margin:0}
.bk-head h1{margin:0;font-size:clamp(25px,3vw,32px);line-height:1.12;letter-spacing:-.02em;font-weight:650}
.bk-meta{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px;color:var(--ink2);font-size:14.5px}
.bk-meta li{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border-radius:99px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line)}
.bk-meta svg{width:17px;height:17px;flex:none;fill:none;stroke:var(--blue-ink);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.bk-lead{margin:0;font-size:16px;line-height:1.55;color:var(--ink)}
.bk-img{margin:0;position:relative;overflow:hidden;background:#F2E9DF;aspect-ratio:16/10}
.bk-img img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block}
.bk-img figcaption{position:absolute;left:10px;bottom:8px;font-size:11px;color:#fff;background:rgba(43,38,34,.45);padding:3px 8px;border-radius:99px}
.bk-alt{margin:auto 0 0;font-size:14.5px;color:var(--ink3)}
.bk-alt a{color:var(--blue-ink)}
.bk-pick{padding:clamp(22px,3.2vw,38px);min-width:0;scroll-margin-top:12px}
.bk-pick h2,.bk-h3{margin:0 0 12px;font-size:17px;font-weight:650;letter-spacing:-.005em}
.bk-h3{margin-top:24px;font-size:15.5px;color:var(--ink2);font-weight:600}
.bk-calh{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
.bk-calh h2{margin:0!important}
#bkMonth{font-size:14.5px;color:var(--ink2);font-weight:500}
.bk-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.bk-wk{margin-bottom:6px}
.bk-wk span{text-align:center;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--ink3)}
.bk-day{position:relative;aspect-ratio:1/.86;min-height:42px;border:0;border-radius:14px;background:var(--blue-wash);color:var(--blue-ink);font:inherit;cursor:pointer;display:grid;place-items:center;padding:0;transition:background .15s,box-shadow .15s,transform .1s}
.bk-day b{font-size:17px;font-weight:650;line-height:1}
.bk-day i{position:absolute;top:5px;left:0;right:0;text-align:center;font-style:normal;font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;opacity:.75}
.bk-day:hover{box-shadow:inset 0 0 0 2px var(--blue-ink)}
.bk-day[aria-pressed=true]{background:var(--ink);color:#fff;box-shadow:none}
.bk-day.off{background:none;color:#B9AFA4;cursor:default}
.bk-day.off b{font-weight:450}
.bk-day.off:hover{box-shadow:none}
.bk-day i+b{margin-top:11px}
.bk-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}
.bk-slot{min-height:48px;border:0;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 1.5px var(--blue-soft);color:var(--blue-ink);font:600 15.5px/1 Onest,system-ui,sans-serif;cursor:pointer;transition:box-shadow .15s,background .15s,transform .1s}
.bk-slot:hover{background:var(--blue-wash);box-shadow:inset 0 0 0 2px var(--blue-ink)}
.bk-day:focus-visible,.bk-slot:focus-visible,.bk-change:focus-visible{outline:2px solid var(--blue-ink);outline-offset:2px}
.bk-sk{aspect-ratio:1/.86;min-height:42px;border-radius:14px;background:linear-gradient(90deg,var(--bg) 0,var(--bg2) 50%,var(--bg) 100%);background-size:200% 100%;animation:bksk 1.2s linear infinite}
.bk-sk.s{aspect-ratio:auto;height:48px;min-height:0;border-radius:14px}
@keyframes bksk{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.bk-sk{animation:none}}
.bk-note{margin:14px 0 0;font-size:15px;color:var(--ink2);min-height:1px}
.bk-note a{color:var(--blue-ink)}
.bk-retry{border:0;background:none;padding:0;font:inherit;color:var(--blue-ink);text-decoration:underline;cursor:pointer}
.bk-form{display:grid;gap:14px}
.bk-form[hidden],.bk-done[hidden],#bkStepTime[hidden]{display:none}
.bk-chosen{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:16px;background:var(--blue-wash)}
.bk-chosen div{display:grid;gap:2px}
.bk-chosen-l{font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--blue-ink)}
.bk-chosen b{font-size:16px;font-weight:650;line-height:1.35}
.bk-chosen-tz{font-size:13.5px;color:var(--ink2)}
.bk-change{border:0;background:#fff;border-radius:99px;padding:8px 14px;font:600 14px/1 Onest,system-ui,sans-serif;color:var(--ink);cursor:pointer;box-shadow:inset 0 0 0 1.5px var(--line2)}
.bk-change:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}
.bk-form label.f>span{font-size:14px;font-weight:600;margin-bottom:6px;display:block}
.bk-form label.f i{font-style:normal;font-weight:400;color:var(--ink3)}
.bk-form input[type=text],.bk-form input[type=email],.bk-form textarea{width:100%;box-sizing:border-box;border:0;background:var(--bg);box-shadow:inset 0 0 0 1.5px var(--line);border-radius:14px;padding:13px 14px;font:400 16px/1.4 Onest,system-ui,sans-serif;color:var(--ink);transition:box-shadow .2s,background .2s}
.bk-form input:focus,.bk-form textarea:focus{outline:0;box-shadow:inset 0 0 0 2px var(--blue-ink);background:#fff}
.bk-form textarea{resize:vertical;min-height:84px}
.bk-form ::placeholder{color:#8C8378}
.bk-form .btn{width:100%;min-height:54px;font-size:16.5px}
.bk-form .btn:disabled{opacity:.7;cursor:progress}
.bk-msg{margin:0;font-size:14.5px;line-height:1.4}
.bk-msg:empty{display:none}
.bk-msg.err{color:var(--coral-ink)}
.bk-small{margin:0;font-size:13px;color:var(--ink3)}
.bk-small a{color:inherit}
.bk-done{display:grid;gap:10px;justify-items:start;outline:0}
.bk-done h2{margin:4px 0 0;font-size:24px}
.bk-done p{margin:0;font-size:15.5px;color:var(--ink2);line-height:1.5}
.bk-done-t{color:var(--ink)!important;font-weight:600;font-size:16.5px!important}
.bk-done a:not(.btn){color:var(--blue-ink)}
.bk-done .btn{margin-top:8px}
.bk-tick{width:48px;height:48px;border-radius:50%;background:var(--sage-wash);display:grid;place-items:center}
.bk-tick svg{width:26px;height:26px;fill:none;stroke:var(--sage-ink);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.bk-foot{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;padding:0 var(--gut) 28px;font-size:14px}
.bk-foot a{color:var(--ink3);text-decoration:none}
.bk-foot a:hover{color:var(--ink)}
@media (max-width:760px){
  .bk-top{height:56px}
  .bk-wrap{padding:0 12px 28px}
  .bk-card{grid-template-columns:1fr;border-radius:24px}
  .bk-info{border-right:0;border-bottom:1px solid var(--line)}
  .bk-img{aspect-ratio:16/9}
  .bk-img img{object-position:62% 50%}
  .bk-head{padding:16px 18px 18px;gap:10px}
  .bk-head .eyebrow{display:none}
  .bk-head h1{font-size:24px}
  .bk-lead{font-size:15px}
  .bk-alt{font-size:13.5px}
  .bk-pick{padding:18px 16px 22px}
  .bk-cal{gap:5px}
  .bk-day{min-height:40px;border-radius:12px}
  .bk-day b{font-size:16px}
  .bk-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .bk-slot{min-height:46px;font-size:15px}
  .bk-h3{scroll-margin-top:12px}
  .bk-chosen{padding:12px 14px}
  .bk-form .btn{position:sticky;bottom:calc(10px + env(safe-area-inset-bottom));z-index:2;box-shadow:0 10px 26px rgba(43,38,34,.25)}
  .bk-foot{padding-bottom:calc(24px + env(safe-area-inset-bottom))}
}
.bk-hint{display:block;margin-top:6px;font-style:normal;font-size:13px;color:var(--ink3)}
.bk-add{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px}
.bk-add span{font-size:14px;color:var(--ink3);margin-right:2px}
.bk-add a{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:99px;background:#fff;box-shadow:inset 0 0 0 1.5px var(--line2);color:var(--ink);font-size:14px;font-weight:600;text-decoration:none}
.bk-add a:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}
