@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(/site/media/dd05e326cf8eac3b.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(/site/media/b0e7558f4710a1e2.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(/site/media/62553d159189834a.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(/site/media/aac638f7503cebb0.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:800;font-display:swap;src:url(/site/media/e4a6db93190ce6c0.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:900;font-display:swap;src:url(/site/media/08a195a0cb54f0aa.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/site/media/4765dee1c0be507c.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:700;font-display:swap;src:url(/site/media/ed8b8f71b22bf3b6.woff2) format('woff2')}


/* Layout concept: a white "thinking workshop". One quiet reading column per section, one character and one learning object beside it, and every animation answering something the visitor did. */
:root{
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:500 17px/1.6 var(--body);overflow-x:clip}
img{max-width:100%;display:block}
button{font:inherit;color:inherit;cursor:pointer}
a{color:var(--action)}
h1,h2,h3,h4{font-family:var(--display);font-weight:600;letter-spacing:-.01em;line-height:1.08;margin:0;text-wrap:balance;color:var(--ink)}
p{margin:0}
:focus-visible{outline:3px solid var(--action);outline-offset:3px;border-radius:8px}
.wrap{max-width:1180px;margin:0 auto;padding-left:var(--gut);padding-right:var(--gutr)}
.narrow{max-width:760px}
.eyebrow{font:800 13px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--action)}
.lede{font-size:clamp(18px,1.6vw,21px);color:var(--ink2);max-width:58ch}
.muted{color:var(--muted)}
.small{font-size:14px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;background:var(--ink);color:#fff;padding:10px 16px;border-radius:10px;z-index:100;text-decoration:none}
.skip:focus{top:12px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;border:0;font:700 17px/1 var(--body);text-decoration:none;transition:transform .15s,box-shadow .15s,background .15s;white-space:nowrap}
.btn:active{transform:translateY(2px)}
.btn-main{background:var(--action);color:#fff;box-shadow:0 5px 0 var(--action-ink)}
.btn-main:hover{background:#6B4BB6}
.btn-main:active{box-shadow:0 2px 0 var(--action-ink)}
.btn-line{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 2px var(--line2)}
.btn-line:hover{box-shadow:inset 0 0 0 2px var(--ink)}
.btn-sm{min-height:42px;padding:0 18px;font-size:15px}
.btn-sm.btn-main{box-shadow:0 4px 0 var(--action-ink)}
.link{background:none;border:0;padding:0;color:var(--action);font-weight:800;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px}
.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font:800 12.5px/1.2 var(--body);letter-spacing:.02em;background:var(--action-soft);color:var(--action-ink)}
.chip.free{background:var(--ok-soft);color:var(--ok)}
.chip.s1{background:var(--s1);color:var(--s1i)}.chip.s2{background:var(--s2);color:var(--s2i)}.chip.s3{background:var(--s3);color:var(--s3i)}.chip.s4{background:var(--s4);color:var(--s4i)}

/* header */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:#fff}
.hdr{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid transparent;transition:border-color .2s}
.hdr.scrolled{border-bottom-color:var(--line)}
.hdr .wrap{display:flex;align-items:center;gap:28px;height:72px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font:700 27px/1 var(--display);letter-spacing:-.02em}
.logo .lm{width:36px;height:36px;object-fit:contain}
.nav{display:flex;gap:4px;margin-right:auto}
.nav a{padding:9px 14px;border-radius:999px;color:var(--ink2);text-decoration:none;font-weight:700;font-size:16px}
.nav a:hover{background:#F4F6F8;color:var(--ink)}
.nav a[aria-current="page"]{color:var(--ink);background:var(--action-soft)}
.hright{display:flex;align-items:center;gap:10px}
.signin{color:var(--ink);font-weight:700;text-decoration:none;padding:9px 12px;border-radius:999px}
.signin:hover{background:#F4F6F8}
.cartbtn{position:relative;width:44px;height:44px;border-radius:999px;border:0;background:#F4F6F8;display:grid;place-items:center}
.cartbtn:hover{background:#EAEEF2}
.cartbtn svg{width:22px;height:22px}
.cartn{position:absolute;top:-3px;right:-3px;min-width:21px;height:21px;padding:0 6px;border-radius:999px;background:var(--coral);color:#fff;font:800 12px/21px var(--body);text-align:center}
.cartn[data-n="0"]{display:none}
.menubtn{display:none;width:44px;height:44px;border-radius:999px;border:0;background:#F4F6F8}
.mnav{display:none}
@media (max-width:960px){
  .nav,.signin{display:none}
  .menubtn{display:grid;place-items:center}
  .hdr .wrap{gap:12px}
  .hright{margin-left:auto}
  .mnav{display:block;position:fixed;inset:calc(72px + env(safe-area-inset-top,0px)) 0 auto 0;background:#fff;border-bottom:1px solid var(--line);padding:12px var(--gutr) 22px var(--gut);z-index:49;box-shadow:var(--shadow-lg)}
  .mnav[hidden]{display:none!important}
  .mnav a{display:block;padding:14px 4px;font:600 22px/1.1 var(--display);color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
  .mnav .btn{margin-top:18px;width:100%}
}
@media (max-width:420px){.hright .btn-main{padding:0 14px}.logo{font-size:24px}}

/* views */
main{min-height:60vh}
.view{display:none}
.view.on{display:block}
section{padding-block:clamp(64px,9vw,120px)}
.sec-head{display:grid;gap:14px;margin-bottom:clamp(28px,4vw,48px)}
.sec-head h2{font-size:clamp(32px,4.2vw,52px)}
.band{background:var(--cream)}

/* character image */
.ch{object-fit:contain;object-position:center bottom;user-select:none;-webkit-user-drag:none;transform-origin:50% 100%}
.ground{position:relative}
.ground::after{content:"";position:absolute;left:18%;right:18%;bottom:-6px;height:14px;border-radius:50%;background:radial-gradient(closest-side,rgba(20,56,79,.16),rgba(20,56,79,0));z-index:-1}

/* HERO */
.hero{padding-block:clamp(36px,6vw,80px) clamp(48px,7vw,96px)}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,4vw,64px);align-items:center}
.hero h1{font-size:clamp(40px,5.3vw,70px);line-height:1.02;letter-spacing:-.025em;max-width:13ch}
.hero h1 .w{display:inline-block}
.hero h1 em{font-style:normal;color:var(--action)}
.hero .lede{margin-top:22px}
.hero .ctas{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:32px}
.hero .terms{margin-top:16px;font-size:15px;color:var(--muted);display:flex;gap:8px;align-items:center}
.hero .terms svg{flex:none;color:var(--ok)}
.stage{position:relative;min-height:440px;display:grid;place-items:end center}
.stage .blob{position:absolute;inset:6% 2% 10% 8%;border-radius:46% 54% 50% 50%/52% 46% 54% 48%;background:linear-gradient(160deg,#F1ECFB,#E6F4F4 70%)}
.stage .hostwrap{position:relative;width:min(300px,62%);margin-right:26%;z-index:2}
.stage .host{width:100%;height:auto;aspect-ratio:auto;max-height:360px;cursor:pointer}
.qcard{position:absolute;right:0;top:10%;width:min(290px,52%);background:#fff;border-radius:var(--r);box-shadow:var(--shadow-lg);padding:18px 18px 16px;z-index:3;transform-origin:50% 100%}
.qcard .who{display:flex;align-items:center;gap:8px;font:800 12px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.qcard .who i{width:22px;height:22px;border-radius:7px;background:var(--ink);display:grid;place-items:center;color:#fff;font:700 11px/1 var(--display);font-style:normal}
.qcard .say{font:600 21px/1.25 var(--display);margin:12px 0 14px}
.qcard .acts{display:flex;gap:8px;flex-wrap:wrap}
.qcard .acts button{flex:1;min-height:44px;border-radius:12px;border:0;font:800 15px/1 var(--body)}
.qcard .a1{background:#F4F6F8;color:var(--ink)}
.qcard .a2{background:var(--action);color:#fff}
.qcard .res{display:none;font-size:15.5px;line-height:1.5;color:var(--ink2)}
.qcard .res b{color:var(--ok)}
.qcard.done .acts{display:none}.qcard.done .res{display:block}
.bubble{position:absolute;left:4%;top:4%;background:var(--ink);color:#fff;padding:11px 16px;border-radius:18px 18px 18px 6px;font:600 16px/1.25 var(--display);max-width:200px;z-index:4}
@media (max-width:860px){
  .hero .wrap{grid-template-columns:1fr}
  .stage{min-height:360px;order:2}
  .stage .hostwrap{width:min(230px,52%);margin-right:40%}
  .qcard{width:min(260px,56%);top:4%}
  .bubble{display:none}
}

/* AGE PICKER */
.ages{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.age{position:relative;border:0;background:#fff;border-radius:var(--r);box-shadow:inset 0 0 0 2px var(--line);padding:18px 18px 20px;text-align:left;display:grid;gap:6px;transition:box-shadow .2s,transform .2s;overflow:hidden}
.age:hover{box-shadow:inset 0 0 0 2px var(--line2);transform:translateY(-2px)}
.age .pic{height:150px;border-radius:14px;display:grid;place-items:end center;margin-bottom:10px;overflow:hidden}
.age .pic img{height:132px;width:auto}
.age[data-s="1"] .pic{background:var(--s1)}.age[data-s="2"] .pic{background:var(--s2)}.age[data-s="3"] .pic{background:var(--s3)}.age[data-s="4"] .pic{background:var(--s4)}
.age .yrs{font:600 24px/1 var(--display)}
.age .nm{font-weight:800;color:var(--muted);font-size:15px}
.age .tag{font-size:15px;color:var(--ink2);line-height:1.4}
.age[aria-pressed="true"]{box-shadow:inset 0 0 0 3px var(--action),var(--shadow)}
.age[aria-pressed="true"]::after{content:"";position:absolute;top:14px;right:14px;width:26px;height:26px;border-radius:50%;background:var(--action) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/16px no-repeat}
@media (max-width:860px){.ages{grid-template-columns:1fr 1fr}.age .pic{height:116px}.age .pic img{height:104px}}
@media (max-width:420px){.ages{gap:10px}.age{padding:12px}.age .yrs{font-size:20px}.age .tag{display:none}}

/* ACTIVITY */
.act{display:grid;grid-template-columns:300px 1fr;gap:0;background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-lg);overflow:hidden;min-height:460px}
.act .side{position:relative;padding:28px 24px 0;display:flex;flex-direction:column;justify-content:space-between;gap:16px}
.act[data-s="1"] .side{background:var(--s1)}.act[data-s="2"] .side{background:var(--s2)}.act[data-s="3"] .side{background:var(--s3)}.act[data-s="4"] .side{background:var(--s4)}
.act .say{background:#fff;border-radius:18px 18px 18px 6px;padding:14px 16px;font:600 18px/1.3 var(--display);box-shadow:var(--shadow);min-height:72px}
.act .guide{height:250px;width:100%;}
.act .main{padding:clamp(22px,3.2vw,40px);display:flex;flex-direction:column;gap:20px;min-width:0}
.act .top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.dots{display:flex;gap:6px}
.dots i{width:28px;height:8px;border-radius:99px;background:var(--line)}
.dots i.on{background:var(--action)}
.act h3{font-size:clamp(24px,2.6vw,32px)}
.act .q{font-size:19px;color:var(--ink2);max-width:60ch}
.opts{display:grid;gap:12px}
.opt{display:flex;align-items:center;gap:14px;text-align:left;min-height:62px;padding:14px 18px;border-radius:16px;border:0;background:#F5F7F9;box-shadow:inset 0 0 0 2px transparent;font:700 17.5px/1.35 var(--body);transition:background .15s,box-shadow .15s}
.opt:hover:not(:disabled){background:#EEF1F5;box-shadow:inset 0 0 0 2px var(--line2)}
.opt .k{flex:none;width:34px;height:34px;border-radius:10px;background:#fff;display:grid;place-items:center;font:700 16px/1 var(--display);color:var(--muted)}
.opt.right{background:var(--ok-soft);box-shadow:inset 0 0 0 2px var(--ok)}
.opt.right .k{background:var(--ok);color:#fff}
.opt.wrong{background:var(--no-soft);box-shadow:inset 0 0 0 2px var(--no)}
.opt:disabled{cursor:default}
.opt.dim{opacity:.45}
.fb{border-radius:16px;padding:14px 18px;font-size:16.5px;display:none}
.fb.show{display:block}
.fb.ok{background:var(--ok-soft);color:#14583A}
.fb.hint{background:#FFF4E2;color:#7A4A0B}
.act .foot{margin-top:auto;display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.seq{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.slot{min-height:84px;border-radius:14px;border:2px dashed var(--line2);display:grid;place-items:center;padding:8px;text-align:center;font:700 15px/1.3 var(--body);color:var(--muted);position:relative}
.slot b{position:absolute;top:6px;left:9px;font:700 13px/1 var(--display);color:var(--muted)}
.slot.fill{border-style:solid;border-color:var(--ok);background:var(--ok-soft);color:var(--ink)}
.slot.run{background:var(--action);border-color:var(--action);color:#fff}
.slot.run b{color:#fff}
.pat{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.sh{width:54px;height:54px;display:grid;place-items:center}
.sh svg{width:100%;height:100%}
.sh.q{border-radius:14px;border:2px dashed var(--line2);font:700 26px/1 var(--display);color:var(--muted)}
.claim{background:var(--cream);border-radius:16px;padding:16px 18px;font:600 19px/1.35 var(--display);display:flex;gap:12px;align-items:flex-start}
.claim i{flex:none;font-style:normal;font:800 11px/1 var(--body);letter-spacing:.1em;background:var(--ink);color:#fff;border-radius:6px;padding:5px 7px;margin-top:3px}
.feat{display:flex;flex-wrap:wrap;gap:8px}
.done-art{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.done-art .ch{height:140px;width:auto}
.done-art h3{font-size:30px}
@media (max-width:860px){
  .act{grid-template-columns:1fr}
  .act .side{flex-direction:row;align-items:flex-end;padding:18px 16px 0}
  .act .say{flex:1;font-size:16px;min-height:0;margin-bottom:16px}
  .act .guide{height:150px;width:auto;flex:none;max-width:42%}
  .seq{grid-template-columns:1fr 1fr}
}

/* OUTCOMES (pinned scroll story) */
.story{position:relative}
.story .pinbox{height:100vh;height:100svh;display:flex;align-items:center;overflow:hidden}
.story .frame{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,80px);align-items:center;width:100%}
.story .copy{position:relative;min-height:300px}
.story .panel{position:absolute;inset:0;display:grid;align-content:center;gap:16px}
.story .panel h3{font-size:clamp(38px,5vw,64px);letter-spacing:-.02em}
.story .panel p{font-size:19px;color:var(--ink2);max-width:46ch}
.story .num{font:700 15px/1 var(--display);color:var(--action)}
.story .vis{position:relative;aspect-ratio:1/1;max-height:76vh;width:100%;border-radius:var(--r-lg);background:var(--cream);overflow:hidden}
.story .vp{position:absolute;inset:0;display:grid;place-items:center;padding:8%}
.story .prog{position:absolute;left:0;right:0;bottom:28px;display:flex;justify-content:center;gap:8px}
.story .prog i{width:40px;height:6px;border-radius:9px;background:var(--line);overflow:hidden;position:relative}
.story .prog i b{position:absolute;inset:0;background:var(--action);transform:scaleX(0);transform-origin:left}
.pcard{background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:16px 18px;width:100%;max-width:400px;font-size:16px}
.pcard .lab{font:800 11.5px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.pcard .txt{font:600 20px/1.3 var(--display)}
.vstack{display:grid;gap:14px;width:100%;max-width:360px;position:relative;margin-right:18%}
.vstack .ch{position:absolute;height:180px;width:auto;left:calc(100% + 10px);bottom:-14%}
.arrow{justify-self:center;color:var(--action)}
.stamp{display:inline-flex;align-items:center;gap:8px;background:var(--ok-soft);color:var(--ok);font:800 14px/1 var(--body);padding:8px 12px;border-radius:10px;margin-top:10px}
.static-story{display:none}
@media (max-width:860px),(prefers-reduced-motion:reduce){
  .story .pinbox{display:none}
  .static-story{display:grid;gap:56px}
  .static-story .row{display:grid;gap:18px}
  .static-story h3{font-size:34px}
  .static-story .vis{aspect-ratio:auto;padding:28px 18px 44px;border-radius:var(--r);background:var(--cream);display:grid;place-items:center;position:relative;overflow:hidden}
  .static-story .vstack{margin-right:0;padding-right:84px}.static-story .vstack .ch{height:120px;bottom:-40px;left:auto;right:-8px}
}

/* PARENTS REPORT */
.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
@media (max-width:860px){.two{grid-template-columns:1fr}}
.report{background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:26px;position:relative}
.report .ex{position:absolute;top:-12px;left:26px;background:var(--gold);color:#3A2405;font:800 12px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;padding:7px 10px;border-radius:8px}
.report .rh{display:flex;align-items:center;gap:14px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.report .av{width:52px;height:52px;border-radius:16px;background:var(--s2);display:grid;place-items:end center;overflow:hidden}
.report .av img{height:48px;width:auto}
.report .rh h4{font-size:21px}
.rrow{padding:14px 0;border-bottom:1px solid var(--line);display:grid;gap:6px}
.rrow:last-child{border-bottom:0;padding-bottom:0}
.rrow .lab{font:800 12px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.rrow .wk{background:var(--cream);border-radius:12px;padding:12px 14px;font:600 17px/1.35 var(--display)}
.ticks{display:grid;gap:12px;margin-top:26px;padding:0;list-style:none}
.ticks li{display:flex;gap:12px;align-items:flex-start}
.ticks svg{flex:none;margin-top:3px;color:var(--ok)}
.ctrls{display:grid;gap:10px;margin-top:4px}
.tog{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:700;font-size:16px}
.sw{width:50px;height:30px;border-radius:99px;border:0;background:var(--line2);position:relative;transition:background .2s;flex:none}
.sw::after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .2s}
.sw[aria-checked="true"]{background:var(--ok)}
.sw[aria-checked="true"]::after{transform:translateX(20px)}

/* PRICE */
.prices{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.price{background:#fff;border-radius:var(--r);box-shadow:inset 0 0 0 2px var(--line);padding:26px;display:flex;flex-direction:column;gap:12px}
.price.pop{box-shadow:inset 0 0 0 3px var(--action)}
.price h3{font-size:24px}
.price .amt{font:700 44px/1 var(--display);letter-spacing:-.02em}
.price .amt small{font:700 16px/1 var(--body);color:var(--muted);letter-spacing:0}
.price ul{margin:4px 0 0;padding-left:20px;color:var(--ink2);display:grid;gap:6px;font-size:16px}
.price .btn{margin-top:auto}
@media (max-width:860px){.prices{grid-template-columns:1fr}}
.calc{margin-top:28px;background:var(--cream);border-radius:var(--r);padding:24px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}
.calc .ctl{display:flex;flex-wrap:wrap;gap:22px 34px}
.stepper{display:grid;gap:8px}
.stepper label{font-weight:800;font-size:14px;color:var(--muted)}
.stepper .row{display:flex;align-items:center;gap:6px}
.stepper button{width:42px;height:42px;border-radius:12px;border:0;background:#fff;box-shadow:inset 0 0 0 2px var(--line2);font:700 20px/1 var(--display)}
.stepper output{min-width:38px;text-align:center;font:700 22px/1 var(--display);font-variant-numeric:tabular-nums}
.total{text-align:right}
.total .t{font:700 40px/1 var(--display);font-variant-numeric:tabular-nums}
.total .s{font-size:14px;color:var(--muted);max-width:30ch;margin-left:auto}
@media (max-width:700px){.calc{grid-template-columns:1fr}.total{text-align:left}.total .s{margin-left:0}}

/* FAQ */
.faq{display:grid;gap:10px}
.faq details{border-radius:16px;box-shadow:inset 0 0 0 2px var(--line);background:#fff}
.faq summary{list-style:none;cursor:pointer;padding:18px 54px 18px 20px;font:600 19px/1.3 var(--display);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:20px;top:50%;width:12px;height:12px;border-right:3px solid var(--ink);border-bottom:3px solid var(--ink);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:translateY(-30%) rotate(225deg)}
.faq details p{padding:0 20px 18px;color:var(--ink2)}

/* FAMILY strip */
.family{display:flex;justify-content:center;align-items:flex-end;gap:clamp(0px,1vw,10px);flex-wrap:nowrap;overflow:hidden;padding-top:20px}
.family button{border:0;background:none;padding:0;flex:0 1 auto;min-width:0}
.family .ch{height:clamp(70px,11vw,150px);width:auto}
.family button:nth-child(even) .ch{height:clamp(60px,9vw,124px)}
@media (max-width:700px){.family{flex-wrap:wrap;gap:4px 0}.family .ch{height:76px}.family button:nth-child(even) .ch{height:64px}}

.cta-band{background:var(--ink);color:#fff;border-radius:var(--r-lg);padding:clamp(32px,5vw,64px);display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;overflow:hidden;position:relative}
.cta-band h2{color:#fff;font-size:clamp(30px,4vw,48px)}
.cta-band p{color:#C9D6DE;margin-top:10px}
.cta-band .ch{height:200px;width:auto;margin-bottom:calc(-1 * clamp(32px,5vw,64px))}
@media (max-width:760px){.cta-band{grid-template-columns:1fr}.cta-band .ch{height:150px;justify-self:end}}

/* SUBPAGE HEAD */
.phead{padding-block:clamp(40px,6vw,84px) clamp(28px,4vw,48px)}
.phead h1{font-size:clamp(38px,5.2vw,64px);letter-spacing:-.02em;max-width:18ch}
.phead .lede{margin-top:18px}
.phead.with-art .wrap{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end}
.phead.with-art .ch{height:230px;width:auto}
@media (max-width:760px){.phead.with-art .wrap{grid-template-columns:1fr}.phead.with-art .ch{height:150px}}

/* COURSES */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}
.tab{border:0;border-radius:999px;padding:12px 18px;background:#F4F6F8;font-weight:800;font-size:15.5px;color:var(--ink2)}
.tab[aria-selected="true"]{background:var(--ink);color:#fff}
.stage-intro{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center;border-radius:var(--r);padding:20px 24px;margin-bottom:34px}
.stage-intro .ch{height:120px;width:auto}
.stage-intro h2{font-size:30px}
.stage-intro[data-s="1"]{background:var(--s1)}.stage-intro[data-s="2"]{background:var(--s2)}.stage-intro[data-s="3"]{background:var(--s3)}.stage-intro[data-s="4"]{background:var(--s4)}
.world{margin-bottom:44px}
.world-h{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.world-h .ch{height:58px;width:auto}
.world-h h3{font-size:24px}
.world-h .small{display:block;font-weight:800;color:var(--muted)}
.clist{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.course{border:0;text-align:left;background:#fff;border-radius:16px;box-shadow:inset 0 0 0 2px var(--line);padding:16px;display:flex;flex-direction:column;gap:10px;min-height:150px;transition:box-shadow .15s,transform .15s}
.course:hover{box-shadow:inset 0 0 0 2px var(--ink2);transform:translateY(-2px)}
.course .n{font:700 13px/1 var(--display);color:var(--muted)}
.course .t{font:600 18px/1.2 var(--display)}
.course .chip{margin-top:auto;align-self:flex-start}
@media (max-width:1080px){.clist{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.clist{grid-template-columns:1fr 1fr}.stage-intro{grid-template-columns:1fr}.stage-intro .ch{height:90px}}

/* DRAWER */
.scrim{position:fixed;inset:0;background:rgba(14,32,45,.42);z-index:80;opacity:0;pointer-events:none;transition:opacity .25s}
.scrim.on{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(520px,100%);background:#fff;z-index:90;transform:translateX(105%);transition:transform .38s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-right:env(safe-area-inset-right,0px)}
.drawer.on{transform:none}
.drawer .dh{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}
.drawer .dh h2{font-size:22px}
.xbtn{width:44px;height:44px;border-radius:999px;border:0;background:#F4F6F8;display:grid;place-items:center;flex:none}
.drawer .db{padding:22px 22px 30px;overflow:auto;flex:1;display:grid;gap:18px;align-content:start}
.drawer .df{padding:16px 22px;border-top:1px solid var(--line);display:grid;gap:10px}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fact{background:#F6F8FA;border-radius:14px;padding:12px 14px}
.fact b{display:block;font:800 11.5px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.fact span{font-weight:700}

/* WORLD / CAST */
.castf{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.cast{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.cc{border:0;background:#fff;border-radius:var(--r);box-shadow:inset 0 0 0 2px var(--line);padding:14px 10px 14px;display:grid;justify-items:center;gap:8px;text-align:center;transition:box-shadow .15s,transform .15s}
.cc:hover{box-shadow:inset 0 0 0 2px var(--ink2);transform:translateY(-3px)}
.cc .pic{height:150px;width:100%;display:grid;place-items:end center}
.cc .pic img{max-height:150px;max-width:100%;width:auto}
.cc .nm{font:600 20px/1 var(--display)}
.cc .rl{font-size:13.5px;color:var(--muted);font-weight:700;line-height:1.3}
@media (max-width:1080px){.cast{grid-template-columns:repeat(4,1fr)}}
@media (max-width:640px){.cast{grid-template-columns:repeat(2,1fr)}.cc .pic{height:120px}.cc .pic img{max-height:120px}}
.prof-art{height:300px;border-radius:var(--r);display:grid;place-items:end center;background:var(--cream);overflow:hidden;padding-top:16px}
.prof-art img{height:280px;width:auto;max-width:92%}
.poses{display:flex;gap:8px;flex-wrap:wrap}
.pose{border:0;border-radius:12px;background:#F4F6F8;padding:5px;width:58px;height:58px;display:grid;place-items:end center}
.pose img{max-height:48px;width:auto}
.pose[aria-pressed="true"]{box-shadow:inset 0 0 0 2px var(--action);background:var(--action-soft)}
.quote{font:600 22px/1.3 var(--display)}

/* SHOP */
.kits{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.kit{background:#fff;border-radius:var(--r);box-shadow:inset 0 0 0 2px var(--line);overflow:hidden;display:flex;flex-direction:column}
.kit .art{height:220px;display:grid;place-items:end center;position:relative;overflow:hidden}
.kit .art img{height:190px;width:auto;position:relative;z-index:1}
.kit .art .props{position:absolute;inset:auto 0 18px 0;display:flex;justify-content:center;gap:8px;z-index:2}
.kit .bd{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.kit h3{font-size:23px}
.kit .meta{display:flex;flex-wrap:wrap;gap:6px}
.kit .row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:10px}
.kit .pr{font:700 26px/1 var(--display)}
.goods{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.good{background:#fff;border-radius:var(--r);box-shadow:inset 0 0 0 2px var(--line);padding:16px;display:flex;flex-direction:column;gap:8px}
.good .gart{height:120px;border-radius:14px;background:#F6F8FA;display:grid;place-items:center}
.good h4{font-size:19px}
.good .pr{font:700 20px/1 var(--display)}
.good .row{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:8px;gap:8px}
@media (max-width:1000px){.kits{grid-template-columns:1fr 1fr}.goods{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.kits{grid-template-columns:1fr}}
@media (max-width:420px){.goods{grid-template-columns:1fr}}
.prom{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:30px}
.prom div{background:var(--cream);border-radius:16px;padding:16px;font-size:15.5px}
.prom b{display:block;font:600 17px/1.2 var(--display);margin-bottom:4px}
@media (max-width:860px){.prom{grid-template-columns:1fr 1fr}}
.field{display:grid;gap:6px}
.field label{font-weight:800;font-size:14.5px}
.field input,.field select,.field textarea{font:600 16px/1.3 var(--body);color:var(--ink);padding:13px 14px;border-radius:12px;border:2px solid var(--line2);background:#fff;width:100%;min-width:0}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--action)}
.field .err{color:var(--no);font-size:14px;font-weight:700;display:none}
.field.bad input,.field.bad select{border-color:var(--no)}
.field.bad .err{display:block}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:460px){.grid2{grid-template-columns:1fr}}
.line{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.line .th{width:56px;height:56px;border-radius:12px;background:#F6F8FA;display:grid;place-items:end center;overflow:hidden}
.line .th img{max-height:50px;width:auto}
.line .nm{font:600 17px/1.2 var(--display)}
.line .sub{font-size:13.5px;color:var(--muted)}
.qty{display:flex;align-items:center;gap:4px;margin-top:6px}
.qty button{width:30px;height:30px;border-radius:8px;border:0;background:#F1F4F7;font-weight:800}
.sumrow{display:flex;justify-content:space-between;font-weight:700}
.sumrow.big{font:700 22px/1.2 var(--display)}
.empty{display:grid;justify-items:center;text-align:center;gap:10px;padding:30px 0}
.empty .ch{height:150px;width:auto}
.flyer{position:fixed;z-index:120;pointer-events:none;width:64px;height:64px;object-fit:contain}
.toast{position:fixed;left:50%;bottom:calc(22px + env(safe-area-inset-bottom,0px));transform:translate(-50%,40px);opacity:0;background:var(--ink);color:#fff;padding:13px 20px;border-radius:14px;font-weight:700;z-index:130;transition:.3s;max-width:calc(100% - 32px)}
.toast.on{transform:translate(-50%,0);opacity:1}

/* info lists on subpages */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{background:#fff;border-radius:var(--r);box-shadow:inset 0 0 0 2px var(--line);padding:22px;display:grid;gap:10px;align-content:start}
.card h3{font-size:22px}
.card p{color:var(--ink2);font-size:16.5px}
.card .ch{height:90px;width:auto}
@media (max-width:860px){.cards3{grid-template-columns:1fr}}
.steps{counter-reset:s;display:grid;gap:14px;padding:0;margin:0;list-style:none}
.steps li{counter-increment:s;display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start}
.steps li::before{content:counter(s);width:44px;height:44px;border-radius:14px;background:var(--action-soft);color:var(--action-ink);display:grid;place-items:center;font:700 20px/1 var(--display)}
.steps h4{font-size:20px;margin-bottom:4px}
.steps p{color:var(--ink2);font-size:16.5px}

/* footer */
footer{border-top:1px solid var(--line);margin-top:40px;padding-block:52px calc(36px + env(safe-area-inset-bottom,0px))}
.fgrid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:28px}
.fgrid h4{font:800 13px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.fgrid ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.fgrid a{color:var(--ink);text-decoration:none;font-weight:700;font-size:15.5px}
.fgrid a:hover{color:var(--action)}
.fbase{margin-top:40px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:14px}
@media (max-width:860px){.fgrid{grid-template-columns:1fr 1fr}.fgrid .fb1{grid-column:1/-1}}

.reveal{will-change:transform}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* ===== barnabut.com visual language, simplified ===== */
:root{
}
body{background:var(--bg);color:var(--ink);font:500 17px/1.55 var(--body);letter-spacing:-.003em}
h1,h2,h3,h4{font-family:var(--display);font-weight:600;color:var(--ink);letter-spacing:-.02em}
a{color:var(--coral-deep)}
.display{font:600 clamp(44px,6.4vw,88px)/.98 var(--display);letter-spacing:-.035em;margin:0;text-wrap:balance}
.display em{font-style:normal;color:var(--coral-deep)}
.display.md{font-size:clamp(36px,4.8vw,66px);line-height:1.02;max-width:17ch}
.display.light,.lede.light,.kicker.light{color:#fff}
.display.light em{color:#FFB8A8}
.lede{font-size:clamp(17px,1.45vw,21px);line-height:1.55;color:var(--ink3);max-width:54ch;margin-top:18px;font-weight:500}
.kicker{display:flex;align-items:center;gap:10px;font:700 12.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);margin:0 0 20px}
.kicker::before{content:"";width:26px;height:1.5px;background:var(--coral-deep)}
.hero .kicker::before{display:none}
.kicker i{width:5px;height:5px;border-radius:50%;background:var(--coral-deep)}
.mono{font:700 11.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.center{text-align:center;justify-content:center;margin-inline:auto}
.head{margin-bottom:clamp(32px,4.5vw,56px)}
.head.center{display:grid;justify-items:center;text-align:center}
.head.center .kicker{justify-content:center}
.head.center .display{margin-inline:auto}
.head.center .lede{margin-inline:auto}
.sec{padding-block:clamp(72px,10vw,140px);position:relative}
.tlink{font:700 17px/1.2 var(--display);color:var(--coral-deep);text-decoration:none}
.tlink:hover{text-decoration:underline;text-underline-offset:4px}
/* buttons, Apple-style pills */
.btn{min-height:54px;padding:0 26px;border-radius:999px;font:700 16.5px/1 var(--body);letter-spacing:-.005em;gap:10px;border:1.5px solid transparent;box-shadow:none}
.btn-ink,.btn-main{background:var(--ink);color:#fff}
.btn-ink:hover,.btn-main:hover{background:var(--action-ink);transform:translateY(-1px);box-shadow:0 12px 24px -12px rgba(0,0,0,.45)}
.btn-ghost,.btn-line{background:#fff;color:var(--ink);border-color:var(--line);box-shadow:var(--sh-xs)}
.btn-ghost:hover,.btn-line:hover{border-color:#cfd3d8;box-shadow:var(--sh-sm)}
.btn-light{background:#fff;color:var(--ink)}
.btn-ghost-l{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
.btn-sm{min-height:42px;padding:0 18px;font-size:14.5px}
.btn .arr{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#fff;color:var(--ink);font-size:13px;transition:transform .2s}
.btn:hover .arr{transform:translateX(3px)}
/* header */
.hdr{background:rgba(255,255,255,.82)}
.hdr .wrap{height:68px}
.logo{gap:10px;font:700 21px/1 var(--body);letter-spacing:-.02em}
.logo svg{width:38px;height:38px}
.logo .lt{display:grid;gap:2px}
.logo .lt small{font:600 11px/1 var(--body);color:var(--muted);letter-spacing:0}
.nav a{font:600 14.5px/1 var(--body);color:var(--ink2);padding:10px 13px;border-radius:10px}
.nav a:hover{background:var(--line2)}
.nav a[aria-current="page"]{background:var(--line2);color:var(--ink)}
.nav a.warm{color:var(--coral-deep)}
.signin{font:600 14.5px/1 var(--body)}
.hdr .btn-main{min-height:42px;padding:0 18px;font-size:14.5px}
.progress{position:fixed;top:0;left:0;height:3px;width:100%;z-index:61;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#FF6B6B,#FFB877,#4FC3B8,#3BA7DD)}
.dots-nav{position:fixed;right:calc(18px + env(safe-area-inset-right,0px));top:50%;transform:translateY(-50%);z-index:40;display:grid;gap:12px}
.dots-nav a{width:8px;height:8px;border-radius:50%;background:#D3D7DC;display:block;transition:transform .2s,background .2s}
.dots-nav a.on{background:var(--coral-deep);transform:scale(1.5);box-shadow:0 0 0 4px var(--wash)}
@media (max-width:1100px){.dots-nav{display:none}}
.cartn{background:var(--coral-deep)}

/* ---- HERO ---- */
.hero{position:relative;overflow:hidden;padding-block:clamp(40px,6vw,84px) clamp(56px,7vw,96px)}
.wash{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;pointer-events:none}
.wash.w1{width:640px;height:640px;right:-160px;top:-120px;background:radial-gradient(closest-side,#FFD9D2,transparent)}
.wash.w2{width:520px;height:520px;right:180px;bottom:-220px;background:radial-gradient(closest-side,#D7EEF0,transparent)}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(28px,4vw,64px);align-items:center;position:relative}
.hero .display{max-width:12ch}
.hero .display .w{display:inline-block}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.agepick{margin-top:28px}
.mini{display:flex;align-items:center;gap:8px;font:700 13px/1 var(--body);color:var(--ink3);margin-bottom:10px}
.mini .dot{width:8px;height:8px;border-radius:50%;background:var(--coral-deep);box-shadow:0 0 0 4px var(--wash)}
.seg{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-width:480px}
.seg button{min-height:46px;border-radius:12px;border:1.5px solid var(--line);background:#fff;font:700 15px/1 var(--display);color:var(--ink2);box-shadow:var(--sh-xs);transition:all .2s}
.seg button:hover{border-color:#cfd3d8}
.seg button[aria-checked="true"]{background:var(--coral);border-color:var(--coral);color:#fff;box-shadow:0 10px 20px -10px rgba(240,96,95,.8)}
.free{margin-top:16px;font-size:14.5px;color:var(--muted)}
.free b{color:var(--ink)}
.orbit-wrap{display:grid;justify-items:center;gap:18px}
.orbit{position:relative;width:min(520px,100%);aspect-ratio:1}
.ring{position:absolute;border-radius:50%;border:1.5px solid rgba(20,56,79,.08)}
.ring.r1{inset:0}
.ring.r2{inset:17%;border-style:dashed;border-color:rgba(20,56,79,.07)}
.glow{position:absolute;inset:24%;border-radius:50%;background:radial-gradient(closest-side,rgba(120,192,168,.38),rgba(120,192,168,0));transition:background .6s}
.orb-ch{position:absolute;left:50%;top:50%;height:46%;width:auto;translate:-50% -54%;filter:drop-shadow(0 22px 22px rgba(20,56,79,.2));cursor:pointer}
.nodes{position:absolute;inset:0}
.node{position:absolute;width:58px;height:58px;margin:-29px 0 0 -29px;border-radius:50%;background:#fff;border:1.5px solid var(--line);box-shadow:var(--sh-md);display:grid;place-items:center;color:var(--ink2);padding:0;transition:border-color .2s,color .2s}
.node svg{width:24px;height:24px}
.node:hover,.node.on{border-color:var(--coral);color:var(--coral-deep)}
.node .lbl{position:absolute;top:100%;margin-top:8px;font:700 12px/1 var(--body);color:var(--ink3);white-space:nowrap}
.orb-tip{position:absolute;left:50%;bottom:4%;translate:-50% 0;text-align:center;background:rgba(255,255,255,.9);border:1.5px solid var(--line);border-radius:14px;padding:10px 14px;box-shadow:var(--sh-sm);min-width:220px;max-width:280px}
.orb-tip b{display:block;font:600 16px/1.2 var(--display)}
.orb-tip span{font-size:13.5px;color:var(--ink3)}
.stagecard{width:min(460px,100%);border-radius:20px;border:1.5px solid var(--line);background:linear-gradient(#fff,#FFF8F7);box-shadow:var(--sh-md);padding:14px 16px;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center}
.stagecard img{height:64px;width:auto}
.stagecard b{font:600 17px/1.15 var(--display);display:block}
.stagecard span{font-size:14px;color:var(--ink3)}
.stagecard .btn{min-height:42px;padding:0 16px;font-size:14px;background:var(--coral);color:#fff}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr}.orbit{width:min(420px,100%)}.stagecard{grid-template-columns:auto 1fr}.stagecard .btn{grid-column:1/-1}}
@media (max-width:420px){.node{width:48px;height:48px;margin:-24px 0 0 -24px}.node .lbl{display:none}.seg button{font-size:14px}}

/* ---- INSTINCTS ---- */
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,5vw,72px);align-items:end;margin-bottom:clamp(36px,5vw,60px)}
.split .lede{margin-top:0}
@media (max-width:860px){.split{grid-template-columns:1fr}}
.inst-track{position:relative;height:2px;background:var(--line);margin:0 6% 22px;border-radius:2px}
.inst-track i{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--coral-deep);border-radius:2px;transition:width .5s cubic-bezier(.2,.8,.2,1)}
.inst{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.ins{position:relative;text-align:left;border:1.5px solid var(--line);background:#fff;border-radius:20px;padding:18px 18px 20px;box-shadow:var(--sh-xs);display:grid;gap:8px;align-content:start;min-height:170px;transition:all .25s}
.ins:hover{box-shadow:var(--sh-md);transform:translateY(-2px)}
.ins .n{position:absolute;top:16px;right:18px;font:700 12px/1 var(--mono);color:var(--muted)}
.ins .ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--line2);color:var(--ink2)}
.ins .ic svg{width:22px;height:22px}
.ins h3{font:600 20px/1.1 var(--display);margin-top:8px}
.ins p{font-size:14.5px;color:var(--ink3);line-height:1.45}
.ins[aria-selected="true"]{border-color:#F6B4A8;background:linear-gradient(#fff,#FFF6F4);box-shadow:0 18px 40px -22px rgba(224,72,45,.45)}
.ins[aria-selected="true"] .ic{background:var(--wash);color:var(--coral-deep)}
.inst-panel{margin-top:22px;border:1.5px solid var(--line);border-radius:28px;background:#fff;box-shadow:var(--sh-lg);padding:clamp(22px,3.4vw,40px);display:grid;grid-template-columns:220px 1fr;gap:clamp(20px,3vw,40px);align-items:center;min-height:270px}
.inst-panel .ch{height:220px;width:auto;justify-self:center;filter:drop-shadow(0 18px 18px rgba(20,56,79,.18))}
.inst-panel h3{font:600 clamp(26px,3vw,38px)/1.1 var(--display)}
.inst-panel .ex{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
.inst-panel .ex div{border-radius:16px;padding:14px 16px;font-size:15.5px;line-height:1.45}
.inst-panel .ex .a{background:var(--paper2);border:1.5px solid var(--line)}
.inst-panel .ex .b{background:var(--teal-wash);border:1.5px solid #CBEAEA}
.inst-panel .ex small{display:block;font:700 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
@media (max-width:980px){.inst{grid-template-columns:repeat(5,minmax(150px,1fr));overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.ins{scroll-snap-align:start}.inst-track{display:none}}
@media (max-width:700px){.inst-panel{grid-template-columns:1fr}.inst-panel .ch{height:150px}.inst-panel .ex{grid-template-columns:1fr}}

/* ---- MISSION CONTROL (dark) ---- */
.mc{display:grid;grid-template-columns:260px 1fr;border-radius:32px;border:1px solid #342A5C;background:radial-gradient(120% 120% at 15% 8%,#2B1F52 0,#1C1638 55%,#171130 100%);box-shadow:0 44px 90px -50px rgba(20,10,50,.7);overflow:hidden;color:#fff;min-height:520px}
.mc-side{padding:26px 22px;border-right:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:16px}
.mc-g{display:flex;align-items:center;gap:12px}
.mc-g .av{width:54px;height:54px;border-radius:16px;background:rgba(255,255,255,.08);display:grid;place-items:end center;overflow:hidden}
.mc-g .av img{height:50px;width:auto}
.mc-g b{font:600 18px/1.1 var(--display);display:block}
.mc-g small{font:700 10.5px/1 var(--mono);letter-spacing:.12em;color:rgba(255,255,255,.5)}
.mc .say{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:14px 15px;font:600 16px/1.4 var(--display);color:#fff;box-shadow:none;min-height:0}
.mc .guide{height:220px;width:auto;margin-top:auto;align-self:center;filter:drop-shadow(0 18px 20px rgba(0,0,0,.4))}
.mc-main{padding:clamp(22px,3vw,40px);display:flex;flex-direction:column;gap:18px;min-width:0}
.mc .top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.mc .dots i{background:rgba(255,255,255,.14)}
.mc .dots i.on{background:var(--coral)}
.mc .chip{background:rgba(255,255,255,.1);color:#fff}
.mc .chip.free{background:rgba(120,192,168,.2);color:#9FE3C8}
.mc h3{color:#fff;font:600 clamp(24px,2.6vw,32px)/1.15 var(--display)}
.mc .opt{background:rgba(255,255,255,.06);border:1.5px solid rgba(255,255,255,.12);color:#fff;font:600 17px/1.35 var(--display);border-radius:16px}
.mc .opt:hover:not(:disabled){background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3)}
.mc .opt .k{background:rgba(255,255,255,.1);color:#fff}
.mc .opt.right{background:rgba(120,192,168,.18);border-color:var(--s1)}
.mc .opt.right .k{background:var(--s1);color:#10251E}
.mc .opt.wrong{background:rgba(240,96,95,.15);border-color:var(--coral)}
.mc .fb{border-radius:16px;font:600 16.5px/1.4 var(--display)}
.mc .fb.ok{background:rgba(120,192,168,.16);color:#BFF0DC;border:1px solid rgba(120,192,168,.35)}
.mc .fb.hint{background:rgba(255,184,119,.14);color:#FFD9B0;border:1px solid rgba(255,184,119,.35)}
.mc .slot{border-color:rgba(255,255,255,.2);color:rgba(255,255,255,.5)}
.mc .slot b{color:rgba(255,255,255,.45)}
.mc .slot.fill{background:rgba(120,192,168,.18);border-color:var(--s1);color:#fff}
.mc .slot.run{background:var(--coral);border-color:var(--coral);color:#fff}
.mc .claim{background:rgba(255,255,255,.07);color:#fff;border:1px solid rgba(255,255,255,.12)}
.mc .claim i{background:#fff;color:#1C1638}
.mc .btn-main{background:var(--coral);color:#fff}
.mc .btn-main:hover{background:#F47271}
.mc .btn-line{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}
.mc .muted,.mc .small{color:rgba(255,255,255,.6)!important}
.mc .done-art h3{font-size:30px}
@media (max-width:860px){.mc{grid-template-columns:1fr}.mc-side{border-right:0;border-bottom:1px solid rgba(255,255,255,.08);flex-direction:row;flex-wrap:wrap;align-items:flex-end}.mc .say{flex:1 1 60%}.mc .guide{height:120px;margin:0}.mc-g{flex-basis:100%}}

/* ---- JOURNEY ---- */
.journey{background:var(--paper2)}
.jbar{display:grid;grid-template-columns:auto 1fr auto auto;gap:18px;align-items:center;background:#fff;border:1.5px solid var(--line);border-radius:20px;padding:16px 22px;box-shadow:var(--sh-sm);margin-bottom:22px}
.jl{font:700 11.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mint)}
.jl.r{color:var(--coral-deep)}
.jtrack{position:relative;height:6px;border-radius:6px;background:var(--line2)}
.jtrack i{position:absolute;left:0;top:0;bottom:0;width:8%;border-radius:6px;background:linear-gradient(90deg,var(--mint),var(--teal),var(--sky),var(--coral))}
.jtrack b{position:absolute;top:50%;left:8%;width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:50%;background:#fff;border:2px solid var(--teal);box-shadow:var(--sh-sm)}
.jnums{display:flex;gap:22px;padding-left:18px;border-left:1.5px solid var(--line)}
.jnums small{display:block;font:700 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.jnums b{font:600 26px/1 var(--display);font-variant-numeric:tabular-nums}
.jnums b.t{color:var(--teal)}
.jcards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.jc{border:1.5px solid var(--line);border-radius:24px;background:linear-gradient(#fff,var(--tw,#fff));box-shadow:var(--sh-sm);padding:22px 20px 20px;position:relative;overflow:hidden;display:grid;gap:8px;align-content:start;transition:transform .3s,box-shadow .3s,opacity .3s}
.jc::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--tc)}
.jc .tag{justify-self:start;font:700 10.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--tc);background:color-mix(in srgb,var(--tc) 12%,#fff);padding:7px 9px;border-radius:8px}
.jc .pic{height:150px;display:grid;place-items:end center}
.jc .pic img{max-height:150px;width:auto;filter:drop-shadow(0 16px 16px rgba(20,56,79,.18))}
.jc .yrs{font:700 12px/1 var(--mono);color:var(--muted);letter-spacing:.06em;margin-top:6px}
.jc h3{font:600 22px/1.1 var(--display)}
.jc p{font-size:15px;color:var(--ink3);line-height:1.45}
.jc .go{font:700 15px/1 var(--display);color:var(--tc);text-decoration:none;margin-top:6px}
.jc.dim{opacity:.55}
.jc.on{transform:translateY(-6px);box-shadow:var(--sh-lg);opacity:1}
@media (max-width:980px){.jcards{grid-template-columns:1fr 1fr}.jbar{grid-template-columns:1fr;gap:10px}.jnums{border-left:0;padding-left:0}}
@media (max-width:480px){.jcards{grid-template-columns:1fr}}

/* ---- PARENT VIEW ---- */
.pv{border:1.5px solid var(--line);border-radius:28px;background:#fff;box-shadow:var(--sh-lg);overflow:hidden}
.pv-bar{display:flex;align-items:center;gap:7px;padding:12px 18px;border-bottom:1.5px solid var(--line2);background:var(--paper2)}
.pv-bar i{width:11px;height:11px;border-radius:50%;background:#FF5F57}.pv-bar i:nth-child(2){background:#FEBC2E}.pv-bar i:nth-child(3){background:#28C840}
.pv-bar span{margin-left:10px;font:600 12.5px/1 var(--mono);color:var(--muted)}
.pv-kids{display:flex;gap:10px;padding:18px 22px 0;flex-wrap:wrap}
.kid{display:flex;align-items:center;gap:10px;border:1.5px solid var(--line);border-radius:14px;padding:8px 14px 8px 8px;background:#fff;font:600 15px/1.1 var(--display);transition:all .2s}
.kid .av{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:#fff;font:700 15px/1 var(--display)}
.kid small{display:block;font:600 12px/1.2 var(--body);color:var(--muted)}
.kid[aria-selected="true"]{border-color:var(--coral);box-shadow:0 0 0 3px var(--wash)}
.pv-body{padding:22px;display:grid;grid-template-columns:1.2fr .8fr;gap:18px}
.pv-week h3{font:600 26px/1.1 var(--display)}
.pv-week h3 em{font-style:normal;color:var(--coral-deep)}
.pv-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}
.pv-stats div{border:1.5px solid var(--line);border-radius:16px;padding:14px}
.pv-stats b{display:block;font:600 26px/1 var(--display);margin-top:8px}
.pv-stats small{font:700 10.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.pv-quote{margin-top:14px;border-radius:16px;background:var(--cream);border:1.5px solid #F1E6D3;padding:16px;font:600 18px/1.4 var(--display)}
.pv-quote small{display:block;font:700 10.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.pv-side{display:grid;gap:12px;align-content:start}
.pv-card{border:1.5px solid var(--line);border-radius:16px;padding:16px}
.pv-card small{display:block;font:700 10.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.pv-card p{font-weight:600}
.pv-card.talk{background:var(--teal-wash);border-color:#CBEAEA}
.pv-appr{display:flex;align-items:center;justify-content:space-between;gap:10px}
@media (max-width:860px){.pv-body{grid-template-columns:1fr}.pv-stats{grid-template-columns:1fr 1fr 1fr}}
@media (max-width:420px){.pv-stats b{font-size:20px}}

/* ---- SCREEN OFF ---- */
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tcard{border:1.5px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--sh-sm);padding:24px 22px 0;display:grid;gap:10px;align-content:start;overflow:hidden}
.tcard.warm{background:linear-gradient(#fff,#FFF1EE);border-color:#F6CFC6}
.tcard.warm .mono{color:var(--coral-deep)}
.tcard h3{font:600 22px/1.15 var(--display)}
.tcard p{color:var(--ink3);font-size:15.5px;line-height:1.5}
.tcard .ch{height:150px;width:auto;justify-self:end;margin-top:8px;margin-bottom:-8px;filter:drop-shadow(0 14px 14px rgba(20,56,79,.16));transition:transform .4s cubic-bezier(.3,1.5,.5,1)}
.tcard:hover .ch{transform:translateY(-8px) rotate(-3deg)}
@media (max-width:860px){.three{grid-template-columns:1fr}}

/* ---- FAMILY ROW ---- */
.fam{overflow:hidden}
.famrow{display:flex;gap:clamp(10px,2vw,28px);align-items:flex-end;justify-content:center;padding:10px 20px 30px;flex-wrap:nowrap}
.fr{border:0;background:none;padding:0;display:grid;justify-items:center;gap:8px;flex:0 1 auto;min-width:0}
.fr img{height:clamp(80px,11vw,170px);width:auto;filter:drop-shadow(0 16px 14px rgba(20,56,79,.18));transform-origin:50% 100%;transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.fr:hover img,.fr:focus-visible img{transform:translateY(-10px) scale(1.06)}
.fr span{font:600 15px/1 var(--display);color:var(--ink2)}
@media (max-width:760px){.famrow{justify-content:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.fr{scroll-snap-align:center;flex:none}.fr img{height:120px}}

/* ---- PRICES ---- */
.price{border:1.5px solid var(--line);box-shadow:var(--sh-sm);border-radius:24px;background:#fff}
.price.pop{border-color:#F6B4A8;background:linear-gradient(#fff,#FFF6F4);box-shadow:0 26px 50px -28px rgba(224,72,45,.45)}
.price h3{font:600 22px/1.1 var(--display)}
.price .amt{font:600 46px/1 var(--display);letter-spacing:-.03em}
.price .btn-main{background:var(--coral);}
.chip{background:var(--line2);color:var(--ink2)}
.chip.free{background:var(--ok-soft);color:var(--ok)}
.calc{background:var(--paper2);border:1.5px solid var(--line)}

/* ---- ENDCAP ---- */
.endc{border-radius:36px;background:radial-gradient(120% 140% at 10% 0,#2B1F52 0,#1C1638 60%,#171130 100%);padding:clamp(34px,5vw,72px) clamp(26px,5vw,72px) 0;display:grid;grid-template-columns:1.2fr .8fr;gap:20px;align-items:end;overflow:hidden;box-shadow:0 44px 90px -50px rgba(20,10,50,.7)}
.endc>div{padding-bottom:clamp(34px,5vw,72px)}
.endc .ch{height:clamp(200px,24vw,320px);width:auto;justify-self:center;filter:drop-shadow(0 20px 24px rgba(0,0,0,.4))}
.endc .kicker::before{background:#FFB8A8}
@media (max-width:760px){.endc{grid-template-columns:1fr}.endc>div{padding-bottom:0}}

/* subpage polish */
.phead h1{font:600 clamp(40px,5.6vw,76px)/1 var(--display);letter-spacing:-.035em}
.phead .eyebrow,.sec-head .eyebrow{font:700 12.5px/1 var(--mono);letter-spacing:.14em;color:var(--ink3);display:flex;align-items:center;gap:10px}
.phead .eyebrow::before{content:"";width:26px;height:1.5px;background:var(--coral-deep)}
.card,.course,.cc,.kit,.good,.stage-intro,.report,.price,.faq details{border-radius:22px}
.card,.course,.cc,.kit,.good{box-shadow:inset 0 0 0 1.5px var(--line),var(--sh-xs)}
.course:hover,.cc:hover{box-shadow:inset 0 0 0 1.5px #cfd3d8,var(--sh-md)}
.tab{font:700 15px/1 var(--display)}
.tab[aria-selected="true"]{background:var(--ink)}
.stage-intro[data-s="1"]{background:#E7F4EF}.stage-intro[data-s="2"]{background:var(--teal-wash)}.stage-intro[data-s="3"]{background:#E6F4FA}.stage-intro[data-s="4"]{background:#EFEDFB}
.report{box-shadow:var(--sh-lg);border:1.5px solid var(--line)}
.report .ex{background:var(--wash);color:var(--coral-deep)}
.faq details{box-shadow:inset 0 0 0 1.5px var(--line)}
.faq summary{font:600 18px/1.3 var(--display)}
.cta-band{background:radial-gradient(120% 140% at 10% 0,#2B1F52 0,#1C1638 60%,#171130 100%)}
.cta-band .btn-main{background:#fff;color:var(--ink)}
.kit .art img,.cc .pic img,.phead .ch,.stage-intro .ch{filter:drop-shadow(0 14px 14px rgba(20,56,79,.16))}
.chip.s1{background:#E7F4EF;color:#2E7A62}.chip.s2{background:var(--teal-wash);color:#1E7C81}.chip.s3{background:#E6F4FA;color:#1F7DA5}.chip.s4{background:#EFEDFB;color:#5848B5}
footer{background:var(--paper2);border-top:1.5px solid var(--line)}
.hero h1 em,.hero .display em{color:var(--coral-deep)}
.orb-c{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.orb-c .orb-ch{position:static;translate:none;height:46%;margin-top:-6%;pointer-events:auto}
.orb-tip{translate:none;left:0;right:0;margin-inline:auto;width:max-content}
html:not(.js) .view[data-view="home"]{display:block}
/* top band + full nav */
.topband{background:var(--ink);color:#E7E7EA;font:600 14px/1.2 var(--body)}
.topband .wrap{display:flex;align-items:center;justify-content:center;gap:12px;min-height:44px;position:relative}
.topband b{color:#fff}
.topband span:not(.tb-mark){color:#F49A86}
.topband a{color:#fff;text-decoration:none;font-weight:700;padding-left:12px;border-left:1px solid rgba(255,255,255,.2)}
.tb-mark{width:20px;height:20px;border-radius:50%;background:conic-gradient(#FF6B6B,#FFB877,#4FC3B8,#3BA7DD,#FF6B6B);box-shadow:0 0 0 3px rgba(255,255,255,.08)}
.tb-x{position:absolute;right:var(--gutr);background:none;border:0;color:#9a9aa0;font-size:22px;line-height:1;width:32px;height:32px;border-radius:8px}
.tb-x:hover{color:#fff;background:rgba(255,255,255,.08)}
@media (max-width:640px){.topband a{display:none}.topband .wrap{justify-content:flex-start;padding-right:44px}.topband{font-size:12.5px}}
.logo .lt sup{font-size:9px;vertical-align:top;margin-left:1px}
.hdr .wrap{gap:18px}
.nav{gap:2px;align-items:center}
.ddb{background:none;border:0;padding:10px 12px;border-radius:10px;font:600 14.5px/1 var(--body);color:var(--ink2);display:inline-flex;gap:6px;align-items:center}
.ddb::after{content:"";width:6px;height:6px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.5;transition:transform .2s}
.ddb:hover,.ddb[aria-expanded="true"]{background:var(--line2);color:var(--ink)}
.ddb[aria-expanded="true"]::after{transform:rotate(225deg) translateY(-1px)}
.dd{position:relative}
.ddm{position:absolute;top:calc(100% + 10px);left:-14px;min-width:330px;background:#fff;border:1.5px solid var(--line);border-radius:22px;box-shadow:var(--sh-lg);padding:10px;z-index:80;display:grid;gap:2px}
.ddm a{display:flex;gap:14px;align-items:center;padding:12px;border-radius:14px;text-decoration:none;color:var(--ink);cursor:pointer}
.ddm a:hover,.ddm a:focus-visible{background:var(--paper2)}
.ddm i{flex:none;width:42px;height:42px;border-radius:12px;background:var(--paper2);display:grid;place-items:center;color:var(--purple)}
.ddm i svg{width:21px;height:21px}
.ddm b{display:block;font:700 16px/1.2 var(--body)}
.ddm small{display:block;font:500 14px/1.3 var(--body);color:var(--ink3);margin-top:3px}
.nav>a{padding:10px 11px}
.nav a.warm{color:#B5453A}
.signin.edu{white-space:nowrap}
@media (max-width:1320px){.signin.edu{display:none}}
@media (max-width:1180px){.nav,.signin{display:none}.menubtn{display:grid;place-items:center}.hright{margin-left:auto}}
.mnav .mh{font:700 11.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:18px 0 4px}
.mnav a{cursor:pointer;font-size:19px}
@media (max-width:1180px){.mnav{display:block;position:fixed;inset:auto 0 auto 0;top:var(--mtop,112px);max-height:calc(100vh - var(--mtop,112px));overflow:auto;background:#fff;border-bottom:1px solid var(--line);padding:4px var(--gutr) 22px var(--gut);z-index:49;box-shadow:var(--sh-lg)}.mnav[hidden]{display:none!important}}

/* ---- COMPASS GUIDE ---- */
.cg{position:fixed;right:calc(22px + env(safe-area-inset-right,0px));bottom:calc(22px + env(safe-area-inset-bottom,0px));z-index:75;width:116px;height:116px;touch-action:none;user-select:none}
.cg-btn{position:absolute;inset:0;border:0;background:none;padding:0;cursor:grab;border-radius:50%}
.cg-btn:active{cursor:grabbing}
.cg-halo{position:absolute;inset:-14px;border-radius:50%;background:radial-gradient(closest-side,rgba(123,108,216,.28),rgba(123,108,216,0));animation:cgPulse 3.2s ease-in-out infinite}
@keyframes cgPulse{50%{transform:scale(1.08);opacity:.6}}
.cg-ring{position:absolute;inset:6px;border-radius:50%;padding:4px;background:conic-gradient(from 200deg,var(--lilac),var(--coral),#FFB877,#4FC3B8,var(--lilac));box-shadow:0 18px 34px -14px rgba(20,56,79,.45)}
.cg-face{width:100%;height:100%;border-radius:50%;background:#1F3446;padding:7px;position:relative}
.cg-dial{position:relative;width:100%;height:100%;border-radius:50%;background:radial-gradient(circle at 40% 30%,#FBF3DE,#E9DBB8);overflow:hidden}
.cg-dial::before{content:"";position:absolute;left:50%;top:6%;bottom:6%;width:1.5px;background:rgba(150,120,60,.35)}
.cg-ticks{position:absolute;inset:0}
.cg-ticks i{position:absolute;left:50%;top:4%;width:2px;height:6px;margin-left:-1px;background:rgba(120,90,40,.4);transform-origin:50% 600%}
.cg-needle{position:absolute;left:50%;top:50%;width:14px;height:62%;margin:-31% 0 0 -7px;transform-origin:50% 50%;transition:transform .9s cubic-bezier(.3,1.6,.4,1)}
.cg-needle svg{width:100%;height:100%;overflow:visible}
.cg-portal{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 60% 32%,#FFE7A8 0 11%,transparent 12%),radial-gradient(circle at 30% 40%,#fff 0 1.5%,transparent 2%),radial-gradient(circle at 44% 22%,#fff 0 1.2%,transparent 1.6%),linear-gradient(180deg,#4B2FB8 0,#8C63E6 62%,#7FCBA5 62%,#5FB58E 100%);opacity:0;transform:scale(.6);transition:opacity .35s,transform .5s cubic-bezier(.3,1.5,.5,1)}
.cg.open .cg-portal{opacity:1;transform:none}
.cg.open .cg-needle{opacity:0}
.cg-peek{position:absolute;left:50%;bottom:72%;width:78px;margin-left:-39px;transform-origin:50% 100%;pointer-events:none;transition:transform .5s cubic-bezier(.3,1.6,.4,1)}
.cg-peek img{width:100%;height:auto;filter:drop-shadow(0 6px 6px rgba(20,56,79,.25))}
.cg.open .cg-peek{transform:translateY(26px) scale(.7)}
.cg-sat{position:absolute;width:8px;height:8px;border-radius:50%}
.cg-sat.a{background:var(--s1);right:-4px;top:16px}.cg-sat.b{background:#F4A36B;left:2px;bottom:10px;width:7px;height:7px}
.cg-hint{position:absolute;right:calc(100% + 12px);top:18px;background:#1F3446;color:#fff;font:700 15px/1.2 var(--body);padding:11px 16px;border-radius:14px;white-space:nowrap;box-shadow:var(--sh-md);pointer-events:none}
.cg-hint::after{content:"";position:absolute;right:-6px;top:50%;width:12px;height:12px;background:inherit;transform:translateY(-50%) rotate(45deg);border-radius:2px}
.cg-hint[hidden]{display:none}
.cg-panel{position:fixed;z-index:76;width:min(400px,calc(100vw - 24px));background:#fff;border:1.5px solid var(--line);border-radius:28px;box-shadow:0 40px 90px -30px rgba(20,56,79,.4);padding:22px 20px 20px}
.cg-panel[hidden]{display:none}
.cg-panel .k{font:800 12.5px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:#7B4FE0}
.cg-panel h3{font:600 28px/1.1 var(--display);margin:8px 40px 6px 0}
.cg-panel>p{color:var(--ink3);font-size:15.5px;margin-bottom:14px}
.cg-x{position:absolute;right:16px;top:16px;width:44px;height:44px;border-radius:50%;border:0;background:var(--line2);font-size:22px;line-height:1;color:var(--ink)}
.cg-opts{display:grid;gap:10px}
.cg-o{display:grid;grid-template-columns:70px 1fr auto;gap:14px;align-items:center;text-align:left;width:100%;border:1.5px solid var(--line);background:#fff;border-radius:20px;padding:10px 14px 10px 10px;transition:transform .2s,box-shadow .2s,border-color .2s}
.cg-o:hover,.cg-o:focus-visible{transform:translateY(-2px);box-shadow:var(--sh-md);border-color:#D6CCF6}
.cg-o .av{width:70px;height:70px;border-radius:16px;background:var(--paper2);display:grid;place-items:end center;overflow:hidden}
.cg-o .av img{max-height:66px;width:auto}
.cg-o b{display:block;font:700 18px/1.15 var(--display);color:var(--ink)}
.cg-o small{display:block;font:500 14.5px/1.35 var(--body);color:var(--ink3);margin-top:3px}
.cg-o .chev{color:var(--muted);font-size:22px}
.cg-o.hero{background:linear-gradient(135deg,#6E4BE0,#9B7BF0);border-color:transparent;box-shadow:0 18px 34px -18px rgba(110,75,224,.8)}
.cg-o.hero b,.cg-o.hero small,.cg-o.hero .chev{color:#fff}
.cg-o.hero small{opacity:.85}
.cg-o.hero .av{background:rgba(255,255,255,.18)}
.cg-foot{display:flex;justify-content:space-between;align-items:center;margin-top:14px;font:600 13.5px/1.3 var(--body);color:var(--muted)}
.cg-foot button{background:none;border:0;color:var(--ink2);font:700 13.5px/1 var(--body);text-decoration:underline;text-underline-offset:3px;padding:8px 0}
@media (max-width:520px){.cg{width:92px;height:92px;right:14px;bottom:14px}.cg-peek{width:62px;margin-left:-31px}.cg-hint{display:none}}
@media (prefers-reduced-motion:reduce){.cg-halo{animation:none}}
.dots-nav{right:calc(14px + env(safe-area-inset-right,0px));top:42%}
@media (max-width:1100px){.dots-nav{display:none}}
/* badges */
.badges{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:20px}
.bdg{border:0;background:#fff;border-radius:22px;box-shadow:inset 0 0 0 1.5px var(--line);padding:18px 12px;display:grid;justify-items:center;gap:8px;text-align:center}
.bdg .md{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;position:relative;background:var(--bc);box-shadow:inset 0 -6px 0 rgba(0,0,0,.08)}
.bdg .md img{height:66px;width:auto}
.bdg.lock .md{filter:grayscale(1) opacity(.45)}
.bdg b{font:600 16px/1.15 var(--display)}
.bdg small{font-size:13px;color:var(--ink3);line-height:1.35}
.bdg[aria-pressed="true"]{box-shadow:inset 0 0 0 2px var(--coral)}
@media (max-width:980px){.badges{grid-template-columns:repeat(3,1fr)}}
@media (max-width:480px){.badges{grid-template-columns:1fr 1fr}}
.cg-ages{display:flex;gap:4px}
.cg-ages button{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:6px 9px;font:700 12.5px/1 var(--body);color:var(--ink2)}
.cg-ages button[aria-checked="true"]{background:var(--coral);border-color:var(--coral);color:#fff}
.cg-foot{gap:10px;flex-wrap:wrap}
.cg-foot>span:first-child{font:700 11.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase}
/* DOOR */
.door{position:fixed;inset:0;z-index:300;display:grid;place-items:center;background:radial-gradient(90% 90% at 30% 20%,#FFF1EC 0,#fff 45%),#fff}
.door::before{content:"";position:absolute;inset:0;background:radial-gradient(40% 40% at 75% 75%,rgba(79,195,184,.18),transparent),radial-gradient(35% 35% at 20% 80%,rgba(255,184,119,.2),transparent)}
html.door-pre #door{display:grid!important}
html.door-pre #door{animation:doorFail 0s 4.5s forwards}
@keyframes doorFail{to{visibility:hidden}}
.door-c{position:relative;display:grid;justify-items:center;gap:18px}
.door-mark{width:min(230px,44vw)}
.door-mark svg{width:100%;height:auto;display:block;overflow:visible;filter:drop-shadow(0 30px 40px rgba(20,56,79,.18))}
.door-word{width:min(300px,60vw);height:auto}
.door:not(.intro) .door-word{display:none}
.door-lbl{font:600 22px/1 var(--display);color:var(--ink);min-height:22px}
.door-skip{position:absolute;right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:10px 16px;font:700 14px/1 var(--body);color:var(--ink2)}
.door-skip[hidden]{display:none}
.logo svg{overflow:visible}
.f-esora{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:14px}
.f-esora img{height:34px;width:auto}
.tb-esora{height:22px;width:auto;display:block}
.topband{background:#15130F}
.badgebox{margin-top:56px}
.badge-info{margin-top:16px;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border:1.5px dashed var(--line2);border-radius:18px;padding:12px 16px;color:var(--ink2)}
/* fixes */
.cg-ring,.cg-face,.cg-dial,.cg-ticks,.cg-needle,.cg-peek,.cg-portal{display:block}
.cg-peek{z-index:2}
.nav .ddb,.nav>a{white-space:nowrap}
.signin{white-space:nowrap}
@media (max-width:1500px){.signin.edu{display:none}}
@media (max-width:1340px){.nav .ddb,.nav>a{padding:9px 8px;font-size:14px}.hdr .wrap{gap:12px}}
.logo .lt{display:grid;gap:3px;line-height:1}
.logo .lt>span{white-space:nowrap}
@media (max-width:560px){
 .hdr .wrap{gap:8px}
 .startfree{padding:0 14px!important}
 .startfree .arr{display:none}
 .logo svg{width:32px;height:32px}
 .logo .lt{font-size:18px}
 .logo .lt small{display:none}
 .cartbtn{width:40px;height:40px}
 .menubtn{width:40px;height:40px}
}
html,body{max-width:100%;overflow-x:clip}
.orbit{touch-action:none;cursor:grab}
.orbit:active{cursor:grabbing}
.nodes{transform-origin:50% 50%}
.node{transition:border-color .2s,color .2s,box-shadow .2s}
.node .tick{position:absolute;top:-4px;right:-4px;width:20px;height:20px;border-radius:50%;background:var(--ok);color:#fff;font:800 11px/20px var(--body);display:none}
.node.done{border-color:#9ED9BC;color:var(--ok)}
.node.done .tick{display:block}
.node.on{border-color:var(--coral);color:var(--coral-deep);box-shadow:0 0 0 6px var(--wash),var(--sh-md)}
.node .pulse{position:absolute;inset:0;border-radius:50%;border:2px solid var(--coral);pointer-events:none}
.orb-tip{min-width:260px;max-width:min(330px,90%);pointer-events:auto;z-index:5}
.orb-tip .orb-k{display:block;font:700 10.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--coral-deep);margin-bottom:6px}
.orb-o{display:grid;gap:6px;margin-top:10px}
.orb-o button{border:1.5px solid var(--line);background:#fff;border-radius:12px;padding:9px 12px;font:600 14.5px/1.25 var(--display);color:var(--ink);text-align:left;cursor:pointer}
.orb-o button:hover:not(:disabled){border-color:var(--ink);box-shadow:var(--sh-sm)}
.orb-o button.no{border-color:var(--coral);background:var(--wash);opacity:.7}
.orb-hint{display:block;margin-top:8px;font-size:13.5px;color:var(--coral-deep)}
.orb-prog{display:inline-block;margin-top:8px;font:700 11.5px/1 var(--mono);letter-spacing:.08em;color:var(--ok);background:var(--ok-soft);border-radius:999px;padding:6px 9px}

[hidden]:not([hidden=until-found i]){display:none!important}
html.door-pre #door{display:grid!important}


/* ===== v3: barnabut.com typography and components ===== */
:root{}
body{font:400 17px/1.55 var(--body);letter-spacing:-.006em;color:var(--ink)}
h1,h2,h3,h4,.display,.poster,.h2,.h3{font-family:var(--display)!important}
.display,.phead h1{font-weight:900!important;letter-spacing:-.045em!important;line-height:.95!important}
.display{font-size:clamp(46px,6.6vw,92px)}
.display.md{font-weight:900;font-size:clamp(38px,5vw,72px);letter-spacing:-.04em;line-height:.98;max-width:18ch}
.display em,.phead h1 em{font-style:normal;color:var(--no)}
h2,.sec-head h2{font-weight:800;letter-spacing:-.035em}
h3,h4{font-weight:700;letter-spacing:-.02em}
.lede{font-weight:400;color:var(--ink3);letter-spacing:-.012em;font-size:clamp(18px,1.55vw,22px)}
.kicker,.mono,.eyebrow{font-family:var(--mono)!important;font-weight:500!important}
.btn{font:600 16px/1 var(--body);letter-spacing:-.01em}
.nav .ddb,.nav>a,.signin{font:500 15px/1 var(--body);letter-spacing:-.01em;color:var(--ink2)}
.logo .lt{font:800 20px/1 var(--body);letter-spacing:-.03em}
.logo .lt small{font:500 11.5px/1 var(--body);letter-spacing:-.005em;color:var(--ink3)}
.ddm b{font:600 15.5px/1.2 var(--body)}
.ddm small{font:400 13.5px/1.35 var(--body)}
.chip{font:600 12px/1.2 var(--body)}
.course .t,.cc .nm,.kit h3,.good h4,.card h3,.price h3,.tcard h3,.jc h3,.ins h3,.pv-week h3,.inst-panel h3,.story .panel h3,.faq summary,.cg-o b,.cg-panel h3,.door-lbl,.stagecard b,.orb-tip b,.fr span,.pc .nm{font-family:var(--display)!important;font-weight:700!important;letter-spacing:-.025em}
.price .amt,.total .t,.pv-stats b,.jnums b{font-family:var(--display)!important;font-weight:900!important;letter-spacing:-.04em}
.faq summary{font-weight:600!important}
.ddm i{background:#F4F2FB;overflow:hidden;align-items:end}
.ddm i img{height:40px;width:auto;margin-bottom:-4px}

/* logo mark (official artwork, layered) */
.bb-mark{display:block;overflow:visible}
.bb-mark image{transform-box:fill-box;transform-origin:50% 50%}
.logo .bb-mark{width:40px;height:auto}
.door-mark .bb-mark{width:100%;height:auto;filter:drop-shadow(0 30px 40px rgba(20,56,79,.18))}
@media (max-width:560px){.logo .bb-mark{width:34px}}

/* ---- TOPBAND: eSora family, alive ---- */
.topband{background:#15130F;color:#EDEAE4;position:relative;overflow:hidden;z-index:55}
.topband::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.06) 45%,transparent 60%);transform:translateX(-100%);animation:tbShine 6s ease-in-out infinite;pointer-events:none}
@keyframes tbShine{60%,100%{transform:translateX(100%)}}
.topband .wrap{display:flex;align-items:center;justify-content:center;gap:14px;min-height:46px}
.tb-brand{display:flex;align-items:center;gap:9px;border:0;background:none;color:#fff;padding:6px 10px;border-radius:10px;font:600 13.5px/1 var(--body)}
.tb-brand:hover{background:rgba(255,255,255,.08)}
.tb-brand img{height:24px;width:auto;transition:transform .8s cubic-bezier(.3,1.5,.4,1)}
.tb-brand:hover img{transform:rotate(360deg)}
.tb-sep{width:1px;height:18px;background:rgba(255,255,255,.18)}
.tb-tick{position:relative;height:22px;overflow:hidden;min-width:min(520px,52vw)}
.tb-tick a{position:absolute;left:0;right:0;top:0;display:flex;gap:8px;align-items:center;justify-content:center;color:#F3B6A6;text-decoration:none;font:500 14px/22px var(--body);white-space:nowrap}
.tb-tick a b{color:#fff;font-weight:700}
.tb-tick a .tag{font:600 10.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#15130F;background:#F3B6A6;border-radius:6px;padding:4px 6px}
.tb-tick a:hover b{text-decoration:underline;text-underline-offset:3px}
.tb-dots{display:flex;gap:5px}
.tb-dots i{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.25);transition:all .3s}
.tb-dots i.on{background:#F3B6A6;width:14px;border-radius:4px}
.tb-x{position:static;margin-left:4px}
.tb-panel{position:absolute;left:0;right:0;top:100%;background:#15130F;color:#fff;z-index:70;padding:22px 0 26px;box-shadow:0 30px 60px -20px rgba(0,0,0,.5)}
.tb-panel[hidden]{display:none}
.tb-fam{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.tb-fam a{display:grid;gap:6px;padding:16px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);color:#fff;text-decoration:none;transition:transform .25s,background .25s}
.tb-fam a:hover{background:rgba(255,255,255,.1);transform:translateY(-3px)}
.tb-fam b{font:700 16px/1.1 var(--body)}
.tb-fam small{font:400 13px/1.35 var(--body);color:#BDB7AE}
.tb-fam .st{font:600 10.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#F3B6A6}
.tb-fam a.here{border-color:#F3B6A6}
@media (max-width:1000px){.tb-fam{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.tb-fam{grid-template-columns:1fr 1fr}.tb-tick{min-width:0;flex:1}.tb-tick a{justify-content:flex-start;font-size:12.5px}.tb-tick a .tag,.tb-dots,.tb-sep{display:none}.tb-brand span{display:none}}
/* nav sign-in dropdown */
.sgn .ddb{font-weight:600;color:var(--ink)}
.sgn .ddm{left:auto;right:-10px;min-width:340px}
@media (max-width:1180px){.sgn{display:none}}

/* ---- ORBIT v3 ---- */
.orbit{width:min(540px,100%)}
.ring.r1{border:2px solid #EFE6DA}
.ring.r2{inset:15%;border:2px dashed rgba(224,72,45,.14)}
.orb-dash{position:absolute;inset:-2%;border-radius:50%;pointer-events:none}
.orb-dash svg{width:100%;height:100%;overflow:visible}
.node{width:96px;height:96px;margin:-48px 0 0 -48px;background:#FFFCF7;border:2px solid #F1E7DA;box-shadow:0 6px 0 #EFE3D3,0 18px 30px -16px rgba(120,80,40,.35);flex-direction:column;gap:2px;padding-top:4px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.node .av{width:46px;height:46px;display:grid;place-items:end center;overflow:hidden;border-radius:50%;background:var(--nc,#FDEFE2)}
.node .av img{height:44px;width:auto;transition:transform .3s cubic-bezier(.3,1.6,.4,1)}
.node .lbl{position:static;margin:0;font:700 13.5px/1 var(--body);color:#8A4B1E;letter-spacing:-.01em}
.node:hover{transform:scale(1.08)}
.node:hover .av img{transform:translateY(-4px) rotate(-6deg)}
.node.on{background:#FBE2C8;border-color:#8A4B1E;box-shadow:0 0 0 8px rgba(251,226,200,.6),0 6px 0 #E9C8A4}
.node.done{border-color:#9ED9BC}
.node.done::after{content:"✓";position:absolute;top:-2px;right:2px;width:24px;height:24px;border-radius:50%;background:var(--ok);color:#fff;font:800 12px/24px var(--body);text-align:center;box-shadow:0 0 0 3px #fff}
.node .tick{display:none!important}
.orb-c .orb-ch{height:48%;cursor:pointer}
.orb-halo{position:absolute;left:50%;top:50%;width:52%;height:60%;translate:-50% -52%;border-radius:50%;background:radial-gradient(closest-side,#E6F2F0,rgba(230,242,240,0));pointer-events:none}
.zz{position:absolute;font:800 18px/1 var(--body);color:var(--lilac);pointer-events:none;z-index:6}
.orb-tip{display:none}
.orbcard{width:min(540px,100%);border:2px solid #F1E7DA;border-radius:24px;background:#FFFCF7;padding:18px 20px;box-shadow:0 18px 40px -26px rgba(120,80,40,.45);min-height:132px}
.orbcard .k{font:600 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#C0571F}
.orbcard h4{font:800 22px/1.15 var(--body);letter-spacing:-.025em;margin-top:8px}
.orbcard p{color:var(--ink3);margin-top:4px}
.orbcard .opts2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.orbcard .opts2 button{border:2px solid #F1E7DA;background:#fff;border-radius:16px;padding:12px 14px;font:600 15px/1.3 var(--body);text-align:left;color:var(--ink);box-shadow:0 4px 0 #F1E7DA;transition:transform .15s,box-shadow .15s}
.orbcard .opts2 button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 0 #E9C8A4;border-color:#E9C8A4}
.orbcard .opts2 button:active{transform:translateY(3px);box-shadow:0 1px 0 #E9C8A4}
.orbcard .opts2 button.no{border-color:var(--coral);background:var(--no-soft);opacity:.75}
.orbcard .opts2 button.yes{border-color:var(--ok);background:var(--ok-soft)}
.orbcard .row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;flex-wrap:wrap}
.orbcard .prog{display:flex;gap:6px}
.orbcard .prog i{width:22px;height:8px;border-radius:6px;background:#F1E7DA}
.orbcard .prog i.on{background:var(--ok)}
@media (max-width:520px){.node{width:76px;height:76px;margin:-38px 0 0 -38px}.node .av{width:36px;height:36px}.node .av img{height:34px}.node .lbl{font-size:12px}.orbcard .opts2{grid-template-columns:1fr}}

/* ---- JOURNEY ACCORDION ---- */
.jacc{display:flex;gap:12px;height:520px}
.jp{position:relative;flex:1 1 0;min-width:0;border-radius:28px;border:1.5px solid var(--line);background:linear-gradient(#fff,var(--tw));overflow:hidden;cursor:pointer;transition:flex-grow .7s cubic-bezier(.6,.05,.2,1),box-shadow .3s;outline-offset:4px}
.jp.on{flex-grow:5;cursor:default;box-shadow:var(--sh-lg)}
.jp .vt{position:absolute;inset:0;display:grid;justify-items:center;align-content:start;padding-top:26px;gap:18px;transition:opacity .3s}
.jp .vt .n{font:600 13px/1 var(--mono);color:var(--tc)}
.jp .vt b{writing-mode:vertical-rl;transform:rotate(180deg);font:800 22px/1 var(--body);letter-spacing:-.02em;color:var(--ink);white-space:nowrap}
.jp .vt img{position:absolute;bottom:16px;height:84px;width:auto;opacity:.95;filter:drop-shadow(0 8px 8px rgba(20,56,79,.15));transition:transform .3s}
.jp:hover .vt img{transform:translateY(-6px) rotate(-5deg)}
.jp.on .vt{opacity:0;pointer-events:none}
.jp .full{position:absolute;inset:0;padding:28px 30px;display:grid;grid-template-columns:1.1fr .9fr;gap:24px;opacity:0;pointer-events:none;transition:opacity .35s .15s}
.jp.on .full{opacity:1;pointer-events:auto}
.jp .full .yrs{font:600 13px/1 var(--mono);color:var(--tc);letter-spacing:.04em}
.jp .full h3{font:900 clamp(34px,4vw,54px)/.98 var(--body)!important;letter-spacing:-.045em;margin-top:12px}
.jp .full p{color:var(--ink3);margin-top:12px;font-size:17px;max-width:40ch}
.jp .q{margin-top:20px;border:1.5px solid var(--line);border-radius:18px;background:#fff;padding:14px}
.jp .q small{font:600 10.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.jp .q b{display:block;font:700 17px/1.3 var(--body);margin:8px 0 10px}
.jp .q button{display:flex;gap:10px;align-items:center;width:100%;text-align:left;border:1.5px solid var(--line);border-radius:12px;background:#fff;padding:10px 12px;font:500 15px/1.3 var(--body);margin-top:8px}
.jp .q button span{flex:none;width:26px;height:26px;border-radius:8px;background:var(--tw);display:grid;place-items:center;font:700 13px/1 var(--mono);color:var(--tc)}
.jp .q button:hover:not(:disabled){border-color:var(--tc)}
.jp .q button.yes{border-color:var(--ok);background:var(--ok-soft)}
.jp .q button.no{border-color:var(--coral);background:var(--no-soft)}
.jp .q .fb2{font-size:14.5px;margin-top:10px;min-height:20px;color:var(--ok)}
.jp .art{position:relative;display:grid;place-items:end center}
.jp .art img{max-height:360px;width:auto;filter:drop-shadow(0 24px 22px rgba(20,56,79,.2));cursor:pointer}
.jp .art .go{position:absolute;right:0;top:0;font:600 15px/1 var(--body);color:var(--tc);text-decoration:none}
.jbar{cursor:pointer}
.jtrack{touch-action:none}
.jtrack b{cursor:grab;width:24px;height:24px;margin:-12px 0 0 -12px}
@media (max-width:900px){.jacc{flex-direction:column;height:auto}.jp{flex:none;height:76px}.jp.on{height:auto}.jp .vt{grid-auto-flow:column;align-content:center;justify-content:start;padding:0 20px;gap:14px}.jp .vt b{writing-mode:horizontal-tb;transform:none;font-size:19px}.jp .vt img{position:static;height:56px;margin-left:auto}.jp .full{position:relative;grid-template-columns:1fr;opacity:1;display:none;padding:22px}.jp.on .full{display:grid}.jp .art img{max-height:200px}}

/* ---- PRICING CALCULATOR v3 ---- */
.calc3{margin-top:30px;border:1.5px solid var(--line);border-radius:32px;background:#fff;box-shadow:var(--sh-lg);overflow:hidden;display:grid;grid-template-columns:1.25fr .75fr}
.c3-l{padding:28px 30px;display:grid;gap:26px}
.c3-l h3{font:800 26px/1.1 var(--body);letter-spacing:-.03em}
.c3-row{display:grid;gap:12px}
.c3-row>label,.c3-row>.lab{font:600 11.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.kids{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.kidc{position:relative;width:92px;border:1.5px solid var(--line);border-radius:20px;padding:10px 8px 8px;display:grid;justify-items:center;gap:4px;background:linear-gradient(#fff,var(--kw,#F6F8FA))}
.kidc img{height:62px;width:auto}
.kidc input{width:100%;border:0;background:transparent;text-align:center;font:600 13.5px/1.2 var(--body);color:var(--ink);padding:2px}
.kidc input:focus{outline:2px solid var(--no);border-radius:6px}
.kidc .x{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;border:0;background:var(--ink);color:#fff;font:700 13px/24px var(--body)}
.kidc .disc{position:absolute;top:-10px;left:-6px;font:700 10.5px/1 var(--mono);background:var(--ok-soft);color:var(--ok);border-radius:6px;padding:4px 6px}
.addkid{width:92px;height:118px;border:2px dashed #D3D7DC;border-radius:20px;background:#fff;font:600 13.5px/1.25 var(--body);color:var(--ink3);display:grid;place-items:center;align-content:center;gap:4px}
.addkid:hover{border-color:var(--ink);color:var(--ink)}
.addkid b{font-size:26px;line-height:1}
.crs{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.crs input[type=range]{flex:1;min-width:200px;accent-color:var(--no);height:6px}
.crs output{font:900 30px/1 var(--body);letter-spacing:-.04em;min-width:48px;font-variant-numeric:tabular-nums}
.crs .hint{font-size:14px;color:var(--ink3);width:100%}
.lessons3{display:flex;align-items:center;gap:14px;border:1.5px solid var(--line);border-radius:18px;padding:14px 16px;cursor:pointer}
.lessons3[aria-checked="true"]{border-color:var(--teal);background:#F1FAFA}
.lessons3 .sw{pointer-events:none}
.lessons3 b{font:700 16px/1.2 var(--body)}
.lessons3 small{display:block;color:var(--ink3);font-size:14px}
.c3-r{background:var(--ink);color:#fff;padding:28px 26px;display:flex;flex-direction:column;gap:14px}
.c3-r .lab{font:600 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#A9A9B0}
.c3-r .big{font:900 clamp(46px,5vw,64px)/1 var(--body);letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.c3-r .then{color:#C9C9CF;font-size:15px}
.rcpt{border-top:1px dashed rgba(255,255,255,.2);padding-top:12px;display:grid;gap:8px;font-size:14.5px}
.rcpt div{display:flex;justify-content:space-between;gap:10px;color:#E7E7EA}
.rcpt div.save{color:#8FE0B8}
.c3-r .btn{margin-top:auto;background:#fff;color:var(--ink)}
@media (max-width:860px){.calc3{grid-template-columns:1fr}}

/* ---- COURSES v3 ---- */
.cx-hero{position:relative;border-radius:36px;overflow:hidden;padding:clamp(28px,4vw,54px);display:grid;grid-template-columns:1.2fr .8fr;gap:20px;align-items:end;background:linear-gradient(135deg,var(--tw),#fff 70%);border:1.5px solid var(--line);min-height:360px;margin-bottom:34px}
.cx-hero .yrs{font:600 13px/1 var(--mono);color:var(--tc);letter-spacing:.06em}
.cx-hero h2{font:900 clamp(40px,5vw,72px)/.95 var(--body);letter-spacing:-.05em;margin-top:12px}
.cx-hero p{color:var(--ink3);font-size:19px;margin-top:14px;max-width:44ch}
.cx-hero .stats{display:flex;gap:26px;margin-top:22px}
.cx-hero .stats b{display:block;font:900 30px/1 var(--body);letter-spacing:-.04em}
.cx-hero .stats small{font:600 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.cx-hero .art{display:grid;place-items:end center}
.cx-hero .art img{max-height:320px;width:auto;filter:drop-shadow(0 26px 24px rgba(20,56,79,.22));cursor:pointer}
.cx-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:22px}
.cx-tab{border:1.5px solid var(--line);border-radius:20px;background:#fff;padding:12px 14px;display:flex;align-items:center;gap:12px;text-align:left;transition:all .25s}
.cx-tab img{height:48px;width:auto;transition:transform .3s cubic-bezier(.3,1.6,.4,1)}
.cx-tab:hover img{transform:translateY(-5px) rotate(-6deg)}
.cx-tab b{display:block;font:700 16px/1.1 var(--body)}
.cx-tab small{font:500 13px/1.2 var(--body);color:var(--muted)}
.cx-tab[aria-selected="true"]{border-color:var(--tc);box-shadow:0 0 0 4px var(--tw);background:linear-gradient(#fff,var(--tw))}
.cx-world{margin-top:46px}
.cx-wh{display:flex;align-items:center;gap:14px}
.cx-wh .num{font:600 12px/1 var(--mono);color:var(--tc);letter-spacing:.1em}
.cx-wh h3{font:800 clamp(24px,2.6vw,34px)/1.05 var(--body)!important;letter-spacing:-.035em}
.cx-wh img{height:64px;width:auto}
.cx-path{position:relative;height:250px;margin-top:8px}
.cx-path svg.road{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.cx-stop{position:absolute;translate:-50% -50%;display:grid;justify-items:center;gap:8px;border:0;background:none;padding:0;width:150px;text-align:center;cursor:pointer}
.cx-stop .dot{width:64px;height:64px;border-radius:50%;background:#fff;border:3px solid var(--tc);display:grid;place-items:center;font:900 22px/1 var(--body);color:var(--tc);box-shadow:0 8px 0 var(--tw),0 16px 26px -12px rgba(20,56,79,.3);transition:transform .25s cubic-bezier(.3,1.6,.4,1)}
.cx-stop:hover .dot{transform:scale(1.14) translateY(-4px)}
.cx-stop.free .dot{background:var(--tc);color:#fff}
.cx-stop.free .dot::after{content:"";position:absolute;width:64px;height:64px;border-radius:50%;border:3px solid var(--tc);animation:pulse 2s ease-out infinite}
@keyframes pulse{to{transform:scale(1.6);opacity:0}}
.cx-stop .t{font:700 14.5px/1.2 var(--body);letter-spacing:-.015em;color:var(--ink)}
.cx-stop .s{font:600 11px/1 var(--mono);letter-spacing:.06em;color:var(--muted)}
.cx-stop.free .s{color:var(--ok)}
@media (max-width:860px){.cx-hero{grid-template-columns:1fr}.cx-hero .art img{max-height:200px}.cx-tabs{grid-template-columns:1fr 1fr}.cx-path{height:auto;display:grid;gap:14px;padding-left:12px;border-left:3px dashed var(--tw)}.cx-path svg.road{display:none}.cx-stop{position:static;translate:none;width:auto;display:flex;align-items:center;text-align:left;gap:14px}.cx-stop .dot{width:52px;height:52px;flex:none}.cx-stop.free .dot::after{width:52px;height:52px}}

/* ---- ABOUT v3 ---- */
.ab-hero{padding-block:clamp(40px,6vw,90px) 40px;text-align:center;position:relative;overflow:hidden}
.ab-word{font:900 clamp(64px,13vw,190px)/.9 var(--body);letter-spacing:-.06em;display:inline-flex;align-items:baseline;cursor:pointer;user-select:none}
.ab-word .flip{display:inline-block;position:relative;color:var(--no);transform-style:preserve-3d;min-width:.55em}
.ab-sub{font:600 13px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:16px}
.ab-cap{max-width:640px;margin:18px auto 0;font-size:20px;color:var(--ink3)}
.ab-names{display:flex;justify-content:center;gap:10px;margin-top:22px;flex-wrap:wrap}
.ab-names button{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:10px 16px;font:600 15px/1 var(--body)}
.ab-names button[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.ab-chap{position:relative}
.ab-pin{min-height:100vh;min-height:100svh;display:flex;align-items:center}
.ab-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,80px);align-items:center;width:100%}
.ab-steps{position:relative;min-height:320px}
.ab-step{position:absolute;inset:0;display:grid;align-content:center;gap:16px}
.ab-step .n{font:600 13px/1 var(--mono);color:var(--no);letter-spacing:.1em}
.ab-step h3{font:900 clamp(38px,4.6vw,64px)/.98 var(--body)!important;letter-spacing:-.045em}
.ab-step p{font-size:19px;color:var(--ink3);max-width:44ch}
.ab-stage{position:relative;aspect-ratio:1;border-radius:36px;background:linear-gradient(135deg,#FFF1EC,var(--teal-wash));overflow:hidden;border:1.5px solid var(--line)}
.ab-stage .scn{position:absolute;inset:0;display:grid;place-items:center}
.ab-stage .scn img{max-height:62%;width:auto;filter:drop-shadow(0 24px 24px rgba(20,56,79,.2))}
.ab-stage .scn .sticker{position:absolute;font:700 15px/1.2 var(--body);background:#fff;border-radius:16px;padding:10px 14px;box-shadow:var(--sh-md);max-width:230px}
.ab-static{display:none}
@media (max-width:860px),(prefers-reduced-motion:reduce){.ab-pin{display:none}.ab-static{display:grid;gap:40px}.ab-static .ab-stage{aspect-ratio:4/3}}
.ab-map{position:relative;border-radius:32px;background:#15130F;color:#fff;padding:clamp(26px,4vw,48px);overflow:hidden}
.ab-map h2{color:#fff;font:900 clamp(34px,4.4vw,58px)/1 var(--body);letter-spacing:-.045em}
.ab-map p{color:#C9C3BA;margin-top:12px;max-width:52ch;font-size:18px}
.ab-world{position:relative;margin-top:28px;aspect-ratio:2.4/1;border-radius:22px;background:radial-gradient(circle at 1px 1px,rgba(255,255,255,.14) 1px,transparent 1.5px) 0 0/14px 14px}
.ab-pinpt{position:absolute;translate:-50% -50%;border:0;background:none;padding:0;color:#fff;display:grid;justify-items:center;gap:8px;cursor:pointer}
.ab-pinpt i{width:16px;height:16px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 6px rgba(240,96,95,.25);position:relative}
.ab-pinpt i::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--coral);animation:pulse 2.2s ease-out infinite}
.ab-pinpt span{font:600 13px/1 var(--body);background:rgba(255,255,255,.1);border-radius:8px;padding:6px 8px;white-space:nowrap}
.ab-pinpt.on span{background:var(--coral)}
.ab-arc{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.ab-note{margin-top:16px;min-height:26px;color:#F3B6A6;font-size:16px}
.ab-vals{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ab-val{perspective:900px;height:230px;border:0;background:none;padding:0;cursor:pointer}
.ab-val .in{position:relative;width:100%;height:100%;transition:transform .7s cubic-bezier(.3,1.3,.4,1);transform-style:preserve-3d}
.ab-val[aria-pressed="true"] .in{transform:rotateY(180deg)}
.ab-val .f,.ab-val .bk{position:absolute;inset:0;border-radius:24px;backface-visibility:hidden;-webkit-backface-visibility:hidden;padding:20px;display:grid;text-align:left}
.ab-val .f{background:var(--vc);align-content:space-between}
.ab-val .f img{height:110px;width:auto;justify-self:end;filter:drop-shadow(0 12px 12px rgba(20,56,79,.2))}
.ab-val .f b{font:800 22px/1.1 var(--body);letter-spacing:-.03em;color:var(--ink)}
.ab-val .bk{background:var(--ink);color:#fff;transform:rotateY(180deg);align-content:center;font-size:16px;line-height:1.5}
@media (max-width:900px){.ab-vals{grid-template-columns:1fr 1fr}}

/* ---- SHOP v3: build your kit ---- */
.sx-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.sx-head .n{width:42px;height:42px;border-radius:50%;background:#7B4FE0;color:#fff;display:grid;place-items:center;font:800 18px/1 var(--body)}
.sx-head h2{font:800 clamp(24px,2.6vw,32px)/1.1 var(--body)!important;letter-spacing:-.03em}
.sx-head .r{margin-left:auto;color:var(--muted);font-size:15px}
.sx-box{border:1.5px solid var(--line);border-radius:32px;background:#fff;padding:clamp(18px,3vw,32px);box-shadow:var(--sh-sm);margin-bottom:22px}
.sx-chars{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}
.sx-c{border:1.5px solid var(--line);border-radius:22px;background:#fff;padding:14px 8px 12px;display:grid;justify-items:center;gap:4px;transition:all .25s;position:relative}
.sx-c .pic{width:96px;height:96px;border-radius:22px;background:var(--cb);display:grid;place-items:end center;overflow:hidden;transition:transform .3s}
.sx-c .pic img{height:88px;width:auto;transition:transform .35s cubic-bezier(.3,1.6,.4,1)}
.sx-c:hover .pic img{transform:translateY(-6px) rotate(-6deg) scale(1.05)}
.sx-c b{font:700 16px/1 var(--body)}
.sx-c small{color:var(--muted);font-size:13px}
.sx-c[aria-pressed="true"]{border-color:#7B4FE0;box-shadow:0 0 0 4px #EFE9FC,0 18px 30px -20px rgba(123,79,224,.6)}
.sx-c[aria-pressed="true"]::after{content:"✓";position:absolute;top:10px;right:10px;width:22px;height:22px;border-radius:50%;background:var(--teal);color:#fff;font:800 12px/22px var(--body);text-align:center}
.sx-wrap{display:grid;grid-template-columns:1fr 360px;gap:22px;align-items:start}
.sx-goods{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.sx-g{border:1.5px solid var(--line);border-radius:24px;background:#fff;padding:10px 10px 14px;display:grid;gap:10px;transition:transform .25s,box-shadow .25s}
.sx-g:hover{transform:translateY(-4px);box-shadow:var(--sh-md)}
.sx-g .mk{position:relative;aspect-ratio:1;border-radius:18px;background:radial-gradient(120% 90% at 30% 20%,var(--cl),var(--cb));overflow:hidden;cursor:pointer}
.sx-g .pr{position:absolute;left:10px;top:10px;background:#fff;border-radius:999px;padding:7px 11px;font:700 14px/1 var(--body);z-index:5;box-shadow:var(--sh-xs)}
.sx-g .row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 4px}
.sx-g h4{font:700 16.5px/1.15 var(--body)!important;letter-spacing:-.02em}
.sx-g .add{border:0;border-radius:999px;background:#EFE9FC;color:#5B34C9;font:700 14.5px/1 var(--body);padding:11px 15px;flex:none;transition:transform .15s}
.sx-g .add:hover{background:#E2D8FA}
.sx-g .add:active{transform:scale(.92)}
.sx-g .add.in{background:#7B4FE0;color:#fff}
.sx-g .nm{border:1.5px solid var(--line);border-radius:10px;padding:8px 10px;font:500 14px/1 var(--body);width:100%;min-width:0}
/* mockups */
.mk .chr{position:absolute;filter:drop-shadow(0 0 0 #fff) drop-shadow(2px 0 0 #fff) drop-shadow(-2px 0 0 #fff) drop-shadow(0 2px 0 #fff) drop-shadow(0 -2px 0 #fff) drop-shadow(0 10px 10px rgba(30,20,60,.25))}
.mk .lbl{position:absolute;font:800 13px/1 var(--body);letter-spacing:.02em;color:#fff;text-align:center;white-space:nowrap}
.mk .shape{position:absolute}
.mk .note{left:22%;top:14%;width:56%;height:72%;border-radius:8px 16px 16px 8px;background:linear-gradient(160deg,#3B2A8A,#251B5A);box-shadow:inset 8px 0 0 rgba(255,255,255,.12),0 16px 24px -10px rgba(20,10,60,.5)}
.mk .note::before{content:"";position:absolute;inset:8%;background:radial-gradient(circle,#fff 1px,transparent 1.5px) 0 0/22px 22px;opacity:.35}
.mk .bottle{left:36%;top:10%;width:28%;height:80%;border-radius:22px 22px 26px 26px;background:linear-gradient(90deg,#CDBBF3,#F4EEFF 45%,#CDBBF3)}
.mk .bottle::before{content:"";position:absolute;left:18%;right:18%;top:-10%;height:13%;border-radius:8px 8px 4px 4px;background:#9C84E3}
.mk .mug{left:20%;top:26%;width:50%;height:52%;border-radius:8px 8px 22px 22px;background:linear-gradient(90deg,#2C2470,#433596 50%,#2C2470)}
.mk .mug::after{content:"";position:absolute;right:-26%;top:22%;width:32%;height:46%;border:9px solid #3A2F86;border-left:0;border-radius:0 40px 40px 0}
.mk .lunch{left:16%;top:28%;width:68%;height:52%;border-radius:22px;background:linear-gradient(180deg,#9F83EA,#7B5FD6)}
.mk .lunch::before{content:"";position:absolute;left:30%;right:30%;top:-20%;height:24%;border:8px solid #5D43B8;border-bottom:0;border-radius:30px 30px 0 0}
.mk .hood{left:14%;top:12%;width:72%;height:78%}
.mk .hood svg{width:100%;height:100%}
.mk .ring{position:absolute;left:50%;top:9%;width:34px;height:34px;margin-left:-17px;border-radius:50%;border:5px solid #C9CCD4}
.mk .chain{position:absolute;left:50%;top:22%;width:3px;height:14%;margin-left:-1px;background:repeating-linear-gradient(#B7BAC3 0 4px,transparent 4px 7px)}
.mk .card{position:absolute;width:38%;height:52%;border-radius:12px;background:linear-gradient(160deg,#5C3FD0,#2A1E70);border:3px solid #fff;box-shadow:0 10px 18px -8px rgba(20,10,60,.5);overflow:hidden;display:grid;place-items:end center}
.mk .card img{height:78%;width:auto}
.mk .sheet{left:14%;top:12%;width:72%;height:76%;border-radius:18px;background:#fff;box-shadow:0 14px 26px -12px rgba(30,20,60,.35)}
.mk .badgecard{left:24%;top:10%;width:52%;height:80%;border-radius:12px;background:linear-gradient(170deg,#3B2A8A,#1F1650)}
.mk .bdg2{position:absolute;width:30%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#E9E1FF);border:3px solid #CDBBF3;display:grid;place-items:end center;overflow:hidden}
.mk .bdg2 img{height:88%;width:auto}
.mk .clip{position:absolute;left:50%;top:6%;width:26px;height:46px;margin-left:-13px;border:5px solid #B7BAC3;border-radius:14px 14px 6px 6px}
.mk .plushbase{position:absolute;left:18%;right:18%;bottom:10%;height:12%;border-radius:50%;background:radial-gradient(closest-side,rgba(30,20,60,.25),transparent)}
.sx-kit{position:sticky;top:calc(96px + env(safe-area-inset-top,0px));border:1.5px solid var(--line);border-radius:28px;background:#fff;box-shadow:var(--sh-lg);padding:20px;display:grid;gap:14px}
.sx-kit h3{font:800 22px/1.1 var(--body)!important;letter-spacing:-.03em}
.kitbox{position:relative;height:210px;border-radius:22px;background:linear-gradient(180deg,#F5F0FF,#fff);overflow:hidden}
.kitbox .boxb{position:absolute;left:12%;right:12%;bottom:12px;height:46%;border-radius:10px 10px 18px 18px;background:linear-gradient(180deg,#8E6CE8,#6A47D4);box-shadow:inset 0 -10px 0 rgba(0,0,0,.08);z-index:3}
.kitbox .boxb::after{content:"BARNABUT SPARK KIT";position:absolute;left:0;right:0;bottom:18%;text-align:center;font:700 11px/1 var(--mono);letter-spacing:.16em;color:rgba(255,255,255,.75)}
.kitbox .lid{position:absolute;left:10%;right:10%;bottom:calc(12px + 46%);height:14%;border-radius:10px;background:#7B57DE;transform-origin:10% 100%;z-index:4}
.kitbox .items{position:absolute;left:14%;right:14%;bottom:calc(12px + 30%);height:46%;display:flex;align-items:flex-end;justify-content:center;z-index:2}
.kitbox .items img{height:60px;width:auto;margin:0 -10px;filter:drop-shadow(0 6px 6px rgba(30,20,60,.25))}
.kitbox .buddy{position:absolute;right:4px;top:6px;height:74px;width:auto;z-index:5}
.kitbox .say3{position:absolute;left:10px;top:10px;max-width:62%;background:#fff;border-radius:14px 14px 14px 4px;padding:8px 11px;font:600 13.5px/1.3 var(--body);box-shadow:var(--sh-sm);z-index:6}
.ship{display:grid;gap:6px;font-size:14px;color:var(--ink3)}
.ship .bar{height:10px;border-radius:10px;background:var(--line2);overflow:hidden}
.ship .bar i{display:block;height:100%;width:0;border-radius:10px;background:linear-gradient(90deg,#7B4FE0,var(--coral));transition:width .6s cubic-bezier(.3,1.3,.4,1)}
.kitlines{display:grid;gap:8px;max-height:220px;overflow:auto}
.kitlines .l{display:flex;align-items:center;gap:10px;font-size:14.5px}
.kitlines .l img{height:34px;width:34px;object-fit:contain;border-radius:8px;background:#F6F3FF}
.kitlines .l span{flex:1;min-width:0}
.kitlines .l b{font-weight:700}
.kitlines .l button{border:0;background:var(--line2);border-radius:8px;width:26px;height:26px;font-weight:700}
.kittot{display:flex;justify-content:space-between;align-items:baseline;font:900 28px/1 var(--body);letter-spacing:-.04em}
.kittot small{font:500 13px/1 var(--body);letter-spacing:0;color:var(--muted)}
.sx-kits{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:1100px){.sx-chars{grid-template-columns:repeat(4,1fr)}.sx-wrap{grid-template-columns:1fr}.sx-kit{position:relative;top:0}}
@media (max-width:640px){.sx-chars{grid-template-columns:repeat(3,1fr)}.sx-c .pic{width:72px;height:72px}.sx-c .pic img{height:66px}.sx-goods{grid-template-columns:1fr 1fr}.sx-kits{grid-template-columns:1fr}}

/* ---- AUTH pages ---- */
.auth{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,4vw,60px);padding-block:clamp(30px,4vw,60px) 70px;align-items:start}
.auth h1{font:900 clamp(40px,5vw,68px)/.96 var(--body)!important;letter-spacing:-.045em}
.auth h1 em{font-style:normal;background:linear-gradient(90deg,#7B4FE0,var(--no));-webkit-background-clip:text;background-clip:text;color:transparent}
.auth .lede{margin-top:16px}
.ticks3{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:10px}
.ticks3 li{color:var(--teal);font-weight:600;display:flex;gap:10px}
.ticks3 li::before{content:"✓"}
.buddies{margin-top:26px;border:1.5px solid #E9E2FA;border-radius:28px;background:linear-gradient(160deg,#F7F3FF,#fff);padding:20px}
.buddies .h{display:flex;align-items:center;gap:10px}
.buddies .h b{font:700 18px/1.1 var(--body)}
.buddies .h .pill{margin-left:auto;border:1.5px solid #D9CDF7;border-radius:999px;padding:6px 12px;font:600 13px/1 var(--body);color:#5B34C9}
.buddies .sub{color:var(--ink3);font-size:15px;margin-top:6px}
.bgrid{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;margin-top:14px}
.bgrid button{border:0;background:none;padding:6px 2px;border-radius:16px;display:grid;justify-items:center;gap:4px;font:600 12.5px/1 var(--body);color:#5B34C9}
.bgrid button img{height:64px;width:auto;transition:transform .3s cubic-bezier(.3,1.6,.4,1)}
.bgrid button:hover img{transform:translateY(-6px) rotate(-6deg)}
.bgrid button[aria-pressed="true"]{background:#EFE9FC}
.bdet{margin-top:14px;border:1.5px solid var(--line);border-radius:22px;background:#fff;padding:16px;display:grid;gap:10px}
.bdet .top{display:flex;align-items:center;gap:12px}
.bdet .top .av{width:62px;height:62px;border-radius:16px;background:#F4F2FB;display:grid;place-items:end center;overflow:hidden}
.bdet .top .av img{height:58px;width:auto}
.bdet .top b{font:800 20px/1.1 var(--body)}
.bdet .top small{display:block;color:#5B34C9;font-weight:600;font-size:14.5px}
.bdet .top .g{margin-left:auto;font:600 11px/1 var(--mono);letter-spacing:.14em;color:var(--muted);border-radius:999px;background:#F4F2FB;padding:7px 10px}
.bdet .it{display:flex;align-items:center;gap:12px;border:1.5px solid var(--line);border-radius:14px;padding:10px 12px}
.bdet .it small{display:block;font:600 10.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.bdet .it b{font:700 15.5px/1.2 var(--body)}
.authcard{position:sticky;top:calc(100px + env(safe-area-inset-top,0px));border:1.5px solid var(--line);border-radius:32px;background:#fff;box-shadow:var(--sh-lg);padding:clamp(22px,3.4vw,40px);overflow:hidden}
.authcard h2{font:900 clamp(30px,3vw,40px)/1 var(--body)!important;letter-spacing:-.04em}
.authcard .sub2{color:var(--ink3);margin-top:10px}
.atabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;background:#F4F5F7;border-radius:16px;padding:5px;margin-bottom:20px}
.atabs button{border:0;background:none;border-radius:12px;padding:11px 6px;font:600 14.5px/1 var(--body);color:var(--ink3)}
.atabs button[aria-selected="true"]{background:#fff;color:var(--ink);box-shadow:var(--sh-sm)}
.fld{display:grid;gap:7px;margin-top:16px}
.fld label{font:600 14.5px/1 var(--body)}
.fld input,.fld select{font:400 17px/1.3 var(--body);padding:15px 16px;border-radius:14px;border:1.5px solid #DADDE2;background:#fff;width:100%;min-width:0;transition:border-color .2s,box-shadow .2s}
.fld input:focus,.fld select:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 4px rgba(20,56,79,.1)}
.fld.bad input{border-color:var(--no);box-shadow:0 0 0 4px rgba(224,72,45,.1)}
.fld .err{display:none;color:var(--no);font-size:14px;font-weight:500}
.fld.bad .err{display:block}
.pw{position:relative}
.pw button{position:absolute;right:10px;top:50%;translate:0 -50%;border:0;background:#F4F5F7;border-radius:10px;padding:8px 10px;font:600 13px/1 var(--body)}
.bigbtn{width:100%;margin-top:22px;min-height:60px;border-radius:999px;border:0;background:var(--ink);color:#fff;font:700 18px/1 var(--body);display:flex;align-items:center;justify-content:center;gap:12px;transition:transform .15s,background .2s}
.bigbtn:disabled{background:#A4A6AB}
.bigbtn:not(:disabled):hover{background:var(--action-ink);transform:translateY(-1px)}
.alinks{display:grid;gap:10px;margin-top:20px;text-align:center;color:var(--ink3);font-size:15.5px}
.alinks a,.alinks button{color:#C0392B;font-weight:700;background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:3px;font-size:15.5px}
.secure{display:flex;gap:8px;justify-content:center;align-items:center;margin-top:18px;color:var(--muted);font-size:13.5px}
.peeker{position:absolute;right:18px;top:16px;height:92px;width:auto;transition:transform .35s cubic-bezier(.3,1.6,.4,1)}
.authcard.hide .peeker{transform:translateY(46px)}
.pinpad{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}
.pinpad button{border:1.5px solid var(--line);border-radius:18px;background:#fff;aspect-ratio:1;display:grid;place-items:end center;overflow:hidden;transition:transform .15s}
.pinpad button img{height:82%;width:auto}
.pinpad button:active{transform:scale(.92)}
.pinslots{display:flex;gap:10px;justify-content:center;margin-top:12px}
.pinslots i{width:58px;height:58px;border-radius:16px;border:2px dashed #D3D7DC;display:grid;place-items:end center;overflow:hidden}
.pinslots i img{height:52px;width:auto}
.ok-state{text-align:center;display:grid;justify-items:center;gap:12px;padding-top:8px}
.ok-state img{height:170px;width:auto}
.ok-state h3{font:900 30px/1 var(--body)!important;letter-spacing:-.04em}
.sso{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.sso button{border:1.5px solid var(--line);border-radius:14px;background:#fff;padding:13px;font:600 15px/1 var(--body)}
.sso button:hover{border-color:var(--ink)}
.orline{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13.5px;margin-top:18px}
.orline::before,.orline::after{content:"";flex:1;height:1px;background:var(--line)}
.steps4{display:flex;gap:8px;margin-bottom:18px}
.steps4 i{flex:1;height:6px;border-radius:6px;background:#EEF0F3;overflow:hidden;position:relative}
.steps4 i.on::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#7B4FE0,var(--no))}
.agegrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.agegrid button{border:1.5px solid var(--line);border-radius:18px;background:#fff;padding:12px;display:flex;align-items:center;gap:10px;text-align:left}
.agegrid button img{height:52px;width:auto}
.agegrid button b{display:block;font:700 16px/1.1 var(--body)}
.agegrid button small{color:var(--muted);font-size:13px}
.agegrid button[aria-pressed="true"]{border-color:#7B4FE0;box-shadow:0 0 0 4px #EFE9FC}
.pick6{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}
.pick6 button{border:1.5px solid var(--line);border-radius:18px;background:#fff;padding:8px 4px;display:grid;justify-items:center;gap:4px;font:600 13px/1 var(--body)}
.pick6 button img{height:62px;width:auto}
.pick6 button[aria-pressed="true"]{border-color:#7B4FE0;box-shadow:0 0 0 4px #EFE9FC;background:#FBF9FF}
.strength{height:6px;border-radius:6px;background:#EEF0F3;margin-top:4px;overflow:hidden}
.strength i{display:block;height:100%;width:0;transition:width .3s,background .3s}
.chk{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-size:14.5px;color:var(--ink2)}
.chk input{width:20px;height:20px;margin-top:2px;accent-color:#7B4FE0;flex:none}
@media (max-width:900px){.auth{grid-template-columns:1fr}.authcard{position:relative;top:0;order:-1}.bgrid{grid-template-columns:repeat(6,1fr)}}
@media (max-width:480px){.bgrid{grid-template-columns:repeat(4,1fr)}.pinpad{grid-template-columns:repeat(4,1fr)}}

/* global character life */
img.ch,.cc .pic img,.kit .art img{cursor:pointer}
.jiggle{animation:jig .5s ease}
@keyframes jig{30%{transform:rotate(-8deg) translateY(-6px)}60%{transform:rotate(6deg)}}
/* v3 fixes */
.ab-val .in{display:block}
.ab-val .f,.ab-val .bk{box-sizing:border-box}
.authcard{isolation:isolate;overflow:visible}
.authcard .peeker{z-index:-1;top:-78px;right:34px;height:104px}
.authcard.hide .peeker{transform:translateY(72px)}
.orbcard{margin-top:22px}
.tb-tick a{overflow:hidden}
.topband{overflow:visible;clip-path:inset(0 0 -100vh 0);z-index:90}
@media (max-width:900px){.tb-fam{grid-template-columns:1fr 1fr}.tb-fam a{padding:12px}}
/* crew */
.orb-ch{height:38%!important}
.orb-pals{position:absolute;inset:0;pointer-events:none;z-index:6}
.pal{position:absolute;left:0;top:0;border:0;background:none;padding:0;pointer-events:auto;cursor:pointer;transform-origin:50% 100%}
.pal img{display:block;width:100%;height:auto;filter:drop-shadow(0 6px 6px rgba(20,56,79,.22));pointer-events:none}
.pal.walker{width:42px;z-index:2}
.pal.walker img{transition:none}
.pal.peek{z-index:1}
.pal.crowd{z-index:3;pointer-events:none}
.pal .pb{position:absolute;left:50%;bottom:100%;translate:-50% -4px;background:#fff;border:2px solid #F1E7DA;border-radius:12px;padding:5px 9px;font:700 12.5px/1.1 var(--body);color:var(--ink);white-space:nowrap;opacity:0;pointer-events:none;box-shadow:0 8px 18px -10px rgba(120,80,40,.5)}
.pal-count{display:inline-flex;align-items:center;gap:10px;border:1.5px solid #F1E7DA;background:#FFFCF7;border-radius:999px;padding:6px 14px 6px 8px;font:500 13.5px/1 var(--body);color:var(--ink3);cursor:pointer;margin-top:4px}
.pal-count b{color:var(--ink);font-weight:700}
.pal-count .fx{display:flex}
.pal-count .fx img{width:24px;height:24px;object-fit:contain;margin-right:-6px;background:#fff;border-radius:50%;border:1.5px solid #F1E7DA}
.pal-count:hover{border-color:var(--no)}
.node .lbl{rotate:0deg}
/* compass: smaller guide + peeking friends */
.cg-peek{width:52px!important;margin-left:-26px!important;bottom:76%!important}
.cg-pal{position:absolute;width:40px;height:auto;pointer-events:none;filter:drop-shadow(0 4px 5px rgba(20,56,79,.25));opacity:0}
.cg-pal.l{left:-26px;top:38%;rotate:-18deg}
.cg-pal.r{right:-24px;top:30%;rotate:16deg}
.cg-pal.t{left:-8px;top:-12px;width:34px;rotate:-30deg}
html,body{overflow-x:clip}.hero{overflow-x:clip}
.pal-count{margin-top:52px}@media (max-width:860px){.pal-count{margin-top:44px}}


.ft{background:#131C2E;color:#C9D1DD;margin-top:60px;padding-block:72px calc(40px + env(safe-area-inset-bottom,0px));border:0}
.ft a{color:#E6EAF0;text-decoration:none}
.ft a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.ft-top{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:32px}
.ft-mark .bb-mark{width:44px}
.ft-fm{display:flex;align-items:center;gap:10px;font:900 28px/1 var(--body);letter-spacing:-.04em;color:#fff;margin:18px 0 12px}
.ft-fm i{width:9px;height:9px;border-radius:50%;background:var(--coral)}
.ft-brand p:not(.ft-fm){font-size:16px;line-height:1.6;max-width:36ch}
.ft-cta{margin-top:22px;background:linear-gradient(90deg,var(--no),var(--coral));color:#fff;box-shadow:0 14px 30px -12px rgba(240,96,95,.7)}
.ft-cta .arr{background:transparent;color:#fff}
.ft h4{font:600 13px/1 var(--body)!important;letter-spacing:.16em;text-transform:uppercase;color:#fff;margin-bottom:20px}
.ft ul{list-style:none;padding:0;margin:0;display:grid;gap:14px;font-size:16.5px}
.ft-mail li{display:flex;align-items:center;gap:8px;color:#E6EAF0}
.ft-mail button{border:1px solid rgba(255,255,255,.2);background:none;color:#C9D1DD;border-radius:8px;font:600 11.5px/1 var(--body);padding:5px 7px;opacity:0;transition:opacity .2s}
.ft-mail li:hover button,.ft-mail button:focus-visible{opacity:1}
.ft-safe{display:flex;gap:18px;align-items:center;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.1);margin-top:48px;padding-top:24px}
.ft-safe b{color:#fff;font-weight:800;font-size:17px}
.ft-safe a{color:#F4B183}
.ft-legal{display:flex;flex-wrap:wrap;gap:12px 30px;border-top:1px solid rgba(255,255,255,.1);margin-top:24px;padding-top:28px;font-size:15.5px}
.ft-legal a{color:#C9D1DD}
.ft-base{border-top:1px solid rgba(255,255,255,.1);margin-top:28px;padding-top:30px;display:grid;justify-items:center;gap:10px;text-align:center}
.ft-by{font:600 22px/1 Georgia,serif;color:#fff}
.ft-by b{font-weight:700}
.ft-by{font-size:15px;color:#A9B3C2;font-family:var(--body)}
.ft-by b{font:700 22px/1 Georgia,serif;color:#fff;margin-right:6px}
.mic{display:flex;align-items:center;gap:12px;background:#fff;border:0;border-left:10px solid #D52B1E;border-right:10px solid #D52B1E;border-radius:6px;padding:9px 18px;color:#D52B1E;cursor:pointer;margin-top:8px}
.mic svg{width:28px;height:28px;transition:transform .6s cubic-bezier(.3,1.6,.4,1)}
.mic b{display:block;font:800 14px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;text-align:left}
.mic small{display:block;font:400 12.5px/1.3 var(--body);color:var(--ink3);text-align:left;margin-top:3px}
.mic:hover svg{transform:rotate(-20deg) scale(1.15)}
.tapleaf{font:800 11.5px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;background:#D52B1E;color:#fff;border-radius:999px;padding:7px 12px;margin-top:-4px}
.ft-own{display:flex;align-items:center;gap:8px;font-size:14px;color:#A9B3C2;margin-top:8px}
.ft-own img{height:20px;width:auto}
.ft-own b{color:#fff}
.mleaf{position:fixed;z-index:150;width:26px;height:26px;pointer-events:none}
@media (max-width:980px){.ft-top{grid-template-columns:1fr 1fr}.ft-brand{grid-column:1/-1}}
@media (max-width:480px){.ft-top{grid-template-columns:1fr}}
.msay{position:absolute;left:50%;top:6%;translate:-50% 0;background:#fff;border:2px solid #F1E7DA;border-radius:16px;padding:8px 12px;font:700 14px/1.2 var(--body);white-space:nowrap;box-shadow:var(--sh-md);z-index:7;pointer-events:none;opacity:0}

/* ===================== v4 ===================== */
/* one typeface everywhere */
:root{}
*,*::before,*::after{font-family:"Inter","Inter Fallback",-apple-system,BlinkMacSystemFont,system-ui,sans-serif}
.kicker,.mono,.eyebrow,.yrs,.num,.k,.tb-tick a .tag,.tb-fam .st,.pm-label{font-family:"Inter",system-ui,sans-serif!important;font-weight:700!important;letter-spacing:.12em!important;text-transform:uppercase}
.wf,.section.band,.band{background:#fff}

/* ---------- FAMILY HERO ---------- */
.fam{padding-top:40px;overflow:hidden}
.fam-head{text-align:center}
.fam-title{font:900 clamp(44px,7vw,104px)/.95 var(--display);letter-spacing:-.05em;margin:14px auto 12px;max-width:14ch}
.fam-title em{font-style:normal;color:var(--no)}
.fam-head .lede{margin:0 auto;max-width:44ch}
.fam-stage{position:relative;height:min(560px,62vw);min-height:400px;margin:28px auto 0;max-width:1240px;perspective:1200px;border-radius:40px;background:radial-gradient(120% 90% at 50% 0%,#FFF6EC 0%,#FDEEF2 45%,#EEF2FF 100%);overflow:hidden;isolation:isolate}
.fs-sky i{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.95),rgba(255,255,255,0) 70%);width:120px;height:120px;filter:blur(2px);animation:bok 9s ease-in-out infinite}
.fs-sky i:nth-child(1){left:6%;top:8%}.fs-sky i:nth-child(2){left:24%;top:24%;width:70px;height:70px;animation-delay:-2s}.fs-sky i:nth-child(3){left:44%;top:6%;width:160px;height:160px;animation-delay:-4s}.fs-sky i:nth-child(4){left:66%;top:18%;animation-delay:-1s}.fs-sky i:nth-child(5){left:82%;top:4%;width:90px;height:90px;animation-delay:-6s}.fs-sky i:nth-child(6){left:14%;top:52%;width:50px;height:50px;animation-delay:-3s}.fs-sky i:nth-child(7){left:90%;top:44%;width:60px;height:60px;animation-delay:-5s}.fs-sky i:nth-child(8){left:56%;top:40%;width:40px;height:40px;animation-delay:-7s}
@keyframes bok{50%{transform:translateY(-18px) scale(1.08);opacity:.7}}
.fs-floor{position:absolute;left:-10%;right:-10%;bottom:-38%;height:70%;border-radius:50%;background:radial-gradient(60% 50% at 50% 30%,var(--bg),#F3E8DF 70%);box-shadow:inset 0 30px 60px -30px rgba(180,120,80,.3)}
.fs-beam{position:absolute;bottom:20%;width:360px;height:120%;margin-left:-180px;left:50%;background:linear-gradient(180deg,rgba(255,240,200,0),rgba(255,226,160,.45));clip-path:polygon(38% 0,62% 0,100% 100%,0 100%);transform-origin:50% 100%;pointer-events:none;mix-blend-mode:screen;transition:left .7s cubic-bezier(.3,1.3,.4,1)}
.sib{position:absolute;bottom:13%;width:28%;height:72%;border:0;background:none;padding:0;cursor:pointer;display:grid;justify-items:center;align-content:end;transform-style:preserve-3d;-webkit-tap-highlight-color:transparent}
.sib[data-s="bus"]{left:5%}.sib[data-s="but"]{left:36%}.sib[data-s="dum"]{left:67%}
.sib-art{position:relative;height:78%;display:grid;align-items:end;justify-items:center;transform-origin:50% 100%;z-index:2}
.sib-img,.tower{height:100%;width:auto;max-width:100%;filter:drop-shadow(0 26px 22px rgba(60,30,20,.22));transition:filter .4s}
.sib:not(.on) .sib-img,.sib:not(.on) .tower{filter:drop-shadow(0 20px 18px rgba(60,30,20,.16)) saturate(.85) brightness(.97)}
.sib-shadow{width:58%;height:18px;margin-top:-10px;border-radius:50%;background:radial-gradient(closest-side,rgba(80,40,20,.28),rgba(80,40,20,0));z-index:1}
.sib-tag{margin-top:8px;display:grid;gap:2px;text-align:center;background:#fff;border-radius:16px;padding:8px 14px;box-shadow:0 10px 24px -14px rgba(60,30,20,.4);transition:transform .35s cubic-bezier(.3,1.6,.4,1)}
.sib-tag b{font:800 18px/1 var(--body);letter-spacing:-.02em}.sib-tag small{font-size:13px;color:#6B6B72}
.sib.on .sib-tag{transform:scale(1.08);background:var(--ink);color:#fff}.sib.on .sib-tag small{color:#C9C9CF}
.ribbon{position:absolute;top:6%;right:-4%;background:#F0A92E;color:#fff;font:800 13px/1 var(--body);padding:7px 10px;border-radius:10px;rotate:12deg;box-shadow:0 8px 16px -8px rgba(160,90,0,.6)}
.tw-glow{animation:twg 3s ease-in-out infinite}@keyframes twg{50%{opacity:.4}}
.tw-beat{stroke-dasharray:60;stroke-dashoffset:60;animation:beat 2.2s linear infinite}@keyframes beat{to{stroke-dashoffset:-60}}
.fs-say{position:absolute;left:50%;top:7%;translate:-50% 0;background:#fff;border-radius:18px;padding:12px 18px;font:700 17px/1.3 var(--body);box-shadow:0 18px 40px -18px rgba(60,30,20,.45);max-width:min(440px,80%);text-align:center;opacity:0;z-index:5;pointer-events:none}
.puff{position:absolute;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 4px 10px rgba(0,0,0,.06);pointer-events:none;z-index:3}
.sib-card{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:16px;margin-top:-56px;position:relative;z-index:4}
.sib-card>div{background:#fff;border-radius:24px;padding:22px 24px;box-shadow:0 24px 50px -30px rgba(40,20,10,.35);border:1px solid #F1E9E1}
.sib-card .who b{display:block;font:900 30px/1 var(--display);letter-spacing:-.04em}
.sib-card .who span{display:inline-block;margin-top:10px;font:700 12px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--no)}
.sib-card h4{font:700 13px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:#8A8A92;margin-bottom:10px}
.sib-card p{font-size:16px;line-height:1.55;color:var(--ink2)}
.sib-card a{font-weight:700;color:var(--no)}
@media (max-width:860px){.fam-stage{height:440px;border-radius:28px}.sib{width:33%}.sib[data-s="bus"]{left:0}.sib[data-s="but"]{left:33.5%}.sib[data-s="dum"]{left:67%}.sib-tag b{font-size:15px}.sib-tag small{font-size:11.5px}.sib-card{grid-template-columns:1fr;margin-top:16px}.fs-say{font-size:14.5px}}

/* ---------- STORY ---------- */
.story{padding:110px 0 40px}
.st-intro{text-align:center;max-width:860px;margin:0 auto}
.st-intro h2{font:900 clamp(38px,5.4vw,76px)/1 var(--display);letter-spacing:-.045em;margin:14px 0}
.st-intro h2 em,.st-wide em,.m4-head h2 em,.sec-head h2 em{font-style:normal;color:var(--no)}
.acro{display:flex;justify-content:center;gap:clamp(6px,1.2vw,14px);margin:44px 0 10px;flex-wrap:wrap}
.acro button{width:clamp(62px,9vw,112px);height:clamp(84px,12vw,150px);perspective:700px;border:0;background:none;padding:0;cursor:pointer}
.acro .in{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.3,1.4,.4,1)}
.acro button[aria-pressed="true"] .in{transform:rotateY(180deg)}
.acro .f,.acro .b{position:absolute;inset:0;border-radius:22px;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:grid;place-items:center}
.acro .f{background:linear-gradient(160deg,#FFE2D6,#FFC2B0);font:900 clamp(40px,6vw,78px)/1 var(--display);color:#C2391F;box-shadow:inset 0 -6px 0 rgba(150,40,20,.15),0 14px 26px -16px rgba(150,40,20,.6)}
.acro button:nth-child(even) .f{background:linear-gradient(160deg,#E8E2FF,#CFC4FB);color:#5B34C9}
.acro .b{background:var(--ink);color:#fff;transform:rotateY(180deg);font:700 clamp(10.5px,1.2vw,15px)/1.15 var(--body);padding:8px;text-align:center}
.acro .b b{display:block;font:900 clamp(22px,3vw,40px)/1 var(--display);color:var(--coral);margin-bottom:6px}
.acro-cap{text-align:center;font-weight:600;color:#8A8A92;min-height:26px}
.acro-cap.win{color:var(--ink);font:800 clamp(17px,2vw,24px)/1.3 var(--body)}
.st-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin-top:70px}
.st-copy p,.st-wide p{font-size:clamp(17px,1.5vw,20px);line-height:1.65;color:var(--ink2);margin-bottom:18px}
.st-scene{position:relative;min-height:520px;border-radius:36px;background:radial-gradient(90% 70% at 50% 100%,#FFE9D6,#FFF7F0 60%,#F5F2FF);overflow:hidden}
.desk{position:absolute;left:50%;bottom:0;translate:-50% 0;width:78%;height:46%;background:linear-gradient(#8B5A3C,#6E4329);border-radius:26px 26px 0 0;box-shadow:inset 0 10px 0 #A36B47}
.st-nova{position:absolute;left:50%;bottom:70%;translate:-50% 0;height:250%;max-height:300px;width:auto;transform-origin:50% 100%;filter:drop-shadow(0 20px 18px rgba(60,30,10,.25));cursor:pointer}
.plate{position:absolute;left:50%;top:22%;translate:-50% 0;background:linear-gradient(#F7D77A,#D9A93A);border-radius:10px;padding:8px 18px;text-align:center;color:#4A3108;box-shadow:0 6px 0 #9C7420,0 12px 20px -8px rgba(0,0,0,.4);white-space:nowrap}
.plate small{display:block;font:700 10px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;opacity:.75}
.plate b{font:900 20px/1.2 var(--display);letter-spacing:-.02em}
.stamp{position:absolute;right:6%;top:-14%;border:4px solid var(--no);color:var(--no);border-radius:12px;padding:6px 12px;font:900 16px/1 var(--body);letter-spacing:.06em;text-transform:uppercase;rotate:-14deg;opacity:0;background:rgba(255,255,255,.85)}
.qbub{position:absolute;left:5%;top:7%;max-width:56%;background:#fff;border-radius:22px 22px 22px 6px;padding:14px 16px 12px 52px;box-shadow:0 16px 34px -18px rgba(60,30,10,.45);min-height:58px}
.qbub.r{left:auto;right:5%;top:30%;border-radius:22px 22px 6px 22px}
.qbub .qt{display:block;font:800 16px/1.35 var(--body);min-height:22px}
.qbub small{display:block;color:#8A8A92;font-size:12.5px;margin-top:4px}
.qplay{position:absolute;left:10px;top:12px;width:34px;height:34px;border-radius:50%;border:0;background:var(--no);color:#fff;font-size:13px;cursor:pointer;box-shadow:0 6px 12px -6px rgba(224,72,45,.8)}
.qplay.on{background:var(--ink)}
.promote{position:absolute;left:50%;bottom:4%;translate:-50% 0;z-index:3}
.st-wide{max-width:860px;margin:80px auto 0;text-align:center}
.st-wide .big{font:900 clamp(30px,4vw,54px)/1.05 var(--display);letter-spacing:-.04em;color:var(--ink)}
.meet-nova{display:grid;grid-template-columns:auto 1fr;gap:34px;align-items:center;max-width:900px;margin:70px auto 0;background:linear-gradient(120deg,#F4EFFF,#FFF1EC);border-radius:32px;padding:28px 36px}
.mn-img{height:220px;width:auto;filter:drop-shadow(0 18px 16px rgba(60,30,90,.25));transform-origin:50% 100%}
.meet-nova h3{font:800 clamp(22px,2.4vw,30px)/1.15 var(--display);letter-spacing:-.03em;margin:10px 0 8px}
.env{max-width:760px;margin:80px auto 0;display:grid;justify-items:center}
.env-btn{position:relative;width:min(520px,92%);aspect-ratio:1.6;border:0;background:none;padding:0;cursor:pointer;perspective:900px}
.env-back,.env-front,.env-flap{position:absolute;inset:0;border-radius:18px}
.env-back{background:#E9C7A6}
.env-front{background:linear-gradient(160deg,#F7DDC2,#EDC49D);clip-path:polygon(0 30%,50% 64%,100% 30%,100% 100%,0 100%);border-radius:0 0 18px 18px;z-index:3}
.env-flap{background:#F2D2B2;clip-path:polygon(0 0,100% 0,50% 62%);transform-origin:50% 0;z-index:4;transition:transform .7s cubic-bezier(.3,1.2,.4,1)}
.env-btn[aria-expanded="true"] .env-flap{transform:rotateX(180deg);z-index:1}
.env-letter{position:absolute;left:7%;right:7%;top:8%;bottom:10%;background:#fff;border-radius:10px;z-index:2;display:grid;place-items:start center;padding-top:18px;transition:transform .8s cubic-bezier(.3,1.3,.4,1) .3s;box-shadow:0 10px 30px -14px rgba(0,0,0,.3)}
.env-btn[aria-expanded="true"] .env-letter{transform:translateY(-46%)}
.env-to{font:800 20px/1 var(--body);font-style:italic;color:#8B5A3C}
.env-seal{position:absolute;left:50%;top:52%;translate:-50% -50%;width:60px;height:60px;border-radius:50%;background:var(--no);color:#fff;display:grid;place-items:center;font-size:26px;z-index:5;box-shadow:0 8px 16px -6px rgba(150,30,10,.7);transition:opacity .3s,transform .4s}
.env-btn[aria-expanded="true"] .env-seal{opacity:0;transform:scale(.4)}
.env-hint{position:absolute;left:50%;bottom:-42px;translate:-50% 0;font-weight:700;color:#8A8A92;white-space:nowrap}
.env-btn[aria-expanded="true"] .env-hint{opacity:0}
.letter{margin-top:-30px;background:#FFFDF9;border:1px solid #F1E5D6;border-radius:24px;padding:40px clamp(22px,5vw,56px);box-shadow:0 30px 60px -36px rgba(80,40,10,.4);position:relative;z-index:6}
.letter p{font-size:clamp(17px,1.6vw,20px);line-height:1.75;color:var(--ink2);margin-bottom:16px}
.letter .to{font:800 24px/1.2 var(--body);font-style:italic;color:#8B5A3C}
.letter .sig{font-style:italic}.letter .sig b{font-size:28px;font-style:italic;color:var(--no)}
.letter .sigby{font-size:14px;color:#8A8A92;margin:0}
.st-close{text-align:center;max-width:760px;margin:70px auto 0}
.st-close p:first-child{font:800 clamp(24px,3vw,38px)/1.2 var(--display);letter-spacing:-.03em;margin-bottom:14px}
@media (max-width:860px){.st-grid{grid-template-columns:1fr;gap:28px}.st-scene{min-height:460px}.meet-nova{grid-template-columns:1fr;text-align:center;justify-items:center;padding:24px}.mn-img{height:170px}.qbub{max-width:70%}}

/* ---------- MAP ---------- */
.map4{padding:clamp(28px,4vw,48px)}
.m4-head{display:flex;justify-content:space-between;gap:20px;align-items:end;flex-wrap:wrap}
.m4-head h2{font:900 clamp(34px,4.6vw,64px)/1 var(--display);letter-spacing:-.045em;margin:10px 0 12px;color:#fff}
.m4-head p:not(.eyebrow){max-width:56ch;color:#C9C2B8}
.m4-fly{background:#fff;color:var(--ink)}
.m4{position:relative;margin-top:26px;aspect-ratio:1000/372;width:100%}
.m4 canvas{position:absolute;inset:0;width:100%;height:100%}
.m4-arcs{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.m4-plane{position:absolute;left:0;top:0;width:52px;height:auto;pointer-events:none;z-index:4;filter:drop-shadow(0 8px 8px rgba(0,0,0,.4));opacity:0}
.m4-pins{position:absolute;inset:0}
.pin4{position:absolute;translate:-50% -50%;border:0;background:none;padding:0;cursor:pointer;display:grid;justify-items:center;color:#fff;z-index:2}
.pin4 i{width:14px;height:14px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 5px rgba(240,96,95,.25);position:relative;transition:transform .3s cubic-bezier(.3,1.8,.4,1)}
.pin4 i::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--coral);animation:pulse 2.4s ease-out infinite}
.pin4.hq i{background:#FFC94D;box-shadow:0 0 0 6px rgba(255,201,77,.3)}.pin4.hq i::after{border-color:#FFC94D}
.pin4 span{margin-top:6px;font:700 12.5px/1 var(--body);background:rgba(255,255,255,.1);backdrop-filter:blur(4px);border-radius:8px;padding:5px 7px;white-space:nowrap;transition:background .2s}
.pin4:hover i,.pin4.on i{transform:scale(1.5)}
.pin4.on span{background:var(--coral)}
.m4-card{position:absolute;left:2%;bottom:3%;width:min(340px,70%);background:#fff;color:var(--ink);border-radius:20px;padding:14px 16px;display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;box-shadow:0 24px 50px -20px rgba(0,0,0,.6);z-index:5;opacity:0;pointer-events:none}
.m4-card img{height:64px;width:auto}
.m4-card b{display:block;font:800 18px/1.1 var(--body)}
.m4-card .hi{font:800 15px/1.2 var(--body);color:var(--no);margin:3px 0}
.m4-card small{display:block;color:var(--ink3);font-size:13.5px;line-height:1.4}
@media (max-width:700px){.pin4 span{font-size:10px;padding:3px 5px}.pin4:not(.on):not(.hq) span{display:none}.pin4 i{width:10px;height:10px}.m4-card{position:relative;left:0;bottom:0;width:100%;margin-top:12px;opacity:1}}

/* ---------- PROMISE MACHINE ---------- */
.pm{display:grid;grid-template-columns:minmax(280px,420px) 1fr;gap:44px;align-items:center}
.pm-machine{position:relative;display:grid;justify-items:center}
.pm-dome{position:relative;width:300px;height:280px;border-radius:50% 50% 40% 40%;background:radial-gradient(circle at 32% 26%,rgba(255,255,255,.95) 0 8%,rgba(255,255,255,.25) 9% 30%,rgba(225,240,255,.35) 60%,rgba(200,220,255,.5));border:6px solid #E3E9F7;overflow:hidden;box-shadow:inset 0 -20px 40px rgba(120,140,200,.25)}
.cap{position:absolute;width:74px;height:74px;border-radius:50%;overflow:hidden;box-shadow:inset -6px -8px 0 rgba(0,0,0,.12),0 6px 10px -6px rgba(0,0,0,.3)}
.cap::before{content:"";position:absolute;left:0;right:0;top:0;height:50%;background:rgba(255,255,255,.55)}
.cap::after{content:"";position:absolute;left:0;right:0;top:calc(50% - 2px);height:4px;background:rgba(0,0,0,.12)}
.pm-body{position:relative;width:250px;height:190px;margin-top:-10px;background:linear-gradient(var(--coral),#C93B22);border-radius:18px 18px 28px 28px;box-shadow:inset 0 -12px 0 rgba(0,0,0,.15),0 24px 40px -20px rgba(150,30,10,.6)}
.pm-label{position:absolute;left:50%;top:16px;translate:-50% 0;background:#fff;color:#C93B22;font-size:11.5px;padding:6px 10px;border-radius:8px;white-space:nowrap}
.pm-crank{position:absolute;left:50%;top:54px;margin-left:-38px;width:76px;height:76px;border-radius:50%;border:0;background:radial-gradient(circle at 40% 35%,#FFF3D6,#F1C35B);box-shadow:0 6px 0 #B7861F,0 10px 18px -6px rgba(0,0,0,.4);cursor:grab;touch-action:none}
.pm-knob{position:absolute;left:50%;top:6px;margin-left:-9px;width:18px;height:34px;border-radius:9px;background:#C93B22;box-shadow:inset 0 -4px 0 rgba(0,0,0,.2)}
.pm-slot{position:absolute;left:50%;bottom:16px;margin-left:-44px;width:88px;height:34px;border-radius:12px;background:#4A1408;box-shadow:inset 0 6px 10px rgba(0,0,0,.5)}
.pm-left{position:absolute;right:14px;bottom:20px;font:800 12px/1 var(--body);color:#FFE3D8}
.pm-tray{position:relative;width:250px;height:110px}
.pm-cap-out{position:absolute;left:50%;top:-40px;margin-left:-40px;width:80px;height:80px;border:0;padding:0;background:none;cursor:pointer;z-index:4}
.pm-cap-out .h{position:absolute;left:0;right:0;height:50%;overflow:hidden}
.pm-cap-out .h.t{top:0;border-radius:40px 40px 0 0}.pm-cap-out .h.b{bottom:0;border-radius:0 0 40px 40px}
.pm-cap-out .h.t{background:linear-gradient(#fff,#F3F3F7)}
.pm-cap-out .tap{position:absolute;left:50%;top:100%;translate:-50% 6px;font:800 12px/1 var(--body);white-space:nowrap;color:var(--no)}
.pm-reveal{position:absolute;left:50%;bottom:20px;translate:-50% 0;width:min(330px,92vw);background:#fff;border-radius:22px;padding:16px 18px 16px 104px;box-shadow:0 30px 60px -26px rgba(40,20,10,.55);z-index:6;min-height:110px}
.pm-reveal img{position:absolute;left:10px;bottom:10px;height:120px;width:auto}
.pm-reveal b{display:block;font:900 22px/1.1 var(--display);letter-spacing:-.03em;margin-bottom:6px}
.pm-reveal p{font-size:14.5px;line-height:1.45;color:var(--ink2)}
.pm-shelf{background:#FFF8F1;border:1px solid #F1E5D6;border-radius:28px;padding:22px}
.pm-sh{display:flex;justify-content:space-between;font-size:15px;margin-bottom:14px}
.pm-got{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.pm-g{background:#fff;border-radius:18px;padding:14px;display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;border:2px dashed #EADBC9;min-height:96px}
.pm-g.got{border-style:solid;border-color:var(--vc,#F1E5D6);background:linear-gradient(135deg,#fff,var(--vb,#fff))}
.pm-g img{height:66px;width:auto}
.pm-g b{display:block;font:800 16px/1.15 var(--body)}
.pm-g small{font-size:13px;color:var(--ink3);line-height:1.4;display:block;margin-top:3px}
.pm-g.empty{color:#C3B6A6;font-weight:700;justify-items:center;grid-template-columns:1fr;text-align:center}
.pm-done{margin-top:14px;font:800 18px/1.3 var(--body);color:var(--ok)}
@media (max-width:860px){.pm{grid-template-columns:1fr}.pm-got{grid-template-columns:1fr}}

/* ---------- SHOP WORKSHOP ---------- */
.ws-hero{padding:46px 0 10px}
.ws-hgrid{display:grid;grid-template-columns:1.2fr 1fr;gap:30px;align-items:center}
.ws-hero h1{font:900 clamp(44px,6vw,88px)/.95 var(--display);letter-spacing:-.05em;margin:14px 0}
.ws-hero h1 em{font-style:normal;color:var(--no)}
.ws-steps{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.ws-steps span{display:inline-flex;align-items:center;gap:8px;background:#F6F2FF;border-radius:999px;padding:8px 14px 8px 8px;font-weight:700;font-size:14.5px}
.ws-steps b{width:24px;height:24px;border-radius:50%;background:#6A42E6;color:#fff;display:grid;place-items:center;font-size:12.5px}
.ws-bench{position:relative;height:300px}
.ws-shelf{position:absolute;left:4%;right:4%;bottom:40px;height:22px;border-radius:10px;background:linear-gradient(#C58B5B,#9A6338);box-shadow:0 14px 24px -12px rgba(90,50,20,.6)}
.ws-bench img{position:absolute;bottom:60px;height:150px;width:auto;filter:drop-shadow(0 16px 14px rgba(60,30,10,.28));transform-origin:50% 100%}
.ws-p1{left:8%}.ws-p2{left:38%;height:180px!important}.ws-p3{left:68%;height:130px!important}
.ws-box{position:absolute;right:2%;bottom:60px;width:120px;height:90px;background:linear-gradient(#D9A46C,#B47A44);border-radius:8px;box-shadow:inset 0 -8px 0 rgba(0,0,0,.1)}
.ws-box::after{content:"";position:absolute;left:44%;top:0;bottom:0;width:12%;background:rgba(255,255,255,.35)}
.ws-pick{margin-top:30px;background:#fff;border:1px solid #EFE9F7;border-radius:32px;padding:24px;box-shadow:0 30px 60px -44px rgba(60,30,120,.4)}
.ws-stage{position:relative;height:420px;border-radius:26px;overflow:hidden;background:radial-gradient(70% 90% at 50% 100%,var(--sb,#F1ECFF),#fff 75%);transition:background .6s;display:grid;grid-template-columns:1fr 1fr;align-items:center}
.ws-spot{position:absolute;left:10%;top:-20%;width:40%;height:140%;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,248,220,.75));clip-path:polygon(40% 0,60% 0,100% 100%,0 100%);pointer-events:none}
.ws-plinth{position:relative;height:100%;display:grid;align-items:end;justify-items:center;padding-bottom:36px}
.ws-plinth img{height:290px;width:auto;max-width:90%;object-fit:contain;position:relative;z-index:2;transform-origin:50% 100%;filter:drop-shadow(0 26px 22px rgba(40,20,60,.28))}
.ws-pl{position:absolute;bottom:22px;width:62%;height:44px;border-radius:50%;background:linear-gradient(#fff,#EEE7FB);box-shadow:0 14px 24px -12px rgba(60,30,120,.45),inset 0 -6px 0 rgba(60,30,120,.08)}
.ws-info{padding:20px 60px 20px 10px}
.ws-info .tg{display:inline-flex;gap:6px;align-items:center;font:800 12px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:#6A42E6;background:#F1ECFF;border-radius:999px;padding:7px 11px}
.ws-info .tg.gold{background:linear-gradient(90deg,#FFE7A0,#F7C64C);color:#6B4700}
.ws-info h3{font:900 clamp(40px,5vw,68px)/.95 var(--display);letter-spacing:-.05em;margin:14px 0 8px}
.ws-info .line{font:700 19px/1.35 var(--body);color:var(--ink2)}
.ws-info .hab{margin-top:10px;color:var(--ink3);font-size:15.5px;line-height:1.5}
.ws-info .row{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
.ws-arr{position:absolute;top:50%;width:48px;height:48px;margin-top:-24px;border-radius:50%;border:0;background:#fff;box-shadow:0 10px 20px -10px rgba(0,0,0,.35);font-size:26px;line-height:1;cursor:pointer;z-index:4}
.ws-arr.l{left:14px}.ws-arr.r{right:14px}
.ws-stage.gold{background:radial-gradient(70% 90% at 50% 100%,#FFE9A8,#FFF8E6 60%,#fff)}
.ws-stage.gold .ws-pl{background:linear-gradient(#FFF1C2,#F2C24E);box-shadow:0 14px 24px -12px rgba(160,100,0,.6),inset 0 -6px 0 rgba(120,80,0,.15)}
.ws-stage .crown{position:absolute;z-index:3;font-size:40px;left:25%;translate:-50% 0;top:28px;filter:drop-shadow(0 6px 6px rgba(160,100,0,.4))}
.ws-filt{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 12px}
.ws-filt button{border:1.5px solid #E8E2F3;background:#fff;border-radius:999px;padding:9px 15px;font-weight:700;font-size:14px;cursor:pointer}
.ws-filt button[aria-selected="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.ws-strip{display:flex;gap:10px;overflow-x:auto;padding:6px 4px 14px;scroll-snap-type:x proximity;scrollbar-width:thin}
.ws-t{flex:none;width:104px;border:2px solid #EFEAF6;background:#fff;border-radius:20px;padding:8px 6px 10px;display:grid;justify-items:center;gap:4px;cursor:pointer;scroll-snap-align:start;transition:transform .25s,border-color .25s}
.ws-t:hover{transform:translateY(-4px)}
.ws-t .p{width:76px;height:76px;border-radius:16px;display:grid;place-items:end center;overflow:hidden;background:var(--cb,#F4EFFF)}
.ws-t img{height:72px;width:auto;max-width:74px;object-fit:contain}
.ws-t b{font-size:13.5px}
.ws-t[aria-pressed="true"]{border-color:#6A42E6;box-shadow:0 0 0 4px #EDE6FF}
.ws-t.gold{background:linear-gradient(#FFF8E3,#fff);border-color:#F2C24E}
.ws-t.gold .p{background:linear-gradient(#FFE9A8,#FFF3CF)}
.ws-t.gold::before{content:"★ The original";font:800 10px/1 var(--body);letter-spacing:.04em;color:#8A5B00}
@media (max-width:860px){.ws-hgrid{grid-template-columns:1fr}.ws-bench{height:220px}.ws-bench img{height:110px}.ws-p2{height:130px!important}.ws-p3{height:96px!important}.ws-stage{grid-template-columns:1fr;height:auto;padding-top:10px}.ws-plinth{height:280px}.ws-plinth img{height:220px}.ws-info{padding:6px 20px 24px;text-align:center}.ws-info .row{justify-content:center}.ws-stage .crown{left:50%}.ws-arr{top:140px}}

/* goods */
.sx-g .mk{cursor:pointer;transition:transform .35s cubic-bezier(.3,1.5,.4,1)}
.sx-g:hover .mk{transform:translateY(-6px) rotate(-1deg)}
.sx-g .nm{border:2px dashed #E3DBF3;border-radius:999px;background:#FDFBFF;font-weight:600}
/* kit box (3D cardboard) */
.kb{position:sticky;top:100px;background:#fff;border:1px solid #EFE9F7;border-radius:28px;padding:20px;box-shadow:0 30px 60px -44px rgba(60,30,120,.45)}
.kb h3{font:900 24px/1 var(--display);letter-spacing:-.03em;display:flex;justify-content:space-between;align-items:center}
.kb h3 small{font:600 13px/1 var(--body);color:#8A8A92}
.kb-scene{position:relative;height:250px;margin:14px 0 6px;border-radius:20px;background:radial-gradient(80% 80% at 50% 100%,#FFF2E2,#fff 70%);perspective:800px;overflow:hidden}
.kb-box{position:absolute;left:50%;bottom:36px;width:200px;height:120px;margin-left:-100px;transform-style:preserve-3d;transform:rotateX(-14deg)}
.kb-front{position:absolute;inset:0;background:linear-gradient(#D9A46C,#C08650);border-radius:6px;z-index:3;box-shadow:inset 0 -10px 0 rgba(0,0,0,.08)}
.kb-front::after{content:"";position:absolute;left:46%;top:0;bottom:0;width:8%;background:rgba(255,255,255,.25)}
.kb-label{position:absolute;left:50%;top:50%;translate:-50% -50%;background:#fff;border-radius:8px;padding:6px 10px;min-width:110px;text-align:center;font:800 13px/1.15 var(--body);color:#5A3A1A;box-shadow:0 4px 8px -4px rgba(0,0,0,.3);z-index:4}
.kb-label small{display:block;font:700 9px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:#B07A45;margin-bottom:3px}
.kb-back{position:absolute;left:0;right:0;top:-26px;height:40px;background:#A8723F;border-radius:6px 6px 0 0;z-index:1}
.kb-flap{position:absolute;top:-1px;height:54px;background:linear-gradient(#E0B07A,#C99159);transform-origin:50% 0;z-index:5;transition:transform .55s cubic-bezier(.3,1.3,.4,1);border-radius:3px}
.kb-flap.l{left:0;width:50%;transform-origin:0 0;transform:rotateZ(0deg) rotateX(180deg)}
.kb-flap.r{right:0;width:50%;transform-origin:100% 0;transform:rotateX(180deg)}
.kb.open .kb-flap.l{transform:rotate(-128deg)}.kb.open .kb-flap.r{transform:rotate(128deg)}
.kb.sealed .kb-flap.l,.kb.sealed .kb-flap.r{transform:rotateX(0deg) translateY(-54px) scaleY(.0)}
.kb-tape{position:absolute;left:44%;top:-6px;width:12%;height:0;background:#F3E4B5;z-index:6;border-radius:2px;box-shadow:0 1px 0 rgba(0,0,0,.1)}
.kb-items{position:absolute;left:12px;right:12px;top:-60px;height:80px;z-index:2;display:flex;justify-content:center;align-items:end;gap:0}
.kb-items img{height:70px;width:auto;margin:0 -8px;filter:drop-shadow(0 6px 6px rgba(0,0,0,.25))}
.kb-buddy{position:absolute;right:6px;bottom:30px;height:110px;width:auto;z-index:6;transform-origin:50% 100%;filter:drop-shadow(0 10px 10px rgba(0,0,0,.2))}
.kb-say{position:absolute;left:10px;top:10px;max-width:62%;background:#fff;border-radius:14px;padding:8px 11px;font:700 13.5px/1.3 var(--body);box-shadow:0 10px 20px -12px rgba(0,0,0,.35);z-index:7}
.kb-name{display:flex;gap:8px;align-items:center;margin:8px 0 4px}
.kb-name input{flex:1;border:2px dashed #E3DBF3;border-radius:12px;padding:9px 12px;font:600 15px/1 var(--body);background:#FDFBFF}
.kb-road{position:relative;height:56px;margin:14px 0 4px;border-radius:14px;background:#F4F4F6;overflow:hidden}
.kb-road::before{content:"";position:absolute;left:10px;right:56px;top:50%;border-top:3px dashed #D2D2D8}
.kb-house{position:absolute;right:10px;top:50%;translate:0 -50%;font-size:28px}
.kb-truck{position:absolute;left:6px;top:50%;translate:0 -54%;font-size:30px;transition:left .8s cubic-bezier(.3,1.2,.4,1);transform:scaleX(-1)}
.kb-roadtxt{font-size:14px;color:var(--ink3);margin-bottom:10px}
.kb-roadtxt b{color:var(--ink)}
.kb-lines{display:grid;gap:8px;max-height:220px;overflow:auto;margin:10px 0}
.kb-l{display:grid;grid-template-columns:auto 1fr auto auto auto;gap:8px;align-items:center;font-size:14px}
.kb-l img{width:34px;height:34px;object-fit:contain;background:#F6F2FF;border-radius:10px}
.kb-l button{width:28px;height:28px;border-radius:50%;border:1.5px solid #E8E2F3;background:#fff;font-weight:800;cursor:pointer}
.kb-tot{display:flex;justify-content:space-between;align-items:baseline;margin:10px 0}
.kb-tot b{font:900 30px/1 var(--display);letter-spacing:-.03em}
.kb-tot small{color:#8A8A92}
.kb .seal{width:100%;justify-content:center}
.flyer{position:fixed;z-index:200;pointer-events:none;object-fit:contain}
/* gifts (ready-made kits) */
.gifts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.gift{position:relative;border-radius:26px;background:var(--gb,#F4EFFF);padding:18px 18px 20px;display:grid;gap:10px;overflow:hidden}
.gift-stage{position:relative;height:210px;display:grid;place-items:end center;cursor:pointer;border:0;background:none;padding:0}
.gift-box{position:relative;width:150px;height:110px;margin-bottom:6px;z-index:2}
.gift-b{position:absolute;inset:0;background:var(--gc,#7B55E8);border-radius:10px;box-shadow:inset 0 -10px 0 rgba(0,0,0,.12)}
.gift-b::after,.gift-lid::after{content:"";position:absolute;left:44%;top:0;bottom:0;width:12%;background:var(--gr,#FFD45E)}
.gift-lid{position:absolute;left:-10px;right:-10px;top:-26px;height:30px;background:var(--gc,#7B55E8);filter:brightness(1.1);border-radius:8px;z-index:3;transform-origin:20% 100%;transition:transform .6s cubic-bezier(.3,1.6,.4,1)}
.gift-bow{position:absolute;left:50%;top:-30px;translate:-50% 0;font-size:34px;line-height:1}
.gift.open .gift-lid{transform:translateY(-40px) rotate(-24deg)}
.gift-items{position:absolute;left:0;right:0;bottom:60px;height:150px;z-index:1;pointer-events:none}
.gift-items span{position:absolute;left:50%;bottom:0;translate:-50% 0;background:#fff;border-radius:12px;padding:6px 9px;font:700 12px/1.2 var(--body);white-space:nowrap;box-shadow:0 8px 16px -10px rgba(0,0,0,.4);opacity:0}
.gift-items img{position:absolute;left:50%;bottom:10px;translate:-50% 0;height:120px;width:auto;opacity:0}
.gift .peek{position:absolute;left:50%;top:10px;translate:-50% 0;font:800 12px/1 var(--body);background:#fff;border-radius:999px;padding:7px 11px;color:#5B34C9;z-index:4}
.gift.open .peek{opacity:0}
.gift h4{font:800 20px/1.1 var(--body);letter-spacing:-.02em}
.gift .meta{display:flex;gap:6px;flex-wrap:wrap}
.gift .chip{font-size:12px}
.gift .row{display:flex;justify-content:space-between;align-items:center;gap:10px}
.gift .pr{font:900 24px/1 var(--display);letter-spacing:-.03em}
@media (max-width:980px){.gifts{grid-template-columns:1fr 1fr}}@media (max-width:600px){.gifts{grid-template-columns:1fr}}
/* kit promises */
.kp{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:26px 0 10px}
.kp-c{position:relative;border:0;text-align:left;border-radius:24px;padding:18px 18px 18px 96px;min-height:124px;background:var(--kb,#F6F2FF);cursor:pointer;overflow:hidden;transition:transform .3s cubic-bezier(.3,1.5,.4,1)}
.kp-c:hover{transform:translateY(-4px)}
.kp-c img{position:absolute;left:8px;bottom:6px;height:96px;width:auto;transform-origin:50% 100%;transition:transform .4s cubic-bezier(.3,1.6,.4,1)}
.kp-c:hover img{transform:rotate(-6deg) scale(1.08)}
.kp-c b{display:block;font:800 17px/1.15 var(--body)}
.kp-c small{display:block;margin-top:5px;font-size:14px;line-height:1.4;color:var(--ink2)}
.kp-c .joke{display:block;margin-top:8px;font:700 13px/1.35 var(--body);color:var(--no);max-height:0;overflow:hidden;transition:max-height .4s}
.kp-c[aria-expanded="true"] .joke{max-height:80px}
@media (max-width:980px){.kp{grid-template-columns:1fr 1fr}}@media (max-width:560px){.kp{grid-template-columns:1fr}}

/* ---------- LEGAL ---------- */
.lg{display:grid;grid-template-columns:280px 1fr;gap:40px;padding-bottom:60px;align-items:start}
.lg-nav{position:sticky;top:96px;display:grid;gap:4px;background:#FAFAFB;border-radius:22px;padding:12px}
.lg-nav button{display:flex;gap:10px;align-items:center;border:0;background:none;text-align:left;padding:10px 12px;border-radius:12px;font:600 15px/1.2 var(--body);cursor:pointer;color:var(--ink2)}
.lg-nav button img{width:28px;height:28px;object-fit:contain}
.lg-nav button[aria-current="true"]{background:#fff;box-shadow:0 8px 18px -12px rgba(0,0,0,.3);color:var(--ink)}
.lg-doc{max-width:760px}
.lg-doc h2{font:900 clamp(32px,4vw,52px)/1 var(--display);letter-spacing:-.04em;margin-bottom:10px}
.lg-doc .eff{color:#8A8A92;margin-bottom:26px;font-weight:600}
.lg-doc h3{font:800 21px/1.25 var(--body);letter-spacing:-.02em;margin:30px 0 10px}
.lg-doc p,.lg-doc li{font-size:16.5px;line-height:1.7;color:var(--ink2)}
.lg-doc p{margin-bottom:12px}.lg-doc ul{padding-left:20px;margin-bottom:12px}
.lg-doc a{color:var(--no);font-weight:600}
@media (max-width:860px){.lg{grid-template-columns:1fr}.lg-nav{position:static;grid-template-columns:1fr 1fr}}

/* ---------- SCHOOLS WORKFLOW ---------- */
.wf{padding:90px 0}
.wf-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:40px;align-items:center}
.wf-steps{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.wf-steps button{position:relative;width:100%;display:grid;grid-template-columns:auto 1fr;gap:16px;text-align:left;border:1.5px solid #EFEFF2;background:#fff;border-radius:22px;padding:18px 20px;cursor:pointer;overflow:hidden;transition:border-color .3s,box-shadow .3s}
.wf-steps .n{width:42px;height:42px;border-radius:14px;background:#F4F4F6;display:grid;place-items:center;font:900 18px/1 var(--display);transition:background .3s,color .3s}
.wf-steps b{display:block;font:800 19px/1.2 var(--body);letter-spacing:-.02em}
.wf-steps small{display:block;margin-top:5px;font-size:15px;line-height:1.5;color:var(--ink3)}
.wf-steps i{position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--no)}
.wf-steps button.on{border-color:var(--ink);box-shadow:0 20px 40px -28px rgba(0,0,0,.4)}
.wf-steps button.on .n{background:var(--no);color:#fff}
.wf-room{position:relative;border-radius:32px;background:linear-gradient(#F3F6FF,#FFF7EF);padding:26px 26px 20px;min-height:470px;overflow:hidden}
.wf-board{position:relative;height:250px;border-radius:18px;background:#1F2A44;box-shadow:0 0 0 10px #E9DCCB,0 20px 40px -20px rgba(0,0,0,.4);overflow:hidden;color:#fff;padding:18px}
.wf-desks{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:34px}
.desk2{position:relative;height:110px;display:grid;justify-items:center;align-content:end}
.desk2 img{height:78px;width:auto;z-index:1;transform-origin:50% 100%}
.desk2 .tab{position:absolute;bottom:20px;width:54px;height:36px;border-radius:6px;background:#2B3756;z-index:2;box-shadow:0 0 0 3px #CBD3E6}
.desk2 .tab.lit{background:#5BD0B4}
.desk2 .top{width:100%;height:16px;border-radius:6px;background:#C99159;z-index:3}
.desk2 .bub{position:absolute;top:-24px;left:50%;translate:-50% 0;background:#fff;border-radius:12px;padding:5px 8px;font:700 11.5px/1.2 var(--body);white-space:nowrap;box-shadow:0 8px 16px -10px rgba(0,0,0,.4);opacity:0;z-index:4}
.wf-play{position:absolute;right:16px;bottom:16px;width:40px;height:40px;border-radius:50%;border:0;background:var(--ink);color:#fff;font-size:12px;cursor:pointer}
.wb-h{font:800 13px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:#9FB0D8;margin-bottom:12px}
.wb-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.wb-c{background:#2B3756;border-radius:12px;padding:10px;font-size:13px;line-height:1.3}
.wb-c.pick{background:var(--no)}
.wb-c img{height:48px;width:auto;display:block;margin-bottom:6px}
.wb-story{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;height:100%}
.wb-story img{height:170px;width:auto}
.wb-story p{font:800 22px/1.3 var(--body)}
.wb-wall{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.wb-a{background:#fff;color:var(--ink);border-radius:10px;padding:8px 10px;font-size:12.5px;line-height:1.35;opacity:0}
.wb-a b{color:#5B34C9}
.wb-talk{display:grid;place-items:center;height:100%;text-align:center}
.wb-talk p{font:900 26px/1.2 var(--display);letter-spacing:-.02em;max-width:22ch}
@media (max-width:900px){.wf-grid{grid-template-columns:1fr}.wf-desks{gap:6px}.wb-cards{grid-template-columns:1fr 1fr}.wb-story img{height:120px}.wb-story p{font-size:17px}}

/* ---------- PILOT MODAL ---------- */
.pl-scrim{position:fixed;inset:0;background:rgba(15,18,35,.55);backdrop-filter:blur(6px);z-index:300;display:grid;place-items:center;padding:16px}
.pl-scrim[hidden]{display:none!important}
.pl{position:relative;width:min(980px,100%);max-height:calc(100dvh - 32px);overflow:auto;background:#fff;border-radius:32px;display:grid;grid-template-columns:1fr 360px;box-shadow:0 60px 120px -40px rgba(0,0,0,.6)}
.pl-main{padding:34px 34px 26px}
.pl-x{position:absolute;right:16px;top:16px;width:44px;height:44px;border-radius:50%;border:0;background:#F4F4F6;font-size:22px;cursor:pointer;z-index:3}
.pl-prog{display:flex;gap:6px;margin-bottom:22px}
.pl-prog i{flex:1;height:6px;border-radius:6px;background:#EFEFF2;overflow:hidden;position:relative}
.pl-prog i.on::after{content:"";position:absolute;inset:0;background:var(--no)}
.pl h3{font:900 clamp(28px,3vw,38px)/1.05 var(--display);letter-spacing:-.04em;margin-bottom:6px}
.pl .sub{color:var(--ink3);margin-bottom:20px}
.pl-f{display:grid;gap:14px}
.pl-f label{display:grid;gap:6px;font-weight:700;font-size:14.5px}
.pl-f input,.pl-f select,.pl-f textarea{border:1.5px solid #E3E3E8;border-radius:14px;padding:13px 14px;font:500 16px/1.2 var(--body);background:#fff;width:100%}
.pl-f input:focus,.pl-f select:focus,.pl-f textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 4px #F1F1F4}
.pl-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pl-chips{display:flex;flex-wrap:wrap;gap:8px}
.pl-chips button{border:1.5px solid #E3E3E8;background:#fff;border-radius:999px;padding:9px 14px;font:700 14px/1 var(--body);cursor:pointer;display:inline-flex;gap:8px;align-items:center}
.pl-chips button img{width:26px;height:26px;object-fit:contain}
.pl-chips button[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.pl-class{display:flex;flex-wrap:wrap;gap:3px;margin-top:8px;min-height:40px}
.pl-class i{width:14px;height:18px;border-radius:7px 7px 4px 4px;background:var(--c,var(--coral))}
.pl-foot{display:flex;justify-content:space-between;align-items:center;margin-top:24px;gap:10px}
.pl-err{color:var(--no);font-weight:700;font-size:14px;min-height:20px}
.pl-side{background:linear-gradient(160deg,#20294A,#3B2C6E);color:#fff;padding:30px 24px;position:relative;overflow:hidden;border-radius:0 32px 32px 0}
.pass{background:#fff;color:var(--ink);border-radius:22px;padding:18px;position:relative;box-shadow:0 30px 50px -24px rgba(0,0,0,.6)}
.pass::before,.pass::after{content:"";position:absolute;top:62%;width:22px;height:22px;border-radius:50%;background:#2D2A5C}
.pass::before{left:-11px}.pass::after{right:-11px}
.pass .ph{display:flex;justify-content:space-between;align-items:center;font:800 11px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--no)}
.pass h4{font:900 22px/1.1 var(--display);letter-spacing:-.03em;margin:10px 0 4px;min-height:24px}
.pass .pl-city{color:var(--ink3);font-size:14px;min-height:18px}
.pass .pr{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;padding-top:14px;border-top:2px dashed #E3E3E8}
.pass .pr small{display:block;font:700 10.5px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:#8A8A92;margin-bottom:4px}
.pass .pr b{font-size:14.5px}
.pass .bar{height:34px;margin-top:14px;background:repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 4px,var(--ink) 4px 7px,transparent 7px 9px);border-radius:4px;opacity:.85}
.pl-perci{position:absolute;right:-6px;bottom:-6px;height:170px;width:auto;transform-origin:50% 100%;filter:drop-shadow(0 16px 14px rgba(0,0,0,.4))}
.pl-say{margin-top:16px;background:rgba(255,255,255,.12);border-radius:16px;padding:12px 14px;font:600 14.5px/1.4 var(--body);max-width:70%}
.pl-done{text-align:center;display:grid;justify-items:center;gap:10px;padding:10px 0}
.pl-done img{height:150px;width:auto}
@media (max-width:820px){.pl{grid-template-columns:1fr}.pl-side{border-radius:0 0 32px 32px;order:2}.pl-2{grid-template-columns:1fr}.pl-main{padding:26px 20px 20px}.pl-perci{height:120px}}

/* ---------- PARENT VIEW v4 ---------- */
.pv4{display:grid;grid-template-columns:1fr 1.25fr;gap:44px;align-items:center}
.pv4-why{display:grid;gap:12px}
.pv4-why button{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;text-align:left;border:1.5px solid #EFEFF2;background:#fff;border-radius:20px;padding:14px 16px;cursor:pointer;transition:border-color .25s,transform .25s}
.pv4-why button:hover{transform:translateX(4px)}
.pv4-why button[aria-pressed="true"]{border-color:var(--ink);box-shadow:0 18px 30px -24px rgba(0,0,0,.4)}
.pv4-why .ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:end center;overflow:hidden;background:var(--ib,#F4EFFF)}
.pv4-why .ic img{height:46px;width:auto}
.pv4-why b{display:block;font:800 17px/1.2 var(--body)}
.pv4-why small{display:block;color:var(--ink3);font-size:14.5px;line-height:1.45;margin-top:3px}
.phone{position:relative;width:min(380px,100%);margin:0 auto;aspect-ratio:9/18.5;border-radius:48px;background:var(--ink);padding:12px;box-shadow:0 50px 90px -40px rgba(30,20,60,.6),inset 0 0 0 2px #3A3A3F}
.phone-scr{position:relative;width:100%;height:100%;border-radius:38px;background:#F7F7F9;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto}
.phone-notch{position:absolute;left:50%;top:8px;translate:-50% 0;width:96px;height:26px;border-radius:14px;background:var(--ink);z-index:3}
.ph-top{padding:44px 16px 10px;background:#fff;display:grid;gap:10px}
.ph-hello{display:flex;justify-content:space-between;align-items:center;font:800 18px/1 var(--body)}
.ph-hello small{display:block;font:600 12px/1 var(--body);color:#8A8A92;margin-bottom:4px}
.ph-kids{display:flex;gap:6px}
.ph-kids button{display:flex;gap:6px;align-items:center;border:1.5px solid #EFEFF2;background:#fff;border-radius:999px;padding:4px 10px 4px 4px;font:700 13px/1 var(--body);cursor:pointer}
.ph-kids button img{width:26px;height:26px;object-fit:contain;border-radius:50%;background:#F4EFFF}
.ph-kids button[aria-selected="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.ph-body{padding:12px 14px;overflow:auto;display:grid;gap:10px;align-content:start}
.ph-card{background:#fff;border-radius:18px;padding:12px 14px;box-shadow:0 6px 16px -12px rgba(0,0,0,.25)}
.ph-card h5{font:800 11px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:#8A8A92;margin-bottom:8px}
.ph-card p{font-size:14px;line-height:1.45}
.ph-card .q{font:700 15px/1.4 var(--body);font-style:italic}
.ph-ring{display:flex;gap:14px;align-items:center}
.ph-ring svg{width:66px;height:66px;flex:none}
.ph-ring b{display:block;font:900 24px/1 var(--display)}
.ph-ap{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center}
.ph-ap img{width:44px;height:44px;object-fit:contain}
.ph-ap .btns{grid-column:1/-1;display:flex;gap:8px}
.ph-ap .btns button{flex:1;border:0;border-radius:12px;padding:10px;font:800 14px/1 var(--body);cursor:pointer}
.ph-ap .yes{background:var(--ok);color:#fff}.ph-ap .not{background:#F1F1F4}
.ph-time{display:grid;gap:8px}
.ph-time input{width:100%;accent-color:var(--no)}
.ph-tabs{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-top:1px solid #EFEFF2;padding:8px 6px 14px}
.ph-tabs button{border:0;background:none;display:grid;justify-items:center;gap:3px;font:700 10.5px/1 var(--body);color:#8A8A92;cursor:pointer;padding:4px}
.ph-tabs button span{font-size:19px;line-height:1}
.ph-tabs button[aria-selected="true"]{color:var(--no)}
.pv4-pointer{position:absolute;width:12px;height:12px;border-radius:50%;background:var(--no);box-shadow:0 0 0 6px rgba(224,72,45,.25);pointer-events:none;z-index:4;opacity:0}
@media (max-width:900px){.pv4{grid-template-columns:1fr}}

/* ---------- TUKO MISSION STAGE ---------- */
.tk{display:grid;gap:14px}
.tk-scene{position:relative;height:270px;border-radius:22px;background:linear-gradient(#2B2F5C,#3A3470);overflow:hidden}
.tk-scene::after{content:"";position:absolute;left:0;right:0;bottom:0;height:34px;background:#E7DCF6;z-index:0}
.tk-mirror{position:absolute;right:calc(29% - 70px);bottom:194px;width:140px;height:62px;border-radius:16px;background:linear-gradient(135deg,#BFE6F2,#E8F7FB);box-shadow:0 0 0 6px #D9CDEE;opacity:.92}
.tk-van{position:absolute;right:6%;bottom:30px;width:46%;height:92px;border-radius:6px 6px 0 0;background:#9E8BD6;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 12px 10px;box-sizing:border-box;z-index:1}
.tk-van i{border-radius:6px;background:#B4A3E6;position:relative}.tk-van i::after{content:"";position:absolute;top:44%;width:4px;height:16px;border-radius:2px;background:#E7DCF6}.tk-van i:first-child::after{right:8px}.tk-van i:last-child::after{left:8px}
.tk-top{position:absolute;right:4.5%;bottom:122px;width:49%;height:12px;border-radius:5px;background:#F4EEFC;box-shadow:0 3px 0 #CFC2EA;z-index:2}
.tk-tap{position:absolute;right:calc(29% - 34px);bottom:134px;width:40px;height:48px;z-index:2}.tk-tap svg{display:block}
.tk-sink{position:absolute;right:calc(29% - 56px);bottom:134px;width:112px;height:32px;border-radius:4px 4px 56px 56px/4px 4px 32px 32px;background:#fff;z-index:3;box-shadow:inset 0 -7px 0 #E6E6EE}
.tk-tuko{position:absolute;right:calc(52% + 4px);bottom:26px;height:168px;width:auto;z-index:4;transform-origin:50% 100%}
.tk-obj{position:absolute;z-index:5;font-size:34px;line-height:1;transform-origin:50% 50%}
.tk-obj svg{display:block}
.tk-paste{right:46%;bottom:134px}
.tk-cup{right:9%;bottom:131px;z-index:6}
.tk-brush{right:calc(9% + 1px);bottom:150px}
.tk-dab{position:absolute;left:30%;top:-4px;width:40%;height:7px;border-radius:5px 5px 3px 3px;background:#fff;box-shadow:inset 0 -2px 0 #8FD3E8;opacity:0}
.tk-blob{position:absolute;left:0;top:0;width:18px;height:9px;border-radius:6px;background:#fff;box-shadow:inset 0 -3px 0 #8FD3E8;z-index:5;opacity:0}
.tk-bub{position:absolute;width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.9);z-index:6;pointer-events:none}
.tk-drop{position:absolute;width:5px;height:9px;border-radius:50% 50% 50% 50%/40% 40% 60% 60%;background:#8FD3E8;z-index:2;pointer-events:none}
.tk-say{position:absolute;left:4%;top:12px;max-width:min(46%,280px);background:#fff;color:var(--ink);border-radius:14px;padding:8px 12px;font:800 14px/1.3 var(--body);z-index:7;opacity:0}
.tk-say::after{content:"";position:absolute;left:34px;bottom:-6px;width:12px;height:12px;background:#fff;transform:rotate(45deg);border-radius:2px}
.tk-say:empty{display:none}
.tk-prog{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.tk-slot{position:relative;min-height:62px;border-radius:16px;border:2px dashed rgba(255,255,255,.25);display:grid;place-items:center;text-align:center;padding:8px;font:700 13.5px/1.25 var(--body);color:rgba(255,255,255,.55);cursor:pointer;background:none}
.tk-slot b{position:absolute;left:8px;top:6px;font-size:11px;color:rgba(255,255,255,.5)}
.tk-slot.fill{border-style:solid;border-color:#7FD8C3;background:rgba(127,216,195,.12);color:#fff}
.tk-slot.run{border-color:#FFC94D;background:rgba(255,201,77,.18);transform:translateY(-4px)}
.tk-slot.bad{border-color:var(--coral);background:rgba(240,96,95,.18)}
.tk-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.tk-card{display:flex;gap:10px;align-items:center;border:0;border-radius:14px;padding:12px 14px;background:#fff;color:var(--ink);font:700 15px/1.2 var(--body);cursor:pointer;text-align:left;box-shadow:0 6px 0 #D9CDEE;transition:transform .15s}
.tk-card:active{transform:translateY(3px);box-shadow:0 3px 0 #D9CDEE}
.tk-card span{font-size:22px}
.tk-card[disabled]{opacity:.35;cursor:default}
.tk-help{font-size:13.5px;color:rgba(255,255,255,.7)}
@media (max-width:700px){.tk-prog{grid-template-columns:1fr 1fr}.tk-cards{grid-template-columns:1fr}
 .tk-scene{height:250px}.tk-tuko{right:calc(56% + 2px);height:128px}
 .tk-say{right:4%;max-width:none;font-size:13px}
 .tk-van{right:4%;width:52%;height:66px;padding:9px 9px 8px;gap:6px}.tk-top{right:2%;width:56%;bottom:96px;height:10px}
 .tk-sink{right:calc(30% - 40px);bottom:106px;width:80px;height:24px}.tk-tap{right:calc(30% - 34px);bottom:106px;transform:scale(.8);transform-origin:100% 100%}
 .tk-mirror{right:calc(30% - 48px);bottom:150px;width:96px;height:46px}
 .tk-obj{font-size:28px}.tk-paste{right:51%;bottom:106px}.tk-cup{right:6%;bottom:104px}.tk-brush{right:calc(6% + 1px);bottom:119px}}

/* orbit guide wander */
.poof{position:absolute;width:30px;height:30px;border-radius:50%;background:#fff;pointer-events:none;z-index:8;box-shadow:0 4px 10px rgba(0,0,0,.06)}
/* ---------- COURSES v5 ---------- */
.c5-sum{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;margin:22px 0;border-radius:28px;padding:22px 28px;background:linear-gradient(120deg,var(--tw),#fff)}
.c5-g{height:120px;width:auto;cursor:pointer;transform-origin:50% 100%}
.c5-sum h2{font:900 clamp(28px,3.4vw,44px)/1 var(--display);letter-spacing:-.04em}
.c5-sum h2 span{display:inline-block;margin-left:8px;font:700 14px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--tc);vertical-align:middle}
.c5-sum p{color:var(--ink3);margin-top:8px}
.c5-facts{display:grid;grid-template-columns:repeat(4,auto);gap:22px}
.c5-facts b{display:block;font:900 30px/1 var(--display);letter-spacing:-.03em}
.c5-facts small{font-size:13px;color:var(--ink3)}
.c5{display:grid;grid-template-columns:1fr 360px;gap:22px;align-items:start}
.c5-board{position:relative;display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:26px 14px;padding:70px 18px 24px;border-radius:28px;background:#FCFCFD;border:1px solid #F0F0F3}
.c5-path{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.c5-s{position:relative;z-index:1;display:grid;justify-items:center;gap:6px;border:0;background:none;padding:0;cursor:pointer;text-align:center}
.c5-s .d{width:54px;height:54px;border-radius:50%;background:#fff;border:3px solid var(--tc);display:grid;place-items:center;font:900 20px/1 var(--display);color:var(--ink);box-shadow:0 8px 16px -10px rgba(0,0,0,.4);transition:transform .3s cubic-bezier(.3,1.6,.4,1),background .3s}
.c5-s.free .d{background:var(--tc);color:#fff;animation:pulse2 2.4s ease-in-out infinite}
@keyframes pulse2{50%{box-shadow:0 0 0 10px rgba(0,0,0,.04)}}
.c5-s .t{font:700 13px/1.25 var(--body);max-width:16ch;color:var(--ink2)}
.c5-s .p{font:700 11.5px/1 var(--body);color:#8A8A92}
.c5-s.free .p{color:var(--ok)}
.c5-s:hover .d{transform:scale(1.12)}
.c5-s[aria-pressed="true"] .d{transform:scale(1.2);box-shadow:0 0 0 6px var(--tw),0 12px 20px -10px rgba(0,0,0,.4)}
.c5-walker{position:absolute;left:0;top:0;width:56px;height:56px;object-fit:contain;z-index:3;pointer-events:none;filter:drop-shadow(0 6px 6px rgba(0,0,0,.25))}
.c5-det{position:sticky;top:100px;background:#fff;border:1px solid #EFEFF2;border-radius:26px;padding:22px;box-shadow:0 30px 60px -44px rgba(0,0,0,.4)}
.c5-k{font:700 12px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--no)}
.c5-det h3{font:900 28px/1.05 var(--display);letter-spacing:-.03em;margin:10px 0 8px}
.c5-les{list-style:none;padding:0;margin:16px 0;display:grid;gap:10px}
.c5-les li{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;background:#F7F7F9;border-radius:16px;padding:12px}
.c5-les li>span{width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:800}
.c5-les b{display:block;font-size:15.5px}.c5-les small{color:var(--ink3);font-size:13.5px}
.c5-price b{font:900 30px/1 var(--display)}.c5-price small{display:block;color:var(--ink3);margin-top:4px}
.c5-act{display:grid;gap:8px;margin-top:16px}
@media (max-width:980px){.c5{grid-template-columns:1fr}.c5-det{position:static}.c5-sum{grid-template-columns:auto 1fr}.c5-facts{grid-column:1/-1;grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.c5-g{height:80px}.c5-board{gap:22px 8px;padding:64px 8px 16px}.c5-s .t{font-size:12px}}

/* ---------- PARENT CONTROLS ---------- */
.ct{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}
.ct-l{display:grid;gap:10px}
.ct-row{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#fff;border:1.5px solid #EFEFF2;border-radius:20px;padding:16px 18px}
.ct-row b{display:block;font-size:17px}.ct-row small{display:block;color:var(--ink3);font-size:14px;margin-top:3px}
.ct-min{display:flex;align-items:center;gap:8px}
.ct-min button{width:36px;height:36px;border-radius:50%;border:1.5px solid #E3E3E8;background:#fff;font-weight:800;font-size:18px;cursor:pointer}
.ct-min output{font:900 20px/1 var(--display);min-width:72px;text-align:center}
.ct-r{display:grid;justify-items:center;gap:12px}
.ct-cap{font-weight:700;color:#8A8A92;font-size:14px;text-align:center}
.tab2{width:min(460px,100%);aspect-ratio:4/3;border-radius:34px;background:var(--ink);padding:14px;box-shadow:0 40px 70px -36px rgba(30,20,60,.55)}
.tab2-scr{width:100%;height:100%;border-radius:22px;background:linear-gradient(#F6F2FF,#fff);padding:14px;display:grid;grid-template-rows:auto 1fr auto auto;gap:10px;overflow:hidden;position:relative}
.t2-top{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;font-size:13px}
.t2-hi{display:flex;align-items:center;gap:6px;font-weight:800}
.t2-hi img{width:30px;height:30px;object-fit:contain}
.t2-time{height:10px;border-radius:6px;background:#E8E2F3;overflow:hidden}
.t2-time i{display:block;height:100%;background:linear-gradient(90deg,#6FA52E,#F0A92E);border-radius:6px;transition:width .6s}
.t2-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.t2-c{background:#fff;border-radius:16px;padding:10px;display:grid;justify-items:center;text-align:center;box-shadow:0 8px 16px -12px rgba(0,0,0,.3)}
.t2-c img{height:56px;width:auto}
.t2-c b{font-size:14px}.t2-c small{font-size:12px;color:var(--ink3)}
.t2-c.on{box-shadow:0 0 0 3px #6FA52E}
.t2-c.lock{opacity:.75;background:#F4F4F6}
.t2-ans{display:flex;align-items:center;justify-content:space-between;background:#fff;border-radius:14px;padding:8px 10px;font-size:13px;font-weight:700}
.t2-mic{border:0;background:var(--no);color:#fff;border-radius:999px;padding:7px 12px;font-weight:800}
.t2-kb{color:#8A8A92}
.t2-say{display:flex;align-items:center;gap:8px;font:700 13px/1.35 var(--body)}
.t2-say img{width:40px;height:40px;object-fit:contain}
.t2-say span{background:#fff;border-radius:14px;padding:8px 10px;box-shadow:0 6px 14px -10px rgba(0,0,0,.35)}
@media (max-width:900px){.ct{grid-template-columns:1fr}}

/* ---------- COMPASS peek (behind the dial) ---------- */
.cg.peeky .cg-peek{bottom:52%!important;width:60px!important;margin-left:-30px!important;z-index:0;transform:none}
.cg.peeky .cg-ring{position:absolute;z-index:1}
.cg.peeky .cg-btn{overflow:visible}
.cg.peeky .cg-pal{display:none}
.cg-zz{position:absolute;right:18%;top:-6px;font:900 15px/1 var(--body);color:#8B6FD1;pointer-events:none;z-index:3}

/* ---------- LEGAL hub (live-site direction) ---------- */
.lgw{padding:20px 0 70px}
.crumb{display:flex;gap:10px;align-items:center;font-size:15px;color:var(--ink3);margin-bottom:22px}
.crumb a{color:var(--ink3);text-decoration:none}.crumb b{color:var(--ink);font-weight:600}
.lgk{color:var(--no)!important}
.lgh{font:800 clamp(38px,5vw,64px)/1.05 var(--display);letter-spacing:-.035em;margin:14px 0 16px;color:#1F2A44}
.lgw .lede{max-width:62ch}
.lg-meta{display:flex;flex-wrap:wrap;gap:12px 30px;margin:22px 0 16px;font-size:16px;color:var(--ink3)}
.lg-meta b{color:#1F2A44}
.lg-note{max-width:800px;background:#F7F8FA;border:1px solid #ECEEF2;border-radius:14px;padding:14px 18px;font-size:15.5px;color:var(--ink3)}
.lg-hr{border:0;border-top:1px solid #ECEEF2;margin:30px 0}
.lg-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.lg-card{position:relative;display:grid;align-content:start;gap:10px;border:1px solid #E6E8EE;border-radius:20px;padding:26px 26px 24px;text-decoration:none;color:inherit;background:#fff;transition:transform .25s,box-shadow .25s;overflow:hidden}
.lg-card:hover{transform:translateY(-4px);box-shadow:0 24px 40px -30px rgba(20,30,60,.45)}
.lg-card img{position:absolute;right:14px;top:14px;height:52px;width:auto;opacity:.95;transition:transform .35s cubic-bezier(.3,1.6,.4,1)}
.lg-card:hover img{transform:rotate(-8deg) scale(1.12)}
.lg-card h3{font:800 24px/1.15 var(--display);letter-spacing:-.02em;color:#1F2A44;padding-right:56px}
.lg-card p{color:var(--ink3);font-size:16px;line-height:1.55}
.lg-card span{color:#B5361E;font-weight:800;font-size:15.5px;margin-top:8px}
.lg-cta{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}
.lg-cta>div{background:#F7F8FA;border-radius:20px;padding:22px}
.lg-cta h3{font:800 19px/1.2 var(--body);margin-bottom:8px;color:#1F2A44}
.lg-cta p{color:var(--ink3);font-size:15px;margin-bottom:10px}
.lg{display:grid;grid-template-columns:280px 1fr;gap:44px;align-items:start}
.lg-toc{position:sticky;top:96px;display:grid;gap:2px;max-height:calc(100vh - 120px);overflow:auto;padding-right:6px}
.lg-toc p{font:700 12px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:#8A8A92;margin-bottom:8px}
.lg-toc a{display:block;padding:7px 10px;border-radius:10px;font-size:14.5px;color:var(--ink3);text-decoration:none;border-left:2px solid transparent}
.lg-toc a.on{color:#1F2A44;background:#F4F5F8;border-left-color:var(--no);font-weight:700}
.lg-back{margin-top:12px;color:#B5361E!important;font-weight:700}
.lg-doc{max-width:760px}
.lg-doc h3{font:800 23px/1.25 var(--body);letter-spacing:-.02em;margin:34px 0 10px;color:#1F2A44;scroll-margin-top:100px}
.lg-doc h4{font:700 17px/1.3 var(--body);margin:18px 0 8px}
.lg-doc p,.lg-doc li{font-size:16.5px;line-height:1.7;color:var(--ink2)}
.lg-doc p{margin-bottom:12px}.lg-doc ul{padding-left:20px;margin-bottom:12px}
.lg-doc a{color:#B5361E;font-weight:600}
.lg-row{display:grid;grid-template-columns:1fr 1.4fr;gap:14px;padding:10px 0;border-bottom:1px solid #EFEFF2;font-size:15.5px}
@media (max-width:980px){.lg-cards,.lg-cta{grid-template-columns:1fr 1fr}}
@media (max-width:700px){.lg-cards,.lg-cta{grid-template-columns:1fr}.lg{grid-template-columns:1fr}.lg-toc{position:static;max-height:none}}
.tower{width:auto!important;height:100%;aspect-ratio:200/320;display:block}
.ws-info .wl{font:700 19px/1.35 var(--body);color:var(--ink2);max-width:34ch}
.kp-c img{width:80px;height:96px;object-fit:contain;object-position:50% 100%}
.m4-card{left:auto;right:2%}
@media (max-width:700px){.m4-card{right:0}}
.sib-art{height:clamp(190px,28vw,370px)!important}@media (max-width:860px){.sib-art{height:230px!important}}.desk2 .tab{bottom:16px;width:44px;height:26px}.desk2 img{position:relative;z-index:3;margin-bottom:6px}
.pass .ph{gap:8px;flex-wrap:wrap}
/* family cards */
.famrow4{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;max-width:1240px;margin:0 auto;padding:10px clamp(16px,4vw,40px) 30px}
.fr4{display:grid;justify-items:center;text-align:center;gap:2px;border:1.5px solid #F0ECF5;background:#fff;border-radius:26px;padding:12px 10px 16px;cursor:pointer;transition:transform .35s cubic-bezier(.3,1.5,.4,1),box-shadow .3s,border-color .3s}
.fr4 .st{position:relative;width:100%;height:170px;border-radius:20px;background:radial-gradient(70% 60% at 50% 100%,var(--b),#fff 85%);display:grid;place-items:end center;overflow:hidden;margin-bottom:10px}
.fr4 .st::after{content:"";position:absolute;bottom:8px;left:22%;right:22%;height:12px;border-radius:50%;background:radial-gradient(closest-side,rgba(40,20,60,.22),transparent)}
.fr4 img{position:relative;z-index:1;height:150px;max-width:92%;width:auto;object-fit:contain;object-position:50% 100%;margin-bottom:12px;transform-origin:50% 100%;transition:transform .4s cubic-bezier(.3,1.6,.4,1)}
.fr4 b{font:800 17px/1.1 var(--body);letter-spacing:-.02em}
.fr4 small{font:700 11px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--no);margin-top:4px}
.fr4 i{font-style:normal;font-size:13px;color:#6B6B72;line-height:1.35;margin-top:6px;min-height:2.7em}
.fr4:hover,.fr4:focus-visible{transform:translateY(-6px);box-shadow:0 24px 40px -26px rgba(60,30,120,.45);border-color:#E2D9F3}
.fr4:hover img,.fr4:focus-visible img{transform:translateY(-6px) scale(1.05)}
.fr4[data-k="barnabut"]{border-color:#F2C24E;background:linear-gradient(#FFF8E3,#fff)}
.fr4[data-k="barnabut"] small{color:#8A5B00}
@media (max-width:1100px){.famrow4{grid-template-columns:repeat(4,1fr)}}
@media (max-width:700px){.famrow4{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:18px}.fr4{flex:0 0 44%;scroll-snap-align:start}.fr4 .st{height:140px}.fr4 img{height:120px}}
/* compass talk + hide-and-seek friends */
.cg.peeky .cg-peek{bottom:56%!important;width:auto!important;left:50%;margin-left:0!important;translate:-50% 0}
.cg.peeky .cg-peek img{height:70px;width:auto;max-width:none}
.cg-say{position:absolute;right:calc(100% + 14px);top:10px;background:#1F3446;color:#fff;font:700 14.5px/1.3 var(--body);padding:10px 14px;border-radius:14px;max-width:220px;width:max-content;opacity:0;pointer-events:none;transform-origin:100% 50%;transition:opacity .25s;box-shadow:0 16px 30px -14px rgba(0,0,0,.4);z-index:5}
.cg-say::after{content:"";position:absolute;right:-6px;top:16px;width:12px;height:12px;background:inherit;transform:rotate(45deg);border-radius:2px}
.cg-say.on{opacity:1}
.cg.open .cg-say{opacity:0}
.cg-pal2{position:absolute;border:0;background:none;padding:0;cursor:pointer;z-index:0;width:44px;opacity:0}
.cg-pal2 img{width:100%;height:auto;filter:drop-shadow(0 4px 5px rgba(20,56,79,.25));pointer-events:none}
.cg-pal2.l{left:-30px;top:30%;rotate:-16deg}.cg-pal2.r{right:-28px;top:24%;rotate:16deg}.cg-pal2.t{left:-12px;top:-14px;width:38px;rotate:-28deg}.cg-pal2.b{right:-14px;bottom:-14px;width:40px;rotate:18deg}.cg-pal2.l2{left:-24px;bottom:-6px;width:40px;rotate:-10deg}
@media (max-width:560px){.cg-say{max-width:160px;font-size:13px}}
.cg-pal2{z-index:3}
/* compass: starts bottom-left, drag anywhere */
.cg{left:calc(22px + env(safe-area-inset-left,0px));right:auto}
.cg-btn{touch-action:none;cursor:grab}
.cg-pal2{pointer-events:none}.cg-pal2.out{pointer-events:auto}
.cg-say.rt{right:auto;left:calc(100% + 14px);transform-origin:0 50%}
.cg-say.rt::after{right:auto;left:-6px}
.cg.cg-left .cg-hint{right:auto;left:calc(100% + 12px)}
.cg.cg-left .cg-hint::after{right:auto;left:-6px}
.cg.dragging{cursor:grabbing}
.cg.dragging .cg-say{opacity:0}
/* ---------- friend carousel (skills) ---------- */
.mgr-wrap{display:grid;justify-items:center;gap:14px}
.mgr{position:relative;width:min(660px,100%);height:clamp(380px,42vw,500px);border-radius:36px;outline:none;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.mgr:focus-visible{box-shadow:0 0 0 4px #EDE6FF}
.mgr-sky{position:absolute;inset:0;border-radius:36px;background:radial-gradient(60% 55% at 50% 38%,#FFF6EC,rgba(255,246,236,0) 70%)}
.mgr-deck{position:absolute;left:3%;right:3%;top:54%;height:28%;border-radius:50%;background:radial-gradient(closest-side,var(--bg),#F6ECE2);box-shadow:0 30px 40px -24px rgba(120,70,30,.35),inset 0 -10px 0 rgba(200,150,110,.15)}
.mgr-deck i{position:absolute;inset:14%;border-radius:50%;border:2px dashed rgba(224,72,45,.22);animation:spinD 40s linear infinite}
@keyframes spinD{to{transform:rotate(360deg)}}
.mgr-cast{position:absolute;inset:0}
.mg{position:absolute;left:0;top:0;border:0;background:none;padding:0;cursor:pointer;display:grid;justify-items:center;align-items:end;aspect-ratio:.8/1;-webkit-tap-highlight-color:transparent}
.mg img{height:100%;width:auto;max-width:none;object-fit:contain;transform-origin:50% 100%;filter:drop-shadow(0 18px 14px rgba(60,30,10,.22));pointer-events:none}
.mg-sh{position:absolute;bottom:-6px;left:22%;right:22%;height:14%;max-height:18px;border-radius:50%;background:radial-gradient(closest-side,rgba(80,40,20,.3),transparent);z-index:-1}
.mg-ok{position:absolute;top:4%;right:4%;width:24px;height:24px;border-radius:50%;background:var(--ok);color:#fff;font:900 13px/24px var(--body);text-align:center;box-shadow:0 0 0 3px #fff}
.mg.on .mg-ok{width:30px;height:30px;line-height:30px;font-size:15px}
.mgr-name{position:absolute;left:50%;bottom:6px;translate:-50% 0;display:flex;align-items:center;gap:10px;background:#fff;border-radius:999px;padding:8px 10px 8px 18px;box-shadow:0 16px 30px -18px rgba(60,30,10,.45);z-index:500;white-space:nowrap}
.mgr-name b{font:900 20px/1 var(--display);letter-spacing:-.02em}
.mgr-name span{font:800 13px/1 var(--body);padding:8px 12px;border-radius:999px;color:var(--ink)}
.mgr-arr{position:absolute;top:48%;width:46px;height:46px;border-radius:50%;border:0;background:#fff;box-shadow:0 10px 22px -12px rgba(0,0,0,.45);font-size:26px;line-height:1;cursor:pointer;z-index:600}
.mgr-arr.l{left:2px}.mgr-arr.r{right:2px}
.mgr-say{position:absolute;left:50%;top:4%;translate:-50% 0;background:#1F3446;color:#fff;border-radius:16px;padding:9px 14px;font:700 14.5px/1.3 var(--body);max-width:80%;text-align:center;opacity:0;pointer-events:none;z-index:600}
.oc-h{display:flex;gap:12px;align-items:center}
.oc-h img{height:56px;width:auto}
.oc-h h4{font:900 22px/1.1 var(--display);letter-spacing:-.02em}
.oc-h h4 small{font:600 13px/1 var(--body);color:#8A8A92;margin-left:6px}
.oc-q{font:700 17px/1.4 var(--body);margin:12px 0 4px}
@media (max-width:700px){.mgr{height:380px}.mgr-name b{font-size:17px}.mgr-arr{width:40px;height:40px;top:44%}}
.mg{display:block;width:auto}.mg img{position:absolute;bottom:0;left:50%;translate:-50% 0;height:100%!important;width:auto!important}
.mgr-name{bottom:-4px}.mgr-sky{background:radial-gradient(70% 60% at 50% 45%,#FFF1E4,rgba(255,246,236,0) 72%)}
.mgr-deck i{display:none}
.mgr-arr{top:62%}
/* ---------- ready-made kits (product shots) ---------- */
.kits5{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.k5{border-radius:28px;background:#fff;border:1px solid #EFEAF6;overflow:hidden;display:grid;box-shadow:0 30px 60px -48px rgba(60,30,120,.5);transition:transform .35s cubic-bezier(.3,1.4,.4,1),box-shadow .35s}
.k5:hover{transform:translateY(-6px);box-shadow:0 40px 70px -40px rgba(60,30,120,.55)}
.k5-stage{position:relative;height:300px;border:0;padding:0;cursor:pointer;overflow:hidden;background:radial-gradient(80% 70% at 50% 85%,#fff 0,var(--kb) 60%,var(--kb));perspective:900px}
.k5-stage::before{content:"";position:absolute;left:-10%;right:-10%;bottom:-40px;height:110px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.95),rgba(255,255,255,0))}
.k5-glow{position:absolute;left:50%;top:-30%;width:70%;height:120%;translate:-50% 0;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.65));clip-path:polygon(40% 0,60% 0,100% 100%,0 100%);pointer-events:none}
.k5-ch{position:absolute;right:6%;bottom:44px;height:72%;width:auto;z-index:1;transform-origin:50% 100%;filter:drop-shadow(0 18px 16px rgba(40,20,60,.28))}
.k5-box{position:absolute;left:12%;bottom:46px;width:150px;height:118px;transform-style:preserve-3d;transform:rotateY(-18deg) rotateX(8deg);z-index:2}
.k5-front{position:absolute;inset:0;border-radius:8px;background:linear-gradient(155deg,var(--kc),var(--kd));color:#fff;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto 1fr;gap:0 8px;padding:12px;overflow:hidden;box-shadow:inset 0 -8px 0 rgba(0,0,0,.12)}
.k5-front::after{content:"";position:absolute;left:0;right:0;top:0;height:40%;background:linear-gradient(rgba(255,255,255,.22),transparent)}
.k5-front img{grid-row:1/4;height:92px;width:auto;align-self:end;margin:0 -6px -12px -8px;filter:drop-shadow(0 6px 6px rgba(0,0,0,.25))}
.k5-front b{font:900 18px/1 var(--display);letter-spacing:-.02em;align-self:end;margin-top:6px}
.k5-front small{font:700 11px/1.1 var(--body);opacity:.85}
.k5-front em{font-style:normal;font:800 9.5px/1 var(--body);letter-spacing:.06em;text-transform:uppercase;background:rgba(255,255,255,.2);border-radius:6px;padding:4px 6px;align-self:end;justify-self:start}
.k5-side{position:absolute;top:0;right:-34px;width:34px;height:100%;background:linear-gradient(var(--kd),#22114F);transform-origin:0 50%;transform:rotateY(90deg);border-radius:0 6px 6px 0}
.k5-top{position:absolute;left:0;right:0;top:-34px;height:34px;background:var(--kc);filter:brightness(1.15);transform-origin:50% 100%;transform:rotateX(90deg);border-radius:6px 6px 0 0}
.k5-lid{position:absolute;left:-6px;right:-6px;top:-20px;height:26px;border-radius:7px;background:linear-gradient(var(--kc),var(--kd));filter:brightness(1.12);z-index:3;display:grid;place-items:center;box-shadow:0 6px 10px -6px rgba(0,0,0,.4)}
.k5-lid i{font:900 10px/1 var(--body);letter-spacing:.24em;color:#FFE7A0;font-style:normal}
.k5-goods{position:absolute;left:6%;right:40%;bottom:10px;height:66px;display:flex;gap:8px;z-index:3;pointer-events:none}
.mk.mini{width:62px;height:62px;flex:none;border-radius:12px;box-shadow:0 10px 16px -10px rgba(40,20,60,.5);border:2px solid #fff}
.mk.mini:nth-child(1){rotate:-8deg}.mk.mini:nth-child(2){rotate:4deg;margin-top:-6px}.mk.mini:nth-child(3){rotate:10deg}
.mk.mini .pr{display:none}
.k5-pop{position:absolute;left:50%;bottom:160px;z-index:4;pointer-events:none}
.k5-pop span{position:absolute;left:0;top:0;translate:-50% -50%;white-space:nowrap;background:#fff;border-radius:12px;padding:7px 10px;font:700 12.5px/1.2 var(--body);box-shadow:0 10px 20px -10px rgba(0,0,0,.45);opacity:0}
.k5-hint{position:absolute;left:14px;top:14px;background:#fff;border-radius:999px;padding:7px 12px;font:800 12px/1 var(--body);color:var(--kd);box-shadow:0 8px 16px -10px rgba(0,0,0,.35);z-index:5;transition:opacity .3s}
.k5.open .k5-hint{opacity:0}
.k5-body{padding:18px 20px 20px;display:grid;gap:10px;align-content:start}
.k5-body h4{font:900 22px/1.1 var(--display);letter-spacing:-.02em}
.k5-sk{background:var(--no-soft);color:#C0392B}
.k5-inc{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}
.k5-inc li{font-size:12.5px;font-weight:600;background:var(--kb);color:var(--kd);border-radius:999px;padding:5px 10px}
.k5 .row{display:flex;justify-content:space-between;align-items:center;margin-top:4px}
.k5 .pr{font:900 26px/1 var(--display);letter-spacing:-.03em}
@media (max-width:1060px){.kits5{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.kits5{grid-template-columns:1fr}.k5-stage{height:270px}}
.mgr{isolation:isolate;z-index:0}
/* carousel: waiting friends */
.mg-b{position:absolute;left:50%;bottom:100%;translate:-50% 4px;background:#fff;color:var(--ink);border-radius:14px;padding:6px 10px;font:800 12.5px/1.2 var(--body);white-space:nowrap;box-shadow:0 10px 20px -12px rgba(0,0,0,.4);opacity:0;pointer-events:none;z-index:2}
.mg-b::after{content:"";position:absolute;left:50%;bottom:-5px;width:10px;height:10px;margin-left:-5px;background:#fff;transform:rotate(45deg)}
/* kids sign in */
.authcard.kidmode .peeker{display:none}
.kp-h{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}
.kp-m{height:104px;width:auto;transform-origin:50% 100%}
.kp-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}
.kp-slot{position:relative;aspect-ratio:1;border-radius:20px;border:2.5px dashed #D9D2E8;background:#FBFAFE;display:grid;place-items:center;cursor:pointer;padding:6px;transition:border-color .25s,background .25s}
.kp-slot .n{position:absolute;left:8px;top:8px;width:24px;height:24px;border-radius:50%;background:#EEEAF6;font:800 12px/24px var(--body);color:#5B34C9;text-align:center}
.kp-slot .ph{font:800 15px/1 var(--body);color:#B8AFCB}
.kp-slot img{height:82%;width:auto;max-width:90%;object-fit:contain}
.kp-slot .x{position:absolute;right:8px;top:6px;font:800 16px/1 var(--body);color:#8A8A92}
.kp-slot.now{border-color:#7B55E8;background:#F4EFFF;animation:kpPulse 1.4s ease-in-out infinite}
.kp-slot.now .n{background:#7B55E8;color:#fff}
.kp-slot.fill{border-style:solid;border-color:#7FD8C3;background:#F1FBF8}
.kp-slot.fill .n{background:var(--ok);color:#fff}
@keyframes kpPulse{50%{box-shadow:0 0 0 6px rgba(123,85,232,.15)}}
.kp-ask{margin:14px 0 8px;font:700 16px/1.3 var(--body);text-align:center}
.kp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-height:330px;overflow:auto;padding:4px;border-radius:18px;background:#FAFAFB}
.kp-grid button{border:1.5px solid #EFEFF2;background:#fff;border-radius:16px;padding:6px 4px 8px;display:grid;justify-items:center;gap:4px;cursor:pointer;transition:transform .15s,border-color .2s}
.kp-grid button:hover{border-color:#C9B8F2;transform:translateY(-2px)}
.kp-grid button:active{transform:scale(.94)}
.kp-grid .pic{width:100%;aspect-ratio:1;display:grid;place-items:end center;overflow:hidden}
.kp-grid img{height:92%;width:auto;max-width:96%;object-fit:contain}
.kp-grid small{font:700 11.5px/1 var(--body);color:var(--ink3)}
.kp-foot{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;margin-top:14px}
.kp-foot .bigbtn{margin:0}
.kp-code{margin-top:16px;border:1.5px solid #EFEFF2;border-radius:16px;padding:12px 14px}
.kp-code summary{cursor:pointer;font-weight:700}
.kp-code .fld{margin-top:10px}
.kp-next{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;text-align:left;background:#F4EFFF;border-radius:16px;padding:12px 14px}
.kp-next img{height:56px;width:auto}
.kp-next small{display:block;font:800 11px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:#7B55E8}
.kp-next b{display:block;font-size:17px;margin:3px 0}
.kp-next span{font-size:13.5px;color:var(--ink3)}
.dots i{animation:dt 1s infinite;font-style:normal}.dots i:nth-child(2){animation-delay:.2s}.dots i:nth-child(3){animation-delay:.4s}
@keyframes dt{50%{opacity:.2}}
@media (max-width:520px){.kp-grid{grid-template-columns:repeat(3,1fr)}.kp-m{height:84px}}
.kp-steps{grid-template-columns:repeat(3,minmax(0,1fr));max-width:330px;margin-left:auto;margin-right:auto}
.kp-slot{overflow:hidden;min-width:0}
.kp-slot img{position:absolute;left:8%;right:8%;top:14%;bottom:6%;width:84%;height:80%!important;max-width:none;object-fit:contain;object-position:50% 100%}
.kp-grid .pic{position:relative;display:block}.kp-grid img{position:absolute;left:4%;top:4%;width:92%;height:92%!important;max-width:none;object-fit:contain;object-position:50% 100%}

/* ===================== v5 ===================== */
/* nav */
.nav .dd.more .ddb{color:var(--ink3)}
/* carousel: calm */
.mg-b,.mgr-say{display:none!important}
.oc-fb{min-height:22px;margin:8px 0 2px;font:700 15px/1.4 var(--body)}
.oc-fb.ok{color:var(--ok)}.oc-fb.no{color:#C2391F}

/* family cards fixes */
#family .center{margin-top:26px}
.fr4{opacity:1}

/* ---------- JOURNEY v5 ---------- */
.jbar{display:none!important}
.jx{display:flex;gap:14px;height:560px;margin-top:34px}
.jx-p{position:relative;flex:1;min-width:0;border-radius:32px;overflow:hidden;cursor:pointer;background:linear-gradient(170deg,#fff,var(--tw));border:1.5px solid rgba(0,0,0,.04);transition:flex .7s cubic-bezier(.6,.05,.25,1),box-shadow .4s;isolation:isolate}
.jx-p.on{flex:4.2;cursor:default;box-shadow:0 40px 70px -46px rgba(30,20,60,.55)}
.jx-p:not(.on):hover{box-shadow:0 24px 40px -30px rgba(30,20,60,.45)}
.jx-bg i{position:absolute;border-radius:50%;background:var(--tc);opacity:.12;filter:blur(2px)}
.jx-bg i:nth-child(1){width:240px;height:240px;right:-60px;top:-60px}.jx-bg i:nth-child(2){width:120px;height:120px;left:30%;bottom:-40px;opacity:.09}.jx-bg i:nth-child(3){width:60px;height:60px;left:12%;top:18%;opacity:.15}
.jx-mini{position:absolute;inset:0;display:grid;justify-items:center;align-content:space-between;padding:26px 0 0;transition:opacity .35s}
.jx-p.on .jx-mini{opacity:0;pointer-events:none}
.jx-mini .n{font:900 14px/1 var(--body);color:var(--tc)}
.jx-mini b{writing-mode:vertical-rl;transform:rotate(180deg);font:900 clamp(20px,2vw,28px)/1 var(--display);letter-spacing:-.02em;color:var(--ink)}
.jx-mini small{writing-mode:vertical-rl;transform:rotate(180deg);font:700 12px/1 var(--body);color:#6B6B72;margin-top:10px}
.jx-mini img{height:130px;width:auto;margin-bottom:-6px;transform-origin:50% 100%;transition:transform .4s cubic-bezier(.3,1.6,.4,1)}
.jx-p:not(.on):hover .jx-mini img{transform:translateY(-10px) scale(1.06) rotate(-3deg)}
.jx-full{position:absolute;inset:0;display:grid;grid-template-columns:1.05fr 1fr;gap:20px;padding:34px 36px;opacity:0;pointer-events:none;transition:opacity .3s}
.jx-p.on .jx-full{opacity:1;pointer-events:auto;transition-delay:.35s}
.jx-k{font:700 12.5px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--tc)}
.jx-full h3{font:900 clamp(40px,4.4vw,64px)/.95 var(--display);letter-spacing:-.045em;margin:12px 0 8px}
.jx-full .tag{font:700 19px/1.3 var(--body);color:var(--ink2)}
.jx-can{list-style:none;padding:0;margin:18px 0;display:grid;gap:8px}
.jx-can li{display:flex;gap:10px;align-items:center;background:rgba(255,255,255,.75);border-radius:14px;padding:9px 12px;font:600 15px/1.35 var(--body)}
.jx-can li span{flex:none;width:24px;height:24px;border-radius:50%;background:var(--tc);color:#fff;display:grid;place-items:center;font-size:13px}
.jx-q{background:#fff;border-radius:20px;padding:14px 16px;box-shadow:0 14px 30px -24px rgba(0,0,0,.4)}
.jx-q small{font:700 11.5px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:#8A8A92}
.jx-q b{display:block;font:800 16.5px/1.35 var(--body);margin:6px 0 10px}
.jx-q .opts{display:flex;flex-wrap:wrap;gap:8px}
.jx-q button{border:1.5px solid #E8E8EC;background:#fff;border-radius:12px;padding:9px 12px;font:600 14px/1.2 var(--body);cursor:pointer;transition:transform .2s,border-color .2s}
.jx-q button:hover{border-color:var(--tc);transform:translateY(-2px)}
.jx-q button.yes{background:#E8F7EF;border-color:var(--ok);color:#13633F}.jx-q button.no{background:var(--no-soft);border-color:var(--no);color:#A8301C}
.jx-q .fb2{margin-top:8px;font:700 14px/1.35 var(--body);min-height:19px}
.jx-art{position:relative;display:grid;align-items:end;justify-items:center}
.jx-stage{position:absolute;left:4%;right:4%;bottom:10px;height:70px;border-radius:50%;background:radial-gradient(closest-side,#fff,rgba(255,255,255,.4));box-shadow:0 20px 30px -20px rgba(0,0,0,.25)}
.jx-kid{position:relative;z-index:2;width:auto;transform-origin:50% 100%;filter:drop-shadow(0 20px 18px rgba(30,20,60,.25));margin-bottom:30px}
.jx-bb{position:absolute;bottom:40px;z-index:1;width:auto;transform-origin:50% 100%;filter:drop-shadow(0 14px 12px rgba(30,20,60,.2))}
.jx-cap{position:absolute;top:0;left:50%;translate:-50% 0;white-space:nowrap;background:#fff;border-radius:999px;padding:8px 14px;font:700 13px/1 var(--body);box-shadow:0 10px 20px -14px rgba(0,0,0,.4)}
.jx-cap i{font-style:normal;color:var(--tc)}
.jx-go{position:absolute;right:0;top:0;font:800 15px/1 var(--body);color:var(--tc);text-decoration:none}
.jx-dots{display:flex;gap:6px;margin-top:14px}
.jx-dots i{width:8px;height:8px;border-radius:50%;background:rgba(0,0,0,.12)}.jx-dots i.on{background:var(--tc);width:22px;border-radius:5px}
@media (max-width:900px){.jx{flex-direction:column;height:auto}.jx-p{flex:none;height:92px}.jx-p.on{height:auto;flex:none}.jx-mini{grid-auto-flow:column;align-content:center;justify-content:space-between;padding:0 22px}.jx-mini b,.jx-mini small{writing-mode:initial;transform:none}.jx-mini img{height:80px;align-self:end}.jx-full{position:relative;grid-template-columns:1fr;padding:24px 20px}.jx-art{height:280px}.jx-p:not(.on) .jx-full{display:none}}

/* ---------- ABOUT: Barnabus logo sculpture ---------- */
.bus-orb{position:relative;display:grid;place-items:center;width:min(250px,22vw);aspect-ratio:1;margin-bottom:20px}
.bus-orb .r1,.bus-orb .r2{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(29,39,71,.14)}
.bus-orb .r2{inset:-14%;border-style:dashed;border-color:rgba(29,39,71,.12);animation:spinD 30s linear infinite}
.bus-orb .r1::after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:var(--coral);top:-6px;left:50%;margin-left:-6px;box-shadow:0 0 12px var(--coral)}
.bus-orb .r1{animation:spinD 9s linear infinite}
.bus-disc{width:78%;aspect-ratio:1;border-radius:34%;background:radial-gradient(120% 120% at 30% 20%,#3B4C7A,#141B33 70%);display:grid;place-items:center;box-shadow:0 30px 50px -20px rgba(20,27,51,.6),inset 0 2px 0 rgba(255,255,255,.18),inset 0 -10px 20px rgba(0,0,0,.35);transform:rotate(-8deg)}
.bus-disc img{width:64%;height:auto;animation:busSpin 14s ease-in-out infinite}
@keyframes busSpin{0%,100%{transform:rotate(0)}50%{transform:rotate(90deg)}}
.sib[data-s="bus"] .sib-art{height:auto!important;align-items:center}
@media (max-width:860px){.bus-orb{width:120px}}

/* ---------- ABOUT: night-office scene + quotes ---------- */
.st-col{display:grid;gap:18px}
.night{position:relative;height:380px;border-radius:32px;overflow:hidden;background:linear-gradient(#141B3A,#2B2A5E 70%,#463A78)}
.nt-sky i{position:absolute;width:3px;height:3px;border-radius:50%;background:#fff;animation:tw 2.6s ease-in-out infinite}
.nt-sky i:nth-child(2){left:12%;top:14%}.nt-sky i:nth-child(3){left:28%;top:8%;animation-delay:-.6s}.nt-sky i:nth-child(4){left:46%;top:20%;animation-delay:-1.2s}.nt-sky i:nth-child(5){left:62%;top:10%;animation-delay:-1.8s}.nt-sky i:nth-child(6){left:84%;top:26%;animation-delay:-.3s}.nt-sky i:nth-child(7){left:20%;top:34%;animation-delay:-2.1s}.nt-sky i:nth-child(8){left:72%;top:36%;animation-delay:-1s}.nt-sky i:nth-child(9){left:90%;top:8%;animation-delay:-1.5s}
@keyframes tw{50%{opacity:.2;transform:scale(.6)}}
.moon{position:absolute;right:12%;top:12%;width:54px;height:54px;border-radius:50%;background:#FFF3C9;box-shadow:0 0 40px 10px rgba(255,236,170,.35),inset -12px -6px 0 #F2DC95}
.nt-win{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 calc(33.3% - 3px),rgba(0,0,0,.35) calc(33.3% - 3px) 33.3%);pointer-events:none;opacity:.5}
.nt-lamp{position:absolute;left:6%;bottom:58px;width:260px;height:260px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,214,140,.45),transparent);pointer-events:none}
.night::after{content:"";position:absolute;left:0;right:0;bottom:0;height:64px;background:linear-gradient(#8B5A3C,#6E4329);box-shadow:inset 0 6px 0 #A36B47}
.st-nova{position:absolute!important;left:22%!important;bottom:56px!important;height:230px!important;max-height:none!important;translate:none!important;z-index:2;cursor:pointer;filter:drop-shadow(0 16px 14px rgba(0,0,0,.45))}
.lap{position:absolute;right:10%;bottom:58px;width:210px;height:150px;z-index:3}
.lap-scr{position:absolute;left:10px;right:10px;top:0;bottom:16px;border-radius:12px 12px 4px 4px;background:linear-gradient(#24305C,#1A2244);border:6px solid #D9DCE6;display:grid;place-items:center;box-shadow:0 0 40px rgba(140,170,255,.35)}
.lap-scr img{width:56px;opacity:.85;animation:busSpin 10s ease-in-out infinite}
.lap-base{position:absolute;left:-6px;right:-6px;bottom:4px;height:14px;border-radius:4px 4px 10px 10px;background:linear-gradient(#E4E6EE,#B9BDCB)}
.lap .plate{position:absolute;left:50%;top:auto;bottom:-50px;translate:-50% 0;opacity:0;white-space:nowrap}
.lap .stamp{position:absolute;right:-24px;top:-30px;opacity:0}
.quotes{display:grid;gap:12px}
.qc{position:relative;margin:0;background:#fff;border:1px solid #F0EBF5;border-radius:22px;padding:16px 18px 14px 64px;box-shadow:0 20px 40px -32px rgba(60,30,90,.45)}
.qc blockquote{margin:0;font:800 clamp(17px,1.6vw,21px)/1.35 var(--body);letter-spacing:-.015em;min-height:28px}
.qc blockquote::before{content:"“";color:var(--no)}
.qc figcaption{color:#8A8A92;font-size:14px;margin-top:6px}
.qc .qplay{left:14px;top:16px}
.promote{position:static!important;translate:none!important;justify-self:start}
.st-grid{align-items:start}

/* ---------- ABOUT: the folded letter ---------- */
.ltr{max-width:760px;margin:90px auto 0;perspective:1400px}
.lt-paper{position:relative;background:#FFFDF8;border-radius:10px;box-shadow:0 40px 80px -40px rgba(80,40,10,.45),0 2px 0 #EFE6D8;max-height:300px;overflow:hidden;transition:max-height 1.1s cubic-bezier(.6,.05,.25,1);background-image:repeating-linear-gradient(transparent 0 33px,rgba(120,150,200,.12) 33px 34px)}
.ltr.open .lt-paper{max-height:1400px}
.lt-body{padding:54px clamp(24px,6vw,70px) 46px;position:relative}
.lt-body p{font-size:clamp(17px,1.6vw,20px);line-height:34px;color:var(--ink2);margin-bottom:34px}
.lt-body .to{font:800 24px/34px var(--body);font-style:italic;color:#8B5A3C}
.lt-body .sig{font-style:italic;margin-bottom:0}
.sigsvg{width:200px;height:64px;display:block;margin:-4px 0 6px}
.sigby{font-size:14px!important;color:#8A8A92!important;line-height:1.4!important;margin:0!important}
.doodle{position:absolute;font-size:28px;color:#F0A92E;opacity:.7}.doodle.d1{right:40px;top:40px;rotate:12deg}.doodle.d2{right:70px;bottom:60px;color:var(--coral);rotate:-10deg}
.lt-cover{position:absolute;inset:0;border:0;padding:0;cursor:pointer;background:linear-gradient(160deg,#F6E9D6,#EBD5B5);display:grid;place-items:center;transform-origin:50% 0;transition:transform 1s cubic-bezier(.6,.05,.25,1),opacity .6s .5s;z-index:5;border-radius:10px;box-shadow:inset 0 -2px 0 rgba(120,80,30,.15)}
.lt-cover::before,.lt-cover::after{content:"";position:absolute;left:0;right:0;height:1px;background:rgba(120,80,30,.18)}
.lt-cover::before{top:33%}.lt-cover::after{top:66%}
.ltr.open .lt-cover{transform:rotateX(-120deg);opacity:0;pointer-events:none}
.lt-to{position:absolute;left:40px;top:40px;font:800 26px/1 var(--body);font-style:italic;color:#6B4423}
.lt-from{position:absolute;left:40px;top:78px;font:600 16px/1 var(--body);color:#8B6A48}
.lt-stamp{position:absolute;right:30px;top:26px;width:76px;height:90px;background:#fff;padding:6px;border-radius:4px;box-shadow:0 6px 12px -6px rgba(0,0,0,.35);background-image:radial-gradient(circle at 0 0,transparent 4px,#fff 4.5px);rotate:6deg;display:grid;place-items:end center;overflow:hidden;outline:2px dashed #E8D9C4;outline-offset:-4px}
.lt-stamp img{height:80px;width:auto}
.lt-seal{position:absolute;left:50%;top:50%;width:84px;height:84px;margin:-42px 0 0 -42px}
.lt-seal b{position:absolute;top:0;width:50%;height:100%;background:radial-gradient(circle at 70% 40%,#E8553A,#A8301C);transition:transform .7s cubic-bezier(.3,1.3,.4,1)}
.lt-seal .h1{left:0;border-radius:42px 0 0 42px;clip-path:polygon(0 0,100% 0,85% 30%,100% 55%,80% 80%,100% 100%,0 100%)}
.lt-seal .h2{right:0;border-radius:0 42px 42px 0;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,20% 80%,0 55%,15% 30%)}
.lt-seal em{position:absolute;inset:0;display:grid;place-items:center;font:900 32px/1 var(--display);font-style:normal;color:#FFD3C4;text-shadow:0 2px 0 rgba(0,0,0,.25);pointer-events:none;transition:opacity .3s}
.lt-cover:hover .lt-seal{animation:sealWob .6s ease-in-out}
@keyframes sealWob{30%{rotate:-8deg}60%{rotate:6deg}}
.ltr.open .lt-seal .h1{transform:translate(-60px,40px) rotate(-40deg)}.ltr.open .lt-seal .h2{transform:translate(60px,40px) rotate(40deg)}.ltr.open .lt-seal em{opacity:0}
.lt-hint{position:absolute;bottom:28px;left:50%;translate:-50% 0;font:700 15px/1 var(--body);color:#8B6A48;white-space:nowrap}
@media (max-width:640px){.lt-to{font-size:20px;left:22px;top:24px}.lt-from{left:22px;top:52px}.lt-stamp{width:60px;height:72px;right:16px}.lt-stamp img{height:62px}}

/* ---------- ABOUT: map tour (plane + postcard) ---------- */
.m4-arcs path{stroke-opacity:.25!important;transition:stroke-opacity .3s}
.m4-arcs path.on{stroke-opacity:1!important;stroke-width:2.4!important}
.pin4:not(.on):not(.hq) span{opacity:0;transform:translateY(-4px);transition:opacity .2s,transform .2s}
.pin4:hover span{opacity:1!important;transform:none!important}
.m4-plane{display:none!important}
.plane5{position:absolute;left:0;top:0;width:44px;height:44px;margin:-22px 0 0 -22px;pointer-events:none;z-index:6;opacity:0;filter:drop-shadow(0 6px 8px rgba(0,0,0,.5))}
.trail5{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:5;overflow:visible}
.m4-card{left:auto!important;right:2%!important;bottom:4%!important;width:min(330px,72%)!important;padding:14px 14px 14px 16px!important;background:#FFFDF7!important;border-radius:6px!important;transform:rotate(-2deg);background-image:repeating-linear-gradient(90deg,transparent 0 10px,rgba(224,72,45,.08) 10px 20px)!important;background-size:100% 6px!important;background-repeat:no-repeat!important;border-top:6px solid transparent;border-image:repeating-linear-gradient(90deg,var(--no) 0 12px,#fff 12px 18px,#2F5FD0 18px 30px,#fff 30px 36px) 6}
.m4-card .pm{position:absolute;right:12px;top:10px;width:46px;height:46px;border-radius:50%;border:2px solid rgba(224,72,45,.45);display:grid;place-items:center;font:800 8px/1.1 var(--body);color:rgba(224,72,45,.7);text-align:center;rotate:-14deg}
@media (max-width:700px){.m4-card{position:relative!important;right:0!important;width:100%!important;transform:none}}

/* ---------- ABOUT: Promise Machine v5 ---------- */
.pm5{position:relative;display:grid;grid-template-columns:minmax(300px,400px) 1fr;gap:40px;align-items:center;border-radius:40px;padding:clamp(24px,4vw,54px);background:radial-gradient(80% 90% at 20% 20%,var(--bg),#EEF0FF 55%,#E4E9FF);overflow:hidden;isolation:isolate}
.pm5::before{content:"";position:absolute;left:-10%;top:-30%;width:60%;height:160%;background:radial-gradient(closest-side,rgba(255,224,150,.55),transparent);z-index:-1}
.pm5-cloud{position:absolute;width:220px;height:70px;border-radius:40px;background:#fff;opacity:.8;filter:blur(6px);z-index:-1;animation:cl 18s ease-in-out infinite}
.pm5-cloud.c1{right:6%;top:6%}.pm5-cloud.c2{right:32%;bottom:4%;width:160px;animation-delay:-8s}
@keyframes cl{50%{transform:translateX(-40px)}}
.pm5-mach{position:relative;display:grid;justify-items:center}
.pm5-badge{position:relative;z-index:3;width:110px;height:58px;margin-bottom:-12px;border-radius:30px 30px 14px 14px;background:linear-gradient(#FFF6DF,#E9C77A);box-shadow:0 0 0 4px #F4DFA9,0 10px 24px -8px rgba(160,110,20,.6),inset 0 2px 0 #fff;display:grid;place-items:center;font:900 30px/1 var(--display);color:#B47A14;text-shadow:0 0 12px rgba(255,210,100,.9)}
.pm5-dome{position:relative;width:300px;height:270px;border-radius:48% 48% 42% 42%;background:radial-gradient(circle at 30% 22%,rgba(255,255,255,.95) 0 6%,rgba(255,255,255,.3) 7% 26%,rgba(230,236,255,.35) 60%,rgba(200,210,255,.55));box-shadow:inset 0 -24px 40px rgba(120,130,220,.25),0 0 0 6px rgba(255,255,255,.8),0 0 0 9px #F1D893,0 30px 60px -30px rgba(80,60,180,.5);overflow:hidden}
.pm5-shine{position:absolute;left:14%;top:8%;width:24%;height:60%;border-radius:50%;background:linear-gradient(rgba(255,255,255,.75),rgba(255,255,255,0));rotate:18deg;z-index:3;pointer-events:none}
.orb5{position:absolute;width:78px;height:78px;border-radius:50%;background:radial-gradient(circle at 32% 28%,#fff 0 8%,var(--oc) 34%,var(--od) 100%);box-shadow:0 0 22px var(--oc),inset 0 -8px 14px rgba(0,0,0,.18);display:grid;place-items:center}
.orb5::after{content:"✦";color:#fff;font-size:26px;text-shadow:0 0 10px #fff}
.orb5.sm{width:62px;height:62px;opacity:.85}
.pm5-neck{position:relative;z-index:2;margin-top:-26px;background:linear-gradient(#fff,#F4EEF9);border-radius:24px;padding:12px 26px;box-shadow:0 0 0 3px #F1D893,0 10px 20px -12px rgba(0,0,0,.3);font:800 17px/1.1 var(--body);color:#2C2557;white-space:nowrap}
.pm5-neck span{background:linear-gradient(90deg,#B47A14,#2C2557 30%,#2C2557 70%,#B47A14);-webkit-background-clip:text;background-clip:text}
.pm5-body{position:relative;width:280px;height:200px;margin-top:-6px;border-radius:30px 30px 40px 40px;background:linear-gradient(100deg,#F3F2F8,#fff 40%,#ECEAF3);box-shadow:0 0 0 3px #F1D893,inset 0 -16px 24px rgba(120,110,170,.18),0 30px 50px -26px rgba(60,40,140,.5)}
.pm5-crank{position:absolute;left:50%;top:26px;width:92px;height:92px;margin-left:-46px;border-radius:50%;border:0;padding:0;background:radial-gradient(circle at 40% 30%,#FFF8E6,#EBCB82 70%,#C99A3B);box-shadow:0 0 0 6px #fff,0 0 0 9px #F1D893,0 12px 20px -8px rgba(140,90,10,.6);cursor:grab;touch-action:none}
.pm5-crank .arm{position:absolute;left:50%;top:50%;width:62px;height:16px;margin:-8px 0 0 -4px;border-radius:8px;background:linear-gradient(#F6DFA2,#C99A3B);transform-origin:4px 50%;rotate:-40deg;box-shadow:0 3px 6px rgba(0,0,0,.25)}
.pm5-crank .arm i{position:absolute;right:-8px;top:-6px;width:26px;height:26px;border-radius:50%;background:radial-gradient(circle at 40% 30%,#fff,#E9C77A)}
.pm5-crank .hub{position:absolute;left:50%;top:50%;width:26px;height:26px;margin:-13px;border-radius:50%;background:radial-gradient(circle at 40% 30%,#fff,#D6A947)}
.pm5-crank:hover{filter:brightness(1.05)}
.pm5-arrows{position:absolute;left:24px;top:56px;font-size:28px;color:#E9C77A;animation:spinD 4s linear infinite}
.pm5-chute{position:absolute;left:50%;bottom:16px;width:120px;height:56px;margin-left:-60px;border-radius:60px 60px 14px 14px;background:radial-gradient(70% 90% at 50% 100%,#3B2F7A,#1B1440);box-shadow:inset 0 6px 14px rgba(0,0,0,.6),0 0 0 3px #F1D893;overflow:visible}
.pm5-chute .orb5{position:absolute;left:50%;bottom:4px;width:52px;height:52px;margin-left:-26px}
.pm5-chute .orb5::after{font-size:18px}
.pm5-left{position:absolute;right:18px;top:16px;font:800 12px/1 var(--body);color:#8B82B8}
.pm5-base{width:330px;height:28px;margin-top:-8px;border-radius:50%;background:radial-gradient(closest-side,#FFF3CF,#E9C77A);box-shadow:0 0 30px rgba(255,210,110,.7)}
.pm5-shelf{position:relative;border-radius:32px;padding:20px 20px 26px;background:rgba(255,255,255,.65);backdrop-filter:blur(6px);box-shadow:0 0 0 2px rgba(255,255,255,.9),0 30px 60px -40px rgba(60,40,140,.5)}
.pm5-sh{display:flex;justify-content:center;align-items:center;position:relative;margin-bottom:18px}
.pm5-title{background:linear-gradient(#FFF9EA,#FBEFD0);border-radius:999px;padding:10px 22px;font:800 19px/1 var(--body);color:#2C2557;box-shadow:0 0 0 2px #F1D893}
.pm5-count{position:absolute;right:0;top:50%;translate:0 -50%;background:#fff;border-radius:999px;padding:6px 12px;font:800 14px/1 var(--body);color:#2C2557}
.pm5-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.pm5-p{position:relative;display:grid;justify-items:center;text-align:center;align-content:start;gap:6px;padding:16px 10px 18px;border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.95),var(--pb,#F4F1FF));min-height:270px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.9)}
.pm5-p::after{content:"";position:absolute;left:14%;right:14%;bottom:8px;height:12px;border-radius:50%;background:radial-gradient(closest-side,#FFE7A6,#E2B95A);box-shadow:0 0 14px rgba(255,210,110,.8)}
.pm5-gl{position:relative;width:110px;height:110px;border-radius:50%;display:grid;place-items:end center;overflow:hidden;background:radial-gradient(circle at 32% 26%,#fff 0 10%,var(--oc,#E5E0F5) 60%,var(--od,#CFC6EE));box-shadow:0 0 28px var(--oc,transparent),inset 0 -10px 16px rgba(0,0,0,.12)}
.pm5-gl img{height:96px;width:auto;margin-bottom:-2px}
.pm5-p.empty .pm5-gl{background:radial-gradient(circle at 32% 26%,#fff 0 10%,#EEEAF7 60%,#DED8EE);box-shadow:inset 0 -10px 16px rgba(0,0,0,.06)}
.pm5-p.empty .pm5-gl::after{content:"?";position:absolute;inset:0;display:grid;place-items:center;font:900 36px/1 var(--display);color:#C9C0E2}
.pm5-p b{font:800 17px/1.15 var(--body);color:#2C2557;margin-top:6px}
.pm5-p small{font-size:13.5px;line-height:1.4;color:#4A4670}
.pm5-p.empty b{color:#B5ADCF}.pm5-p.empty small{color:#B5ADCF}
.pm5-fly{position:fixed;z-index:300;pointer-events:none}
.pm5-done{margin-top:16px;text-align:center;font:800 18px/1.3 var(--body);color:var(--ok)}
#pmReset{display:block;margin:6px auto 0}
@media (max-width:980px){.pm5{grid-template-columns:1fr}.pm5-row{grid-template-columns:1fr 1fr}.pm5-dome{width:240px;height:220px}.pm5-body{width:230px}.pm5-base{width:270px}}

/* ---------- SHOP: friends try on the merch ---------- */
.ws-hold{position:absolute;z-index:3;width:120px;height:120px;left:58%;bottom:70px;pointer-events:none;transform-origin:50% 100%}
.ws-hold .mk{width:100%;height:100%;border-radius:20px;box-shadow:0 18px 26px -14px rgba(40,20,60,.5);border:3px solid #fff}
.ws-hold .mk .pr{display:none}
.ws-hold-l{position:absolute;left:50%;bottom:26px;translate:-50% 0;z-index:4;background:#fff;border-radius:999px;padding:7px 14px;font:800 13px/1 var(--body);box-shadow:0 10px 20px -12px rgba(0,0,0,.4);white-space:nowrap}
.ws-t .hold{position:absolute;right:4px;bottom:26px;width:34px;height:34px;border-radius:9px;overflow:hidden;border:2px solid #fff;box-shadow:0 4px 8px -4px rgba(0,0,0,.4)}
.ws-t .hold .mk{width:100%;height:100%;border-radius:0}.ws-t .hold .pr{display:none}
.ws-t{position:relative}

/* ---------- CHECKOUT choice ---------- */
.co-ch{display:grid;gap:12px}
.co-o{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;text-align:left;border:1.5px solid #ECECF0;background:#fff;border-radius:20px;padding:16px;cursor:pointer;transition:border-color .2s,transform .2s}
.co-o:hover{border-color:var(--ink);transform:translateY(-2px)}
.co-o img{width:54px;height:54px;object-fit:contain}
.co-o b{display:block;font:800 17px/1.2 var(--body)}.co-o small{color:var(--ink3);font-size:14px}
.co-o .chev{font-size:24px;color:#8A8A92}
.co-steps{display:flex;gap:6px;margin-bottom:6px}
.co-steps span{flex:1;font:700 11.5px/1 var(--body);letter-spacing:.06em;text-transform:uppercase;color:#8A8A92;border-top:4px solid #ECECF0;padding-top:8px}
.co-steps span.on{color:var(--ink);border-color:var(--no)}
.co-who{display:flex;gap:10px;align-items:center;background:#F3FBF6;border-radius:14px;padding:10px 12px;font-size:14px;color:#13633F;font-weight:700}

/* ---------- leaf rain ---------- */
.leafrain{position:fixed;top:-60px;z-index:400;pointer-events:none}

/* ---------- kid success ---------- */
.kp-go{display:grid;gap:10px;width:100%}
.kp-tile{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;text-align:left;border-radius:22px;padding:14px 16px;text-decoration:none;color:var(--ink);background:linear-gradient(120deg,#F4EFFF,#FFF1EC);border:2px solid #E6DCFA;transition:transform .2s}
.kp-tile:hover{transform:translateY(-3px)}
.kp-tile img{width:62px;height:62px;object-fit:contain}
.kp-tile small{display:block;font:800 11px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:#7B55E8}
.kp-tile b{display:block;font:900 20px/1.1 var(--display);margin-top:4px}
.kp-tile span{display:block;color:var(--ink3);font-size:13.5px;margin-top:2px}
.kp-tile .pl{width:52px;height:52px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:20px}
.kp-mini{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.kp-mini a{display:flex;gap:8px;align-items:center;justify-content:center;border:1.5px solid #ECECF0;border-radius:16px;padding:12px;font:800 14.5px/1 var(--body);color:var(--ink);text-decoration:none}
.kp-mini a img{width:28px;height:28px;object-fit:contain}
.c5-facts2{display:grid;gap:6px;margin:12px 0;font-size:14px;color:var(--ink2)}
.c5-facts2 p{background:#F7F7F9;border-radius:12px;padding:9px 12px;line-height:1.4}
.c5-facts2 b{display:block;font-size:12.5px;letter-spacing:.02em;margin-bottom:2px}
.jx-go{position:static!important;display:inline-block;margin-top:12px}
/* journey fix: open card grows to its content, art has its own stage */
.jx{height:auto!important;min-height:620px;align-items:stretch}
.jx-p.on .jx-full{position:relative;inset:auto}
.jx-full{align-items:center;padding:34px 36px 30px}
.jx-full h3{font-size:clamp(38px,3.8vw,56px)}
.jx-can{margin:14px 0}
.jx-can li{padding:8px 12px;font-size:14.5px}
.jx-art{height:100%;min-height:460px;align-self:stretch;padding-top:56px}
.jx-cap{left:auto;right:0;translate:none;max-width:100%;white-space:normal;text-align:right}
.jx-kid{max-height:78%;margin-bottom:34px!important}
.jx-bb{max-height:58%}
@media (max-width:900px){.jx-art{min-height:320px}.jx-cap{left:50%;right:auto;translate:-50% 0;text-align:center}}
/* ---------- About: the family portrait (clean) ---------- */
.fam-stage{display:grid!important;grid-template-columns:repeat(3,1fr);align-items:end;gap:clamp(8px,2vw,30px);height:auto!important;min-height:0!important;padding:clamp(110px,12vw,150px) clamp(16px,4vw,60px) 34px!important}
.fam-stage .sib{position:relative!important;left:auto!important;bottom:auto!important;width:auto!important;height:auto!important;display:grid;justify-items:center;align-content:end;gap:0}
.fam-stage .sib-art{height:clamp(170px,24vw,330px)!important;width:100%;display:grid!important;place-items:end center}
.fam-stage .sib-img{height:100%!important;width:auto!important;max-width:100%;object-fit:contain;object-position:50% 100%}
.fam-stage .bus-orb{width:min(100%,clamp(150px,19vw,260px))!important;margin:0 auto 6%}
.fam-stage .sib-shadow{display:none}
.fam-stage .sib::after{content:"";order:2;width:min(86%,260px);height:clamp(22px,2.6vw,34px);margin-top:-8px;border-radius:50%;background:linear-gradient(var(--bg),#EFE3D8);box-shadow:0 14px 24px -12px rgba(90,50,20,.45),inset 0 -5px 0 rgba(180,130,90,.18)}
.fam-stage .sib-art{order:1;position:relative;z-index:2}
.fam-stage .sib-tag{order:3;margin-top:14px;position:relative;z-index:3}
.fam-stage .ribbon{top:2%;right:6%}
.fam-stage .sib:not(.on) .sib-art{opacity:.82;transform:scale(.94);transition:opacity .4s,transform .4s}
.fam-stage .sib.on .sib-art{opacity:1;transform:none}
.fam-stage .fs-floor{bottom:-46%;height:72%}
.fam-stage .puff{display:none!important}
.fs-say{top:22px!important;max-width:320px!important;font-size:15.5px!important;transition:left .5s cubic-bezier(.3,1.3,.4,1)}
.fs-say::after{content:"";position:absolute;left:50%;bottom:-7px;width:14px;height:14px;margin-left:-7px;background:inherit;transform:rotate(45deg);border-radius:3px}
.fs-say.dark{background:#1D2747;color:#fff}
.sib-card{margin-top:24px!important}
@media (max-width:700px){.fam-stage{padding-top:120px!important}.fam-stage .sib-tag{padding:6px 8px}.fam-stage .sib-tag b{font-size:14px}.fam-stage .sib-tag small{font-size:10.5px}.fs-say{max-width:230px!important;font-size:13.5px!important}}
.fam-stage>.fs-sky{position:absolute;inset:0;pointer-events:none}
.fam-stage>.fs-beam,.fam-stage>.fs-floor,.fam-stage>.fs-say{position:absolute}
.fam-stage .sib{grid-row:1}
.fam-stage .sib[data-s="bus"]{grid-column:1}.fam-stage .sib[data-s="but"]{grid-column:2}.fam-stage .sib[data-s="dum"]{grid-column:3}
.fam-stage .sib-img{position:absolute;left:0;bottom:0;width:100%!important;height:100%!important;max-width:none;object-fit:contain;object-position:50% 100%}
.acro{position:relative}
.acro-fin{position:relative;display:grid;justify-items:center;gap:10px;margin-top:calc(-1 * clamp(84px,12vw,150px) - 44px);min-height:clamp(84px,12vw,150px)}
.af-logo{display:flex;align-items:center;gap:clamp(12px,2vw,22px)}
.af-logo svg{width:clamp(70px,9vw,120px);height:auto}
.af-word{height:clamp(44px,6vw,80px);width:auto}
b.af-word{font:900 clamp(44px,6vw,80px)/1 var(--display);letter-spacing:-.04em}
.af-sub{display:none}
.acro-fin[hidden]{display:none}
#acroAgain{position:absolute;bottom:-86px;left:50%;translate:-50% 0;white-space:nowrap}.acro-fin:not([hidden])~.acro-cap{margin-bottom:56px}

/* ===================== v6: Our story ===================== */
.story6{padding:100px 0 40px}
.s6-intro{text-align:center;max-width:860px;margin:0 auto}
.s6-intro h2{font:900 clamp(40px,5.6vw,80px)/1 var(--display);letter-spacing:-.045em;margin:14px 0}
.s6-intro h2 em{font-style:normal;color:var(--no)}
/* acrostic finale */
.acro-fin{margin:30px 0 6px!important;min-height:0!important;display:grid;justify-items:center}
.acro-fin[hidden]{display:none!important}
.af-official{height:clamp(170px,20vw,250px);width:auto;filter:drop-shadow(0 24px 30px rgba(60,40,120,.18))}
#acroAgain{position:static!important;translate:none!important;display:block;margin:10px auto 0}
#acroAgain[hidden]{display:none!important}
.acro-cap{margin-top:8px}
.acro-cap.win{font-size:clamp(16px,1.7vw,21px)!important;max-width:30ch;margin-left:auto;margin-right:auto;line-height:1.35}
/* chapter 1 */
.s6-ch{display:grid;grid-template-columns:minmax(280px,440px) 1fr;gap:clamp(28px,5vw,70px);align-items:center;margin-top:80px}
.s6-txt p{font-size:clamp(17px,1.5vw,20px);line-height:1.7;color:var(--ink2);margin-bottom:16px}
.s6-txt p.big{font:800 clamp(26px,3vw,40px)/1.15 var(--display);letter-spacing:-.03em;color:var(--ink);margin-bottom:20px}
.s6-txt p.big em{font-style:normal;color:var(--no)}
.s6-mid{max-width:760px;margin:46px auto 0}
.sketchbook{position:relative;margin:0;rotate:-2.5deg}
.sk-paper{position:relative;background:#FFFAF0;border-radius:6px;padding:18px 18px 10px;box-shadow:0 30px 60px -30px rgba(90,60,20,.45),0 1px 0 #EADFCB;background-image:linear-gradient(90deg,rgba(224,72,45,.15) 1px,transparent 1px);background-size:100% 100%;background-position:46px 0;background-repeat:no-repeat}
.sk-img{display:block;width:100%;height:auto}
.sk-doodles{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.sketchbook figcaption{text-align:center;font:700 16px/1.3 var(--body);font-style:italic;color:#8B6A48;padding:12px 0 6px}
.tape{position:absolute;width:110px;height:30px;background:rgba(255,214,140,.65);z-index:2;box-shadow:0 2px 4px rgba(0,0,0,.08)}
.tape.t1{left:-18px;top:-10px;rotate:-24deg}.tape.t2{right:-20px;top:-6px;rotate:20deg}
/* chats */
.chat6{max-width:640px;margin:56px auto 0;background:linear-gradient(160deg,#F7F3FF,#FFF5EF);border-radius:32px;padding:22px 24px 16px;position:relative;box-shadow:0 30px 60px -44px rgba(60,30,90,.5)}
.ch-when{font:700 12.5px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:#8A7BB5;text-align:center;margin-bottom:16px}
.ch-body{display:grid;gap:10px;min-height:60px}
.msg{display:flex;align-items:flex-end;gap:10px;opacity:0}
.msg.dad{flex-direction:row-reverse}
.msg .av{flex:none;width:44px;height:44px;border-radius:50%;overflow:hidden;display:grid;place-items:center;font:800 12px/1 var(--body);box-shadow:0 0 0 3px #fff}
.msg .av.k{background:#FFFAF0}.msg .av.k img{width:150%;height:auto;margin-top:22%}
.msg .av.d{background:#1D2747;color:#fff}
.msg .bub{max-width:76%;padding:12px 16px;border-radius:22px;font:600 clamp(15.5px,1.4vw,17.5px)/1.4 var(--body)}
.msg.kid .bub{background:#fff;color:var(--ink);border-bottom-left-radius:6px;box-shadow:0 8px 18px -14px rgba(0,0,0,.4)}
.msg.dad .bub{background:#7B55E8;color:#fff;border-bottom-right-radius:6px}
.typing .bub{display:flex;gap:5px;padding:16px}
.typing .bub i{width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.5;animation:td 1s infinite}
.typing .bub i:nth-child(2){animation-delay:.15s}.typing .bub i:nth-child(3){animation-delay:.3s}
@keyframes td{50%{transform:translateY(-4px);opacity:1}}
.ch-re{display:block;margin:12px auto 0;font-size:14px}
/* big question */
.s6-q{text-align:center;margin:80px auto 0;max-width:820px}
.s6-q p{color:#6B6B72;font-size:19px}
.s6-q blockquote{margin:12px 0 0;font:900 clamp(32px,4.6vw,60px)/1.05 var(--display);letter-spacing:-.04em;color:var(--ink)}
.s6-end .it{font:800 clamp(22px,2.6vw,32px)/1.2 var(--display)!important;letter-spacing:-.03em;color:var(--ink)!important;margin-bottom:6px!important}
.s6-end .it3{color:var(--no)!important;margin-bottom:24px!important}
@media (max-width:860px){.s6-ch{grid-template-columns:1fr}.sketchbook{max-width:360px;margin:0 auto}}

/* ---------- the envelope ---------- */
.env6{max-width:900px;margin:100px auto 0;position:relative}
.e6{position:relative;display:block;width:100%;aspect-ratio:2.55/1;border:0;padding:0;background:none;cursor:pointer;perspective:1400px;filter:drop-shadow(0 40px 50px rgba(120,70,20,.28))}
.e6-air{position:absolute;inset:0;border-radius:22px;background:repeating-linear-gradient(135deg,#D9473A 0 16px,#FFF6E6 16px 26px,#2F5FD0 26px 42px,#FFF6E6 42px 52px)}
.e6-paper{position:absolute;inset:10px;border-radius:14px;background:radial-gradient(120% 120% at 50% 0%,#FFF8EA,#F3E2C6);box-shadow:inset 0 0 0 1px rgba(150,110,60,.15)}
.e6-flapL,.e6-flapR{position:absolute;bottom:10px;width:55%;height:62%;background:linear-gradient(160deg,#F7E9D1,#EEDBB9);box-shadow:inset 0 2px 0 rgba(255,255,255,.6)}
.e6-flapL{left:10px;clip-path:polygon(0 100%,0 0,100% 100%);border-bottom-left-radius:14px}
.e6-flapR{right:10px;clip-path:polygon(100% 100%,100% 0,0 100%);border-bottom-right-radius:14px}
.e6-flapT{position:absolute;left:10px;right:10px;top:10px;height:60%;background:linear-gradient(#FBF0DC,#F0DDBB);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:50% 0;border-radius:14px 14px 0 0;z-index:3;box-shadow:0 6px 10px rgba(0,0,0,.06)}
.e6-to{position:absolute;left:8%;top:13%;z-index:4;font:900 clamp(26px,4vw,48px)/1 var(--body);font-style:italic;letter-spacing:-.02em;color:#4A2A12}
.e6-crown{position:absolute;right:-58px;top:-36px;width:54px;rotate:14deg}
.e6-ul{position:absolute;left:30%;bottom:-20px;width:70%;height:16px}
.e6-from{position:absolute;left:10%;top:36%;z-index:4;background:rgba(240,200,140,.45);border-radius:8px;padding:6px 12px;font:800 clamp(14px,1.6vw,19px)/1 var(--body);font-style:italic;color:#5A3A1A}
.e6-from i{font-style:normal;color:#D0332A;font-size:1.3em}
.e6-stamp{position:absolute;right:6%;top:9%;z-index:5;width:clamp(80px,11vw,130px);aspect-ratio:.84;padding:7px;background:#fff;rotate:7deg;box-shadow:0 10px 18px -8px rgba(0,0,0,.4);-webkit-mask:radial-gradient(circle 5px at 5px 5px,transparent 98%,var(--action-ink)) -5px -5px/14px 14px;mask:radial-gradient(circle 5px at 5px 5px,transparent 98%,var(--action-ink)) -5px -5px/14px 14px}
.e6-stamp img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;display:block}
.e6-pm{position:absolute;right:calc(6% + clamp(80px,11vw,130px) - 20px);top:15%;width:clamp(90px,12vw,150px);z-index:4;opacity:.75}
.e6-rocket{position:absolute;left:6%;bottom:12%;width:clamp(70px,10vw,120px);z-index:4;opacity:.9}
.e6-planet{position:absolute;right:7%;bottom:12%;width:clamp(80px,11vw,140px);z-index:4;opacity:.9}
.e6-c{position:absolute;bottom:4px;width:44px;height:44px;z-index:6;background:linear-gradient(135deg,#F8DE93,#C9952C);clip-path:polygon(0 100%,0 0,100% 100%)}
.e6-c.c1{left:4px;border-bottom-left-radius:18px}.e6-c.c2{right:4px;clip-path:polygon(100% 100%,100% 0,0 100%);border-bottom-right-radius:18px}
.e6-seal{position:absolute;left:50%;top:58%;translate:-50% -50%;z-index:7;width:clamp(96px,12vw,136px);aspect-ratio:1}
.e6-seal .wax{position:absolute;inset:0;border-radius:44% 56% 48% 52%/54% 46% 54% 46%;background:radial-gradient(circle at 36% 30%,#F06A4C,#B5271A 62%,#8C1A10);box-shadow:inset 0 -6px 12px rgba(0,0,0,.25),inset 0 4px 8px rgba(255,255,255,.25),0 0 0 6px rgba(214,60,40,.35),0 0 40px rgba(255,170,90,.55);display:grid;place-items:center}
.e6-seal .wax::before{content:"";position:absolute;inset:16%;border-radius:50%;border:2px solid rgba(255,220,200,.45)}
.e6-seal b{font:900 clamp(34px,4.4vw,50px)/1 var(--display);color:#FFE2C8;text-shadow:0 2px 0 rgba(0,0,0,.3)}
.e6-seal .rib{position:absolute;top:70%;width:26%;height:58%;background:linear-gradient(#D23A27,#9B1E12);z-index:-1;clip-path:polygon(0 0,100% 0,100% 100%,50% 82%,0 100%)}
.e6-seal .r1{left:22%;rotate:24deg}.e6-seal .r2{right:22%;rotate:-24deg}
.e6:hover .e6-seal{animation:sealWob .7s ease-in-out}
.e6-hint{position:absolute;left:50%;bottom:10%;translate:-50% 0;z-index:7;display:flex;gap:12px;align-items:center;background:linear-gradient(#FFF8E6,#FBE7BE);border-radius:999px;padding:10px 20px;font:800 clamp(14px,1.5vw,18px)/1 var(--body);color:#5A3A1A;box-shadow:0 0 0 2px #F1D38A,0 0 24px rgba(255,200,100,.6);white-space:nowrap}
.e6-hint i{font-style:normal;color:#E0A21F}
.e6-letter{position:absolute;left:6%;right:6%;top:6%;height:80%;z-index:1;background:#FFFDF8;border-radius:10px;overflow:hidden;box-shadow:0 20px 40px -20px rgba(80,40,10,.4);background-image:repeating-linear-gradient(transparent 0 33px,rgba(120,150,200,.12) 33px 34px)}
.env6.open .e6-letter{position:relative;left:auto;right:auto;top:auto;height:auto;margin:0 auto;max-width:780px;z-index:8}
.env6.open .e6{display:none}
.e6-body{padding:54px clamp(24px,6vw,70px) 46px;position:relative}
.e6-body p{font-size:clamp(17px,1.6vw,20px);line-height:34px;color:var(--ink2);margin-bottom:34px}
.e6-body .to{font:900 26px/34px var(--body);font-style:italic;color:#8B5A3C}
.e6-body .sig{font-style:italic;margin-bottom:0}
.e6-body .sigby{font-size:15px!important;line-height:1.5!important;color:var(--ink3)!important;margin-bottom:24px!important}
.e6-body .sigby b{color:var(--ink);font-size:17px}
.proud{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;background:linear-gradient(120deg,#FFF6DC,#FFE9B8);border-radius:22px;padding:14px 18px;box-shadow:0 0 0 2px #F1D38A,0 20px 40px -24px rgba(160,110,20,.6);opacity:0}
.proud img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:50% 12%;background:#FFFAF0;box-shadow:0 0 0 3px #fff}
.proud small{font:800 11px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:#B47A14}
.proud b{display:block;font:900 22px/1.1 var(--display);margin:4px 0 2px}
.proud span{font-size:14px;color:#6B5420}
.proud .medal{font-size:40px}
@media (max-width:700px){.e6{aspect-ratio:1.45/1}.e6-to{font-size:24px;left:7%;top:10%}.e6-crown{display:none}.e6-from{top:28%}.e6-pm{display:none}.e6-rocket,.e6-planet{bottom:24%;width:60px}.e6-seal{top:56%}.e6-hint{font-size:13px;padding:8px 14px;bottom:7%}}

/* ---------- Promise Machine: character balls ---------- */
.pm5-dome{cursor:grab;touch-action:none}
.cb6{position:absolute;left:0;top:0;width:58px;height:58px;margin:-29px 0 0 -29px;border-radius:50%;background:radial-gradient(circle at 32% 26%,#fff 0 8%,var(--cc) 55%,var(--cd));box-shadow:inset 0 -6px 10px rgba(0,0,0,.14),inset 0 3px 6px rgba(255,255,255,.6),0 6px 10px -6px rgba(40,20,80,.4);overflow:hidden;will-change:transform}
.cb6 img{position:absolute;left:50%;bottom:-6%;translate:-50% 0;height:86%;width:auto;pointer-events:none}
.cb6::after{content:"";position:absolute;left:14%;top:8%;width:36%;height:26%;border-radius:50%;background:rgba(255,255,255,.55)}
.cb6.pr{width:66px;height:66px;margin:-33px 0 0 -33px;box-shadow:0 0 0 3px #FFE7A0,0 0 20px rgba(255,210,100,.9),inset 0 -6px 10px rgba(0,0,0,.14)}
.cb6.pr::before{content:"✦";position:absolute;right:6px;top:2px;z-index:2;color:#fff;font-size:14px;text-shadow:0 0 6px #FFD26B}
.pm5-hint{position:absolute;left:50%;top:44%;translate:-50% 0;z-index:5;background:rgba(255,255,255,.9);border-radius:999px;padding:6px 12px;font:800 12px/1 var(--body);color:#2C2557;pointer-events:none;white-space:nowrap;transition:opacity .4s}

/* ---------- Proudly Canadian moment ---------- */
.mmoment{position:fixed;inset:0;z-index:420;pointer-events:none;display:grid;place-items:center}
.mm-c{display:grid;justify-items:center;text-align:center;opacity:0}
.mm-leaf{position:relative;width:min(300px,56vw);aspect-ratio:1;display:grid;place-items:center}
.mm-leaf i{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(213,43,30,.25)}
.mm-leaf i:nth-child(2){inset:-14%;border-style:dashed;border-color:rgba(213,43,30,.18)}
.mm-leaf svg{width:70%;filter:drop-shadow(0 20px 40px rgba(213,43,30,.45))}
.mm-glow{position:absolute;inset:-20%;border-radius:50%;background:radial-gradient(closest-side,rgba(255,236,226,.95),rgba(255,236,226,0))}
.mm-q{font:900 clamp(26px,3.6vw,46px)/1.15 var(--body);font-style:italic;letter-spacing:-.02em;color:#3A1410;margin-top:6px;text-shadow:0 2px 20px #fff}
.mm-k{font:800 13px/1 var(--body);letter-spacing:.3em;text-transform:uppercase;color:#C2391F;margin-top:14px}
.mm-toast{position:fixed;left:50%;bottom:24px;translate:-50% 0;z-index:430;display:flex;align-items:center;gap:12px;background:linear-gradient(90deg,#C8291D,#E8553F);color:#fff;border-radius:999px;padding:10px 12px 10px 16px;font:800 clamp(14px,1.5vw,17px)/1 var(--body);box-shadow:0 20px 40px -14px rgba(200,40,30,.6);pointer-events:auto;opacity:0}
.mm-toast svg{width:24px;height:24px}
.mm-toast button{width:30px;height:30px;border-radius:50%;border:0;background:rgba(255,255,255,.22);color:#fff;font-size:16px;cursor:pointer}
.leafrain{position:fixed;top:-70px;z-index:425;pointer-events:none}
.mic svg path{transition:fill .3s}

.e6{z-index:2}.e6-letter{z-index:1}
.msg .bub{text-transform:none!important;letter-spacing:normal!important}
.mm-c{background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:40px;padding:28px clamp(24px,4vw,56px) 30px;box-shadow:0 40px 80px -30px rgba(120,20,10,.45)}
.mm-q{text-shadow:none}

/* ===================== v7 ===================== */
/* ---------- Kit Studio ---------- */
.ks-top{padding:44px 0 18px;text-align:center}
.ks-top .eyebrow{justify-content:center}
.ks-top h1{font:900 clamp(40px,5.6vw,80px)/.96 var(--display);letter-spacing:-.05em;margin:12px 0 12px}
.ks-top h1 em{font-style:normal;background:linear-gradient(90deg,#7B55E8,#E86AA0);-webkit-background-clip:text;background-clip:text;color:transparent}
.ks-top .lede{max-width:640px;margin:0 auto;color:#55555C}
.ks{--kb:#F1ECFF;position:relative;display:grid;grid-template-columns:270px minmax(0,1fr) 340px;grid-template-areas:"hero head kit" "rail rail kit" "det det kit" "fr fr kit";gap:18px 28px;padding:30px;border-radius:40px;background:radial-gradient(90% 60% at 12% 0,color-mix(in srgb,var(--kb) 70%,#fff),#fff 60%);box-shadow:0 50px 100px -60px rgba(60,30,140,.45),0 0 0 1px rgba(123,85,232,.08);margin:10px 0 40px;isolation:isolate}
.ks-hero{grid-area:hero;position:relative;height:290px;display:grid;place-items:end center}
.ks-glow{position:absolute;inset:8% 0 0;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--kb) 90%,#B9A2FF),rgba(255,255,255,0));filter:blur(4px)}
.ks-pod{position:absolute;left:12%;right:12%;bottom:4px;height:38px;border-radius:50%;background:radial-gradient(closest-side,#fff,color-mix(in srgb,var(--kb) 80%,#C9B5FF));box-shadow:0 18px 26px -16px rgba(80,50,160,.5),inset 0 -6px 10px rgba(123,85,232,.12)}
#ksChar{position:relative;z-index:2;height:250px;width:auto;max-width:100%;object-fit:contain;margin-bottom:20px;transform-origin:50% 100%;cursor:pointer;filter:drop-shadow(0 18px 18px rgba(40,20,90,.22))}
.ks-held{position:absolute;z-index:3;right:-6px;bottom:24px;width:108px;height:108px;transform:rotate(-8deg);filter:drop-shadow(0 12px 14px rgba(40,20,90,.3));pointer-events:none}
.ks-held svg{width:100%;height:100%}
.ks-say{position:absolute;z-index:4;left:50%;top:0;translate:-50% 0;max-width:240px;background:#fff;border-radius:18px;padding:9px 14px;font:700 13.5px/1.3 var(--body);color:#2A1E5C;box-shadow:0 14px 30px -18px rgba(40,20,90,.5);text-align:center;white-space:normal}
.ks-say:empty{display:none}
.ks-say::after{content:"";position:absolute;left:50%;bottom:-6px;width:12px;height:12px;background:#fff;transform:translateX(-50%) rotate(45deg);border-radius:2px}
.ks-head{grid-area:head;align-self:center;min-width:0}
.ks-head h2{font:900 clamp(38px,4.4vw,64px)/.95 var(--display);letter-spacing:-.05em;color:var(--ink);margin:0}
.ks-tag{display:table;font:800 12px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:#7B55E8;background:#F1ECFF;border-radius:999px;padding:8px 12px;margin-bottom:12px}
.ks-head p{margin:10px 0 18px;color:#55555C;font-size:16px;line-height:1.45}
.ks-head p b{color:var(--ink)}
.ks-cats{display:flex;gap:8px;flex-wrap:wrap}
.ks-cats button{display:inline-flex;align-items:center;gap:7px;border:0;background:#fff;border-radius:999px;padding:10px 15px 10px 12px;font:700 14px/1 var(--body);color:#3A3A40;cursor:pointer;box-shadow:0 0 0 1.5px #ECE6F7,0 6px 14px -10px rgba(40,20,90,.3);transition:transform .2s,box-shadow .2s,background .2s,color .2s}
.ks-cats button i{width:18px;height:18px;display:grid;place-items:center;color:#9B86E0}
.ks-cats button svg{width:18px;height:18px}
.ks-cats button:hover{transform:translateY(-2px)}
.ks-cats button[aria-selected="true"]{background:linear-gradient(135deg,#8D6BF0,#6A3FE0);color:#fff;box-shadow:0 10px 22px -10px rgba(106,63,224,.8)}
.ks-cats button[aria-selected="true"] i{color:#fff}
.ks-railwrap{grid-area:rail;position:relative;min-width:0}
.ks-rail{position:relative;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:none;padding:0 6px;margin:0 -6px;-webkit-mask-image:linear-gradient(90deg,transparent,var(--action-ink) 3%,var(--action-ink) 97%,transparent);mask-image:linear-gradient(90deg,transparent,var(--action-ink) 3%,var(--action-ink) 97%,transparent)}
.ks-rail::-webkit-scrollbar{display:none}
.ks-bar{position:absolute;left:0;right:0;top:9px;height:8px;border-radius:4px;background:linear-gradient(180deg,#F7F9FC,#B9C0CC 60%,#8E97A8);box-shadow:0 4px 8px -3px rgba(40,40,70,.35);z-index:0;min-width:100%}
.ks-items{position:relative;display:flex;gap:6px;width:max-content;min-width:100%;padding:0 10px}
.ks-items::before{content:"";position:absolute;left:0;right:0;top:9px;height:8px;border-radius:4px;background:linear-gradient(180deg,#F7F9FC,#B9C0CC 60%,#8E97A8);box-shadow:0 4px 8px -3px rgba(40,40,70,.35)}
.ks-it{position:relative;flex:none;width:162px;scroll-snap-align:center;display:grid;justify-items:center}
.ks-hang{position:relative;width:162px;height:215px;border:0;background:none;padding:0;cursor:pointer;transform-origin:50% 4%;will-change:transform}
.ks-hang svg.ka{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 16px 14px rgba(40,20,90,.22))}
.ks-hang:focus-visible{outline:3px solid #7B55E8;outline-offset:2px;border-radius:20px}
.ks-it.on .ks-hang::after{content:"";position:absolute;left:12%;right:12%;bottom:-6px;height:16px;border-radius:50%;background:radial-gradient(closest-side,rgba(123,85,232,.45),rgba(123,85,232,0))}
.ks-flag{position:absolute;left:50%;top:46px;translate:-50% 0;background:var(--ink);color:#fff;border-radius:6px;padding:4px 7px;font:800 10px/1 var(--body);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;z-index:2;transform:rotate(-6deg)}
.ks-cap{display:flex;align-items:center;gap:8px;margin-top:8px;padding:6px 6px 6px 12px;border-radius:999px;background:#fff;box-shadow:0 0 0 1.5px #EFEAF8;transition:box-shadow .25s,transform .25s}
.ks-cap span{display:grid;line-height:1.15}
.ks-cap b{font:800 13.5px/1.15 var(--body);color:var(--ink);white-space:nowrap}
.ks-cap small{font:700 12.5px/1.2 var(--body);color:#7B55E8}
.ks-it.on .ks-cap{box-shadow:0 0 0 2px #7B55E8,0 10px 20px -12px rgba(106,63,224,.6);transform:translateY(-2px)}
.ks-plus{width:30px;height:30px;border-radius:50%;border:0;background:#F1ECFF;color:#6A3FE0;font:800 18px/1 var(--body);cursor:pointer;transition:transform .2s,background .2s}
.ks-plus:hover{background:#6A3FE0;color:#fff;transform:scale(1.1) rotate(90deg)}
.ks-ra{position:absolute;top:96px;z-index:3;width:42px;height:42px;border-radius:50%;border:0;background:#fff;color:var(--ink);font:700 22px/1 var(--body);box-shadow:0 10px 24px -10px rgba(40,20,90,.45);cursor:pointer}
.ks-ra.l{left:-14px}.ks-ra.r{right:-14px}
.ks-det{grid-area:det;display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;padding:14px 16px;border-radius:24px;background:#fff;box-shadow:0 0 0 1.5px #EFEAF8,0 18px 36px -28px rgba(40,20,90,.5)}
.ks-dl{display:flex;align-items:center;gap:12px;min-width:0;flex:1 1 220px}
.ks-mini{flex:none;width:56px;height:56px;border-radius:16px;background:color-mix(in srgb,var(--kb) 60%,#fff);display:grid;place-items:center}
.ks-mini svg{width:48px;height:48px}
.ks-dl b{display:block;font:800 16px/1.2 var(--body);color:var(--ink)}
.ks-dl small{font:700 13px/1.2 var(--body);color:#7B55E8}
.ks-sw{display:flex;align-items:center;gap:8px}
.ks-sw button{width:28px;height:28px;border-radius:50%;border:0;cursor:pointer;background:radial-gradient(circle at 35% 30%,var(--sl),var(--sw) 70%);box-shadow:0 0 0 2px #fff,0 0 0 3.5px #E6E0F2;transition:transform .2s,box-shadow .2s}
.ks-sw button[aria-checked="true"]{box-shadow:0 0 0 2px #fff,0 0 0 4px #6A3FE0;transform:scale(1.1)}
.ks-sw span{font:700 13px/1 var(--body);color:#6B6B72;margin-left:2px}
.ks-nm{display:flex;align-items:center;gap:6px;background:#F7F4FF;border-radius:999px;padding:0 6px 0 14px;height:42px;border:1.5px dashed #CFC2F5}
.ks-nm span{color:#7B55E8;font-weight:800}
.ks-nm input{border:0;background:none;outline:0;font:700 14.5px/1 var(--body);width:130px;color:var(--ink)}
.ks-add{margin-left:auto;display:inline-flex;align-items:center;gap:10px;height:46px;padding:0 8px 0 20px;border:0;border-radius:999px;background:var(--ink);color:#fff;font:800 15px/1 var(--body);cursor:pointer;box-shadow:0 5px 0 var(--action-ink);transition:transform .15s}
.ks-add span{background:rgba(255,255,255,.16);border-radius:999px;padding:8px 12px;font-size:13.5px}
.ks-add:hover{transform:translateY(-2px)}.ks-add:active{transform:translateY(3px);box-shadow:0 2px 0 var(--action-ink)}
.ks-friends{grid-area:fr;min-width:0;padding-top:6px;border-top:1.5px solid #F1ECFA}
.ks-frh{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;margin:14px 0 6px}
.ks-frh h3{font:900 24px/1 var(--display);letter-spacing:-.03em;margin:0}
.ks-frh p{margin:6px 0 0;color:#6B6B72;font-size:14px}
.ks-chips{display:flex;flex-wrap:wrap;gap:6px}
.ks-chips button{border:0;border-radius:999px;padding:8px 13px;background:#fff;font:700 13px/1 var(--body);color:#3A3A40;cursor:pointer;box-shadow:0 0 0 1.5px #ECE6F7}
.ks-chips button[aria-pressed="true"]{background:var(--ink);color:#fff;box-shadow:none}
.ks-car{position:relative}
.ks-vp{position:relative;overflow:hidden;padding:22px 0 18px;touch-action:pan-y;cursor:grab;-webkit-mask-image:linear-gradient(90deg,transparent,var(--action-ink) 12%,var(--action-ink) 88%,transparent);mask-image:linear-gradient(90deg,transparent,var(--action-ink) 12%,var(--action-ink) 88%,transparent);outline:0}
.ks-vp:focus-visible{box-shadow:inset 0 0 0 3px #B9A2FF;border-radius:20px}
.ks-vp:active{cursor:grabbing}
.ks-track{display:flex;gap:14px;width:max-content;will-change:transform}
.ks-f{position:relative;flex:none;width:118px;border:0;border-radius:24px;padding:10px 8px 12px;background:linear-gradient(170deg,#fff,var(--fb));cursor:pointer;display:grid;justify-items:center;gap:6px;box-shadow:0 0 0 1.5px rgba(0,0,0,.04),0 10px 20px -16px rgba(40,20,90,.4);transition:transform .45s cubic-bezier(.3,1.5,.4,1),box-shadow .3s,opacity .3s;opacity:.72;user-select:none}
.ks-fp{width:88px;height:88px;display:grid;place-items:end center}
.ks-fp img{max-height:88px;max-width:96px;width:auto;object-fit:contain;pointer-events:none;transform-origin:50% 100%;transition:transform .3s}
.ks-f b{font:800 14px/1 var(--body);color:#2A2A30}
.ks-f:hover{opacity:1}.ks-f:hover img{transform:scale(1.08) rotate(-3deg)}
.ks-f[aria-pressed="true"]{opacity:1;transform:scale(1.16);box-shadow:0 0 0 2.5px #7B55E8,0 22px 36px -18px rgba(106,63,224,.7);z-index:2}
.ks-chk{position:absolute;right:-6px;top:-6px;width:26px;height:26px;border-radius:50%;background:#6A3FE0;color:#fff;display:grid;place-items:center;font:900 13px/1 var(--body);font-style:normal;box-shadow:0 0 0 3px #fff;transform:scale(0);transition:transform .35s cubic-bezier(.3,1.8,.4,1)}
.ks-f[aria-pressed="true"] .ks-chk{transform:scale(1)}
.ks-f.gold{background:linear-gradient(170deg,#FFFBEA,#FFE9A8)}
.ks-ca{position:absolute;top:50%;translate:0 -50%;z-index:3;width:44px;height:44px;border-radius:50%;border:0;background:#fff;font:700 22px/1 var(--body);box-shadow:0 10px 24px -10px rgba(40,20,90,.45);cursor:pointer}
.ks-ca.l{left:-6px}.ks-ca.r{right:-6px}
.ks-prog{position:relative;height:5px;border-radius:3px;background:#EEE9F8;max-width:280px;margin:2px auto 0;overflow:hidden}
.ks-prog i{position:absolute;top:0;bottom:0;left:0;border-radius:3px;background:linear-gradient(90deg,#8D6BF0,#E86AA0);transition:left .5s cubic-bezier(.2,.8,.2,1),width .3s}
.ks-kit{grid-area:kit;align-self:start;position:sticky;top:92px;border-radius:30px;background:#fff;padding:20px;box-shadow:0 0 0 1.5px #EFEAF8,0 30px 60px -36px rgba(40,20,90,.5);display:grid;gap:14px}
.ks-kh{display:flex;align-items:center;gap:12px}
.ks-box{position:relative;width:52px;height:52px;border-radius:16px;background:#FFF4E4;display:grid;place-items:center}
.ks-box svg{width:38px;height:38px}
.ks-box b{position:absolute;right:-6px;top:-6px;min-width:22px;height:22px;border-radius:11px;background:var(--no);color:#fff;font:800 12px/22px var(--body);text-align:center;padding:0 5px;box-shadow:0 0 0 2.5px #fff}
.ks-kh h3{font:900 24px/1 var(--display);letter-spacing:-.03em;margin:0}
.ks-kh small{color:#6B6B72;font-size:13px}
.ks-for{display:flex;align-items:center;gap:8px;border-radius:14px;background:#F7F4FF;padding:0 12px;height:44px}
.ks-for span{font:800 12px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:#7B55E8}
.ks-for input{flex:1;min-width:0;border:0;background:none;outline:0;font:700 14.5px/1 var(--body);color:var(--ink)}
.ks-lines{display:grid;gap:8px;max-height:320px;overflow:auto;margin:0 -4px;padding:0 4px}
.ks-l{display:grid;grid-template-columns:52px 1fr auto;gap:10px;align-items:center;padding:6px;border-radius:16px;transition:background .2s}
.ks-l:hover{background:#FAF8FF}
.ks-th{width:52px;height:52px;border-radius:14px;background:#F6F2FF;display:grid;place-items:center;overflow:hidden}
.ks-th svg{width:46px;height:46px}.ks-th img{height:44px;width:auto}
.ks-ln{display:grid;min-width:0}
.ks-ln b{font:800 14px/1.2 var(--body)}
.ks-ln small{font-size:12px;color:#6B6B72;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ks-ln em{font:800 13px/1.3 var(--body);font-style:normal;color:var(--ink)}
.ks-q{display:flex;align-items:center;gap:6px;font-weight:800;font-size:14px}
.ks-q button{width:28px;height:28px;border-radius:50%;border:1.5px solid #E6E0F2;background:#fff;font:800 15px/1 var(--body);cursor:pointer}
.ks-q button:hover{border-color:#6A3FE0;color:#6A3FE0}
.ks-empty{display:grid;justify-items:center;text-align:center;gap:6px;padding:10px 6px}
.ks-empty img{height:84px;width:auto}
.ks-empty p{font-size:14px;color:#6B6B72;margin:0;max-width:220px}
.ks-bar2{height:8px;border-radius:4px;background:#EFEAF8;overflow:hidden}
.ks-bar2 i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,#8D6BF0,#4CC38A);transition:width .6s cubic-bezier(.2,.8,.2,1)}
.ks-free p{margin:6px 0 0;font-size:13px;color:#55555C}.ks-free .ok{color:var(--ok)}
.ks-tot{display:flex;justify-content:space-between;align-items:baseline;border-top:1.5px solid #F1ECFA;padding-top:12px}
.ks-tot span{font:700 15px/1 var(--body);color:#55555C}
.ks-tot b{font:900 30px/1 var(--display);letter-spacing:-.03em}
.ks-fine{margin-top:-10px;color:#8A8A92;font-size:12px;text-align:right}
.ks-go{display:flex;align-items:center;justify-content:center;gap:10px;height:56px;border:0;border-radius:999px;background:linear-gradient(135deg,#8D6BF0,#6A3FE0);color:#fff;font:800 17px/1 var(--body);cursor:pointer;box-shadow:0 18px 30px -16px rgba(106,63,224,.9);transition:transform .2s,box-shadow .2s}
.ks-go svg{width:20px;height:20px}
.ks-go span{margin-left:auto;margin-right:-4px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.2);display:grid;place-items:center}
.ks-go:hover{transform:translateY(-2px);box-shadow:0 24px 36px -16px rgba(106,63,224,.9)}
.ks-go:disabled{opacity:.45;cursor:not-allowed;transform:none}
.ks-go{padding:0 12px 0 24px}
.ks-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;text-align:center}
.ks-trust span{display:grid;justify-items:center;gap:4px;font:700 11.5px/1.2 var(--body);color:#55555C}
.ks-trust svg{width:30px;height:30px}
.ks-fly{position:fixed;z-index:500;width:110px;height:110px;pointer-events:none;filter:drop-shadow(0 14px 16px rgba(40,20,90,.35))}
.ks-fly svg{width:100%;height:100%}
.ks-mbar{display:none}
.kst{animation:kst 2.4s ease-in-out infinite}
@keyframes kst{0%,100%{transform:translateY(0);opacity:.8}50%{transform:translateY(-5px);opacity:.3}}
@media (max-width:1100px){.ks{grid-template-columns:230px minmax(0,1fr) 300px}}
@media (max-width:900px){
 .ks{grid-template-columns:1fr;grid-template-areas:"head" "hero" "rail" "det" "fr" "kit";padding:20px 16px;border-radius:30px;gap:16px}
 .ks-head{text-align:center}.ks-tag{margin:0 auto 10px}.ks-cats{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:4px 16px}.ks-cats::-webkit-scrollbar{display:none}.ks-cats button{flex:none}
 .ks-hero{height:240px}#ksChar{height:200px}.ks-held{right:12%;width:92px;height:92px}
 .ks-ra{display:none}.ks-it{width:140px}.ks-hang{width:140px;height:186px}
 .ks-det{justify-content:center}.ks-add{margin-left:0;width:100%;justify-content:center}.ks-nm{flex:1}
 .ks-kit{position:relative;top:0}
 .ks-f{width:104px}.ks-fp{width:78px;height:78px}.ks-fp img{max-height:78px}
 .ks-mbar{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:300;align-items:center;gap:10px;height:56px;border:0;border-radius:999px;background:var(--ink);color:#fff;padding:0 8px 0 10px;font:800 15px/1 var(--body);box-shadow:0 20px 40px -14px rgba(0,0,0,.55);transition:transform .35s cubic-bezier(.3,1.3,.4,1),opacity .3s}
 .ks-mbar b{margin-left:auto}.ks-mb-b{width:36px;height:36px;border-radius:50%;background:#6A3FE0;display:grid;place-items:center}.ks-mb-go{background:rgba(255,255,255,.15);border-radius:999px;padding:11px 14px}
 .ks-mbar.empty,.ks-mbar.hide{transform:translateY(130%);opacity:0;pointer-events:none}
}
/* drawer thumbnails for real products */
.drawer .line .th svg{width:100%;height:100%}

/* ---------- Five Superpowers ---------- */
.sp7 .sp-head{text-align:center;max-width:760px;margin:0 auto 34px}
.sp7 .sp-head .eyebrow{justify-content:center}
.sp7 .sp-head h2{margin:12px 0}
.sp7 .sp-head h2 em{font-style:normal;background:linear-gradient(90deg,#7B55E8,#E86AA0 60%,#F0A01A);-webkit-background-clip:text;background-clip:text;color:transparent}
.sp7 .inst-track{display:none}
.sp7 .inst{gap:16px}
.sp-c.ins{border:0;background:linear-gradient(180deg,#fff,var(--sw));border-radius:30px;padding:26px 16px 24px;text-align:center;justify-items:center;gap:6px;min-height:0;box-shadow:0 0 0 1.5px rgba(0,0,0,.03),0 20px 40px -34px rgba(40,20,90,.45);cursor:pointer;transition:transform .45s cubic-bezier(.3,1.5,.4,1),box-shadow .3s}
.sp-c.ins:hover{transform:translateY(-6px)}
.sp-c.ins[aria-selected="true"]{box-shadow:0 0 0 2.5px var(--sc),0 30px 50px -30px color-mix(in srgb,var(--sc) 70%,transparent);transform:translateY(-6px)}
.sp-ic{width:118px;height:118px;display:block}
.sp-ic svg{width:100%;height:100%;overflow:visible}
.sp-c h3{font:900 22px/1.05 var(--display)!important;letter-spacing:-.03em!important;color:var(--ink);margin:8px 0 0!important}
.sp-c p{font:600 14.5px/1.4 var(--body)!important;color:#55555C!important;margin:0}
.sp7 .inst-panel{border:0;box-shadow:0 0 0 1.5px #EFEAF8,0 30px 60px -40px rgba(40,20,90,.45)}
@media (max-width:900px){.sp7 .inst{grid-template-columns:repeat(5,minmax(150px,1fr));overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 4px 18px;margin:0 -16px;padding-left:16px;padding-right:16px}.sp-ic{width:96px;height:96px}}

/* ---------- Journey scenes ---------- */
.jx7 .jx-art{position:relative}
.jx-scene{position:absolute;left:0;right:0;bottom:0;width:100%;height:auto;max-height:100%;z-index:0;pointer-events:none}
.jx7 .jx-art{justify-items:end}.jx7 .jx-kid{position:relative;z-index:2;height:min(270px,48%)!important;margin:0 2% 6% 0!important;max-height:none}
.jx-scene{height:100%!important}
.jx7 .jx-cap{z-index:3}
@media (max-width:900px){.jx7 .jx-kid{height:220px!important}}

/* ---------- Endcap: a little planet ---------- */
.endc{position:relative;isolation:isolate}
.ec-sky{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.ec-sky i{position:absolute;width:var(--s);height:var(--s);border-radius:50%;background:#fff;opacity:.7;animation:tw 3s ease-in-out infinite;animation-delay:var(--d)}
@keyframes tw{0%,100%{opacity:.25;transform:scale(.7)}50%{opacity:1;transform:scale(1.2)}}
.ec-moon{position:absolute;right:8%;top:12%;width:56px;height:56px;border-radius:50%;box-shadow:-12px 6px 0 0 #FFE7B0;filter:drop-shadow(0 0 18px rgba(255,231,176,.5))}
.ec-shoot{position:absolute;right:16%;top:8%;width:120px;height:2px;border-radius:2px;background:linear-gradient(90deg,#fff,rgba(255,255,255,0));transform-origin:0 50%;rotate:-25deg;opacity:0}
.ec-world{position:relative;justify-self:center;align-self:end;width:min(380px,100%);height:clamp(280px,30vw,360px);display:grid;place-items:end center}
.ec-planet{position:absolute;left:0;right:0;bottom:-2px;width:100%;height:auto}
.ec-bb{position:relative;z-index:2;height:clamp(180px,20vw,250px)!important;margin-bottom:clamp(56px,6vw,74px);justify-self:center;filter:drop-shadow(0 18px 20px rgba(0,0,0,.4))!important;transform-origin:50% 100%}
.ec-orbit{position:absolute;left:50%;top:44%;width:330px;height:330px;margin:-165px 0 0 -165px;border-radius:50%;border:1.5px dashed rgba(185,162,255,.35);z-index:1;pointer-events:none}
.ec-orbit img{position:absolute;width:52px;height:52px;object-fit:contain;filter:drop-shadow(0 6px 8px rgba(0,0,0,.35))}
.ec-orbit img:nth-child(1){left:-26px;top:50%;margin-top:-26px}.ec-orbit img:nth-child(2){right:-26px;top:30%}.ec-orbit img:nth-child(3){left:50%;top:-26px;margin-left:-26px}
@media (max-width:900px){.ec-world{margin:0 auto}.ec-orbit{width:270px;height:270px;margin:-135px 0 0 -135px}}

/* ---------- Promise machine: living bubbles ---------- */
.cb6{background:radial-gradient(circle at 30% 24%,rgba(255,255,255,.95) 0 5%,rgba(255,255,255,0) 18%),radial-gradient(circle at 50% 55%,rgba(255,255,255,.04) 52%,color-mix(in srgb,var(--cc) 55%,transparent) 82%,rgba(255,255,255,.75) 100%)!important;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.85),inset -6px -8px 14px color-mix(in srgb,var(--cd) 30%,transparent),inset 6px 8px 14px rgba(255,255,255,.5),0 10px 16px -10px rgba(40,20,80,.35)!important;-webkit-backdrop-filter:blur(1.5px) saturate(1.3);backdrop-filter:blur(1.5px) saturate(1.3);overflow:hidden}
.cb6::before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 200deg,rgba(255,170,220,.0),rgba(255,170,220,.35),rgba(160,220,255,.35),rgba(200,255,200,.3),rgba(255,230,150,.3),rgba(255,170,220,0));-webkit-mask:radial-gradient(circle,transparent 62%,var(--action-ink) 72%);mask:radial-gradient(circle,transparent 62%,var(--action-ink) 72%);pointer-events:none;z-index:1}
.cb6::after{left:18%!important;top:10%!important;width:30%!important;height:18%!important;background:rgba(255,255,255,.75)!important;filter:blur(1px);transform:rotate(-30deg);z-index:2}
.cb6 img{bottom:4%!important;height:78%!important;z-index:0;filter:drop-shadow(0 3px 3px rgba(40,20,80,.25))}
.cb6.pr{box-shadow:inset 0 0 0 2px rgba(255,236,170,.95),0 0 18px rgba(255,210,100,.75),inset -6px -8px 14px rgba(240,180,60,.35)!important}
.cb6.pr::before{content:""!important;background:conic-gradient(from 0deg,rgba(255,215,120,0),rgba(255,215,120,.7),rgba(255,255,255,.6),rgba(255,215,120,0))!important;animation:pmspin 3s linear infinite;right:auto!important;top:0!important;font-size:0!important;text-shadow:none!important}
@keyframes pmspin{to{transform:rotate(360deg)}}

/* ---------- Maple moment: glass ---------- */
.mm-c{background:linear-gradient(160deg,rgba(255,255,255,.22),rgba(255,255,255,.06))!important;-webkit-backdrop-filter:blur(22px) saturate(1.7)!important;backdrop-filter:blur(22px) saturate(1.7)!important;border:1.5px solid rgba(255,255,255,.45);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 40px 80px -30px rgba(120,20,10,.5)!important}
.mm-q{color:#fff!important;text-shadow:0 2px 18px rgba(120,20,10,.55)!important}
.mm-k{color:#FFD3C9!important}
.mm-glow{background:radial-gradient(closest-side,rgba(255,120,90,.55),rgba(255,120,90,0))!important}
.mm-leaf i{border-color:rgba(255,255,255,.45)!important}.mm-leaf i:nth-child(2){border-color:rgba(255,255,255,.28)!important}

/* ---------- Signature ---------- */
.sig7{width:min(300px,80%);height:auto;margin:4px 0 2px;overflow:visible}

/* ---------- Footer: eSora Labs ---------- */
.ft-by a{color:#fff;text-decoration:none;border-bottom:1.5px solid rgba(255,255,255,.35)}
.ft-by a:hover{border-color:#fff}
.ft-own a{display:inline-flex;align-items:center;gap:12px;color:inherit;text-decoration:none}
.ft-own img{height:38px!important}
.ft-own a:hover b{text-decoration:underline}
.tb-brand img{height:30px!important}

/* ---------- Partners ---------- */
.pt-top{padding:40px 0 20px;overflow:hidden}
.pt-hero-g{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center}
.pt-pill{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:#fff;border-radius:999px;padding:9px 14px;font:800 12.5px/1 var(--body);letter-spacing:.12em;text-transform:uppercase}
.pt-pill span{width:8px;height:8px;border-radius:50%;background:#4CC38A;box-shadow:0 0 0 0 rgba(76,195,138,.7);animation:ptp 1.6s infinite}
@keyframes ptp{70%{box-shadow:0 0 0 10px rgba(76,195,138,0)}100%{box-shadow:0 0 0 0 rgba(76,195,138,0)}}
.pt-hero h1{font:900 clamp(40px,5.4vw,78px)/.96 var(--display);letter-spacing:-.05em;margin:16px 0 14px}
.pt-hero h1 em{font-style:normal;background:linear-gradient(90deg,#7B55E8,var(--s3) 55%,#4CC38A);-webkit-background-clip:text;background-clip:text;color:transparent}
.pt-hero .hero-cta{margin-top:22px}
.pt-chars{display:flex;gap:6px;margin-top:24px;align-items:flex-end}
.pt-chars img{height:76px;width:auto;cursor:pointer;transform-origin:50% 100%;filter:drop-shadow(0 8px 8px rgba(40,20,90,.2))}
.pt-globe svg{width:100%;max-width:480px;height:auto;display:block;margin:0 auto;filter:drop-shadow(0 40px 50px rgba(106,63,224,.25))}
.pt-types{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pt-c{position:relative;border-radius:28px;padding:24px;background:linear-gradient(170deg,#fff,#F6F2FF);box-shadow:0 0 0 1.5px #EFEAF8;overflow:hidden;transition:transform .4s cubic-bezier(.3,1.5,.4,1)}
.pt-c:hover{transform:translateY(-6px)}
.pt-e{width:56px;height:56px;border-radius:18px;background:#fff;display:grid;place-items:center;box-shadow:0 10px 20px -12px rgba(40,20,90,.4)}
.pt-e svg{width:34px;height:34px}
.pt-c h3{font:900 20px/1.1 var(--display);letter-spacing:-.02em;margin:16px 0 6px}
.pt-c p{color:#55555C;font-size:15px;margin:0}
.pt-soon{position:absolute;right:18px;top:18px;font:800 11px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:#7B55E8;background:#F1ECFF;border-radius:999px;padding:7px 10px}
.pt-c::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.7) 50%,transparent 70%);transform:translateX(-100%);animation:ptsh 4s ease-in-out infinite;animation-delay:calc(var(--i)*.4s);pointer-events:none}
@keyframes ptsh{60%,100%{transform:translateX(100%)}}
.pt-join{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;border-radius:36px;padding:clamp(24px,4vw,48px);background:radial-gradient(90% 100% at 0 0,#F3EEFF,#fff 60%);box-shadow:0 0 0 1.5px #EFEAF8}
.pt-form{display:grid;gap:12px}
.pt-form select,.hc-contact select,.hc-contact textarea{width:100%;border:1.5px solid #E6E0F2;border-radius:14px;padding:12px 14px;font:600 15px/1.3 var(--body);background:#fff}
.pt-ok{display:grid;justify-items:center;text-align:center;gap:8px;padding:20px}
.pt-ok img{height:120px;width:auto}
.pt-ok h3{font:900 24px/1.1 var(--display);margin:0}
@media (max-width:900px){.pt-hero-g,.pt-join{grid-template-columns:1fr}.pt-types{grid-template-columns:1fr}.pt-globe{order:-1;max-width:320px;margin:0 auto}}

/* ---------- Help Center ---------- */
.hc-top{padding:36px 0 10px;background:radial-gradient(70% 90% at 80% 0,#F3EEFF,rgba(255,255,255,0))}
.hc-hero{display:grid;grid-template-columns:200px 1fr;gap:28px;align-items:center;max-width:980px;margin:0 auto}
.hc-guide{height:210px;width:auto;justify-self:center;cursor:pointer;transform-origin:50% 100%;filter:drop-shadow(0 18px 20px rgba(40,20,90,.22))}
.hc-hero h1{font:900 clamp(36px,4.8vw,64px)/.98 var(--display);letter-spacing:-.05em;margin:10px 0 18px}
.hc-hero h1 em{font-style:normal;color:#7B55E8}
.hc-search{position:relative;display:flex;align-items:center;gap:10px;height:64px;border-radius:999px;background:#fff;padding:0 8px 0 22px;box-shadow:0 0 0 2px #E6DDFB,0 24px 50px -30px rgba(80,50,160,.6)}
.hc-search:focus-within{box-shadow:0 0 0 3px #7B55E8,0 24px 50px -30px rgba(80,50,160,.6)}
.hc-search>svg{width:22px;height:22px;color:#7B55E8;flex:none}
.hc-search input{flex:1;min-width:0;border:0;outline:0;background:none;font:600 17px/1 var(--body);color:var(--ink)}
.hc-search>button{height:48px;padding:0 24px;border:0;border-radius:999px;background:linear-gradient(135deg,#8D6BF0,#6A3FE0);color:#fff;font:800 16px/1 var(--body);cursor:pointer}
.hc-sug{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:50;background:#fff;border-radius:22px;padding:8px;box-shadow:0 30px 60px -20px rgba(40,20,90,.45),0 0 0 1.5px #EFEAF8}
.hc-sug button{display:flex;width:100%;justify-content:space-between;align-items:center;gap:12px;border:0;background:none;text-align:left;padding:12px 14px;border-radius:14px;cursor:pointer;font:700 15px/1.3 var(--body);color:var(--ink)}
.hc-sug button small{font-size:12px;color:#7B55E8;white-space:nowrap}
.hc-sug button:hover,.hc-sug button.on{background:#F5F1FF}
.hc-none{padding:12px 14px;margin:0;color:#6B6B72;font-size:14px}
.hc-pop{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;align-items:center}
.hc-pop span{font:700 13px/1 var(--body);color:#8A8A92}
.hc-pop button{border:0;background:#fff;border-radius:999px;padding:9px 13px;font:700 13.5px/1 var(--body);color:#3A3A40;cursor:pointer;box-shadow:0 0 0 1.5px #ECE6F7;transition:transform .2s}
.hc-pop button:hover{transform:translateY(-2px);box-shadow:0 0 0 1.5px #7B55E8}
.hc-ans{margin:24px auto 10px;max-width:880px;scroll-margin-top:100px}
.hc-card{border-radius:32px;background:#fff;padding:clamp(22px,3.4vw,38px);box-shadow:0 0 0 1.5px #EFEAF8,0 40px 80px -50px rgba(40,20,90,.55)}
.hc-who{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.hc-who img{height:64px;width:auto}
.hc-who small{display:block;font:700 12.5px/1.3 var(--body);color:#8A8A92}
.hc-who b{font:800 15px/1.2 var(--body);color:#7B55E8}
.hc-card h2{font:900 clamp(26px,3vw,36px)/1.05 var(--display);letter-spacing:-.03em;margin:0 0 10px}
.hc-a{font-size:17px;line-height:1.6;color:var(--ink2);margin:0}
.hc-st{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px}
.hc-st li{display:flex;gap:12px;align-items:flex-start;background:#FAF8FF;border-radius:16px;padding:12px 14px}
.hc-st li span{flex:none;width:28px;height:28px;border-radius:50%;background:#6A3FE0;color:#fff;display:grid;place-items:center;font:800 13px/1 var(--body)}
.hc-st li p{margin:3px 0 0;font-size:15.5px;line-height:1.45}
.hc-act{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.hc-fb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:20px;padding-top:16px;border-top:1.5px solid #F1ECFA;font-size:14px;color:#55555C}
.hc-fb button{border:1.5px solid #E6E0F2;background:#fff;border-radius:999px;padding:8px 14px;font:700 13.5px/1 var(--body);cursor:pointer}
.hc-fb button:hover{border-color:#7B55E8}
.hc-rel{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:14px}
.hc-rel small{font:800 12px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:#8A8A92;margin-right:4px}
.hc-rel a{background:#F5F1FF;border-radius:999px;padding:8px 12px;font:700 13.5px/1 var(--body);color:#5B34C9;text-decoration:none}
.hc-cats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:30px 0}
.hc-cat{border-radius:26px;background:#fff;padding:18px;box-shadow:0 0 0 1.5px #EFEAF8,0 20px 40px -36px rgba(40,20,90,.5);scroll-margin-top:100px}
.hc-ch{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;margin-bottom:8px}
.hc-ci{width:40px;height:40px;border-radius:12px;background:#F1ECFF;color:#7B55E8;display:grid;place-items:center}
.hc-ci svg{width:22px;height:22px}
.hc-ch h2{font:900 17px/1.1 var(--display);letter-spacing:-.02em;margin:0}
.hc-ch p{margin:3px 0 0;font-size:12.5px;line-height:1.35;color:#6B6B72}
.hc-ch img{height:46px;width:auto}
.hc-cat ul{list-style:none;padding:0;margin:0;display:grid}
.hc-cat li a{display:flex;justify-content:space-between;gap:8px;padding:9px 6px;border-radius:10px;font:600 14px/1.3 var(--body);color:#2A2A30;text-decoration:none;border-top:1px solid #F4F1FA}
.hc-cat li a span{color:#B9A2FF;font-weight:800}
.hc-cat li a:hover{background:#FAF8FF;color:#5B34C9}
.hc-contact{display:grid;grid-template-columns:1fr 1.1fr;gap:36px;align-items:start;border-radius:34px;padding:clamp(22px,4vw,44px);background:radial-gradient(90% 100% at 0 0,#F3EEFF,#fff 60%);box-shadow:0 0 0 1.5px #EFEAF8;margin-bottom:60px;scroll-margin-top:100px}
.hc-contact h2{font:900 clamp(26px,3vw,38px)/1.05 var(--display);letter-spacing:-.03em;margin:10px 0}
.hc-contact form{display:grid;gap:12px}
@media (max-width:1100px){.hc-cats{grid-template-columns:repeat(2,1fr)}}
@media (max-width:700px){.hc-hero{grid-template-columns:1fr;text-align:center}.hc-guide{height:150px}.hc-hero .eyebrow{justify-content:center}.hc-search{height:58px;padding-left:16px}.hc-search>button{padding:0 16px}.hc-pop{justify-content:center}.hc-cats{grid-template-columns:1fr}.hc-contact{grid-template-columns:1fr}}
.ddm .soon{display:inline-block;margin-left:6px;vertical-align:2px;font:800 9.5px/1 var(--body);font-style:normal;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:linear-gradient(90deg,#7B55E8,#E86AA0);border-radius:999px;padding:4px 7px}
.medal svg{display:block}
/* ---------- Compass: falls asleep when nobody moves ---------- */
#cg.cg-sleep .cg-face,#cg.cg-sleep #cgBtn{filter:saturate(.55) brightness(.92);transition:filter 1.2s}
#cg.cg-sleep::before{content:"";position:absolute;right:4px;top:6px;width:26px;height:26px;border-radius:50%;box-shadow:-7px 4px 0 0 #FFD98A;z-index:4;pointer-events:none;animation:cgmoon 3s ease-in-out infinite}
@keyframes cgmoon{50%{transform:translateY(-4px) rotate(-8deg)}}
#cg.cg-sleep .cg-pal2{opacity:0!important;pointer-events:none}
.cg-zz{font:900 18px/1 var(--body)!important;color:#7B55E8!important;text-shadow:0 2px 0 #fff,0 0 12px rgba(185,162,255,.9)}
/* ---------- Wallpapers ---------- */
.wp-sec{padding:70px 0 40px;scroll-margin-top:90px}
.wp-sec .sec-head h2 em{font-style:normal;color:#7B55E8}
.wp-dev{display:inline-flex;gap:4px;padding:5px;border-radius:999px;background:#F3EFFB;margin:18px 0 22px}
.wp-dev button{border:0;background:none;border-radius:999px;padding:10px 18px;font:800 14px/1 var(--body);color:#55555C;cursor:pointer}
.wp-dev button[aria-checked="true"]{background:#fff;color:var(--ink);box-shadow:0 6px 14px -8px rgba(40,20,90,.4)}
.wp-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.wp-grid[data-d="desk"]{grid-template-columns:repeat(3,1fr)}
.wp-grid[data-d="tablet"]{grid-template-columns:repeat(4,1fr)}
.wp-c{display:grid;gap:10px}
.wp-pv{border:0;padding:0;background:none;cursor:zoom-in;border-radius:22px;overflow:hidden;box-shadow:0 0 0 1.5px rgba(0,0,0,.05),0 24px 40px -28px rgba(40,20,90,.55);transition:transform .45s cubic-bezier(.3,1.5,.4,1)}
.wp-pv:hover{transform:translateY(-6px) rotate(-1deg)}
.wp-pv canvas{display:block;width:100%;height:auto;background:#F3EFFB;aspect-ratio:1179/2556}
.wp-grid[data-d="desk"] canvas{aspect-ratio:16/9}.wp-grid[data-d="tablet"] canvas{aspect-ratio:2048/2732}
.wp-in{display:flex;justify-content:space-between;align-items:center;gap:8px}
.wp-in span{display:grid;min-width:0}
.wp-in b{font:800 14px/1.2 var(--body)}.wp-in small{font-size:12px;color:#6B6B72}
.wp-dl{flex:none;display:inline-flex;align-items:center;gap:6px;border:0;border-radius:999px;background:var(--ink);color:#fff;padding:9px 12px;font:800 12.5px/1 var(--body);cursor:pointer}
.wp-dl svg{width:15px;height:15px}
.wp-dl.busy{opacity:.6;pointer-events:none}
.wp-note{margin-top:18px;font-size:13px;color:#8A8A92}
.wp-big img{display:block;width:100%;height:auto;max-height:62vh;object-fit:contain;border-radius:18px;background:#F3EFFB}
@media (max-width:1100px){.wp-grid{grid-template-columns:repeat(3,1fr)}.wp-grid[data-d="desk"]{grid-template-columns:repeat(2,1fr)}.wp-grid[data-d="tablet"]{grid-template-columns:repeat(3,1fr)}}
@media (max-width:600px){.wp-grid,.wp-grid[data-d="tablet"]{grid-template-columns:repeat(2,1fr)}.wp-grid[data-d="desk"]{grid-template-columns:1fr}.wp-in{flex-direction:column;align-items:stretch}.wp-dl{justify-content:center}}
/* ---------- Partners v2: cards open the request modal ---------- */
button.pt-c{display:block;width:100%;text-align:left;border:0;font:inherit;color:inherit;cursor:pointer}
button.pt-c:focus-visible{outline:3px solid #7B55E8;outline-offset:3px}
.pt-go{display:inline-flex;gap:6px;margin-top:16px;font:800 14px/1 var(--body);color:#5B34C9}
.pt-go b{transition:transform .25s}
button.pt-c:hover .pt-go b{transform:translateX(5px)}
button.pt-c:hover{box-shadow:0 0 0 2px #B9A2FF,0 24px 40px -28px rgba(106,63,224,.6)}
.pt-perks{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pt-perks article{border-radius:26px;padding:22px;background:#fff;box-shadow:0 0 0 1.5px #EFEAF8}
.pt-perks b{font:900 14px/1 var(--body);color:#B9A2FF}
.pt-perks h3{font:900 19px/1.15 var(--display);letter-spacing:-.02em;margin:12px 0 6px}
.pt-perks p{margin:0;color:#55555C;font-size:14.5px}
.pt-regions{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 28px;max-width:960px}
.pt-r{display:grid;grid-template-columns:180px 1fr;gap:16px;align-items:center;padding:12px 0;border-bottom:1.5px solid #F1ECFA}
.pt-r b{display:block;font:800 16px/1.2 var(--body)}
.pt-r small{font:800 11.5px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--c)}
.pt-rb{height:10px;border-radius:5px;background:#F1ECFA;overflow:hidden}
.pt-rb i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,var(--c),color-mix(in srgb,var(--c) 50%,#fff));animation:ptbar 1.6s cubic-bezier(.2,.8,.2,1) both}
@keyframes ptbar{from{width:0}}
.pt-band{position:relative;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;border-radius:36px;padding:clamp(28px,4vw,52px);padding-right:clamp(28px,18vw,260px);background:linear-gradient(120deg,#2A1E5C,#4E2DB8);color:#fff;overflow:hidden}
.pt-band h2{font:900 clamp(28px,3.4vw,46px)/1 var(--display);letter-spacing:-.04em;margin:8px 0 10px;color:#fff}
.pt-band p{margin:0;color:#D9CCFF;max-width:480px}
.pt-band .eyebrow{color:#B9A2FF}
.pt-band .btn-main{background:#fff;color:var(--ink);box-shadow:0 5px 0 #B9A2FF}
.pt-band-cta{display:grid;gap:10px;justify-items:center}
.pt-mail{color:#D9CCFF;font-size:13.5px}
.pt-band-ch{position:absolute;right:3%;bottom:-6px;height:min(240px,90%);width:auto;filter:drop-shadow(0 18px 20px rgba(0,0,0,.4))}
.ptm{position:fixed;inset:0;z-index:900;display:grid;place-items:center;padding:16px}
.ptm[hidden]{display:none}
.ptm-bg{position:absolute;inset:0;background:rgba(24,14,56,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.ptm-card{position:relative;width:min(640px,100%);max-height:calc(100vh - 32px);overflow:auto;border-radius:32px;background:#fff;padding:26px clamp(18px,3vw,32px) 22px;box-shadow:0 50px 100px -30px rgba(20,10,60,.6)}
.ptm-x{position:absolute;right:14px;top:14px;width:40px;height:40px;border-radius:50%;border:0;background:#F3EFFB;font:700 24px/1 var(--body);cursor:pointer;z-index:2}
.ptm-x:hover{background:#E6DDFB}
.ptm-top{display:flex;align-items:center;gap:14px;padding-right:44px}
.ptm-top img{height:76px;width:auto;flex:none;filter:drop-shadow(0 8px 10px rgba(40,20,90,.2))}
.ptm-k{margin:0;font:800 12px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:#7B55E8}
.ptm-top h2{margin:6px 0 0;font:900 clamp(22px,3vw,30px)/1.05 var(--display);letter-spacing:-.03em}
.ptm-dots{display:flex;gap:6px;margin:16px 0 18px}
.ptm-dots i{height:6px;flex:1;border-radius:3px;background:#EFEAF8;transition:background .4s}
.ptm-dots i.on{background:linear-gradient(90deg,#8D6BF0,#E86AA0)}
.ptm-step{display:none}.ptm-step.on{display:block}
.ptm-types{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.ptm-types button{display:flex;align-items:center;gap:12px;text-align:left;border:0;border-radius:18px;padding:12px 14px;background:#F8F6FD;font:800 15px/1.2 var(--body);color:var(--ink);cursor:pointer;box-shadow:0 0 0 1.5px transparent;transition:box-shadow .2s,background .2s,transform .2s}
.ptm-types button:hover{background:#F1ECFF;transform:translateY(-2px)}
.ptm-types button[aria-checked="true"]{background:#fff;box-shadow:0 0 0 2.5px #7B55E8,0 14px 24px -16px rgba(106,63,224,.7)}
.ptm-types .pt-e{width:44px;height:44px;border-radius:14px;flex:none}
.ptm-types .pt-e svg{width:28px;height:28px}
.ptm-err{color:#C2391F;font-weight:700;font-size:14px;margin:10px 0 0}
.ptm-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ptm-step .field{margin-bottom:12px}
.ptm-step textarea{width:100%;border:1.5px solid #E6E0F2;border-radius:14px;padding:12px 14px;font:600 15px/1.4 var(--body)}
.ptm-size{display:flex;flex-wrap:wrap;gap:8px}
.ptm-size button{border:0;border-radius:999px;padding:10px 14px;background:#F3EFFB;font:700 13.5px/1 var(--body);cursor:pointer}
.ptm-size button[aria-checked="true"]{background:var(--ink);color:#fff}
.ptm-nav{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}
.ptm-fine{margin:12px 0 0;text-align:right}
.ptm-ok{text-align:center;display:grid;justify-items:center;gap:6px}
.ptm-badge{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#4CC38A,var(--ok));display:grid;place-items:center;box-shadow:0 16px 30px -12px rgba(30,142,90,.6)}
.ptm-badge svg{width:38px;height:38px}
.ptm-ok h3{font:900 26px/1.1 var(--display);margin:8px 0 0}
.ptm-ok p{color:#55555C;max-width:460px;margin:0}
.ptm-ok ul{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:8px;text-align:left}
.ptm-ok li{display:flex;gap:10px;align-items:center;font-size:14.5px;font-weight:600}
.ptm-ok li span{width:24px;height:24px;border-radius:50%;background:#F1ECFF;color:#6A3FE0;display:grid;place-items:center;font:800 12px/1 var(--body)}
@media (max-width:900px){.pt-perks{grid-template-columns:1fr 1fr}.pt-regions{grid-template-columns:1fr}.pt-band{grid-template-columns:1fr;padding-right:clamp(28px,4vw,52px);padding-bottom:200px}.pt-band-cta{justify-items:start}.pt-band-ch{height:180px}}
@media (max-width:600px){.pt-perks,.ptm-types,.ptm-grid{grid-template-columns:1fr}.pt-r{grid-template-columns:1fr;gap:8px}.ptm-top img{height:56px}.ptm-nav .btn{flex:1}}
/* ---------- Home carousel: one star, two quiet neighbours ---------- */
.mg img{left:0!important;translate:none!important;width:100%!important;height:100%!important;object-fit:contain;object-position:50% 100%}
.mgr{height:clamp(400px,40vw,500px)!important;margin-bottom:64px}
.mgr-deck{display:none!important}
.mg.on .mg-ok{display:none}.mg-ok{top:auto!important;bottom:-2px;right:auto!important;left:50%;translate:-50% 0;width:20px!important;height:20px!important;line-height:20px!important;font-size:11px!important}
.mgr-name{bottom:-58px!important;padding:6px!important;gap:8px!important}
.mgr-name b{padding-left:6px}
.mgr-arr{position:absolute;top:auto!important;bottom:-58px!important;width:44px!important;height:44px!important;font-size:22px!important}
.mgr-arr.l{left:calc(50% - 210px)!important}.mgr-arr.r{right:calc(50% - 210px)!important}
@media (max-width:600px){.mgr{height:340px!important}.mgr-arr.l{left:6px!important}.mgr-arr.r{right:6px!important}}
/* no plate: the friends stand on soft contact shadows, on white */
.mgr-deck{display:none!important}
.mgr-sky{background:radial-gradient(55% 45% at 50% 58%,#F5F1FC,rgba(255,255,255,0) 72%)!important}
.mgr .mg img{filter:drop-shadow(0 6px 6px rgba(40,20,60,.14))!important}
.mgr .mg-sh{display:block;bottom:-2.5%;left:8%;right:8%;height:9%;max-height:none;border-radius:50%;background:radial-gradient(closest-side,rgba(40,20,60,.3),rgba(40,20,60,0) 92%);filter:blur(2px);z-index:-1}
.mgr .mg.on .mg-sh{background:radial-gradient(closest-side,rgba(40,20,60,.36),rgba(40,20,60,0) 92%)}
.mgr{margin-bottom:44px}
.mgr-name{bottom:-30px!important}
.mgr-arr{bottom:-30px!important}
.mgr-sky{background:radial-gradient(55% 45% at 50% 66%,#F5F1FC,rgba(255,255,255,0) 72%)!important}
@media (max-width:600px){.mgr{margin-bottom:40px}}

/* ===================== v8 ===================== */
/* ---------- Partners, editorial ---------- */
body[data-page="partners"]{background:#F8F5F0}
.pe{--pe-ink:#151517;--pe-mut:#6E6B66;--pe-line:#E3DDD3;background:#F8F5F0;color:var(--pe-ink)}
.pe .wrap{max-width:1120px}
.pe-hero{position:relative;padding:clamp(40px,6vw,88px) 0 30px;overflow:hidden}
.pe-hg{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:0}
.pe-copy{position:relative;z-index:2}
.pe-k{font:500 13px/1 var(--body);letter-spacing:.22em;text-transform:uppercase;color:#3A3835;margin:0 0 26px}
.pe-k b{font-weight:800}
.pe-h1{font:500 clamp(46px,6.2vw,88px)/.98 var(--body);letter-spacing:-.045em;margin:0 0 26px;color:var(--pe-ink)}
.pe-h1 span{display:block;overflow:hidden;padding-bottom:.06em}
.pe-sub{font:400 clamp(17px,1.5vw,20px)/1.5 var(--body);color:var(--pe-mut);max-width:400px;margin:0 0 30px}
.pe-btn{display:inline-flex;align-items:center;gap:14px;height:52px;padding:0 24px;border:0;border-radius:999px;background:#151517;color:#fff;font:600 16px/1 var(--body);cursor:pointer;transition:transform .35s cubic-bezier(.2,.9,.3,1.2),box-shadow .35s}
.pe-btn span{transition:transform .35s cubic-bezier(.2,.9,.3,1.2)}
.pe-btn:hover{transform:translateY(-2px);box-shadow:0 18px 30px -16px rgba(20,20,30,.6)}
.pe-btn:hover span{transform:translateX(5px)}
.pe-note{font:400 12.5px/1.4 var(--body);color:#8B8780;margin:16px 0 0}
.pe-note a{color:inherit}
.pe-art{position:relative;margin-left:-14%;perspective:1200px;transform-style:preserve-3d}
.pe-book{position:relative;z-index:1;display:block;width:118%;max-width:none;height:auto;mix-blend-mode:multiply;will-change:transform}
.pe-shadow{position:absolute;left:20%;right:10%;bottom:2%;height:30px;border-radius:50%;background:radial-gradient(closest-side,rgba(60,40,20,.16),rgba(60,40,20,0));opacity:.5;z-index:0}
.pe-dust{position:absolute;inset:0;z-index:2;pointer-events:none}
.pe-dust i{position:absolute;width:6px;height:6px;border-radius:50%;background:radial-gradient(circle,#FFF6D6,#F2C25C 60%,rgba(242,194,92,0));box-shadow:0 0 10px 2px rgba(242,194,92,.55);opacity:0}
.pe-sec{padding:30px 0 40px}
.pe-rule{border:0;border-top:1px solid #CFC8BC;margin:0 0 34px}
.pe-h2{font:500 clamp(32px,3.8vw,52px)/1.05 var(--body);letter-spacing:-.035em;margin:0 0 36px;color:var(--pe-ink)}
.pe-list{display:grid;grid-template-columns:1fr 1fr;column-gap:56px}
.pe-row{position:relative;display:flex;justify-content:space-between;align-items:center;gap:20px;text-align:left;border:0;border-bottom:1px solid var(--pe-line);background:none;padding:24px 0;cursor:pointer;font:inherit;color:inherit;overflow:hidden}
.pe-row::after{content:"";position:absolute;left:0;bottom:-1px;height:1.5px;width:100%;background:#6A3FE0;transform:scaleX(0);transform-origin:0 50%;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.pe-row b{display:block;font:600 22px/1.2 var(--body);letter-spacing:-.02em;transition:transform .5s cubic-bezier(.2,.8,.2,1),color .3s}
.pe-row small{display:block;margin-top:6px;font:400 15px/1.4 var(--body);color:var(--pe-mut);transition:transform .5s cubic-bezier(.2,.8,.2,1) .03s}
.pe-row i{font-style:normal;font-size:20px;color:#3A3835;transition:transform .5s cubic-bezier(.2,.8,.2,1),color .3s}
.pe-row:hover::after,.pe-row:focus-visible::after{transform:scaleX(1)}
.pe-row:hover b,.pe-row:hover small{transform:translateX(8px)}
.pe-row:hover b{color:#4E2DB8}
.pe-row:hover i{transform:rotate(45deg) translate(2px,-2px);color:#6A3FE0}
.pe-row:focus-visible{outline:0}
.pe-say{padding:clamp(70px,10vw,150px) 0}
.pe-quote{font:500 clamp(30px,4vw,58px)/1.12 var(--body);letter-spacing:-.035em;max-width:980px;margin:0;color:var(--pe-ink)}
.pe-quote span{display:inline-block}
.pe-end{padding:0 0 clamp(60px,8vw,110px)}
.pe-eg{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px}
.pe-eg .pe-h2{margin:0;max-width:560px}
/* modal, in the same calm voice */
.pe .ptm-bg{background:rgba(30,26,20,.35)}
.pe .ptm-card{background:#FBF9F5;border-radius:28px;box-shadow:0 50px 100px -30px rgba(30,20,10,.45),0 0 0 1px #E3DDD3}
.pe .ptm-top img{display:none}
.pe .ptm-k{color:#6E6B66;letter-spacing:.2em;font-weight:600}
.pe .ptm-top h2{font:500 clamp(24px,3vw,32px)/1.1 var(--body);letter-spacing:-.03em}
.pe .ptm-dots i.on{background:#151517}
.pe .ptm-types button{background:#fff;box-shadow:0 0 0 1px #E3DDD3;font-weight:600}
.pe .ptm-types button[aria-checked="true"]{box-shadow:0 0 0 2px #151517}
.pe .ptm-types .pt-e{background:#F8F5F0;box-shadow:none}
.pe .ptm-x{background:#EFEAE2}
@media (max-width:900px){.pe-hg{grid-template-columns:1fr}.pe-art{margin:10px -8% 0;order:2}.pe-book{width:110%}.pe-list{grid-template-columns:1fr}.pe-row b{font-size:19px}}
.pe .pe-note{margin-top:18px!important}
.pe .ptm-size button{background:#EFEAE2}.pe .ptm-size button[aria-checked="true"]{background:#151517}
.pe .ptm-dots i{background:#EAE4DA}
/* white, not cream */
body[data-page="partners"],.pe{background:#fff!important}
.pe{--pe-line:#ECECEF}
.pe-rule{border-top-color:#E2E2E6!important}
.pe .ptm-card{background:#fff!important;box-shadow:0 50px 100px -30px rgba(20,20,30,.4),0 0 0 1px #ECECEF!important}
.pe .ptm-bg{background:rgba(20,20,30,.35)!important}
.pe .ptm-types .pt-e{background:#F5F5F7!important}
.pe .ptm-size button{background:#F2F2F5!important}.pe .ptm-size button[aria-checked="true"]{background:#151517!important}
.pe .ptm-dots i{background:#ECECEF}.pe .ptm-dots i.on{background:#151517}
.pe .ptm-x{background:#F2F2F5!important}
.pe-book{mix-blend-mode:normal!important}
.pe-hero .pe-note{display:block;padding-top:6px}

/* ===================== v10: Partners — a world you help open ===================== */
body[data-page="partners"]{background:#fff}
.px{--ink:#1E1430;--mut:#5F5A6B;--vio:#8A4FE0;--vio2:#6E35C9;--line:#ECE6F5;color:var(--ink);background:#fff}
.px .wrap{max-width:1160px}
.px-hero{padding:clamp(28px,5vw,64px) 0 10px;overflow:hidden}
.px-hg{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:20px;align-items:center}
.px-k{font:800 clamp(18px,1.8vw,24px)/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--vio);margin:0 0 26px;display:flex;align-items:center;gap:10px}
.px-kb{color:var(--ink)}
.px-h1{font:800 clamp(44px,5.6vw,80px)/1 var(--body);letter-spacing:-.045em;margin:0 0 22px;color:var(--ink)}
.px-h1 span{display:block}
.px-h1 em{display:inline-block;font-style:normal;background:linear-gradient(90deg,#9B5CF0,#7B3FE0);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.08em}
.px-sub{font:400 clamp(17px,1.5vw,20px)/1.5 var(--body);color:var(--mut);max-width:430px;margin:0 0 28px}
.px-btn{display:inline-flex;align-items:center;gap:14px;height:56px;padding:0 28px;border:0;border-radius:999px;background:linear-gradient(135deg,#9257EC,#6E35C9);color:#fff;font:700 17px/1 var(--body);cursor:pointer;box-shadow:0 10px 20px -12px rgba(110,53,201,.7);transition:transform .35s cubic-bezier(.2,.9,.3,1.2),box-shadow .35s}
.px-btn span{transition:transform .35s cubic-bezier(.2,.9,.3,1.2)}
.px-btn:hover{transform:translateY(-2px);box-shadow:0 24px 40px -16px rgba(110,53,201,.9)}.px-btn:hover span{transform:translateX(5px)}
.px-note{font:400 13px/1.4 var(--body);color:#8A8494;margin:20px 0 0}.px-note a{color:inherit}
/* the scene */
.px-scene{position:relative;width:calc(100% + 60px);max-width:760px;margin-right:-60px;aspect-ratio:1448/1086;justify-self:end;cursor:pointer}
.px-art{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:1;will-change:transform}
.px-draw{position:absolute;inset:0;width:100%;height:100%;z-index:2;overflow:visible;pointer-events:none}
/* roles */
.px-roles{padding:10px 0 20px}
.px-rule{border:0;border-top:1px solid var(--line);margin:0 0 26px}
.px-k2{font:800 12.5px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:#6F6A7A;margin:0 0 16px}
.px-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.px-tabs button{position:relative;text-align:left;border:0;background:none;padding:6px 0 18px;cursor:pointer;font:inherit;color:inherit}
.px-tabs b{display:inline-flex;gap:12px;align-items:center;font:600 clamp(24px,2.6vw,34px)/1.1 var(--body);letter-spacing:-.03em;color:#2A2238;transition:color .3s}
.px-tabs b i{font-style:normal;font-size:.8em;color:#9C95AA;transition:transform .4s cubic-bezier(.2,.9,.3,1.3),color .3s}
.px-tabs span{display:block;margin-top:10px;font:400 15.5px/1.4 var(--body);color:var(--mut);opacity:.55;transition:opacity .3s}
.px-tabs button::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:100%;border-radius:2px;background:var(--vio);transform:scaleX(0);transform-origin:0 50%;transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.px-tabs button[aria-selected="true"]::after{transform:scaleX(1)}
.px-tabs button[aria-selected="true"] b{color:var(--ink)}.px-tabs button[aria-selected="true"] b i{color:var(--vio);transform:translate(3px,-3px)}
.px-tabs button[aria-selected="true"] span{opacity:1}
.px-tabs button:hover b i{transform:translate(3px,-3px)}
.px-tabs button:focus-visible{outline:3px solid #C9AEF7;outline-offset:4px;border-radius:6px}
.px-inv{margin:22px 0 0;font:500 17px/1.5 var(--body);color:#3A3346}
.px-link{border:0;background:none;padding:0;margin-left:6px;font:700 17px/1.5 var(--body);color:var(--vio);cursor:pointer}
.px-link:hover{text-decoration:underline}
/* sections */
.px-sec{padding:clamp(60px,8vw,110px) 0 0;scroll-margin-top:80px}
.px-h2{font:800 clamp(32px,3.8vw,52px)/1.05 var(--body);letter-spacing:-.04em;margin:0 0 14px;color:var(--ink)}
.px-lede{font:400 18px/1.5 var(--body);color:var(--mut);max-width:620px;margin:0 0 34px}
.px-lede a{color:var(--vio)}
.px-paths{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.px-path{border-radius:28px;padding:26px;background:#FBF9FF;box-shadow:0 0 0 1.5px var(--line);display:flex;flex-direction:column;transition:transform .45s cubic-bezier(.2,.9,.3,1.2),box-shadow .35s,background .35s}
.px-path.on{background:#fff;box-shadow:0 0 0 2px #C9AEF7,0 30px 50px -34px rgba(110,53,201,.6);transform:translateY(-4px)}
.px-tag{align-self:flex-start;font:800 11.5px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--vio);background:#F1E9FF;border-radius:999px;padding:7px 11px}
.px-path h3{font:800 24px/1.15 var(--body);letter-spacing:-.025em;margin:16px 0 8px}
.px-path>p{color:var(--mut);margin:0 0 16px;font-size:15.5px;line-height:1.5}
.px-path dl{margin:0 0 20px;display:grid;gap:4px}
.px-path dt{font:800 12px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:#8A8494;margin-top:10px}
.px-path dd{margin:0;font-size:15px;line-height:1.45;color:#2E2838}
.px-path button{margin-top:auto;align-self:flex-start;border:0;background:none;padding:0;font:800 15.5px/1 var(--body);color:var(--vio);cursor:pointer}
.px-path button:hover{text-decoration:underline}
/* activity */
.px-act{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:start}
.px-play{border-radius:30px;padding:24px;background:linear-gradient(170deg,#FFF6EC,#FDEEDF);box-shadow:0 0 0 1.5px #F6E3CF}
.px-ph{display:flex;gap:14px;align-items:center;margin-bottom:18px}
.px-ph img{height:78px;width:auto;flex:none}
.px-ph small{display:block;font:700 12.5px/1.3 var(--body);color:#B0652F;margin-bottom:6px}
.px-ph b{font:700 18px/1.35 var(--body);color:#2A1E14}
.px-slots{list-style:none;padding:0;margin:0 0 16px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.px-slots li{min-height:78px;border-radius:16px;border:2px dashed #EBCDB0;display:grid;align-content:center;justify-items:center;gap:6px;padding:8px;text-align:center;font:600 13.5px/1.25 var(--body);color:#B79B83;transition:background .3s,border-color .3s,color .3s}
.px-slots li b{width:24px;height:24px;border-radius:50%;background:#F3DCC4;color:#9B6B44;display:grid;place-items:center;font:800 12px/1 var(--body)}
.px-slots li.fill{border:2px solid #8A4FE0;background:#fff;color:#2A1E14}.px-slots li.fill b{background:#8A4FE0;color:#fff}
.px-cards{display:flex;flex-wrap:wrap;gap:10px}
.px-cards button{border:0;border-radius:14px;padding:12px 14px;background:#fff;font:700 14.5px/1.2 var(--body);color:#2A1E14;cursor:pointer;box-shadow:0 4px 0 #EBCDB0,0 0 0 1.5px #F1DCC5;transition:transform .15s,opacity .3s}
.px-cards button:hover:not(:disabled){transform:translateY(-2px)}
.px-cards button.used{opacity:.3;cursor:default;transform:none}
.px-fb{margin:16px 0 0;font:700 15px/1.4 var(--body);color:#6B5A4C;min-height:21px}.px-fb.ok{color:var(--ok)}.px-fb.no{color:#C2391F}
.px-reset{margin-top:12px;border:0;background:#1E1430;color:#fff;border-radius:999px;padding:11px 18px;font:700 14px/1 var(--body);cursor:pointer}
.px-what{display:grid;gap:16px}
.px-what>div{border-radius:26px;padding:22px 24px;background:#FBF9FF;box-shadow:0 0 0 1.5px var(--line)}
.px-what h3{font:800 19px/1.2 var(--body);margin:0 0 8px}
.px-what p{margin:0;color:var(--mut);line-height:1.5}
.px-what ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.px-what li{font-size:15px;line-height:1.4;color:#2E2838}
.px-what li b{display:block;font:800 11.5px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--vio);margin-bottom:4px}
/* form */
#pxForm{padding-bottom:clamp(60px,8vw,110px)}
.px-fw{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:start;border-radius:36px;padding:clamp(24px,4vw,48px);background:linear-gradient(160deg,#F8F3FF,#fff 70%);box-shadow:0 0 0 1.5px var(--line)}
.px-fch{height:180px;width:auto;margin-top:10px;filter:drop-shadow(0 16px 16px rgba(40,20,80,.2))}
.px-form{display:grid;gap:14px}
.px-g2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.px-form textarea{width:100%;border:1.5px solid #E6E0F2;border-radius:14px;padding:12px 14px;font:500 15px/1.4 var(--body);resize:vertical}
.px-chips{display:flex;flex-wrap:wrap;gap:8px}
.px-chips button{border:0;border-radius:999px;padding:10px 15px;background:#F1ECFA;font:700 14px/1 var(--body);color:#3A3346;cursor:pointer}
.px-chips button[aria-checked="true"]{background:#1E1430;color:#fff}
.px-form .px-btn{justify-self:start}
.px-ok{display:grid;justify-items:center;text-align:center;gap:8px;padding:30px 10px}
.px-tick{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#4CC38A,var(--ok));display:grid;place-items:center;box-shadow:0 16px 30px -12px rgba(30,142,90,.6)}
.px-tick svg{width:38px;height:38px}
.px-ok h3{font:800 26px/1.1 var(--body);margin:8px 0 0}
.px-ok p{color:var(--mut);max-width:420px;margin:0}
@media (max-width:900px){.px-hg{grid-template-columns:1fr}.px-scene{justify-self:center;max-width:560px}.px-tabs{grid-template-columns:1fr;gap:4px}.px-tabs span{display:none}.px-tabs button[aria-selected="true"] span{display:block}.px-paths,.px-act,.px-fw{grid-template-columns:1fr}.px-fch{display:none}}
@media (max-width:560px){.px-slots{grid-template-columns:1fr 1fr}.px-g2{grid-template-columns:1fr}.px-btn{width:100%;justify-content:center}}

.px-cta{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.px-cta .px-note{margin:0;padding-left:0}
.px-h1{font-weight:700!important}
@media (max-width:900px){.px-scene{justify-self:center}.px-cta{align-items:stretch}.px-cta .px-note{padding-left:0;text-align:center}}

@media (max-width:900px){.px-scene{width:100%;margin-right:0}}

/* ===================== v11: Nayar, the shopping guide ===================== */
.ks{grid-template-areas:"hero head kit" "ny ny kit" "rail rail kit" "det det kit" "fr fr kit"!important}
/* Nayar's speech bubble is where the agent talks */
.ks-say.ny{max-width:300px;width:max-content;min-width:180px;font:700 14px/1.4 var(--body);padding:11px 16px;top:-8px;text-align:left;z-index:5}
#ksHero{overflow:visible}
/* the ask line and suggestion chips, in the category-pill language */
.ny-ask{display:flex;align-items:center;gap:8px;height:52px;margin:0 0 10px;padding:0 6px 0 6px;border-radius:999px;background:#fff;box-shadow:0 0 0 1.5px #ECE6F7,0 10px 22px -16px rgba(40,20,90,.45)}
.ny-ask:focus-within{box-shadow:0 0 0 2.5px #8D6BF0,0 10px 22px -16px rgba(40,20,90,.45)}
.ny-ask img{width:40px;height:40px;object-fit:contain;flex:none;border-radius:50%;background:#EEF7DD}
.ny-ask input{flex:1;min-width:0;border:0;outline:0;background:none;font:600 15px/1 var(--body);color:var(--ink)}
.ny-ask input::placeholder{color:#8A8A92}
.ny-ask button{flex:none;height:40px;padding:0 18px;border:0;border-radius:999px;background:linear-gradient(135deg,#8D6BF0,#6A3FE0);color:#fff;font:800 14px/1 var(--body);cursor:pointer}
.ny-you{margin:-2px 0 8px 14px;font:600 13px/1.3 var(--body);color:#8A8A92;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ny-chips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.ny-chips button{display:inline-flex;align-items:center;border:0;background:#fff;border-radius:999px;padding:9px 14px;font:700 13.5px/1 var(--body);color:#3A3A40;cursor:pointer;box-shadow:0 0 0 1.5px #ECE6F7,0 6px 14px -10px rgba(40,20,90,.3);transition:transform .2s,box-shadow .2s}
.ny-chips button::before{content:"";width:6px;height:6px;border-radius:50%;background:#9BD43A;margin-right:8px}
.ny-chips button:hover{transform:translateY(-2px);box-shadow:0 0 0 1.5px #B9A2FF,0 8px 16px -10px rgba(40,20,90,.4)}
/* the agent's cards land on the storefront's own surfaces */
.ny-panel{grid-area:ny;display:none;position:relative;border-radius:24px;background:#fff;padding:16px 18px;box-shadow:0 0 0 1.5px #EFEAF8,0 18px 36px -28px rgba(40,20,90,.5)}
.ny-panel.on{display:block}
.ny-x{position:absolute;right:10px;top:10px;width:30px;height:30px;border-radius:50%;border:0;background:#F3EFFB;font:700 18px/1 var(--body);cursor:pointer;z-index:2}
.ny-k{margin:0 0 10px;font:800 11.5px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:#7B55E8}
.ny-tag{display:block;width:96px;height:96px}.ny-tag svg{width:100%;height:100%}
.ny-tag.sm{width:60px;height:60px}
.ny-cmp{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:12px}
.ny-c{position:relative;display:grid;justify-items:center;text-align:center;gap:4px;border-radius:18px;padding:12px;background:#FAF8FF;box-shadow:0 0 0 1.5px #F1ECFA}
.ny-c b{font:800 15px/1.2 var(--body)}.ny-c em{font:800 14px/1 var(--body);font-style:normal;color:#7B55E8}
.ny-c dl{margin:6px 0 0;display:grid;gap:2px;width:100%}
.ny-c dt{font:800 10.5px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:#8A8A92;margin-top:6px}
.ny-c dd{margin:0;font-size:13px;line-height:1.35;color:#3A3A40}
.ny-c .ks-plus{position:absolute;right:10px;top:10px}
.ny-plan{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}
.ny-pi{display:flex;align-items:center;gap:8px;border-radius:16px;padding:6px 12px 6px 6px;background:#FAF8FF;box-shadow:0 0 0 1.5px #F1ECFA}
.ny-pi b{display:block;font:800 13.5px/1.2 var(--body)}.ny-pi small{font:700 12px/1.2 var(--body);color:#7B55E8}
.ny-pt{display:flex;align-items:baseline;gap:10px;margin-top:10px;padding:10px 14px;border-radius:14px;background:var(--ink);color:#fff}
.ny-pt span{font:700 13px/1 var(--body);opacity:.8}.ny-pt b{font:900 20px/1 var(--display)}.ny-pt small{margin-left:auto;font:600 12px/1.2 var(--body);opacity:.75}
.ny-ord{display:grid;gap:12px;padding-right:30px}
.ny-oh{display:flex;align-items:center;gap:12px}.ny-oh .ny-k{margin-bottom:4px}
.ny-oh b{display:block;font:800 16px/1.2 var(--body)}.ny-oh small{font-size:12.5px;color:#6B6B72}
.ny-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);position:relative}
.ny-steps li{display:grid;justify-items:center;gap:6px;position:relative;font:700 12px/1.2 var(--body);color:#8A8A92;text-align:center}
.ny-steps li::before{content:"";position:absolute;top:8px;left:-50%;width:100%;height:3px;background:#EFEAF8;z-index:0}
.ny-steps li:first-child::before{display:none}
.ny-steps li.on::before{background:#9BD43A}
.ny-steps li i{position:relative;z-index:1;width:18px;height:18px;border-radius:50%;background:#EFEAF8;box-shadow:0 0 0 3px #fff}
.ny-steps li.on i{background:#6FA52E}.ny-steps li.now i{box-shadow:0 0 0 3px #fff,0 0 0 6px #DDF0C4}
.ny-steps li.on{color:var(--ink)}
.ny-od{margin:0;font-size:14px;line-height:1.45;color:#3A3A40}
.ny-link{justify-self:start;border:0;background:none;padding:0;font:800 14px/1 var(--body);color:#5B34C9;cursor:pointer}
/* real photos on the rail, styles and sizes in the detail strip */
.ks-hang svg.ka.ph{filter:drop-shadow(0 14px 12px rgba(40,20,90,.18))}
.ks-sw button.st{width:34px;height:34px;border-radius:10px;background-size:cover;background-position:center}
.ks-sz{display:flex;align-items:center;gap:5px}
.ks-sz button{min-width:36px;height:32px;border:0;border-radius:10px;background:#F3EFFB;font:800 12.5px/1 var(--body);color:#3A3A40;cursor:pointer}
.ks-sz button[aria-checked="true"]{background:var(--ink);color:#fff}
.ks-sz span{font:700 12.5px/1 var(--body);color:#6B6B72;margin-left:4px}
/* disclosure under the progress bar */
.ks-disc{margin:6px 0 0!important;font:500 11.5px/1.45 var(--body)!important;color:#8A8A92!important}
.ks-go.ny-ready{box-shadow:0 0 0 4px #DDF0C4,0 18px 30px -16px rgba(106,63,224,.9)}
/* demo scenarios: out of the header, bottom right */
.ny-demo{position:fixed;right:16px;bottom:16px;z-index:350;display:grid;justify-items:end;gap:8px}
.ny-dt{border:0;border-radius:999px;padding:10px 14px;background:#fff;color:#3A3A40;font:800 12.5px/1 var(--body);letter-spacing:.02em;cursor:pointer;box-shadow:0 0 0 1.5px #ECE6F7,0 12px 24px -14px rgba(40,20,90,.5)}
.ny-dt::before{content:"▶";font-size:9px;margin-right:7px;color:#7B55E8}
.ny-dp{order:-1;width:250px;border-radius:20px;background:#fff;padding:12px;box-shadow:0 0 0 1.5px #ECE6F7,0 24px 48px -20px rgba(40,20,90,.5);display:grid;gap:6px}
.ny-dp[hidden]{display:none}
.ny-dp p{margin:0 0 4px;font:600 12.5px/1.35 var(--body);color:#6B6B72}
.ny-dp button{display:flex;align-items:center;gap:10px;border:0;border-radius:12px;padding:10px;background:#FAF8FF;text-align:left;font:700 14px/1.2 var(--body);color:var(--ink);cursor:pointer}
.ny-dp button:hover{background:#F1ECFF}
.ny-dp button b{width:22px;height:22px;border-radius:50%;background:#7B55E8;color:#fff;display:grid;place-items:center;font:800 11px/1 var(--body);flex:none}
.ny-dp .ny-reset{justify-content:center;background:none;color:#7B55E8;font-size:13px}
@media (max-width:900px){
 .ks{grid-template-areas:"head" "hero" "ny" "rail" "det" "fr" "kit"!important}
 .ks-head{text-align:left}
 .ny-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -16px 12px;padding:2px 16px}.ny-chips::-webkit-scrollbar{display:none}.ny-chips button{flex:none}
 .ny-ask input{font-size:14px}
 .ks-say.ny{max-width:min(300px,86vw);left:50%;translate:-50% 0}
 .ny-cmp{grid-template-columns:1fr}.ny-c{grid-template-columns:96px 1fr;justify-items:start;text-align:left;align-items:center}.ny-c .ny-tag{grid-row:span 4}.ny-c dl{grid-column:1/-1}
 .ny-pt{margin-left:0}
 .ny-demo{bottom:80px;right:12px}
}

#ksCats{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding:3px 2px 6px}#ksCats::-webkit-scrollbar{display:none}#ksCats button{flex:none}
.ny-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding:2px}.ny-chips::-webkit-scrollbar{display:none}.ny-chips button{flex:none}

.tb-fam a .dom{display:block;margin-top:10px;font:700 12.5px/1 var(--body);font-style:normal;color:#E9A58F;letter-spacing:.02em}
.tb-fam a:hover .dom{text-decoration:underline}

/* calmer guide area: title, one line, ask, three chips */
.ny-you{display:none!important}
.ks-head h2{font-size:clamp(30px,3.2vw,44px)!important}
.ks-head p{margin:8px 0 14px!important}
.ny-chips{margin:0!important;flex-wrap:wrap!important;overflow:visible!important}
.ks-railwrap>#ksCats{margin:0 0 14px}
.ks-railwrap>#ksCats~.ks-ra{top:150px}
@media (max-width:900px){.ny-chips{flex-wrap:nowrap!important;overflow-x:auto!important;margin:0 -16px!important;padding:2px 16px 4px!important}}

/* ===================== v12: merchandise display (handoff v1) ===================== */
.ks-railwrap{container-type:inline-size;container-name:merch}
.ks-railwrap>*{--slot:160px;--gap:16px}
@container merch (min-width:640px){.ks-railwrap>*{--slot:192px;--gap:20px}}
@container merch (min-width:1024px){.ks-railwrap>*{--slot:220px;--gap:24px}}
.ks-rail{scroll-snap-type:x proximity;scroll-padding-inline:12px}
.ks-items{gap:var(--gap)!important;padding:14px 12px 14px!important;isolation:isolate;align-items:flex-start}
.ks-items::before{display:none!important}
.ks-items .ks-it{width:var(--slot);flex:0 0 var(--slot);scroll-snap-align:start;display:block}
.ks-stage{position:relative;width:100%;aspect-ratio:5/6}
.ks-items .ks-hang{position:absolute;inset:0;z-index:2;width:100%;height:100%;padding:0;border:0;background:none;border-radius:14px;transform-origin:50% 10%}
.ks-it[data-sup="peg"] .ks-hang{transform-origin:50% 7%}
.ks-it.on .ks-hang::after{display:none!important}
/* artwork: photographic cutouts carry their own contact shadow, so no filter on them */
.kd{position:absolute;inset:0;display:block;pointer-events:none}
.kd-img{display:block;width:100%;height:100%;object-fit:contain;-webkit-user-drag:none;user-select:none}
.ks-hang .kd svg.ka,.ks-hang .kd>svg{position:absolute;overflow:visible;filter:drop-shadow(0 12px 10px rgba(60,40,90,.16))}
.ks-hang .kd-rail>svg{left:10%;width:80%;height:auto;top:6.6%}
.ks-hang .kd-shelf>svg{left:5%;width:90%;height:auto;bottom:8.6%}
.ks-hang .kd-peg.kd-sv>svg:last-child{left:16%;width:68%;height:auto;top:3.2%}
.ks-hang .kd>svg.kd-peg,.ks-hang svg.kd-peg{position:absolute;left:50%;top:0;width:15%;height:auto;translate:-50% 0;filter:drop-shadow(0 2px 2px rgba(47,54,66,.18));z-index:0}
.kd-peg~*{position:relative;z-index:1}
.kd-nm{position:absolute;left:50%;bottom:20%;translate:-50% 0;padding:4px 10px;border-radius:999px;background:#5B34C9;color:#fff;font:800 11px/1.1 var(--body);letter-spacing:.04em;white-space:nowrap}
/* fixtures sit behind the art, in the same moving track; adjacent segments overlap the gap and join */
.kf{position:absolute;z-index:1;left:12px;width:calc(var(--slot)*var(--n) + var(--gap)*(var(--n) - 1) - 24px);pointer-events:none}
.kf-rail{top:10%;height:7px;transform:translateY(-50%);background:linear-gradient(#F6F5F7 0%,#D3D1D7 38%,#A8A5AD 70%,#C9C6CE 100%);box-shadow:0 4px 5px rgba(47,54,66,.12);border-radius:4px}
.kf-shelf{top:88.333%;height:17px;border-top:3px solid #F8EBD6;border-bottom:1px solid #C9A97C;background:linear-gradient(#F3DFC0,#EAD3AF 40%,#DEC095);box-shadow:0 7px 9px -2px rgba(73,54,26,.14);border-radius:3px}
.kf-m{position:absolute;display:block}
.kf-ms{left:4px}.kf-me{right:4px}
.kf-rail .kf-m{z-index:-1;top:-8px;width:12px;height:22px;border-radius:4px;border:1px solid #C9C6CE;background:linear-gradient(90deg,#ECEBED,#B9B6BE);box-shadow:0 1px 3px rgba(47,54,66,.12)}
.kf-shelf .kf-m{z-index:-1;top:12px;width:9px;height:18px;border-radius:0 0 3px 3px;background:linear-gradient(90deg,#C9C6CE,#A8A5AD)}
.kf-shelf .kf-m::after{content:"";position:absolute;left:50%;top:8px;width:3px;height:3px;border-radius:50%;background:#8E8A94;translate:-50% 0}
/* badge: top-left, flat */
.ks-items .ks-flag{left:8px;top:8px;translate:none;transform:none;border-radius:6px;padding:5px 8px;background:#2B2633;font:750 10px/1.25 var(--body);letter-spacing:.025em;text-transform:none;z-index:3}
.ks-it[data-sup="rail"] .ks-flag{top:16%}
/* name and price pill; selection is the outline, not a lift */
.ks-items .ks-cap{width:100%;box-sizing:border-box;display:flex;align-items:center;gap:4px;min-height:64px;margin-top:6px;padding:7px 7px 7px 14px;border-radius:20px;background:#fff;box-shadow:inset 0 0 0 1.5px #E9E2F5;transform:none!important;transition:box-shadow .2s}
.ks-items .ks-cap span{flex:1;min-width:0;display:grid;gap:3px}
.ks-items .ks-cap b{font:750 15.5px/1.2 var(--body);color:#25232B;white-space:normal;overflow-wrap:anywhere}
.ks-items .ks-cap small{font:700 14.5px/1.2 var(--body);color:#5426BA}
.ks-items .ks-plus{width:44px;height:44px;flex:0 0 44px;border-radius:50%;background:#F0E9FF;color:#5426BA;font-size:22px}
.ks-items .ks-plus:hover{background:#E5D8FF}
.ks-items .ks-it.on .ks-cap{box-shadow:inset 0 0 0 2px #7041E8}
.ks-railwrap>.ks-ra{top:calc(74px + var(--slot)*.6 - 21px)!important}
.ks-railwrap>#ksCats~.ks-ra{top:calc(74px + var(--slot)*.6 - 21px)!important}
@media (max-width:900px){.ks-items .ks-cap b{font-size:14.5px}.ks-items .ks-cap small{font-size:13.5px}.ks-items .ks-cap{min-height:58px;padding-left:12px}.ks-items .ks-plus{width:40px;height:40px;flex-basis:40px}}
@media (prefers-reduced-motion:reduce){.ks-rail{scroll-behavior:auto}}
@media (forced-colors:active){.ks-items .ks-it.on .ks-cap{outline:3px solid CanvasText}}
.ks-rail>.ks-bar{display:none!important}

/* photographed hanging pieces: a metal hook over the rail, the garment hangs below it */
.kd-hook{position:absolute;inset:0;width:100%;height:100%;z-index:0;overflow:visible}
.kd-rail.kd-ph .kd-img{position:relative;z-index:1}
.ks-sw button.st{background-size:contain!important;background-repeat:no-repeat;background-color:#fff!important}

/* ===================== v13: photo try-on ===================== */
.ks-try{display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 18px;border:0;border-radius:999px;background:#F0E9FF;color:#4B22B5;font:800 14.5px/1 var(--body);cursor:pointer;margin-left:auto;transition:background .2s}
.ks-try svg{width:20px;height:20px}.ks-try:hover{background:#E5D8FF}
.ks-try+.ks-add{margin-left:0}
html.to-open{overflow:hidden}
#toW{position:fixed;inset:0;z-index:600;display:grid;place-items:center;padding:24px}
#toW[hidden]{display:none}
.to-bg{position:absolute;inset:0;background:rgba(29,22,48,.46);backdrop-filter:blur(4px)}
.to-card{position:relative;width:min(980px,100%);max-height:min(860px,calc(100vh - 48px));overflow:auto;border-radius:28px;background:#fff;padding:28px 30px 26px;box-shadow:0 40px 80px -30px rgba(30,15,70,.55);outline:0;overscroll-behavior:contain}
.to-x{position:absolute;right:14px;top:14px;width:40px;height:40px;border-radius:50%;border:0;background:#F3EFFB;font:600 24px/1 var(--body);color:#3A3A40;cursor:pointer;z-index:3}
.to-s[hidden]{display:none}
.to-s[data-s="start"],.to-s[data-s="terms"]{max-width:620px;margin:0 auto}
#toW h3{margin:0 0 10px;font:900 clamp(26px,3vw,36px)/1.08 var(--display);letter-spacing:-.02em;color:var(--ink)}
.to-lead{margin:0 0 18px;font:500 16px/1.5 var(--body);color:#3A3A40}
.to-pr{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:10px}
.to-pr li{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:16px;background:#FAF8FF;box-shadow:inset 0 0 0 1.5px #F1ECFA;font:500 14.5px/1.45 var(--body);color:#3A3A40}
.to-pr li svg{flex:none;width:22px;height:22px;color:#6A3FE0;margin-top:1px}.to-pr b{color:var(--ink)}
.to-ok{display:flex;gap:12px;align-items:flex-start;margin:0 0 16px;padding:14px;border-radius:16px;box-shadow:inset 0 0 0 1.5px #E9E2F5;font:600 14.5px/1.45 var(--body);color:#25232B;cursor:pointer}
.to-ok input{flex:none;width:22px;height:22px;margin:0;accent-color:#6A3FE0;cursor:pointer}
.to-lk{border:0;background:none;padding:0;font:inherit;color:#5426BA;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.to-btns{display:flex;gap:10px;flex-wrap:wrap}
.to-up{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:9px;flex:1 1 200px;height:54px;border-radius:999px;background:linear-gradient(135deg,#8D6BF0,#6A3FE0);color:#fff;font:800 15px/1 var(--body);cursor:pointer;box-shadow:0 14px 26px -16px rgba(106,63,224,.9);transition:opacity .2s,filter .2s}
.to-up.alt{background:var(--ink);box-shadow:none}
.to-up svg{width:20px;height:20px}
.to-up input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.to-up.dis{opacity:.42;filter:saturate(.4)}.to-up.dis input{pointer-events:none}
.to-err{min-height:20px;margin:10px 0 0;font:700 13.5px/1.4 var(--body);color:#B3261E}
.to-fine{margin:6px 0 0;font:500 12.5px/1.45 var(--body);color:#6B6B72}
.to-doc{max-height:min(56vh,520px);overflow:auto;padding-right:6px;margin:8px 0 16px;font:500 14.5px/1.55 var(--body);color:#3A3A40}
.to-doc h3{font-size:26px}.to-doc h4{margin:18px 0 6px;font:800 16px/1.3 var(--body);color:var(--ink)}.to-doc ul{margin:0;padding-left:20px}.to-doc li{margin:4px 0}.to-doc p{margin:0 0 10px}
.to-eff{font-size:12.5px!important;color:#8A8A92}
.to-back{margin-bottom:6px}
.to-agree{width:100%;justify-content:center}
.to-fit{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:26px;align-items:start}
.to-stw{display:grid;gap:8px;justify-items:center}
.to-st{position:relative;width:min(100%,calc(66vh * var(--ar,.8)));max-height:66vh;border-radius:22px;overflow:hidden;background:#F4F1FA;touch-action:none;cursor:grab;user-select:none;box-shadow:inset 0 0 0 1.5px #ECE6F7}
.to-st:active{cursor:grabbing}
.to-ph{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
.to-g{position:absolute;left:50%;top:30%;width:78%;translate:-50% 0;pointer-events:none;filter:drop-shadow(0 10px 14px rgba(30,20,50,.22))}
.to-g img,.to-g svg{display:block;width:100%;height:auto}
.to-hint{margin:0;font:600 12.5px/1.3 var(--body);color:#8A8A92;text-align:center}
.to-side{display:grid;gap:14px;align-content:start;padding-top:6px}
.to-side .ny-k{margin:0}
.to-it{display:flex;gap:8px}
.to-it button{flex:1;display:grid;gap:3px;justify-items:start;padding:10px 14px;border:0;border-radius:16px;background:#fff;box-shadow:inset 0 0 0 1.5px #E9E2F5;font:800 15px/1.2 var(--body);color:#25232B;cursor:pointer;text-align:left}
.to-it button small{font:700 13px/1 var(--body);color:#5426BA}
.to-it button[aria-checked="true"]{box-shadow:inset 0 0 0 2px #7041E8;background:#FAF8FF}
.to-rg{display:grid;gap:6px;font:700 13px/1 var(--body);color:#3A3A40}
.to-rg input{width:100%;accent-color:#6A3FE0}
.to-side .ny-link{justify-self:start;margin-top:-6px}
.to-side .ks-add{width:100%;justify-content:center;margin:0}
.to-side .ks-add.done{background:#2E7D32}
.to-row{display:flex;gap:8px;flex-wrap:wrap}
.to-sec{flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:42px;padding:0 12px;border:0;border-radius:999px;background:#F3EFFB;color:#3A3A40;font:800 13px/1 var(--body);cursor:pointer}
.to-sec svg{width:18px;height:18px}.to-sec.dng{color:#B3261E;background:#FDEEEC}
@media (max-width:760px){
 #toW{padding:0;place-items:end stretch}
 .to-card{width:100%;max-height:94vh;border-radius:26px 26px 0 0;padding:22px 16px calc(18px + env(safe-area-inset-bottom))}
 .to-fit{grid-template-columns:1fr;gap:16px}
 .to-st{width:min(100%,calc(48vh * var(--ar,.8)));max-height:48vh}
 .ks-try{margin-left:0;width:100%;justify-content:center}
}
@media (prefers-reduced-motion:reduce){.to-bg{backdrop-filter:none}}
#toW .to-s{padding:0!important;min-height:0!important;background:none!important}

/* ===================== v14: wallpapers from the real artwork ===================== */
.wp-dev button{display:grid;gap:3px;justify-items:center;padding:9px 18px}
.wp-dev button small{font:600 11px/1 var(--body);color:#8A8A92;letter-spacing:.01em}
.wp-dev button[aria-checked="true"] small{color:#6A3FE0}
.wp-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:20px 16px}
.wp-grid[data-d="desk"]{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.wp-fr{display:block;aspect-ratio:1290/2796;background:#F3EFFB;overflow:hidden}
.wp-grid[data-d="tablet"] .wp-fr{aspect-ratio:1640/2360}.wp-grid[data-d="desk"] .wp-fr{aspect-ratio:16/9}
.wp-fr img,.wp-fr canvas{display:block;width:100%;height:100%;object-fit:cover}
.wp-pv{border-radius:20px}
.wp-grid[data-d="phone"] .wp-pv{border-radius:24px;box-shadow:0 0 0 5px var(--ink),0 0 0 6.5px #3A3A40,0 26px 40px -26px rgba(40,20,90,.6)}
.wp-grid[data-d="phone"] .wp-c{padding:6px 6px 0}
a.wp-dl{text-decoration:none}
.wp-big img{max-height:66vh;width:auto;max-width:100%;margin:0 auto;box-shadow:0 20px 40px -24px rgba(40,20,90,.5)}
.wp-big.wp-phone img{border-radius:28px}
@media (max-width:1100px){.wp-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.wp-grid[data-d="desk"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:600px){.wp-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.wp-grid[data-d="desk"]{grid-template-columns:1fr!important}.wp-dev{display:flex}.wp-dev button{flex:1;padding:9px 6px}}
.wp-in{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:0 2px}
.wp-in b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wp-in small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wp-dl{width:40px;height:40px;padding:0!important;justify-content:center;border-radius:50%!important;font-size:0!important;gap:0!important}
.wp-dl svg{width:18px!important;height:18px!important}
@media (max-width:600px){.wp-in{flex-direction:row!important}}

.wp-hint{margin:-8px 0 16px;font:600 14px/1.4 var(--body);color:#6B6B72}
.wp-grid[data-d="phone"],.wp-grid[data-d="tablet"]{grid-template-columns:repeat(6,minmax(0,1fr))!important}
@media (max-width:1100px){.wp-grid[data-d="phone"],.wp-grid[data-d="tablet"]{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media (max-width:600px){.wp-grid[data-d="phone"],.wp-grid[data-d="tablet"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* ===================== v15: try-on (fitted on device) + zoom ===================== */
.to2 .to-card{width:min(1100px,100%);padding:0 0 22px}
.to-hd{position:sticky;top:0;z-index:4;display:flex;align-items:center;justify-content:space-between;padding:16px 22px 10px;background:#fff}
.to-hd b{font:800 17px/1 var(--body);color:var(--ink)}
.to2 .to-x{position:static}
.to2 .to-s{padding:0 26px!important}
.to-guide{display:flex;gap:16px;align-items:center;margin:0 0 16px;padding:12px;border-radius:18px;background:#FAF8FF;box-shadow:inset 0 0 0 1.5px #F1ECFA}
.to-guide svg{flex:none;width:84px;height:auto}
.to-guide ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font:600 14.5px/1.35 var(--body);color:#25232B}
.to-guide li{display:flex;gap:8px;align-items:center}.to-guide li svg{width:18px;height:18px;color:#2E7D32}
.to2 .to-fit{grid-template-columns:minmax(0,1.25fr) minmax(300px,.9fr);gap:28px}
.to-lft{display:grid;gap:12px;min-width:0}
.to-tabs{display:flex;gap:4px;padding:4px;border-radius:999px;background:#F3EFFB}
.to-tabs button{flex:1;height:42px;border:0;border-radius:999px;background:none;font:800 14.5px/1 var(--body);color:#3A3A40;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 10px}
.to-tabs button[aria-selected="true"]{background:#6A3FE0;color:#fff;box-shadow:0 8px 18px -10px rgba(106,63,224,.9)}
.to-st2{position:relative;justify-self:center;width:min(100%,calc(64vh * var(--ar,.8)));aspect-ratio:var(--ar,.8);border-radius:22px;overflow:hidden;background:#F4F1FA;box-shadow:inset 0 0 0 1.5px #ECE6F7;touch-action:none;user-select:none}
.to-st2>canvas,.to-st2>.to-ph{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}
.to-st2>[hidden]{display:none!important}
.to-st2 .to-g{position:absolute;translate:-50% 0;pointer-events:none;filter:drop-shadow(0 10px 14px rgba(30,20,50,.22))}
.to-zv{position:absolute;inset:0;background:#FBFAF8}
.to-busy,.to-msg{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:8px;text-align:center;padding:24px;background:rgba(251,250,248,.78);backdrop-filter:blur(6px);z-index:3}
.to-busy.off,.to-msg.off{display:none!important}
.to-busy i{width:38px;height:38px;border-radius:50%;border:3.5px solid #E5DCFB;border-top-color:#6A3FE0;animation:tospin .9s linear infinite}
@keyframes tospin{to{transform:rotate(360deg)}}
.to-busy b,.to-msg b{font:800 17px/1.3 var(--body);color:var(--ink)}.to-busy small,.to-msg span{font:500 14px/1.45 var(--body);color:#5A5A62;max-width:32ch}
.to-msg div{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:6px}.to-msg .ks-add{margin:0}
.to-man{display:grid;gap:4px}.to-man small{font:500 12.5px/1.4 var(--body);color:#6B6B72}
.to-ft{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font:500 13.5px/1.4 var(--body);color:#5A5A62}
.to-lnk{display:flex;gap:14px}.to-lnk .to-lk{font-weight:700}
.to2 .to-side{gap:12px;padding-top:0}
.to-pv{border-radius:20px;overflow:hidden;background:#F4F1FA;box-shadow:inset 0 0 0 1.5px #ECE6F7}
.to-pvb{position:relative;display:block;width:100%;border:0;padding:0;background:none;cursor:zoom-in}
.to-pvb svg.ka{display:block;width:100%;height:auto;max-height:260px}
.to-pvb span{position:absolute;right:10px;bottom:10px;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.92);font:800 12.5px/1 var(--body);color:#3A3A40;box-shadow:0 6px 14px -8px rgba(30,20,60,.4)}
.to-pvb span svg{width:16px;height:16px}
.to-ttl{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.to-ttl b{font:900 22px/1.15 var(--display);letter-spacing:-.01em;color:var(--ink)}
.to-sub{margin:-6px 0 0;font:600 14px/1.3 var(--body);color:#6B6B72}
.to2 .to-it button{justify-items:center;text-align:center;padding:12px}
.to-szh{display:flex;justify-content:space-between;align-items:center}.to-szh b{font:800 14.5px/1 var(--body)}.to-szh .to-lk{font-weight:700;font-size:14px}
.to-sg{padding:10px 12px;border-radius:14px;background:#FAF8FF;box-shadow:inset 0 0 0 1.5px #F1ECFA}
.to-sg table{width:100%;border-collapse:collapse;font:600 13px/1.6 var(--body);color:#3A3A40}.to-sg th{text-align:left;font-weight:800;color:var(--ink)}.to-sg small{font:500 12px/1.3 var(--body);color:#6B6B72}
.to2 .to-side .ks-add{width:100%;justify-content:center;margin:2px 0 0}
/* zoom viewer */
.zv{position:absolute;inset:0;overflow:hidden;cursor:zoom-in;touch-action:none;outline:0;background:#FBFAF8}
.zv.zd{cursor:grab}.zv:focus-visible{box-shadow:inset 0 0 0 3px #8D6BF0}
.zv-in{position:absolute;inset:0;transform-origin:50% 50%;will-change:transform}
.zv-in>img,.zv-in>canvas,.zv-in>svg{position:absolute;inset:4%;width:92%;height:92%;object-fit:contain;-webkit-user-drag:none;pointer-events:none}
.zv-hi{opacity:0;transition:opacity .35s}.zv-hi.on{opacity:1}
.zv-ctl{position:absolute;right:12px;bottom:12px;display:flex;gap:6px;z-index:2}
.zv-ctl button{width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.95);color:#25232B;display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 18px -10px rgba(30,20,60,.5)}
.zv-ctl svg{width:20px;height:20px}
.zv-hd{position:absolute;left:12px;top:12px;padding:4px 8px;border-radius:6px;background:#2B2633;color:#fff;font:800 11px/1 var(--body);letter-spacing:.04em}
.zv-tip{position:absolute;left:12px;bottom:18px;font:600 12px/1 var(--body);color:#8A8A92;pointer-events:none;transition:opacity .3s}.zv.zd .zv-tip{opacity:0}
.zl{position:fixed;inset:0;z-index:620;display:grid;place-items:center;padding:24px}
.zl-bg{position:absolute;inset:0;background:rgba(29,22,48,.55);backdrop-filter:blur(4px)}
.zl-card{position:relative;width:min(880px,100%);height:min(92vh,900px);display:grid;grid-template-rows:auto 1fr;border-radius:26px;overflow:hidden;background:#fff;box-shadow:0 40px 80px -30px rgba(30,15,70,.55)}
.zl-hd{display:flex;align-items:center;gap:14px;padding:14px 16px 12px 22px}
.zl-hd>span:first-child{display:grid;gap:3px;flex:1;min-width:0}.zl-hd b{font:800 17px/1.2 var(--body);color:var(--ink)}.zl-hd small{font:700 14px/1 var(--body);color:#5426BA}
.zl-hd .to-x{position:static}
.zl-body{position:relative}
.ks-mini.zm{position:relative;cursor:zoom-in}
.ks-zoom{position:absolute;right:-6px;bottom:-6px;width:30px;height:30px;border-radius:50%;border:0;background:#fff;color:#4B22B5;display:grid;place-items:center;box-shadow:0 6px 14px -6px rgba(40,20,90,.5);cursor:zoom-in}
.ks-zoom svg{width:16px;height:16px}
@media (max-width:820px){
 .to-tabs button{font-size:13px;padding:0 6px}
 .to2 .to-fit{grid-template-columns:1fr;gap:16px}
 .to2 .to-s{padding:0 16px!important}
 .to-st2{width:min(100%,calc(54vh * var(--ar,.8)))}
 .to-pv{display:none}
 .to-hd{padding:14px 16px 8px}
 .to-guide svg{width:64px}
 .zl{padding:0}.zl-card{width:100%;height:100%;border-radius:0}
}

/* ===================== v16: family panel, our story fixes, shop layout ===================== */
.tb-fam{align-items:stretch}
.tb-fam a{position:relative;grid-template-rows:auto auto 1fr auto;align-content:start;gap:8px;padding:18px 18px 16px;transform:none}
.tb-fam .st{display:block;min-height:2.5em;font-size:10.5px!important;line-height:1.25;color:#C9A89E}
.tb-fam b{font:800 17px/1.15 var(--body)}
.tb-fam small{font:500 13.5px/1.45 var(--body);color:#C9C3BB}
.tb-fam a .dom{margin-top:4px;align-self:end}
.tb-fam a.here{background:#FFF7F2;border-color:#FFF7F2;color:var(--ink);box-shadow:0 18px 36px -20px rgba(243,182,166,.8)}
.tb-fam a.here .st{color:#B4553C}.tb-fam a.here b{color:var(--ink)}.tb-fam a.here small{color:#55514C}.tb-fam a.here .dom{color:#B4553C}
.tb-fam a.here:hover{background:#fff}
.here-pill{position:absolute;top:-10px;right:12px;padding:4px 9px;border-radius:999px;background:#E8664A;color:#fff;font:800 10.5px/1 var(--body);font-style:normal;letter-spacing:.04em;box-shadow:0 6px 14px -6px rgba(232,102,74,.8)}
.tb-panel .wrap{padding-top:22px}
@media (max-width:900px){
 .tb-panel{max-height:calc(100vh - 56px);overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;box-shadow:0 30px 40px -10px rgba(0,0,0,.5)}
 .tb-panel .wrap{padding-bottom:18px}
 .tb-fam{grid-template-columns:1fr!important;gap:10px}
 .tb-fam a{grid-template-columns:1fr auto;grid-template-rows:auto auto auto;column-gap:12px;row-gap:4px;padding:14px 16px}
 .tb-fam .st{grid-column:1/-1;font-size:11px!important;min-height:0}
 .tb-fam b{font-size:18px}
 .tb-fam small{grid-column:1/-1;font-size:14.5px;line-height:1.45}
 .tb-fam a .dom{grid-column:1/-1;font-size:14px;margin-top:2px}
 .here-pill{top:12px;right:12px}
}
.mm-bit{position:fixed;z-index:430;pointer-events:none;filter:drop-shadow(0 3px 3px rgba(90,20,10,.25))}
#leaf.mm-on{box-shadow:0 0 0 4px rgba(213,43,30,.25),0 16px 30px -12px rgba(213,43,30,.6)}
#leaf small{transition:opacity .3s}
/* Promise shelf: calm, legible cards */
.pm5-shelf{background:#fff!important;backdrop-filter:none!important;box-shadow:0 0 0 1.5px #EFEAF8,0 30px 60px -40px rgba(60,40,140,.35)!important;padding:24px 24px 28px!important}
.pm5-sh{justify-content:space-between!important;margin-bottom:20px!important}
.pm5-title{background:none!important;box-shadow:none!important;padding:0!important;font:800 12.5px/1 var(--body)!important;letter-spacing:.14em;text-transform:uppercase;color:#6A3FE0!important}
.pm5-count{position:static!important;translate:none!important;background:#F3EFFB!important;font:800 13px/1 var(--body)!important;color:#3A3A40!important}
.pm5-row{gap:14px!important}
.pm5-p{justify-items:start!important;text-align:left!important;gap:8px!important;padding:16px 16px 18px!important;min-height:0!important;border-radius:20px!important;background:#FAF8FF!important;box-shadow:inset 0 0 0 1.5px #F1ECFA!important}
.pm5-p::after{display:none!important}
.pm5-gl{width:72px!important;height:72px!important;box-shadow:none!important;background:var(--oc,#E5E0F5)!important}
.pm5-gl img{height:64px!important}
.pm5-p b{font:800 16.5px/1.25 var(--body)!important;letter-spacing:-.005em;color:var(--ink)!important;margin-top:4px!important}
.pm5-p small{font:500 14px/1.5 var(--body)!important;color:#55555C!important}
.pm5-p.empty{background:#fff!important;box-shadow:inset 0 0 0 1.5px dashed #E4DDF4!important;border:1.5px dashed #E4DDF4}
.pm5-p.empty .pm5-gl{background:#F3EFFB!important}.pm5-p.empty .pm5-gl::after{font-size:26px!important}
.pm5-p.empty b,.pm5-p.empty small{color:#9A95A8!important}
.pm5-done{color:var(--ink)!important;font:800 17px/1.35 var(--body)!important;text-align:left!important}
#pmReset{font:700 14.5px/1 var(--body)}
.pm5-neck{font:800 13px/1 var(--body)!important;letter-spacing:.12em;text-transform:uppercase;padding:11px 20px!important}
.pm5-neck span{background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;color:#2C2557}
@media (max-width:600px){.pm5-row{grid-template-columns:1fr!important}.pm5-p{grid-template-columns:56px 1fr;column-gap:14px;align-items:center}.pm5-gl{width:56px!important;height:56px!important;grid-row:span 2}.pm5-gl img{height:50px!important}.pm5-p b{margin:0!important}}
.pm5-cloud{display:none!important}
@media (min-width:981px){.pm5-row{grid-template-columns:1fr 1fr!important}.pm5-p{grid-template-columns:64px 1fr;column-gap:14px;align-items:start}.pm5-gl{grid-row:span 2;width:64px!important;height:64px!important}.pm5-gl img{height:56px!important}.pm5-p b{margin-top:2px!important}}
/* the compass guide: smaller on phones, and off the shopping screen */
@media (max-width:640px){#cg{transform:scale(.72);transform-origin:left bottom}}

/* ===================== v18: a calmer Kit Studio ===================== */
body.ks-calm .ks-top{padding:30px 0 6px}
body.ks-calm .ks-top .eyebrow{display:none}
body.ks-calm .ks-top h1{font-size:clamp(32px,3.8vw,52px);margin:0 0 8px}
body.ks-calm .ks-top .lede{font-size:17px}
body.ks-calm .ks{grid-template-columns:180px minmax(0,1fr) 320px;gap:14px 26px;padding:24px 26px}
body.ks-calm .ks-hero{height:200px}
body.ks-calm #ksChar{height:160px;margin-bottom:10px}
body.ks-calm .ks-held,body.ks-calm .ks-glow{display:none!important}
body.ks-calm .ks-say.ny{max-width:200px;font-size:13px;padding:8px 12px}
body.ks-calm .ks-tag{display:none}
body.ks-calm .ks-head h2{font-size:clamp(28px,2.8vw,38px)!important}
body.ks-calm .ks-head p{font-size:15px;margin:6px 0 12px!important}
/* Nayar behind one button */
.ny-open{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 16px 0 5px;border:0;border-radius:999px;background:#F3EFFB;color:#3A2A7A;font:800 14px/1 var(--body);cursor:pointer;transition:background .2s}
.ny-open img{width:32px;height:32px;object-fit:contain;border-radius:50%;background:#EEF7DD}
.ny-open:hover,.ny-open.on{background:#E8E0FB}
.ny-drawer{margin-top:12px}.ny-drawer[hidden]{display:none}
/* categories as quiet text tabs */
body.ks-calm #ksCats{gap:22px!important;padding:0 2px!important;margin:0 0 16px!important;border-bottom:1px solid #EEE9F5;overflow-x:auto}
body.ks-calm #ksCats button{background:none!important;box-shadow:none!important;border-radius:0!important;padding:10px 0 12px!important;color:#6B6B72!important;font:700 15px/1 var(--body)!important;border-bottom:2.5px solid transparent!important;margin-bottom:-1px;transform:none!important}
body.ks-calm #ksCats button i{display:none!important}
body.ks-calm #ksCats button[aria-selected="true"]{color:var(--ink)!important;border-bottom-color:#6A3FE0!important}
/* a zoom button on every item */
.ks-zb{position:absolute;right:8px;top:12%;z-index:5;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.96);color:#25232B;display:grid;place-items:center;cursor:zoom-in;box-shadow:0 6px 16px -8px rgba(30,20,60,.5);opacity:0;transition:opacity .2s,transform .2s}
.ks-zb svg{width:19px;height:19px}
.ks-it:hover .ks-zb,.ks-it.on .ks-zb,.ks-zb:focus-visible{opacity:1}
.ks-zb:hover{transform:scale(1.08)}
@media (hover:none){.ks-zb{opacity:1}}
/* detail strip: a bigger picture that opens the zoom */
body.ks-calm .ks-mini{width:76px;height:76px;border-radius:18px;background:#FBFAF8}
body.ks-calm .ks-mini svg{width:68px;height:68px}
body.ks-calm .ks-zoom{width:34px;height:34px;right:-8px;bottom:-8px}
/* a lighter kit panel */
body.ks-calm .ks-kit{padding:18px;gap:12px;top:84px}
body.ks-calm .ks-trust{display:none}
body.ks-calm .ks-disc{display:none}
body.ks-calm .ks-for{padding:10px 12px}
/* the compass guide stays off the shopping page */
body[data-page="shop"] #cg{display:none!important}
@media (max-width:900px){
 body.ks-calm .ks{grid-template-columns:1fr;padding:16px}
 body.ks-calm .ks-hero{height:150px}
 body.ks-calm #ksChar{height:120px}
 body.ks-calm .ks-head{text-align:center}
 body.ks-calm .ny-open{margin:0 auto}
 body.ks-calm #ksCats{gap:18px!important;margin:0 -16px 14px!important;padding:0 16px!important}
}
body.ks-calm .ks-mini .ks-zoom svg{width:17px!important;height:17px!important}body.ks-calm .ks-mini .ks-zoom{display:grid;place-items:center;padding:0}
@media (max-width:900px){body.ks-calm .ks-hero{display:none!important}body.ks-calm .ks-head p{margin-bottom:10px!important}body.ks-calm .ny-demo .ny-dt{padding:8px 12px;font-size:12px}}
.ks-pop{max-width:170px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:800 13px/1.2 var(--body)!important;padding:8px 12px!important;top:-4px!important}
.ny-reply{display:flex;gap:10px;align-items:flex-start;margin:0 0 10px}
.ny-reply img{width:36px;height:36px;object-fit:contain;flex:none;border-radius:50%;background:#EEF7DD}
.ny-reply .ks-say{position:static!important;translate:none!important;transform:none!important;max-width:none!important;width:auto!important;min-width:0!important;flex:1;margin:0;padding:10px 14px!important;border-radius:4px 16px 16px 16px;background:#F4F1FA!important;box-shadow:none!important;font:600 14.5px/1.45 var(--body)!important;color:#25232B!important;opacity:1!important;text-align:left!important}
.ny-reply .ks-say::before,.ny-reply .ks-say::after{display:none!important}
.zv-max{position:absolute;left:12px;bottom:18px;font:700 12px/1 var(--body);color:#5426BA;opacity:0;transition:opacity .25s;pointer-events:none}
.zv.zmax .zv-max{opacity:1}.zv.zmax .zv-tip{opacity:0}

/* ===================== v19: pre-orders ===================== */
.pre-note{display:flex;gap:12px;align-items:flex-start;margin:0 0 12px;padding:10px 14px;border-radius:16px;background:#FFF8EC;box-shadow:inset 0 0 0 1.5px #F6E6C4;max-width:620px}
.pre-pill{flex:none;padding:5px 9px;border-radius:999px;background:var(--ink);color:#fff;font:800 11px/1 var(--body);letter-spacing:.04em;margin-top:1px}
.pre-note p{margin:0;font:500 13.5px/1.45 var(--body);color:#4A3F2C}.pre-note b{color:var(--ink)}
.pre-note a{color:#5426BA;font-weight:700;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
.pre-agree{display:grid;gap:8px}
.pre-kit{display:flex;gap:8px;align-items:flex-start;margin:0;padding:10px 12px;border-radius:14px;background:#FFF8EC;font:500 12.5px/1.45 var(--body);color:#4A3F2C}
.pre-kit svg{flex:none;width:18px;height:18px;color:#B07A1E;margin-top:1px}.pre-kit b{color:var(--ink)}
.pre-agree label,.pre-dl{display:flex;gap:9px;align-items:flex-start;font:600 12.5px/1.4 var(--body);color:#3A3A40;cursor:pointer}
.pre-agree input,.pre-dl input{flex:none;width:18px;height:18px;margin:0;accent-color:#6A3FE0}
.pre-agree a,.pre-dl a{color:#5426BA;text-decoration:underline}
#ksGo.pre-wait{opacity:.78}
.pre-dw svg{width:34px;height:34px;color:#B07A1E}.pre-dw h3{margin:8px 0 10px;font:900 21px/1.2 var(--display)}
.pre-dw ul{margin:0 0 16px;padding-left:20px;display:grid;gap:8px;font:500 15px/1.45 var(--body);color:#3A3A40}
.pre-dl{font-size:14.5px}
@media (max-width:900px){.pre-note{margin:0 auto 12px;text-align:left}}
body:has(.drawer.on) #ksMbar,body:has(.drawer.on) .ny-demo,body:has(#toW:not([hidden])) .ny-demo,body:has(.zl) .ny-demo{display:none!important}
/* try-on window: restore inner spacing (was cancelled by #toW scoping) and align text */
#toW.to2 .to-s{padding:0 28px!important}
#toW.to2 .to-hd{padding:18px 28px 12px}
#toW.to2 .to-fit{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:32px;align-items:start}
#toW .to-lft{gap:14px}
#toW .to-st2{width:min(100%,calc(60vh * var(--ar,.8)))}
#toW .to-ft{display:grid;grid-template-columns:1fr;justify-items:center;gap:8px;text-align:center}
#toW .to-ft #toNote{font:500 13.5px/1.4 var(--body);color:#6B6B72}
#toW .to-lnk{gap:20px;justify-content:center;flex-wrap:wrap}
#toW .to-lnk .to-lk{font:700 14px/1.2 var(--body)}
#toW .to-side{gap:14px;min-width:0}
#toW .to-ttl{align-items:center}
#toW .to-ttl b{min-width:0}
#toW .to-ttl>*:last-child{flex:none;font:900 22px/1.15 var(--display);white-space:nowrap}
#toW .to-sub{margin:-8px 0 2px}
#toW .to-szh{margin-top:4px}
#toW .to-side .ks-add{min-height:54px}
#toW .to-pnote{margin:0;font:500 13px/1.45 var(--body);color:#6B6B72;text-align:center}
@media (max-width:820px){
 #toW.to2 .to-s{padding:0 16px!important}
 #toW.to2 .to-hd{padding:14px 16px 8px}
 #toW.to2 .to-fit{grid-template-columns:1fr;gap:18px}
 #toW .to-st2{width:min(100%,calc(54vh * var(--ar,.8)))}
}
.zv .zv-tip{padding:6px 11px;border-radius:999px;background:rgba(255,255,255,.92);color:#3A3A40!important;box-shadow:0 6px 14px -8px rgba(30,20,60,.4)}

/* family panel: "You are here" card is not a link */
.tb-fam div.here{display:grid;gap:6px;padding:16px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);color:#fff;text-decoration:none;transition:transform .25s,background .25s}
.tb-fam div.here{border-color:#F3B6A6}
@media (max-width:900px){.tb-fam div.here{padding:12px}}
.tb-fam div.here .dom{display:block;margin-top:10px;font:700 12.5px/1 var(--body);font-style:normal;color:#E9A58F;letter-spacing:.02em}
.tb-fam div.here{position:relative;grid-template-rows:auto auto 1fr auto;align-content:start;gap:8px;padding:18px 18px 16px;transform:none}
.tb-fam div.here .dom{margin-top:4px;align-self:end}
.tb-fam div.here{background:#FFF7F2;border-color:#FFF7F2;color:var(--ink);box-shadow:0 18px 36px -20px rgba(243,182,166,.8)}
.tb-fam div.here .st{color:#B4553C}
.tb-fam div.here b{color:var(--ink)}
.tb-fam div.here small{color:#55514C}
.tb-fam div.here .dom{color:#B4553C}
@media (max-width:900px){.tb-fam div.here{grid-template-columns:1fr auto;grid-template-rows:auto auto auto;column-gap:12px;row-gap:4px;padding:14px 16px}.tb-fam div.here .dom{grid-column:1/-1;font-size:14px;margin-top:2px}}
.tb-fam div.here{cursor:default}
@media (max-width:820px){ #tbPanel{max-height:calc(100dvh - 46px)!important;box-shadow:0 24px 40px -10px rgba(0,0,0,.55)} #tbPanel .tb-fam{padding-bottom:20px} }

/* ===================== v20: Promise Machine, the full moment ===================== */
.pm5{perspective:1200px}
.pm5-mach{transform-style:preserve-3d;will-change:transform}
.pm5-crank{overflow:visible;touch-action:none;cursor:grab}
.pm5-crank:active{cursor:grabbing}
.pm5-crank .pm-ring{position:absolute;inset:-14px;width:calc(100% + 28px);height:calc(100% + 28px);rotate:-90deg;pointer-events:none}
.pm5-crank .pm-ring circle{fill:none;stroke-width:5}
.pm5-crank .pm-ring .tr{stroke:rgba(201,154,59,.18)}
.pm5-crank .pm-ring .pg{stroke:#6A3FE0;stroke-linecap:round;stroke-dasharray:351.86;stroke-dashoffset:351.86;transition:stroke-dashoffset .12s linear}
.pm5-crank.go{pointer-events:none}
.pm-stat{margin:16px 0 0;min-height:1.4em;font:700 14.5px/1.4 var(--body);color:#4B4470;text-align:center}
.cb6.pick{z-index:5;filter:drop-shadow(0 0 16px var(--cc)) drop-shadow(0 0 6px #fff)}
/* capsule in the tray */
.pm-cap{position:absolute;left:50%;bottom:20px;width:76px;height:76px;margin-left:-38px;border:0;padding:0;background:none;cursor:pointer;z-index:4;-webkit-tap-highlight-color:transparent}
.pm-cap .ct,.pm-cap .cbt{position:absolute;left:0;width:76px;height:38px;box-sizing:border-box}
.pm-cap .ct{top:0;border-radius:38px 38px 6px 6px;background:radial-gradient(circle at 32% 30%,#fff 0 9%,var(--oc) 40%,var(--od) 100%);box-shadow:inset 0 -3px 0 rgba(0,0,0,.12);z-index:2}
.pm-cap .cbt{bottom:0;border-radius:6px 6px 38px 38px;background:linear-gradient(#fff,#EDEAF6);box-shadow:inset 0 -6px 10px rgba(110,100,160,.18),0 8px 14px -6px rgba(40,20,90,.45);z-index:1}
.pm-cap img{position:absolute;left:50%;top:50%;height:54px;width:auto;translate:-50% -50%;z-index:3;pointer-events:none}
.pm-cap .tip{position:absolute;left:50%;bottom:calc(100% + 10px);translate:-50% 0;white-space:nowrap;padding:7px 12px;border-radius:999px;background:#2C2557;color:#fff;font:800 13px/1 var(--body);opacity:0;pointer-events:none}
.pm-cap .tip::after{content:"";position:absolute;left:50%;top:100%;margin-left:-6px;border:6px solid transparent;border-top-color:#2C2557}
.pm-cap:focus-visible{outline:3px solid #6A3FE0;outline-offset:6px;border-radius:50%}
/* reveal card */
.pm-rev{position:absolute;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:rgba(238,240,255,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:inherit}
.pm-rc{position:relative;width:min(380px,100%);display:grid;justify-items:center;gap:10px;text-align:center;padding:26px 26px 24px;border-radius:28px;background:#fff;box-shadow:0 0 0 1.5px #EFEAF8,0 40px 80px -30px rgba(60,40,140,.5);transform-style:preserve-3d}
.pm-rn{font:800 12px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:#6A3FE0}
.pm-rg{width:132px;height:132px;border-radius:50%;display:grid;place-items:end center;overflow:visible;background:radial-gradient(circle at 35% 30%,#fff 0 10%,var(--oc) 55%,var(--od) 100%);box-shadow:0 0 0 8px var(--pb),0 18px 40px -16px var(--od)}
.pm-rg img{height:150px;width:auto;margin-bottom:-6px;filter:drop-shadow(0 10px 12px rgba(30,20,60,.25))}
.pm-rc h3{margin:8px 0 0;font:900 28px/1.1 var(--display);letter-spacing:-.015em;color:var(--ink)}
.pm-rc p{margin:0;font:500 16px/1.5 var(--body);color:#4A4A52;max-width:30ch}
.pm-rc .btn{margin-top:8px}
/* shelf cards flip */
#pmGot{perspective:900px}
.pm-c{transform-style:preserve-3d;will-change:transform}
.pm-c.on{box-shadow:0 0 0 1.5px color-mix(in srgb,var(--oc) 45%,#fff),0 16px 30px -22px var(--od)!important;background:linear-gradient(160deg,#fff,var(--pb))!important}
/* family promise certificate */
.pm-cert{margin-top:18px}
.pm-cert-in{position:relative;padding:22px 22px 18px;border-radius:22px;background:linear-gradient(160deg,#FFFDF6,#FFF6E2);box-shadow:0 0 0 1.5px #F1D893,0 20px 40px -26px rgba(160,110,20,.5)}
.pm-cert .k{margin:0;font:900 22px/1.15 var(--display);letter-spacing:-.01em;color:#2C2557;padding-right:76px}
.pm-cert .t{margin:8px 0 0;font:600 14.5px/1.5 var(--body);color:#5A5470;padding-right:60px}
.pm-cert .sig{margin-top:10px;display:grid;gap:2px}
.pm-cert .sig svg{width:200px;height:46px}
.pm-cert .sig span{font:600 12.5px/1.3 var(--body);color:#8B82A8}
.pm-seal{position:absolute;right:18px;top:16px;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:#fff;box-shadow:0 0 0 3px #F1D893,0 0 0 7px #fff,0 0 0 8.5px #F1D893,0 10px 20px -6px rgba(160,110,20,.45)}
.pm-seal svg{width:auto;height:50px;display:block}
.pm5-done{display:none!important}
@media (max-width:600px){
 .pm-rg{width:110px;height:110px}.pm-rg img{height:124px}
 .pm-rc h3{font-size:24px}
 .pm-rev{position:fixed;border-radius:0;z-index:300}
 .pm-rev-m{background:rgba(238,240,255,.86)}
 .pm-cert .k{font-size:19px}
}
@media (prefers-reduced-motion:reduce){.pm5-crank .pm-ring .pg{transition:none}}
/* maple moment */
.cg-flag{position:absolute;left:50%;top:-58px;width:56px;height:52px;margin-left:-6px;pointer-events:none;z-index:6}
.cg-flag i{position:absolute;left:0;top:0;width:3px;height:52px;border-radius:2px;background:#8B6A3E}
.cg-flag svg{position:absolute;left:3px;top:2px;width:48px;height:24px;border-radius:2px;box-shadow:0 4px 8px rgba(0,0,0,.25)}
.mm-card{position:fixed;z-index:9000;width:300px;display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:18px;background:#fff;color:var(--ink);box-shadow:0 0 0 1.5px #F4D2CC,0 24px 50px -20px rgba(120,20,10,.5);pointer-events:none}
.mm-card svg{flex:none;width:34px;height:34px}
.mm-card b{display:block;font:800 15px/1.25 var(--body)}
.mm-card small{display:block;margin-top:2px;font:500 13px/1.35 var(--body);color:#5A5A62}
.mm-bit{position:fixed;z-index:8999;pointer-events:none}
/* help centre: calmer category headers (no icon tiles) */
.hc-ch .hc-ci{display:none!important}
.hc-ch{grid-template-columns:1fr auto!important;align-items:start}
.hc-ch img{height:64px!important;width:auto}

/* compass becomes a maple leaf */
#cg .cg-ring{transition:background .6s}
#cg.cg-ca .cg-ring{background:conic-gradient(from 0deg,#D52B1E 0 25%,#fff 25% 75%,#D52B1E 75% 100%)!important}
#cg.cg-ca .cg-face{background:#B5241A}
#cg.cg-ca .cg-dial{background:radial-gradient(circle at 40% 30%,#fff,#F6E9E6)}
#cg.cg-ca .cg-ticks,#cg.cg-ca .cg-needle{opacity:0;transition:opacity .4s .8s}
.cg-maple{position:absolute;inset:10%;display:grid;place-items:center;z-index:3;pointer-events:none}
.cg-maple svg{width:100%;height:100%;filter:drop-shadow(0 4px 6px rgba(140,20,10,.35))}
/* Learn with ... */
.lw{display:grid;gap:22px}
.lw-hero{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;padding:16px 20px;border-radius:22px}
.lw-hero img{height:120px;width:auto;cursor:pointer}
.lw-hero b{display:block;font:900 22px/1.15 var(--display);color:var(--ink);margin-top:4px}
.lw-hero small{display:block;margin-top:4px;font:600 14px/1.3 var(--body);color:#4A4A52}
.lw-k{display:block;font:800 11.5px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:#6A3FE0}
.lw h3{margin:0 0 10px;font:800 17px/1.25 var(--body);color:var(--ink)}
.lw-out{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.lw-out li{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;font:500 15px/1.45 var(--body);color:#2C2C33}
.lw-out li span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#F1ECFD;color:#6A3FE0;font:800 13px/1 var(--body)}
.lw-course{padding:16px 18px;border-radius:18px;background:#FAF8FF;box-shadow:inset 0 0 0 1.5px #EFEAF8}
.lw-course b{display:block;margin-top:6px;font:900 20px/1.2 var(--display);color:var(--ink)}
.lw-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.lw-meta span{padding:5px 10px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1.5px #E7E1F5;font:700 12.5px/1 var(--body);color:#4A4A52}
.lw-meta .free{background:#E7F6EC;box-shadow:none;color:#1E7A3C}
.lw-how{list-style:none;margin:0;padding:0;display:grid;gap:10px;counter-reset:lw}
.lw-how li{display:grid;grid-template-columns:62px 1fr;gap:10px;font:500 14.5px/1.45 var(--body);color:#3A3A40}
.lw-how b{font:800 14.5px/1.45 var(--body);color:var(--ink)}
.lw-try{padding:16px 18px;border-radius:18px;background:#FFF6E2;box-shadow:inset 0 0 0 1.5px #F6E2B0}
.lw-try .lw-k{color:#A86B00}
.lw-try p{margin:8px 0 6px;font:700 16px/1.45 var(--body);color:#2C2557}
.lw-back{justify-self:center}
/* languages */
.lg-btn{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 12px;border:0;border-radius:999px;background:#F3F2F7;color:var(--ink);font:800 13px/1 var(--body);cursor:pointer}
.lg-btn:hover{background:#ECEAF3}
@media (max-width:700px){.lg-btn{display:none}}
.lg-foot{display:inline-flex;align-items:center;gap:8px;margin:12px auto 0;padding:9px 14px;border:0;border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font:700 14px/1 var(--body);cursor:pointer}
.lg-foot small{font:500 13px/1 var(--body);color:rgba(255,255,255,.65)}
.lg-foot:hover{background:rgba(255,255,255,.14)}
.lg-menu{position:fixed;z-index:9500;width:260px;padding:8px;border-radius:18px;background:#fff;box-shadow:0 0 0 1px #ECEAF3,0 24px 50px -16px rgba(30,20,70,.35)}
.lg-mh{margin:4px 10px 6px;font:800 11.5px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:#8B82A8}
.lg-menu button{display:flex;width:100%;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border:0;border-radius:12px;background:none;cursor:pointer;text-align:left}
.lg-menu button:hover,.lg-menu button:focus-visible{background:#F5F2FC;outline:none}
.lg-menu .nn{font:800 15px/1.2 var(--body);color:var(--ink)}
.lg-menu .en{font:600 12px/1.2 var(--body);color:#8B82A8;white-space:nowrap}
.lg-menu button[aria-checked="true"] .en{color:#1E7A3C}
.lg-scrim{position:fixed;inset:0;z-index:9600;display:grid;place-items:center;padding:16px;background:rgba(20,16,40,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.lg-m{position:relative;width:min(560px,100%);max-height:calc(100dvh - 32px);overflow:auto;padding:26px 26px 22px;border-radius:28px;background:#fff;box-shadow:0 40px 90px -30px rgba(0,0,0,.5)}
.lg-m .pl-x{position:absolute;right:14px;top:14px}
.lg-top{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;padding-right:30px;margin-bottom:12px}
.lg-top img{height:96px;width:auto;cursor:pointer}
.lg-hi{margin:0;font:900 30px/1.1 var(--display);color:#6A3FE0}
.lg-top h3{margin:6px 0 0;font:800 19px/1.25 var(--body);color:var(--ink)}
.lg-cs{margin:4px 0 0;font:600 13.5px/1.3 var(--body);color:#8B82A8}
.lg-lead{margin:0 0 12px;font:500 15px/1.5 var(--body);color:#4A4A52}
.lg-fine{margin:12px 0 0;font:500 12.5px/1.4 var(--body);color:#8B82A8;text-align:center}
@media (max-width:600px){.lg-m{padding:22px 18px 18px}.lg-top img{height:76px}.lg-hi{font-size:26px}.lg-m .pl-2{grid-template-columns:1fr}}
.lg-hi span,.lg-cs span{display:inline-block}
.lg-m .pl-ok{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;font:500 14px/1.45 var(--body);color:#3A3A40;margin-top:4px}
.lg-m .pl-ok input{width:20px;height:20px;margin:1px 0 0;accent-color:#6A3FE0}
.lg-m textarea{resize:vertical}
/* early access pass (v2) */
.lg-m{width:min(920px,100%);padding:30px;font-family:var(--body)}
.lg-m,.lg-m input,.lg-m textarea,.lg-m button,.lg-m select{font-family:"Inter","Inter Fallback",-apple-system,BlinkMacSystemFont,system-ui,"Segoe UI","Noto Sans Arabic","Noto Naskh Arabic","Vazirmatn","PingFang SC","Microsoft YaHei",sans-serif}
.lg-m[dir="rtl"] .pl-x{right:auto;left:14px}
.lg-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:28px;align-items:start}
.lg-form h3{margin:4px 0 0;font:800 24px/1.2 inherit;font-weight:800;font-size:24px;letter-spacing:-.015em;color:var(--ink)}
.lg-hi{font-weight:900;font-size:34px;line-height:1.1;color:#6A3FE0}
.lg-lead{margin:8px 0 14px;font-size:15px;line-height:1.5;font-weight:500;color:#55555C}
.lg-bar{height:6px;border-radius:6px;background:#F1ECFD;overflow:hidden;margin:0 0 18px}
.lg-bar i{display:block;height:100%;width:0;border-radius:6px;background:linear-gradient(90deg,#8E6BFF,#6A3FE0,#E8664A);transition:width .5s cubic-bezier(.3,1.4,.5,1)}
.lg-fields{display:grid;gap:14px}
.lg-fl{position:relative}
.lg-fl input,.lg-fl textarea{width:100%;box-sizing:border-box;padding:22px 44px 8px 16px;border:1.5px solid #E7E1F5;border-radius:16px;background:#FCFBFF;font-size:16px;font-weight:600;color:var(--ink);outline:none;transition:border-color .2s,box-shadow .2s,background .2s}
.lg-m[dir="rtl"] .lg-fl input,.lg-m[dir="rtl"] .lg-fl textarea{padding:22px 16px 8px 44px}
.lg-fl textarea{min-height:76px;resize:vertical}
.lg-fl label{position:absolute;inset-inline-start:17px;top:15px;font-size:15px;font-weight:600;color:#8B82A8;pointer-events:none;transform-origin:0 0;transition:transform .2s,color .2s,top .2s}
.lg-m[dir="rtl"] .lg-fl label{transform-origin:100% 0}
.lg-fl input:focus,.lg-fl textarea:focus{border-color:#6A3FE0;background:#fff;box-shadow:0 0 0 4px rgba(106,63,224,.14)}
.lg-fl input:focus+label,.lg-fl input:not(:placeholder-shown)+label,.lg-fl textarea:focus+label,.lg-fl textarea:not(:placeholder-shown)+label{top:8px;transform:scale(.78);color:#6A3FE0}
.lg-fl .ok{position:absolute;inset-inline-end:14px;top:50%;width:22px;height:22px;margin-top:-11px;border-radius:50%;background:#2E9E5B;transform:scale(0);transition:transform .35s cubic-bezier(.3,1.8,.5,1)}
.lg-fl .ok::after{content:"";position:absolute;left:7px;top:4px;width:6px;height:10px;border:solid #fff;border-width:0 2.5px 2.5px 0;rotate:45deg}
.lg-fl.done .ok{transform:scale(1)}
.lg-fl.done input{border-color:#BFE6CC}
.lg-q b{display:block;margin:2px 0 8px;font-size:14px;font-weight:800;color:var(--ink)}
.lg-who{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.lg-who button{display:grid;justify-items:center;gap:4px;padding:10px 4px 9px;border:1.5px solid #E7E1F5;border-radius:16px;background:#fff;font-size:12.5px;font-weight:700;line-height:1.2;color:#3A3A40;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s}
.lg-who img{height:44px;width:auto}
.lg-who button:hover{border-color:#CFC2F2}
.lg-who button[aria-checked="true"]{border-color:#6A3FE0;background:#F5F1FF;box-shadow:0 8px 18px -12px rgba(106,63,224,.8);color:#4B22B5}
.lg-want{display:flex;flex-wrap:wrap;gap:8px}
.lg-want button{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1.5px solid #E7E1F5;border-radius:999px;background:#fff;font-size:14px;font-weight:700;color:#3A3A40;cursor:pointer;transition:all .2s}
.lg-want button i{width:18px;height:18px;border-radius:50%;border:2px solid #CFC2F2;position:relative;transition:all .2s}
.lg-want button[aria-pressed="true"]{border-color:#6A3FE0;background:#6A3FE0;color:#fff}
.lg-want button[aria-pressed="true"] i{border-color:#fff;background:#fff}
.lg-want button[aria-pressed="true"] i::after{content:"";position:absolute;left:5px;top:2px;width:4px;height:8px;border:solid #6A3FE0;border-width:0 2px 2px 0;rotate:45deg}
.lg-ok{display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:start;font-size:14px;font-weight:500;line-height:1.45;color:#3A3A40;cursor:pointer;position:relative}
.lg-ok input{position:absolute;opacity:0;width:24px;height:24px;margin:0}
.lg-ok .bx{width:22px;height:22px;border-radius:7px;border:2px solid #CFC2F2;background:#fff;position:relative;transition:all .2s}
.lg-ok input:checked+.bx{background:#6A3FE0;border-color:#6A3FE0;animation:lgPop .35s cubic-bezier(.3,1.8,.5,1)}
.lg-ok input:checked+.bx::after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2.5px 2.5px 0;rotate:45deg}
.lg-ok input:focus-visible+.bx{box-shadow:0 0 0 4px rgba(106,63,224,.2)}
@keyframes lgPop{0%{transform:scale(.6)}100%{transform:scale(1)}}
.lg-m .bad input,.lg-m .bad textarea,.lg-m .bad .bx,.lg-m .bad button{border-color:#E8664A!important}
.lg-foot{display:flex;justify-content:space-between;gap:10px;margin-top:6px}
.lg-m .pl-err{min-height:1.2em;margin:10px 0 0;font-size:13.5px;font-weight:700;color:#C9361F}
/* the pass */
.lg-side{position:sticky;top:0;display:grid;gap:14px;justify-items:center}
.lg-pass{position:relative;width:100%;border-radius:22px;overflow:hidden;background:linear-gradient(150deg,#2C2557,#4B22B5 60%,#6A3FE0);color:#fff;box-shadow:0 30px 60px -28px rgba(60,30,140,.7);transform-style:preserve-3d;transition:box-shadow .4s}
.lg-pass.full{box-shadow:0 0 0 3px #FFD26B,0 30px 60px -24px rgba(60,30,140,.8)}
.lg-ph{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:14px 18px;background:rgba(255,255,255,.1);font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.lg-flag{padding:4px 10px;border-radius:999px;background:#FFD26B;color:#2C2557;letter-spacing:0;text-transform:none;font-size:13px}
.lg-pb{display:grid;gap:14px;padding:18px}
.lg-pb small{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.lg-pb b{display:block;margin-top:3px;font-size:16px;font-weight:800;word-break:break-word}
.lg-pn b{font-size:22px;letter-spacing:-.01em}
.lg-pr{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lg-pt{display:flex;flex-wrap:wrap;gap:6px;min-height:26px}
.lg-pt span{padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.16);font-size:12.5px;font-weight:700}
.lg-pf{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;border-top:1.5px dashed rgba(255,255,255,.25);font-size:13px;font-weight:700;color:rgba(255,255,255,.75)}
.lg-pf span:first-child{font-size:18px;font-weight:900;color:#FFD26B}
.lg-stamp{position:absolute;right:16px;top:52%;padding:6px 14px;border:3px solid #FFD26B;border-radius:10px;color:#FFD26B;font-size:16px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;rotate:-12deg;opacity:0;background:rgba(44,37,87,.6)}
.lg-stamp.on{opacity:1}
.lg-guide{display:grid;justify-items:center;gap:6px}
.lg-guide img{height:118px;width:auto;cursor:pointer;filter:drop-shadow(0 12px 14px rgba(40,20,90,.2))}
.lg-say{position:relative;margin:0;max-width:260px;padding:10px 14px;border-radius:16px;background:#F5F1FF;color:#2C2557;font-size:14px;font-weight:700;line-height:1.35;text-align:center}
.lg-say::after{content:"";position:absolute;left:50%;bottom:-6px;margin-left:-6px;width:12px;height:12px;background:#F5F1FF;rotate:45deg}
.lg-done{display:grid;gap:4px;padding-top:6px}
.lg-done .lg-foot{margin-top:10px}
@media (max-width:760px){
 .lg-m{padding:22px 16px 18px}
 .lg-grid{grid-template-columns:1fr;gap:16px}
 .lg-side{position:static;order:-1;grid-template-columns:1fr auto;align-items:end;justify-items:stretch}
 .lg-guide{display:none}
 .lg-pass .lg-pb{padding:14px;gap:10px}.lg-pn b{font-size:18px}
 .lg-who{grid-template-columns:repeat(3,1fr)}
 .lg-hi{font-size:28px}.lg-form h3{font-size:20px}
}
.lg-m{overflow-x:hidden}
.lg-grid>*,.lg-pass,.lg-fields>*{min-width:0}
.lg-want button{white-space:normal;text-align:start}
.lg-side{margin-top:36px}
@media (max-width:760px){ .lg-side{margin-top:30px;grid-template-columns:1fr} .lg-who img{height:36px} .lg-foot .btn{flex:1;justify-content:center;padding-inline:12px} }
@media (max-width:760px){ .lg-pt:empty{display:none} .lg-pf span:first-child{display:none} .lg-pf{padding:9px 14px} .lg-ph{padding:10px 14px} .lg-pb small{font-size:10px} .lg-pr b{font-size:14px} }

.bb-beta{display:inline-flex;align-items:center;gap:4px;margin-left:10px;padding:4px 9px 4px 8px;border-radius:999px;background:var(--ink,var(--ink));color:#fff;font:700 11px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;align-self:center;position:relative;overflow:hidden;white-space:nowrap}
.bb-beta::before{content:"\2726";font-size:10px;color:#F0A24A}
.bb-beta::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);transform:translateX(-120%);animation:bbBetaShine 1.2s ease .8s 1 both}
@keyframes bbBetaShine{to{transform:translateX(120%)}}
.bb-nocase{text-transform:none}
@media (prefers-reduced-motion:reduce){.bb-beta::after{animation:none;display:none}}
@media (max-width:420px){.bb-beta{margin-left:6px;padding:3px 7px;font-size:10px}}
