/* Life-skills tools */
.t-hero{padding-block:clamp(48px,8vw,96px) 28px;position:relative;overflow:hidden;isolation:isolate}
.t-hero::before{content:"";position:absolute;right:-12%;top:-30%;width:62%;aspect-ratio:1;background:radial-gradient(closest-side,color-mix(in srgb,var(--tc,var(--ember)) 32%,transparent),transparent);z-index:-1;filter:blur(24px)}
.crumbs{display:flex;gap:10px;font-size:.9rem;color:var(--ink-3)}
.crumbs a{text-decoration:none;color:var(--ink-2)}.crumbs a:hover{color:var(--ink)}
.t-hero h1{font-size:clamp(2.6rem,7.5vw,6.4rem);letter-spacing:-.05em;line-height:.95;margin-top:18px;max-width:14ch}
.t-hero .tag{margin-top:18px;font-family:var(--f-serif);font-style:italic;font-size:clamp(1.3rem,2.4vw,1.9rem);color:var(--tc,var(--saffron))}
.badge-sig{display:inline-flex;gap:8px;align-items:center;margin-top:18px;font-family:var(--f-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--saffron);border:1px solid color-mix(in srgb,var(--saffron) 45%,transparent);padding:7px 12px;border-radius:999px}
.tool-wrap{padding-bottom:clamp(60px,8vw,110px)}
.tool{scroll-margin-top:calc(80px + env(safe-area-inset-top,0px));background:var(--night-2);border:1px solid var(--rule);border-radius:32px;padding:clamp(22px,4vw,48px);box-shadow:0 40px 100px -50px rgba(0,0,0,.9);min-height:420px}
.tool .eyebrow{color:var(--tc,var(--saffron))}
.fine{font-size:.82rem;color:var(--ink-3);margin-top:16px;max-width:70ch}
.rlist{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.rlist li{display:flex;gap:12px;align-items:baseline}
.rlist li::before{content:"";width:8px;height:8px;flex:0 0 auto;background:var(--tc,var(--ember));transform:rotate(45deg) translateY(-2px)}

/* intro */
.tintro{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(24px,4vw,56px);align-items:start}
.tintro .lede{margin-top:14px;font-size:clamp(1.08rem,1.5vw,1.28rem);line-height:1.65;color:var(--ink)}
.tintro .ctas{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.tget{padding:24px;border-radius:22px;background:var(--night-3);border:1px solid var(--rule)}
.tget li{color:var(--ink-2)}

/* questions */
.tq{display:grid;grid-template-columns:1fr;gap:32px;align-items:center}
.tq.with-wheel{grid-template-columns:1.15fr .85fr}
.tq-main{animation:slide .45s cubic-bezier(.2,.8,.2,1) both;min-width:0}
.tq-main.back{animation-name:slideb}
@keyframes slide{from{opacity:0;transform:translateX(26px)}}
@keyframes slideb{from{opacity:0;transform:translateX(-26px)}}
.prog{display:flex;align-items:center;gap:14px;margin-bottom:26px}
.prog span{flex:1;height:6px;border-radius:99px;background:var(--night-4,#242925);overflow:hidden}
.prog i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--tc,var(--ember)),var(--saffron));transition:width .4s}
.prog b{font-family:var(--f-mono);font-size:.78rem;font-weight:500;color:var(--ink-3)}
.qq{font-size:clamp(1.7rem,3.6vw,2.7rem);line-height:1.08;margin-top:10px;max-width:24ch}
.qd{margin-top:12px;color:var(--ink-2);font-size:1.05rem;max-width:52ch}
.s10{margin-top:28px;display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:6px}
.s10 button{aspect-ratio:1;min-width:0;border-radius:14px;border:1.5px solid var(--rule);background:var(--night-3);color:var(--ink);font:700 1.05rem var(--f-body);cursor:pointer;transition:transform .15s,background .2s,border-color .2s}
.s10 button:hover{border-color:var(--tc,var(--ember));transform:translateY(-3px)}
.s10 button[aria-checked="true"]{background:var(--tc,var(--ember));border-color:var(--tc,var(--ember));color:var(--night)}
.s10l{display:flex;justify-content:space-between;margin-top:10px;font-size:.85rem;color:var(--ink-3)}
.lk{margin-top:26px;display:grid;gap:8px;max-width:560px}
.lk button{display:flex;align-items:center;gap:14px;text-align:left;padding:15px 18px;border-radius:16px;border:1.5px solid var(--rule);background:var(--night-3);color:var(--ink);font:600 1rem var(--f-body);cursor:pointer;transition:transform .15s,border-color .2s,background .2s}
.lk button i{font-style:normal;font-family:var(--f-mono);font-size:.75rem;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--night-4,#242925);color:var(--ink-3);flex:0 0 auto}
.lk button:hover{border-color:var(--tc,var(--ember));transform:translateX(4px)}
.lk button[aria-checked="true"]{border-color:var(--tc,var(--ember));background:color-mix(in srgb,var(--tc,var(--ember)) 16%,var(--night-3))}
.lk button[aria-checked="true"] i{background:var(--tc,var(--ember));color:var(--night)}
.ch{margin-top:26px;display:flex;flex-wrap:wrap;gap:8px}
.ch button{padding:12px 18px;border-radius:999px;border:1.5px solid var(--rule);background:var(--night-3);color:var(--ink);font:600 .98rem var(--f-body);cursor:pointer;transition:all .18s}
.ch.many button{padding:10px 15px;font-size:.92rem}
.ch button:hover{border-color:var(--tc,var(--ember))}
.ch button[aria-pressed="true"]{background:var(--tc,var(--ember));border-color:var(--tc,var(--ember));color:var(--night)}
.cnt{margin-top:14px;font-size:.9rem;color:var(--ink-3)}.cnt.ok{color:var(--good)}
.tx{margin-top:24px;width:100%;max-width:620px;font:inherit;font-size:1.1rem;color:var(--ink);background:var(--night-3);border:1.5px solid var(--rule);border-radius:16px;padding:1em 1.1em}
.tx:focus{outline:none;border-color:var(--tc,var(--ember))}
.qnav{display:flex;gap:10px;margin-top:30px;flex-wrap:wrap}
.tq-side{text-align:center;color:var(--ink-3);font-size:.85rem}
.tq-side .wheel{max-width:380px;margin:0 auto}

/* wheel */
.wheel{width:100%;height:auto;overflow:visible;display:block}
.wheel .g{fill:none;stroke:var(--rule);stroke-width:.8}
.wheel .bg{fill:color-mix(in srgb,var(--ink) 4%,transparent)}
.wheel .wg{transform-origin:0 0;animation:grow .9s cubic-bezier(.2,.8,.2,1) both}
.wheel.still .wg{animation:none}
.wheel.still .wg.new{animation:grow .6s cubic-bezier(.2,.8,.2,1) both}
@keyframes grow{from{transform:scale(.15);opacity:0}}
.wheel text{fill:var(--ink-2);font:600 10px var(--f-body)}
.wheel text.on{fill:var(--ink)}
.wheel text tspan{fill:var(--saffron);font-family:var(--f-mono);font-weight:500}
.wheel .hub{fill:var(--night-2)}

/* bars */
.tbars{display:grid;gap:12px}
.tbar{display:grid;grid-template-columns:minmax(100px,170px) 1fr 54px;gap:14px;align-items:center;font-size:.95rem}
.tbar .tl{color:var(--ink-2)}
.tbar .tt{height:10px;border-radius:99px;background:var(--night-4,#242925);overflow:hidden}
.tbar .tt i{display:block;height:100%;border-radius:99px;transform-origin:left;animation:bar .9s cubic-bezier(.2,.8,.2,1) both}
@keyframes bar{from{transform:scaleX(0)}}
.tbar b{font-family:var(--f-mono);font-weight:500;text-align:right}.tbar b small{color:var(--ink-3)}

/* ring */
.ring{position:relative;width:150px;aspect-ratio:1;flex:0 0 auto}
.ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:9}
.ring .rb{stroke:var(--night-4,#242925)}
.ring .rf{stroke:var(--tc,var(--ember));stroke-linecap:round;stroke-dashoffset:var(--off);animation:ring 1.4s cubic-bezier(.2,.8,.2,1) both}
@keyframes ring{from{stroke-dashoffset:327}}
.ring > div{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.ring b{font-family:var(--f-display);font-size:2.8rem;letter-spacing:-.04em;line-height:1}
.ring span{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-top:4px}

/* vessel */
.vessel{width:min(240px,100%);height:auto;overflow:visible}
.vessel .vb{fill:none;stroke:#D98B4A;stroke-width:3}
.vessel .rim{fill:color-mix(in srgb,#D98B4A 30%,var(--night-2));stroke:#D98B4A;stroke-width:3}
.vessel.v-basket .vb,.vessel.v-basket .rim{stroke:#C9A06A;stroke-dasharray:7 4}
.vessel.v-deg .vb,.vessel.v-deg .rim{stroke:#F2B441;stroke-width:4}
.vessel .liquid{animation:fill 1.6s cubic-bezier(.2,.8,.2,1) both;transform-box:fill-box;transform-origin:bottom}
@keyframes fill{from{transform:scaleY(0)}}
.vessel .crack{fill:none;stroke:var(--night);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.vessel .drop{fill:#F2B441;animation:drop 1.8s ease-in infinite}
@keyframes drop{0%{transform:translateY(0);opacity:0}15%{opacity:1}100%{transform:translateY(42px);opacity:0}}
.vessel .steam path{fill:none;stroke:var(--ink-3);stroke-width:2;stroke-linecap:round;animation:steam 3s ease-in-out infinite;opacity:.6}
.vessel .steam path:nth-child(2){animation-delay:.6s}.vessel .steam path:nth-child(3){animation-delay:1.2s}
@keyframes steam{0%,100%{transform:translateY(0);opacity:.15}50%{transform:translateY(-6px);opacity:.7}}
.vessel .glow{stroke:#FF5A36;stroke-width:6;stroke-linecap:round;filter:blur(3px);opacity:.7}

/* result */
.tres{animation:slide .5s cubic-bezier(.2,.8,.2,1) both}
.res-hero{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);align-items:center}
.res-hero h2{font-size:clamp(2.3rem,5.4vw,4.4rem);line-height:.98;letter-spacing:-.045em;margin-top:14px}
.res-sub{margin-top:14px;font-family:var(--f-serif);font-style:italic;font-size:clamp(1.2rem,2vw,1.6rem);color:var(--tc,var(--saffron))}
.res-desc{margin-top:14px;color:var(--ink-2);font-size:1.06rem;max-width:52ch}
.res-vis{display:flex;align-items:center;justify-content:center;gap:20px;min-width:0}
.wbox{flex-direction:column}.wbox .wheel{max-width:440px}.wbox .ring{width:120px;margin-top:-6px}
.vbox .ring{width:130px}
.snap{margin-top:36px;padding-top:28px;border-top:1px solid var(--rule)}
.hl{margin-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hl div{padding:18px 20px;border-radius:18px;background:var(--night-3);border:1px solid var(--rule)}
.hl span{display:block;font-family:var(--f-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.hl b{display:block;margin-top:6px;font-family:var(--f-display);font-size:1.35rem;letter-spacing:-.02em}
.care{margin-top:24px;padding:18px 20px;border-radius:18px;background:color-mix(in srgb,var(--lake) 12%,var(--night-3));border:1px solid color-mix(in srgb,var(--lake) 40%,var(--rule));color:var(--ink-2)}
.care b{color:var(--ink)}
.hcard{width:100%;padding:28px;border-radius:24px;background:linear-gradient(150deg,color-mix(in srgb,var(--tc) 20%,var(--night-3)),var(--night-3));border:1px solid color-mix(in srgb,var(--tc) 40%,var(--rule))}
.hline{margin-top:12px;font-family:var(--f-serif);font-size:clamp(1.4rem,2.6vw,2rem);line-height:1.25}
.hline b{font-weight:400;color:var(--tc)}
.hsm{margin-top:10px;color:var(--ink-2)}
.hgoal{font-family:var(--f-mono);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}

/* locked report + lead */
.locked{position:relative;margin-top:40px}
.report{margin-top:40px}
.locked .report{margin-top:0}
.report.blur{max-height:520px;overflow:hidden;filter:blur(7px);opacity:.5;pointer-events:none;user-select:none;-webkit-mask:linear-gradient(#000 30%,transparent);mask:linear-gradient(#000 30%,transparent)}
.locked .lead{position:relative;margin-top:-420px}
.lead{margin-top:36px;display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(20px,3vw,40px);padding:clamp(22px,3.5vw,40px);border-radius:28px;background:color-mix(in srgb,var(--night) 82%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid color-mix(in srgb,var(--tc,var(--ember)) 50%,var(--rule));box-shadow:0 30px 80px -30px rgba(0,0,0,.9)}
.lead h3{font-size:clamp(1.8rem,3.2vw,2.6rem);margin-top:10px}
.lead-head p{color:var(--ink-2);margin-top:10px}
.lead-f{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:start}
.lead-f .full{grid-column:1/-1}
.lead-f label{display:grid;gap:6px;font-weight:600;font-size:.86rem;color:var(--ink-2)}
.lead-f label i{font-style:normal;font-weight:400;color:var(--ink-3)}
.lead-f input:not([type=checkbox]),.lead-f select{font:inherit;font-weight:400;color:var(--ink);background:var(--night-3);border:1.5px solid var(--rule);border-radius:12px;padding:.85em .95em;width:100%;min-width:0}
.lead-f input:focus,.lead-f select:focus{outline:none;border-color:var(--tc,var(--ember))}
.lead-f .chk{display:flex;gap:10px;align-items:flex-start;font-weight:500}
.lead-f .chk input{margin-top:4px;accent-color:var(--ember);width:18px;height:18px;flex:0 0 auto}
.lead-f .fine{margin-top:0}
.f-err{color:#FF6B5A;font-weight:600;min-height:1.2em}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}

/* report */
.rsec{padding-block:30px;border-top:1px solid var(--rule)}
.rsec:first-child{border-top:0;padding-top:0}
.rsec h3{font-size:clamp(1.5rem,2.6vw,2.1rem);margin-top:8px;margin-bottom:14px}
.rsec > p{color:var(--ink-2);max-width:68ch}
.rsec > p b{color:var(--ink)}
.ritem{padding:18px 0;border-bottom:1px solid var(--rule)}
.ritem:last-child{border-bottom:0}
.ritem .rh{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.ritem .rh b{font-family:var(--f-display);font-size:1.25rem;letter-spacing:-.02em}
.ritem .rh span{font-family:var(--f-mono);color:var(--tc,var(--saffron))}
.ritem p{color:var(--ink-2);margin-top:6px;max-width:68ch}
.ritem.leak .rh span{color:var(--ember)}
.pr{display:flex;gap:12px;align-items:baseline}
.pr span{flex:0 0 auto;font-family:var(--f-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tc,var(--saffron));padding:4px 8px;border:1px solid currentColor;border-radius:999px}
.mini{font-size:.92rem;color:var(--ink-3);margin-top:10px}
.mini b{color:var(--ink-2)}
.try{margin-top:16px;padding:20px 22px;border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--saffron) 12%,var(--night-3)),var(--night-3));border:1px solid color-mix(in srgb,var(--saffron) 35%,var(--rule))}
.try p:last-child{margin-top:6px;color:var(--ink)}
.voice{font-family:var(--f-serif);font-size:clamp(1.5rem,2.8vw,2.2rem);line-height:1.25;color:var(--ink)!important;margin-bottom:14px}
.voice.sm{font-size:clamp(1.2rem,2vw,1.5rem)}
.rq{margin:30px 0 0;padding:4px 0 4px 22px;border-left:3px solid var(--saffron);font-family:var(--f-serif);font-size:clamp(1.2rem,2vw,1.55rem);line-height:1.35}
.rw{display:grid;gap:8px;margin-top:16px;font-weight:600;color:var(--ink-2);font-size:.95rem}
.rw textarea{font:inherit;font-weight:400;color:var(--ink);background:var(--night-3);border:1.5px solid var(--rule);border-radius:14px;padding:.85em 1em;resize:vertical}
.rw textarea:focus{outline:none;border-color:var(--tc,var(--ember))}
.tracker{margin-top:14px;max-width:620px;display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px}
.tracker button{aspect-ratio:1;border-radius:12px;border:1.5px solid var(--rule);background:var(--night-3);color:var(--ink-3);font:600 .85rem var(--f-mono);cursor:pointer;position:relative;min-width:0}
.tracker button[aria-pressed="true"]{background:var(--tc,var(--good));border-color:var(--tc,var(--good));color:var(--night)}
.tracker button[aria-pressed="true"] span::after{content:" \2713"}

/* next steps */
.next{margin-top:44px;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:14px}
.nx{display:flex;flex-direction:column;gap:8px;padding:24px;border-radius:22px;background:var(--night-3);border:1px solid var(--rule);text-decoration:none;transition:transform .3s cubic-bezier(.2,.8,.2,1),border-color .3s}
.nx:hover{transform:translateY(-4px);border-color:var(--tc,var(--ember))}
.nx .eyebrow{color:var(--tc,var(--saffron))}
.nx h4{font-size:1.35rem}
.nx p{color:var(--ink-2);font-size:.94rem}
.nx .go{margin-top:auto;padding-top:8px;font-weight:700}
.nx.main{background:var(--ember);color:var(--ember-ink);border-color:var(--ember)}
.nx.main .eyebrow,.nx.main p{color:var(--ember-ink)}
.tfoot{margin-top:28px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.tfoot .share{margin-left:auto}

/* voice */
.t-voice{margin:clamp(40px,6vw,72px) auto 0;max-width:860px;text-align:center}
.t-voice blockquote{margin:0;font-family:var(--f-serif);font-size:clamp(1.5rem,3vw,2.4rem);line-height:1.3;color:var(--ink)}
.t-voice figcaption{margin-top:16px;font-family:var(--f-mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--saffron)}

/* about */
.t-about{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);margin-top:clamp(48px,7vw,90px)}
.t-about h2{font-size:clamp(1.8rem,3.4vw,2.8rem)}
.t-about p{color:var(--ink-2);margin-top:14px}

/* hub */
.hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tcard{position:relative;display:flex;flex-direction:column;border-radius:26px;overflow:hidden;background:var(--night-2);border:1px solid var(--rule);text-decoration:none;transition:transform .4s cubic-bezier(.2,.8,.2,1),border-color .3s;isolation:isolate}
.tcard:hover{transform:translateY(-6px);border-color:var(--tc)}
.tcard .tv{aspect-ratio:16/9;display:grid;place-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 70% 30%,color-mix(in srgb,var(--tc) 38%,transparent),transparent 60%),var(--night-3)}
.tcard .tv svg{width:62%;height:auto}
.tcard .tb{padding:22px 24px 26px;display:grid;gap:10px;flex:1;align-content:start}
.tcard .m{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);display:flex;gap:10px;flex-wrap:wrap}
.tcard .m b{color:var(--tc);font-weight:500}
.tcard h3{font-size:clamp(1.4rem,2vw,1.75rem);line-height:1.05}
.tcard p{color:var(--ink-2);font-size:.96rem}
.tcard .go{margin-top:8px;font-weight:700;color:var(--ink)}
.tcard.big{grid-column:span 2;flex-direction:row}
.tcard.big .tv{aspect-ratio:auto;flex:0 0 46%}
.tcard.big h3{font-size:clamp(1.8rem,3vw,2.6rem)}
.tcard.ext .tv{background:radial-gradient(circle at 30% 70%,color-mix(in srgb,var(--ember) 40%,transparent),transparent 60%),var(--night-3)}
.steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:clamp(48px,7vw,90px)}
.steps3 div{padding:24px;border-radius:22px;border:1px solid var(--rule)}
.steps3 b{font-family:var(--f-mono);color:var(--saffron);font-weight:500;font-size:.8rem;letter-spacing:.12em}
.steps3 h3{font-size:1.4rem;margin-top:10px}
.steps3 p{color:var(--ink-2);margin-top:8px;font-size:.95rem}

@media (max-width:980px){.hub-grid{grid-template-columns:1fr 1fr}.tcard.big{grid-column:1/-1}.next{grid-template-columns:1fr}}
@media (max-width:860px){.tintro,.tq.with-wheel,.res-hero,.lead,.t-about{grid-template-columns:1fr}.tq-side{order:-1}.tq-side .wheel{max-width:240px}.tq-side p{display:none}.locked .lead{margin-top:-460px}}
@media (max-width:640px){.hub-grid,.steps3{grid-template-columns:1fr}.tcard.big{flex-direction:column}.tcard.big .tv{aspect-ratio:16/9}.s10{grid-template-columns:repeat(6,minmax(0,1fr))}.lead-f{grid-template-columns:1fr}.hl{grid-template-columns:1fr}.tracker{grid-template-columns:repeat(6,minmax(0,1fr))}.tbar{grid-template-columns:96px 1fr 46px;gap:10px;font-size:.88rem}.tfoot .share{margin-left:0}.tq-side .wheel{max-width:200px}}
@media print{.head,.letter,.foot,.next,.tfoot,.lead,.t-about,.crumbs{display:none!important}body,html{background:#fff!important;color:#111!important}.tool{border:0;box-shadow:none;background:#fff;padding:0}.locked .report.blur{display:none!important}.res-desc,.rsec>p,.ritem p,.mini{color:#333!important}.wheel text{fill:#333}.t-hero::before{display:none}*{animation:none!important}}
@media (prefers-reduced-motion:reduce){.vessel .drop,.vessel .steam path{animation:none}}
