:root{--bg:#fff;--alt:#f5f5f7;--ink:#1d1d1f;--ink2:#6e6e73;--ink3:#86868b;--line:#d2d2d7;--blue:#0071e3;--blueh:#0077ed;--link:#0066cc;--a:#0071e3;--b:#f56300;--soft:#e8f2fd;--gold:#0071e3;--lead:#fff;--font:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue",Inter,Helvetica,Arial,sans-serif;color-scheme:light}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:60px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.47;letter-spacing:-.022em;-webkit-font-smoothing:antialiased;padding-bottom:env(safe-area-inset-bottom,0px)}
a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}
button,input{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:6px}
[hidden]{display:none!important}
/* global nav */
.gnav{position:sticky;top:0;z-index:30;height:calc(52px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);background:rgba(255,255,255,.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,.08)}
.gnav .in{max-width:1024px;margin:0 auto;height:52px;padding:0 22px;display:flex;align-items:center;gap:24px}
.gnav .mark{font-weight:600;font-size:19px;color:var(--ink);letter-spacing:-.02em;margin-right:auto}.gnav .mark:hover{text-decoration:none}
.gnav .l{font-size:12px;color:var(--ink);opacity:.8;letter-spacing:-.01em}.gnav .l:hover{opacity:1;text-decoration:none}
.gnav .cta{font-size:12px;background:var(--blue);color:#fff;border-radius:980px;padding:5px 12px}.gnav .cta:hover{background:var(--blueh);text-decoration:none}
@media (max-width:640px){.gnav .l{display:none}}
/* sections */
.sec{padding:100px 22px}.sec.alt{background:var(--alt)}
.w{max-width:980px;margin:0 auto}.nar{max-width:692px;margin:0 auto}
.c{text-align:center}
.eyebrow{font-size:21px;font-weight:600;color:var(--b);margin:0 0 6px;letter-spacing:.004em}
.h1{font-size:clamp(48px,10vw,96px);line-height:1.04;font-weight:700;letter-spacing:-.015em;margin:0}
.h2{font-size:clamp(34px,6.2vw,64px);line-height:1.06;font-weight:700;letter-spacing:-.009em;margin:0 0 18px}
.h3{font-size:clamp(24px,3.4vw,32px);line-height:1.12;font-weight:600;letter-spacing:.004em;margin:0 0 10px}
.sub{font-size:clamp(21px,2.8vw,28px);line-height:1.2;font-weight:400;color:var(--ink);margin:10px 0 0;letter-spacing:.007em}
.lead{font-size:clamp(19px,2.2vw,21px);line-height:1.38;color:var(--ink2);margin:0;letter-spacing:.011em}
.muted{color:var(--ink2)}.small{font-size:14px;line-height:1.43;letter-spacing:-.016em}
.two{color:var(--ink3)}.two b{color:var(--ink);font-weight:inherit}
/* buttons */
.btn{display:inline-block;background:var(--blue);color:#fff;border:0;border-radius:980px;padding:12px 22px;font-size:17px;line-height:1.18;font-weight:400;min-width:28px;text-align:center}
.btn:hover{background:var(--blueh);text-decoration:none}.btn:disabled{background:#e8e8ed;color:#a1a1a6;cursor:default}
.btn.lg{padding:16px 30px;font-size:19px}.btn.wide{display:block;width:100%}
.btn.ghost{background:transparent;color:var(--blue);border:1px solid var(--blue)}.btn.ghost:hover{background:var(--blue);color:#fff}
.more{font-size:clamp(17px,2vw,21px)}.more::after{content:"";display:inline-block;width:.42em;height:.42em;border-right:1.5px solid currentColor;border-top:1.5px solid currentColor;transform:rotate(45deg);margin-left:.3em;vertical-align:.08em}
.ctas{display:flex;gap:28px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:28px}
.textbtn{background:none;border:0;color:var(--link);padding:8px 0;font-size:17px}
/* hero */
.hero{padding:72px 22px 0;overflow:hidden;text-align:center}
.hero .sub{color:var(--ink)}
.hero .fine{font-size:14px;color:var(--ink2);margin-top:18px}
.orb{width:min(88vw,620px);aspect-ratio:1;margin:56px auto -8%;will-change:transform}
.orb svg{width:100%;height:100%;display:block}
.orb .ring{fill:none;stroke-linecap:round}
@media (prefers-reduced-motion:no-preference){.orb .ring{stroke-dasharray:var(--len);stroke-dashoffset:var(--len);animation:draw 1.6s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:var(--d)}.orb .spin{animation:spin 90s linear infinite;transform-origin:50% 50%}.orb .spin.r{animation-direction:reverse;animation-duration:120s}}
@keyframes draw{to{stroke-dashoffset:0}}@keyframes spin{to{transform:rotate(360deg)}}
/* reveal */
@media (prefers-reduced-motion:no-preference){.rv{opacity:0;transform:translateY(24px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}.rv.in{opacity:1;transform:none}}
/* tiles */
.grid2{display:grid;grid-template-columns:1fr;gap:20px;margin-top:48px}@media (min-width:734px){.grid2{grid-template-columns:1fr 1fr}}
.grid3{display:grid;grid-template-columns:1fr;gap:20px;margin-top:48px}@media (min-width:734px){.grid3{grid-template-columns:repeat(3,1fr)}}
.tile{background:var(--bg);border-radius:28px;padding:40px 34px;text-align:left}.sec:not(.alt) .tile{background:var(--alt)}
.tile .big{font-size:clamp(64px,9vw,96px);font-weight:700;line-height:1;letter-spacing:-.02em}
.tile .big.a{color:var(--a)}.tile .big.b{color:var(--b)}
.tile p{margin:10px 0 0;font-size:19px;line-height:1.35;color:var(--ink2)}.tile p b{color:var(--ink);font-weight:600}
.stat{font-size:clamp(44px,6vw,64px);font-weight:700;line-height:1.05;letter-spacing:-.015em}
.stat sup,.fn{font-size:.35em;font-weight:400;vertical-align:super;margin-left:2px}
.tile .cap{font-size:17px;line-height:1.4;color:var(--ink2);margin-top:10px}
.pair{display:grid;grid-template-columns:1fr;gap:20px;margin-top:48px}@media (min-width:734px){.pair{grid-template-columns:1fr 1fr}}
.pole-tile{border-radius:28px;padding:40px 34px;background:var(--bg);text-align:left}
.pole-tile h3{font-size:40px;line-height:1.1;margin:0 0 16px;letter-spacing:-.01em}.pole-tile.a h3{color:var(--a)}.pole-tile.b h3{color:var(--b)}
.pole-tile dl{margin:0}.pole-tile dt{font-size:14px;color:var(--ink2);margin-top:14px}.pole-tile dd{margin:2px 0 0;font-size:19px;line-height:1.35}
.quote{font-size:19px;font-style:italic;color:var(--ink2);margin-top:14px}
.steps3{display:grid;grid-template-columns:1fr;gap:40px;margin-top:56px;text-align:left}@media (min-width:734px){.steps3{grid-template-columns:repeat(3,1fr)}}
.steps3 .n{font-size:17px;color:var(--ink2)}.steps3 h3{font-size:32px;margin:4px 0 8px;letter-spacing:-.005em}.steps3 p{margin:0;color:var(--ink2);font-size:19px;line-height:1.35}
/* footnotes / footer */
.foot{background:var(--alt);color:var(--ink2);font-size:12px;line-height:1.33;letter-spacing:-.01em;padding:18px 22px calc(18px + env(safe-area-inset-bottom,0px))}
.foot .w{max-width:980px}.foot ol{padding-left:16px;margin:0 0 14px}.foot li{margin:0 0 8px}.foot hr{border:0;border-top:1px solid var(--line);margin:14px 0}
.foot .row{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:space-between}.foot a{color:var(--ink)}
/* wheel explorer */
.wx{display:grid;gap:40px;margin-top:48px;grid-template-columns:minmax(0,1fr);text-align:left}
@media (min-width:980px){.wx{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start}.stage{position:sticky;top:76px}}
.wheel-box{width:100%;max-width:640px;margin:0 auto;aspect-ratio:1}
#wheel{width:100%;height:100%;display:block;touch-action:manipulation;user-select:none;-webkit-user-select:none}
#wheel path{stroke:#fff;stroke-width:1.4;stroke-linejoin:round;transition:opacity .25s}
#wheel text{font-family:var(--font);pointer-events:none;letter-spacing:0}
#wheel .seg{cursor:pointer}#wheel .dim{opacity:.14}#wheel .lit path,#wheel .sel path{stroke:var(--ink);stroke-width:3}#wheel .hub{cursor:pointer}
.stage-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;max-width:640px;margin:12px auto 0;min-height:40px}
.stage-bar .where{font-size:21px;font-weight:600}.stage-bar .where small{display:block;font-size:14px;font-weight:400;color:var(--ink2)}
.ghost{border:0;background:var(--alt);border-radius:980px;padding:8px 16px;font-size:14px;color:var(--ink)}.sec.alt .ghost{background:#fff}
.tabs{display:inline-grid;grid-template-columns:1fr 1fr;background:#e8e8ed;border-radius:9px;padding:2px;gap:2px;width:100%}
.tabs button{border:0;background:transparent;border-radius:7px;padding:7px 10px;font-size:14px;color:var(--ink)}.tabs button[aria-selected=true]{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.12);font-weight:600}
.pane{margin-top:18px}
.chips{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 10px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}
.chip{flex:none;border:1px solid var(--line);background:#fff;border-radius:980px;padding:8px 16px;font-size:14px;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.chip .dot{width:9px;height:9px;border-radius:50%}.chip[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:#fff}
.group h2{font-size:24px;font-weight:600;margin:28px 0 4px;display:flex;align-items:baseline;gap:8px;letter-spacing:.009em}.group h2 .batch{font-size:14px;font-weight:400;color:var(--ink2)}
.group p.def{margin:0 0 8px;color:var(--ink2);font-size:14px}
.rows{list-style:none;margin:0;padding:0}.rows li{border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:2.2rem 1fr;gap:2px 8px;width:100%;text-align:left;background:0 0;border:0;padding:14px 2px}
.row .num{color:var(--ink3);font-size:14px;padding-top:2px}.row .names{font-weight:600}.row .t{grid-column:2;color:var(--ink2);font-size:14px}
.search{width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 14px;font-size:17px}.hint{color:var(--ink2);font-size:14px;margin:10px 0}
/* sheet */
.scrim{position:fixed;inset:0;background:rgba(0,0,0,.32);opacity:0;pointer-events:none;transition:opacity .3s;z-index:40}.scrim.on{opacity:1;pointer-events:auto}
.sheet{position:fixed;left:0;right:0;bottom:0;max-height:92vh;background:#fff;border-radius:20px 20px 0 0;z-index:41;transform:translateY(102%);transition:transform .45s cubic-bezier(.32,.72,0,1),visibility 0s linear .45s;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom,0px);visibility:hidden}
.sheet.on{visibility:visible;transform:none;transition:transform .45s cubic-bezier(.32,.72,0,1)}
@media (min-width:980px){.sheet{left:50%;right:auto;bottom:auto;top:50%;width:680px;max-height:84vh;border-radius:24px;transform:translate(-50%,-46%) scale(.98);opacity:0;transition:opacity .3s,transform .4s cubic-bezier(.32,.72,0,1),visibility 0s linear .4s}.sheet.on{transform:translate(-50%,-50%);opacity:1;transition:opacity .3s,transform .4s cubic-bezier(.32,.72,0,1)}}
.sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:24px 26px 12px}
.sheet-head .kicker{color:var(--ink2);font-size:14px}.sheet-head h2{font-size:32px;line-height:1.1;margin:4px 0 0;font-weight:700;letter-spacing:.004em}.sheet-head .tension{color:var(--ink2);margin:6px 0 0;font-size:17px}
.x{flex:none;border:0;background:var(--alt);border-radius:50%;width:36px;height:36px;font-size:20px;line-height:1;color:var(--ink2)}
.sheet-body{overflow-y:auto;padding:4px 26px 28px;-webkit-overflow-scrolling:touch}
.field{padding:16px 0;border-top:1px solid var(--line)}.field h3{font-size:14px;color:var(--ink2);margin:0 0 8px;font-weight:600}
.duo{display:grid;grid-template-columns:1fr;gap:12px}@media (min-width:560px){.duo{grid-template-columns:1fr 1fr}}
.cell{font-size:17px;line-height:1.45;padding-left:12px;border-left:3px solid var(--c)}.cell .pl{display:block;font-size:14px;font-weight:600;color:var(--ink2)}.cell .sn{font-weight:600}
.closing{padding-top:16px;border-top:1px solid var(--line)}.closing p{margin:0 0 12px}.closing b{display:block;font-size:14px;color:var(--ink2);font-weight:600}
.teaser{margin-top:10px;padding:18px;border-radius:18px;background:var(--alt);font-size:17px}.teaser a{display:inline-block;margin-top:6px}
.nav{display:flex;justify-content:space-between;gap:8px;padding-top:18px}
.stars{list-style:none;margin:0;padding:0}.stars li{padding:14px 0;border-top:1px solid var(--line)}.stars li b{font-size:19px}.stars li .def{display:block;margin-top:4px}.stars li .note{display:block;font-size:14px;color:var(--ink2);margin-top:6px}
/* app pages (assessment, report) */
.app{max-width:692px;margin:0 auto;padding:40px 22px 80px}
.app section:not([hidden]){animation:enter .55s cubic-bezier(.2,.7,.2,1)}
@keyframes enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.app section{animation:none!important}}
.app h1{font-size:clamp(40px,8vw,56px);line-height:1.07;font-weight:700;letter-spacing:-.005em;margin:0 0 14px}
.app h2{font-size:clamp(28px,5vw,40px);line-height:1.1;font-weight:700;letter-spacing:0;margin:0 0 12px}
.app .lede{font-size:21px;line-height:1.38;color:var(--ink2);margin:0 0 28px;letter-spacing:.011em}
.topbar{position:fixed;top:calc(52px + env(safe-area-inset-top,0px));left:0;right:0;height:2px;background:transparent;z-index:29}.topbar i{display:block;height:100%;background:var(--blue);width:0;transition:width .35s}
.qmeta{display:flex;justify-content:space-between;color:var(--ink2);font-size:14px}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:36px 0 12px;text-align:center}
.fact b{display:block;font-size:32px;font-weight:700;letter-spacing:-.01em}.fact span{font-size:14px;color:var(--ink2)}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--ink2);line-height:1.45;margin:18px 0 0}.consent input{margin-top:2px;width:18px;height:18px;flex:none;accent-color:var(--blue)}
.evidence{margin:36px 0 0;padding:22px 24px;background:var(--alt);border-radius:18px;font-size:17px;line-height:1.45;color:var(--ink2)}
.chips.wrap{flex-wrap:wrap;overflow:visible;margin:24px 0 32px}.chips.wrap .chip{font-size:17px;padding:10px 18px}
.chip[aria-pressed=true]{border-color:var(--blue);background:var(--blue);color:#fff}
.ptitle{font-size:clamp(32px,7vw,48px);font-weight:700;line-height:1.08;margin:28px 0 6px;letter-spacing:-.005em}
.ptension{color:var(--ink2);margin:0 0 12px;font-size:19px}
.pole{margin:28px 0 12px}.pole b{display:block;font-size:24px;font-weight:600;letter-spacing:.009em}.pole span{display:block;color:var(--ink2);font-size:15px;line-height:1.4;margin-top:4px}
.pole.a b{color:var(--a)}.pole.b b{color:var(--b)}
.opts{display:grid;gap:8px}
.opt{border:1px solid var(--line);background:#fff;border-radius:14px;padding:13px 8px;font-size:15px;line-height:1.25;transition:background .15s,border-color .15s,color .15s}
.opt:hover{border-color:var(--ink3)}
.opt[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:#fff}
.opts.five{grid-template-columns:repeat(5,1fr);gap:6px}.opts.five .opt{font-size:12px;padding:12px 2px;min-height:56px;border-radius:12px}
.opts.four{grid-template-columns:repeat(2,1fr)}.opts.three{grid-template-columns:repeat(3,1fr)}.opts.stack{grid-template-columns:1fr}.opts.stack .opt{text-align:left;padding:14px 16px}
.opts.eleven{grid-template-columns:repeat(11,1fr);gap:4px}.opts.eleven .opt{padding:11px 0;font-size:14px;border-radius:10px}
.qnav{display:flex;justify-content:space-between;align-items:center;margin-top:28px}
.card{background:var(--alt);border-radius:22px;padding:26px 24px;margin:0 0 16px}
.card.deep .kick{font-size:14px;color:var(--ink2);margin-bottom:6px}.card.deep .q{font-weight:600;font-size:19px;margin:6px 0 12px;line-height:1.3}.card.deep .sign{margin:18px 0 10px;line-height:1.45}
.card .opt{background:#fff}
/* results */
.scores{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 16px}
.scorebox{background:var(--alt);border-radius:22px;padding:24px 20px}
.scorebox .n{font-size:clamp(56px,13vw,80px);font-weight:700;line-height:1;letter-spacing:-.02em}.scorebox .n small{font-size:17px;color:var(--ink2);font-weight:400;letter-spacing:0}
.scorebox:first-child .n{color:var(--a)}
.scorebox .l{font-weight:600;margin-top:10px;font-size:19px}.scorebox .d{color:var(--ink2);font-size:14px;line-height:1.4;margin-top:2px}
.card h2{font-size:28px;margin:0 0 8px}.card h3{font-size:24px;margin:2px 0 8px;font-weight:700;letter-spacing:.004em}
.drow{display:grid;grid-template-columns:7.2rem 1fr 2.2rem 2.2rem;gap:10px;align-items:center;padding:8px 0;font-size:15px}
.drow b{text-align:right;font-weight:600}.drow em{font-style:normal;color:var(--ink2);text-align:right;font-size:14px}
.dbar{height:8px;border-radius:99px;background:#e8e8ed;overflow:hidden}.dbar i{display:block;height:100%;background:var(--a);border-radius:99px}
.drow.low span,.drow.low b{color:var(--b)}.drow.low .dbar i{background:var(--b)}
.dkey{display:grid;grid-template-columns:7.2rem 1fr 2.2rem 2.2rem;gap:10px;font-size:12px;color:var(--ink2);margin-top:4px}.dkey span:first-child{grid-column:3;text-align:right}.dkey span:last-child{text-align:right}
.sigs{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.sig{background:#fff;border-radius:14px;padding:10px 14px;font-weight:600}.sig small{display:block;font-weight:400;color:var(--ink2);font-size:12px}
.gap{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.gap:first-of-type{border-top:0;padding-top:0;margin-top:0}
.gap .kick{font-size:14px;color:var(--ink2)}.gap .sh{margin:0 0 10px}.gap .mastery{font-style:italic;color:var(--ink2);margin:12px 0 0}
.gap dl{margin:0}.gap dt{font-size:14px;font-weight:600;color:var(--ink2);margin-top:14px}.gap dd{margin:2px 0 0}
.lockline{margin-top:12px;font-size:15px;color:var(--link)}
.gap.locked h3{color:var(--ink2)}
.norm{background:var(--soft);color:var(--ink);border-radius:18px;padding:16px 20px;margin:0 0 16px;font-weight:600}
.upsell{background:var(--ink);color:#f5f5f7;border-radius:28px;padding:36px 28px;margin:28px 0}
.upsell h2{color:#fff;font-size:32px}.upsell .price{font-size:48px;font-weight:700;letter-spacing:-.01em;margin:6px 0 4px}.upsell .price small{font-size:17px;font-weight:400;color:#a1a1a6}
.upsell ul{margin:14px 0 26px;padding-left:1.1em;line-height:1.5;color:#d2d2d7}.upsell li{margin-bottom:8px}
.upsell .note{font-size:14px;color:#a1a1a6;margin:14px 0 0}
.actions{display:grid;gap:10px;margin-top:18px}
.fine{font-size:12px;color:var(--ink2);margin-top:28px;line-height:1.45}
.week{background:var(--alt);border-radius:22px;padding:26px 24px;margin:0 0 16px}
.week .wk{font-size:14px;font-weight:600;color:var(--b)}.week h3{font-size:28px;margin:4px 0 10px;font-weight:700}
.ifthen{margin-top:16px;border-radius:16px;background:#fff;padding:16px 18px}.ifthen p{margin:6px 0}.ifthen b{display:block;font-size:14px;color:var(--ink2);font-weight:600}
.dom{margin:36px 0 6px;font-size:24px;font-weight:700}
.pr{border-top:1px solid var(--line);padding:16px 0}.pr .top{display:flex;justify-content:space-between;gap:10px;font-weight:600}.pr .top small{font-weight:400;color:var(--ink2);text-align:right;font-size:14px}
.rng{position:relative;height:8px;border-radius:99px;background:#e8e8ed;margin:10px 0 6px}.rng i,.rng u{position:absolute;top:0;bottom:0;text-decoration:none}.rng i{right:50%;background:var(--a);border-radius:99px 0 0 99px}.rng u{left:50%;background:var(--b);border-radius:0 99px 99px 0}.rng b{position:absolute;left:50%;top:-4px;bottom:-4px;width:2px;background:var(--ink);transform:translateX(-1px)}
.ends{display:flex;justify-content:space-between;font-size:12px;color:var(--ink2)}
.pr summary{cursor:pointer;color:var(--link);font-size:15px;margin-top:8px}.pr .body{font-size:15px;line-height:1.5;margin-top:6px}.pr .body p{margin:8px 0}.pr .body b.l{display:block;font-size:12px;color:var(--ink2);font-weight:600}
.tag{display:inline-block;font-size:12px;font-weight:600;padding:2px 8px;border-radius:99px;margin-left:6px}.tag.warn{background:#fff1e6;color:#b64400}
.state{padding:80px 0;text-align:center;color:var(--ink2)}
.guide{padding-left:1.1em;margin:0}.guide li{margin-bottom:10px}
.prose h2{font-size:24px;margin:36px 0 8px}.prose p{margin:0 0 14px;color:var(--ink)}
@media print{.gnav,.noprint,.topbar{display:none!important}.card,.week{break-inside:avoid}}
