/* Pathcast report flow (/start/). Styles only; the script in app.js is shared with the content engine and untouched here. */
.app{max-width:820px;margin:0 auto;padding:clamp(24px,5vh,56px) var(--edge) 120px}
.app .ar{display:none}
.app .eyebrow{display:block;font-size:14px;color:var(--mute);margin-bottom:12px}
.app h1{font-size:clamp(34px,4.8vw,56px);line-height:1;margin:0 0 16px}
.app .lede{color:var(--ink-2);max-width:56ch;margin:0;font-size:18px}
.app .small{font-size:14.5px;color:var(--mute)}
.progress{display:flex;gap:6px;margin:0 0 34px;padding:0;list-style:none}
.progress li{flex:1;display:flex;flex-direction:column;gap:8px;font-family:var(--sans);font-size:13px;color:var(--mute)}
.progress li i{height:3px;border-radius:2px;background:var(--line)}
.progress li.done i,.progress li.on i{background:var(--clay)}
.progress li.on{color:var(--ink);font-weight:500}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:28px}
.app button.btn,.app button.btn-2{font-family:var(--sans)}
.app button:disabled{opacity:.4;cursor:not-allowed}

/* role search */
.search{position:relative;margin-top:28px}
.search input,.field input,.field textarea{width:100%;font:inherit;font-size:18px;color:var(--ink);background:#F5F6F8;border:1px solid transparent;border-radius:16px;padding:16px 18px}
.search input:focus,.field input:focus,.field textarea:focus{outline:2px solid var(--ink);outline-offset:0;border-color:transparent}
.hits{margin-top:8px;display:flex;flex-direction:column;gap:4px}
.hit{display:flex;justify-content:space-between;gap:12px;align-items:baseline;text-align:left;background:#F5F6F8;border:1px solid transparent;border-radius:14px;padding:12px 16px;font:inherit;color:var(--ink);cursor:pointer}
.hit:hover,.hit:focus-visible{border-color:var(--ink)}
.hit small{color:var(--mute);font-size:13px;white-space:nowrap}
.cats{margin-top:40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.cat{background:#F5F6F8;border-radius:18px;padding:18px 20px}
.cat:nth-child(5n+1){background:var(--peach)}.cat:nth-child(5n+2){background:var(--sky)}.cat:nth-child(5n+3){background:var(--butter)}.cat:nth-child(5n+4){background:var(--sage)}
.cat h3{font-family:var(--sans);font-size:13px;font-weight:500;color:var(--ink-2);margin:0 0 8px}
.cat button{display:block;background:none;border:0;padding:4px 0;font:inherit;font-size:16px;color:var(--ink);cursor:pointer;text-align:left}
.cat button:hover{text-decoration:underline;text-decoration-color:var(--amber);text-decoration-thickness:2px;text-underline-offset:3px}
.miss{margin-top:32px;padding:24px;border-radius:24px;background:#2B3344;color:var(--cream)}
.miss .small{color:rgba(251,250,247,.7)}
.miss .field input{background:rgba(255,255,255,.1);color:var(--cream)}
.miss .btn-2{border-color:var(--cream);color:var(--cream)}
.miss .btn-2:hover{background:var(--cream);color:var(--ink)}
.miss h3{font-family:var(--serif);font-weight:400;font-size:26px;margin:0 0 6px;color:var(--cream)}
.miss .field{margin-top:12px}

/* choices */
.choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin-top:28px}
.choice{text-align:left;background:#F5F6F8;border:1px solid transparent;border-radius:18px;padding:18px 20px;font:inherit;color:var(--ink);cursor:pointer;display:flex;flex-direction:column;gap:4px}
.choice b{font-weight:500}
.choice small{color:var(--mute);font-size:14px;line-height:1.45}
.choice:hover{border-color:var(--ink)}
.choice{transition:background .15s,border-color .15s,transform .15s var(--in)}
.choice:hover{border-color:var(--ink);transform:translateY(-1px)}
.choice[aria-pressed="true"]{background:var(--sky);border-color:var(--clay);box-shadow:inset 0 0 0 1px var(--clay)}
.choice[aria-pressed="true"] b{color:var(--clay-deep)}
.choice[aria-pressed="true"] small{color:var(--ink-2)}
.choice[aria-pressed="true"]::after{content:"Your pick";align-self:flex-start;margin-top:8px;font:500 11.5px/1 var(--sans);letter-spacing:.02em;color:#fff;background:var(--clay);padding:5px 9px;border-radius:999px}

/* task chips */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.chip{display:inline-flex;align-items:center;gap:8px;background:#F5F6F8;border:1px solid transparent;border-radius:999px;padding:7px 8px 7px 16px;font-size:15px}
.chip button{background:var(--cream);border:0;border-radius:50%;width:24px;height:24px;cursor:pointer;color:var(--mute);font-size:16px;line-height:1}
.chip button:hover{color:var(--ink)}
.chip.off{opacity:.4;text-decoration:line-through}
.chip.off button{transform:rotate(45deg)}

.field{margin-top:22px}
.field label{display:block;font-weight:500;margin-bottom:8px}
.field textarea{min-height:100px;resize:vertical;font-size:17px}

/* dials */
.dials{margin-top:24px;background:#F5F6F8;border-radius:24px;padding:6px 22px}
.dial{padding:18px 0;border-bottom:1px solid var(--line)}
.dial-h{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.dial-h b{font-weight:500}
.dial-h span{font-family:var(--sans);font-size:13px;color:var(--ink)}
.dial p{margin:4px 0 8px;font-size:14px;color:var(--mute)}
.dial input{width:100%}
.ends{display:flex;justify-content:space-between;font-family:var(--sans);font-size:12px;color:var(--mute)}
.presets{display:flex;gap:6px;flex-wrap:wrap;margin-top:22px}
.preset{font:500 14px/1 var(--sans);background:transparent;border:1px solid var(--line);border-radius:999px;padding:9px 14px;cursor:pointer;color:var(--ink-2)}
.preset[aria-pressed="true"]{border-color:var(--ink);background:var(--ink);color:var(--cream)}
/* Pace result. Segment fills are their own tokens: the brand's --keep/--warm/--hot
   are text colours and sit too close together to be read as adjacent chart marks. */
:root{--seg-keep:#237A55;--seg-warm:#E8A317;--seg-hot:#B83A2B}
.result{margin-top:18px;padding:24px 26px;border-radius:22px;background:#F7F8FA}
.result-k{margin:0;font-family:var(--serif);font-size:clamp(24px,3vw,32px);line-height:1.12;letter-spacing:-.01em;color:var(--ink)}
.result-sub{margin:6px 0 0;font-size:14px;color:var(--mute)}
/* Forty hour-blocks, one per hour of the week */
.hours{display:grid;grid-template-columns:repeat(40,minmax(0,1fr));gap:3px;margin:18px 0 0}
.hb{display:block;aspect-ratio:1/1.5;border-radius:3px;transition:background-color .35s var(--in)}
.hb-keep,.hrow .hr-keep .n::before{background:var(--seg-keep)}
.hb-warm,.hrow .hr-warm .n::before{background:var(--seg-warm)}
.hb-hot,.hrow .hr-hot .n::before{background:var(--seg-hot)}
.hrow{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px 22px}
.hrow li{display:flex;gap:12px;align-items:flex-start}
.hrow .n{position:relative;flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start;padding-top:12px;min-width:44px}
.hrow .n::before{content:"";position:absolute;top:0;left:0;width:22px;height:5px;border-radius:3px}
.hrow .n b{font-family:var(--serif);font-weight:400;font-size:36px;line-height:1;color:var(--ink)}
.hrow .n small{font-size:12.5px;color:var(--mute);margin-top:2px}
.hrow .d{display:flex;flex-direction:column;gap:3px;padding-top:12px}
.hrow .d b{font-weight:500;font-size:15.5px;color:var(--ink)}
.hrow .d small{font-size:13.5px;line-height:1.4;color:var(--ink-2)}
/* Junior hiring: a three-step scale, this role's step marked */
.hire{margin:20px 0 0;padding-top:16px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap}
.hk{font-size:14px;color:var(--ink-2)}
.hsteps{list-style:none;margin:0;padding:3px;display:flex;gap:3px;background:#E9ECF0;border-radius:999px}
.hsteps li{font:500 13px/1 var(--sans);padding:8px 13px;border-radius:999px;color:var(--mute)}
.hsteps li.on{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(21,23,28,.12)}
.hsteps li.on.s0::before,.hsteps li.on.s1::before,.hsteps li.on.s2::before{content:"";display:inline-block;width:7px;height:7px;border-radius:999px;margin-right:7px;vertical-align:1px}
.hsteps li.on.s0::before{background:var(--seg-keep)}
.hsteps li.on.s1::before{background:var(--seg-warm)}
.hsteps li.on.s2::before{background:var(--seg-hot)}
@media(max-width:700px){
  .result{padding:20px 18px}
  .hours{grid-template-columns:repeat(20,minmax(0,1fr));gap:3px}
  .hrow{grid-template-columns:1fr;gap:12px}
  .hrow .n b{font-size:30px}
}
@media(prefers-reduced-motion:reduce){.hb{transition:none}}
.v.hot{color:#B9452C}.v.warm{color:var(--clay)}.v.keep{color:var(--moss)}

/* report */
.rep h1{font-size:clamp(32px,4.8vw,56px)}
.pills{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px}
.pill{font-family:var(--sans);font-size:12px;border:1px solid var(--line);border-radius:999px;padding:4px 10px;color:var(--mute)}
.rsec{margin-top:14px;padding:clamp(20px,2.6vw,32px);border-radius:24px;background:#F5F6F8}
.rsec:nth-of-type(4n+1){background:var(--peach)}.rsec:nth-of-type(4n+2){background:var(--sky)}.rsec:nth-of-type(4n+3){background:var(--butter)}.rsec:nth-of-type(4n){background:var(--sage)}
.rsec .rsec{background:transparent;padding:0}
.rsec h2{font-size:clamp(28px,3vw,40px);margin:0 0 12px}
.rsec > p{color:var(--ink-2)}
.verdict{margin-top:4px}



.verdict p{margin:0 0 12px;color:var(--ink-2);font-size:18px;line-height:1.55}
.verdict p:last-child{margin-bottom:0}

.alert{border-radius:18px;padding:20px 22px;background:#fff}
.alert h3{margin:0 0 8px;font-size:20px;font-weight:500}
.alert ul{margin:0;padding-left:20px}
.alert li{margin:6px 0;color:var(--ink-2)}
.alert .cav{border-top:1px solid var(--line);margin-top:12px;padding-top:10px;font-size:14px;color:var(--mute)}
.vol{border-top:1px solid var(--line);padding:18px 0 4px}
.vol.dom{border-top:3px solid var(--amber)}
.vol .lvl{font-family:var(--sans);font-size:12px;color:var(--clay)}
.vol table{width:100%;border-collapse:collapse;margin-top:12px;font-size:15px}
.vol td{padding:9px 0;border-top:1px solid var(--line);vertical-align:top}
.vol td:first-child{width:34%;padding-right:14px;font-weight:500}
.list{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.li{padding:14px 0;display:grid;grid-template-columns:1fr 1.3fr;gap:16px;border-bottom:1px solid var(--line)}
.li b{font-weight:500}
.li span{color:var(--ink-2);font-size:15px}
@media(max-width:600px){.li{grid-template-columns:1fr;gap:4px}}
.pattern{margin-top:14px;color:var(--ink-2)}
.grp{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:26px 0 8px;border-bottom:1px solid var(--line)}
.grp:first-child{padding-top:6px}
.grp .gl{display:flex;flex-direction:column;gap:2px}
.grp .gl b{font-family:var(--serif);font-weight:400;font-size:20px;letter-spacing:-.01em;color:var(--ink)}
.grp .gl small{font-size:13px;color:var(--mute);font-weight:400}
.grp .gs{font-size:13.5px;white-space:nowrap}
.grp.keep .gs{color:var(--seg-keep)}.grp.warm .gs{color:#9A6B10}.grp.hot .gs{color:var(--seg-hot)}
.task{padding:11px 0;display:grid;grid-template-columns:1fr 46px 120px;gap:14px;align-items:center;font-size:15px;line-height:1.45;border-bottom:1px solid var(--line)}
.task .tl{color:var(--ink)}
.task .sh{font-family:var(--sans);font-size:13px;color:var(--ink-2);text-align:right;font-variant-numeric:tabular-nums}
.track{height:8px;border-radius:999px;background:#E9ECF0;overflow:hidden}
.track i{display:block;height:100%;border-radius:999px}
.track i.f-keep{background:var(--seg-keep)}
.track i.f-warm{background:var(--seg-warm)}
.track i.f-hot{background:var(--seg-hot)}
.lede2{margin:0 0 10px;font-size:16.5px;line-height:1.6;color:var(--ink-2);max-width:580px}
@media(max-width:520px){.task{grid-template-columns:1fr 40px 64px;gap:10px;font-size:14.5px}.grp .gl b{font-size:18px}.grp .gl small{display:none}}
.inline-dials{margin-top:18px}
.inline-dials summary{cursor:pointer;font-weight:500;text-decoration:underline;text-decoration-color:var(--amber);text-decoration-thickness:2px;text-underline-offset:3px}
.decline{border-top:1px solid var(--line);padding:16px 0}
.decline:first-of-type{border-top:0}
.decline h3{font-size:20px;font-weight:500;margin:0 0 6px}
.decline p{margin:0;color:var(--ink-2)}
.forks{display:flex;gap:6px;margin:16px 0}
.fork{font:500 14px/1 var(--sans);background:transparent;border:1px solid var(--line);border-radius:999px;padding:9px 14px;cursor:pointer;color:var(--ink-2)}
.fork[aria-pressed="true"]{border-color:var(--ink);background:var(--ink);color:var(--cream)}
.future p{margin:0 0 12px;color:var(--ink-2)}
.tuesday{border-left:3px solid var(--amber);padding:6px 0 6px 20px;font-family:var(--serif);font-size:20px;line-height:1.45;color:var(--ink-2)}
.tuesday .eyebrow{margin-bottom:8px}
.move{background:rgba(255,255,255,.7);border-radius:18px;padding:20px;margin-top:10px}
.move.rec{background:#fff;box-shadow:inset 0 0 0 2px var(--ink)}
.move-h{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}
.move h3{font-size:22px;font-weight:500;margin:0}
.rank{font-family:var(--sans);font-size:12px;color:var(--mute);white-space:nowrap}
.move.rec .rank{color:var(--clay)}
.move dl{margin:14px 0 0;display:grid;grid-template-columns:130px 1fr;gap:8px 14px;font-size:15px}
.move dt{color:var(--mute);font-size:13.5px}
.move dd{margin:0;color:var(--ink-2)}
@media(max-width:560px){.move dl{grid-template-columns:1fr}.move dd{margin-bottom:6px}}
.frame{margin-top:6px;color:var(--ink-2)}
.wk{background:rgba(255,255,255,.7);border-radius:14px;margin-top:8px;padding:0 16px}
.wk summary{list-style:none;cursor:pointer;padding:14px 0;display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center}
.wk summary::-webkit-details-marker{display:none}
.wk summary .n{font-family:var(--sans);font-size:12.5px;color:var(--clay)}
.wk summary .t{font-weight:500}
.wk summary .c{color:var(--mute);font-size:13px}
.wk .body{padding:0 0 16px 64px}
@media(max-width:560px){.wk .body{padding-left:0}}
.sess{display:grid;grid-template-columns:52px 1fr;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-size:15px}
.sess .d{font-family:var(--sans);font-size:12px;color:var(--mute);padding-top:3px}
.sess .p{display:block;color:var(--mute);font-size:13.5px;margin-top:2px}
.behind{font-size:14px;color:var(--mute);margin-top:8px}
.plannote{border-left:3px solid var(--amber);padding:4px 0 4px 18px;color:var(--ink-2);font-size:15.5px;margin:14px 0}
.res{width:100%;border-collapse:collapse;font-size:14.5px}
.res th{text-align:left;font-family:var(--sans);font-size:12px;color:var(--mute);font-weight:400;padding:8px 10px 8px 0;border-bottom:1px solid var(--ink)}
.res td{padding:10px 10px 10px 0;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink-2)}
.res td b{color:var(--ink);font-weight:500}
.st{font-family:var(--sans);font-size:11.5px;padding:2px 7px;border-radius:999px;white-space:nowrap;border:1px solid currentColor}
.st.ok{color:var(--moss)}.st.no{color:var(--clay)}
.app .tw{overflow-x:auto}
@media(max-width:580px){.res .hide-s{display:none}}
.sigs{display:grid;grid-template-columns:1fr 1fr;gap:28px}
@media(max-width:600px){.sigs{grid-template-columns:1fr}}
.sig{padding-top:14px}
.sig.f{border-top:3px solid #B9452C}.sig.s{border-top:3px solid var(--moss)}
.sig h3{font-size:18px;font-weight:500;margin:0 0 8px}
.sig ul,.wrong ul{margin:0;padding-left:18px}
.sig li,.wrong li{margin:6px 0;font-size:15px;color:var(--ink-2)}
.endbar{display:flex;gap:10px;flex-wrap:wrap;margin-top:48px;padding-top:28px;border-top:1px solid var(--ink)}
.priv{margin-top:18px;font-size:14px;color:var(--mute)}
.live{color:var(--mute);font-style:italic}
@media print{.nav,footer,.endbar,.inline-dials,.consent,.progress,.cvbar,.jump{display:none!important}.wk .body{display:block!important}.app{padding:0}}

.verdict details.more{margin:8px 0 0}
.verdict details.more > p{font-size:17px}
.jump{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.jump a{font-family:var(--sans);font-size:14px;padding:8px 14px;border-radius:999px;background:#F5F6F8;color:#15171C;text-decoration:none}
.jump a:hover{background:#1F3C8F;color:#fff}

/* résumé */
.sr{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.link{background:none;border:0;padding:0;font:500 15px/1.4 var(--sans);color:var(--clay);cursor:pointer;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}
.link:hover{color:var(--clay-deep)}
.cv-in{margin-top:28px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.drop{position:relative;align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;min-height:200px;padding:28px;border-radius:24px;background:var(--sky);border:2px dashed rgba(31,60,143,.35);cursor:pointer;transition:border-color .15s,background .15s}
.drop:hover,.drop.over,.drop:focus-within{border-color:var(--clay);background:#D2DEF4}
.drop b{font:500 20px/1.3 var(--sans);color:var(--ink)}
.drop .small{color:var(--ink-2)}
.drop-ic{color:var(--clay);margin-bottom:4px}
.paste{align-self:stretch}
.paste textarea{width:100%;min-height:180px;font:inherit;font-size:15px;color:var(--ink);background:#F5F6F8;border:1px solid transparent;border-radius:16px;padding:14px 16px;resize:vertical}
.paste textarea:focus{outline:2px solid var(--ink)}
.row.tight{margin-top:12px}
.cv-msg{margin:0;font-size:15px;color:var(--ink-2)}
.cv-msg:empty{display:none}
.cv-msg.bad{color:#9A3A24}
.or{display:flex;align-items:center;gap:14px;margin:40px 0 6px;color:var(--mute);font-size:14px}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--line)}
.lab{margin:0}
.browse{margin-top:22px}
.browse>summary{cursor:pointer;font:500 15px/1.4 var(--sans);color:var(--clay);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px;list-style:none}
.browse>summary::-webkit-details-marker{display:none}
.browse .cats{margin-top:18px}

.cvbar{margin-top:22px;padding:14px 18px;border-radius:18px;background:#F5F6F8;display:flex;flex-direction:column;gap:10px}
.cvbar.none{flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;font-size:15px;color:var(--ink-2)}
.cvbar.open{background:#fff;box-shadow:inset 0 0 0 1.5px var(--ink)}
.cvbar-h{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px}
.cv-name{display:inline-flex;align-items:center;gap:8px;min-width:0}
.cv-name svg{width:20px;height:20px;color:var(--clay);flex:none}
.cv-name b{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:32ch}
.cv-acts{margin-left:auto;display:inline-flex;gap:16px}
.cvbar .cv-in{margin-top:0}
.cvbar .drop{min-height:120px;padding:18px}
.cvbar .small{margin:0}
.cv-hint{margin:0;font-size:15px;color:var(--ink-2)}

/* step 2 */
.ck{margin-top:36px}
.ck h2{font-size:clamp(24px,2.6vw,30px);margin:0 0 12px}
.ck-role{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;border-radius:18px;background:var(--sky)}
.ck-role>div{display:flex;flex-direction:column;gap:2px}
.ck-role b{font-family:var(--serif);font-weight:400;font-size:28px;line-height:1.15}
.change{margin-top:10px}
.change .search{margin-top:10px}
.alts{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.alt{font:500 14px/1 var(--sans);background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 14px;cursor:pointer;color:var(--ink)}
.alt:hover{border-color:var(--ink)}
.ck .choices{margin-top:0}
.ck .chips{margin-top:12px}
.chip.cv{background:var(--sky)}
.chip .dot{width:8px;height:8px;border-radius:50%;background:var(--clay);flex:none;margin-left:-4px}

/* step 3 */
.choices.three{grid-template-columns:repeat(3,1fr)}
@media(max-width:580px){.choices.three{grid-template-columns:1fr}}
.fine{margin-top:18px}
.fine>summary{cursor:pointer;font:500 15px/1.4 var(--sans);color:var(--clay);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}


/* report: in short */
.short{display:grid;grid-template-columns:1fr 1fr 1fr 1.4fr;gap:10px;margin-top:22px}
@media(max-width:1080px){.short{grid-template-columns:1fr 1fr}.short .sh-m{grid-column:1 / -1}}
@media(max-width:560px){.short{grid-template-columns:1fr 1fr}.short>*:nth-child(3){grid-column:1 / -1}}
.short>*{border-radius:20px;padding:18px 20px;display:flex;flex-direction:column;gap:4px;background:var(--sky);color:var(--ink);text-decoration:none}
.short>*:nth-child(2){background:var(--butter)}
.short>*:nth-child(3){background:#EFF1F4}
.short .sh-m{background:#fff;box-shadow:inset 0 0 0 2px var(--ink)}
.short .sh-m:hover{box-shadow:inset 0 0 0 2px var(--clay)}
.short .k{font-family:var(--sans);font-size:12.5px;color:var(--mute)}
.short .sh-n b{font-family:var(--serif);font-weight:400;font-size:clamp(30px,2.6vw,38px);line-height:1.1}
.short .sh-n b.keep{color:var(--moss)}
.short .sh-m b{font-weight:500;font-size:19px;line-height:1.3}
.short .s{font-size:13px;color:var(--mute)}
.short .sh-m .s{color:var(--clay)}
@media(max-width:700px){.short{grid-template-columns:1fr 1fr}.short .sh-m{grid-column:1/-1}}
.oncv{display:inline-block;margin-left:8px;font:500 11.5px/1 var(--sans);color:var(--clay);border:1px solid currentColor;border-radius:999px;padding:3px 7px;vertical-align:2px}
.cvhas{margin:12px 0 0;font-size:14.5px;color:var(--ink-2)}
.cvhas b{font-weight:500;color:var(--clay)}


/* ===== flow v4 (Oct 11): one decision per screen, sticky action bar ===== */
.actbar{position:sticky;bottom:0;z-index:20;margin:36px calc(-1 * var(--edge)) -120px;padding:12px var(--edge) calc(12px + env(safe-area-inset-bottom));background:rgba(255,255,255,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line)}
.actbar-in{display:flex;align-items:center;gap:14px}
.actbar .btn{margin-left:auto;min-width:150px}
.actnote{font-size:14px;color:var(--mute)}
.back{background:none;border:0;padding:8px 4px;font:500 15px/1 var(--sans);color:var(--ink-2);cursor:pointer}
.back:hover{color:var(--ink)}
@media(max-width:520px){.actbar .btn{min-width:0;flex:1;max-width:220px}}
.app{padding-bottom:120px}
.choices.sits{grid-template-columns:1fr 1fr;margin-top:14px}
@media(max-width:520px){.choices.sits{grid-template-columns:1fr}}
.ck-role{margin-top:28px}
.ck-role b{font-size:26px}

/* the week: a plain checklist, the whole row is the target */
.tasks{list-style:none;margin:24px 0 0;padding:0;border-top:1px solid var(--line)}
.trow{display:grid;grid-template-columns:28px 1fr;gap:14px;align-items:start;padding:15px 2px;border-bottom:1px solid var(--line);cursor:pointer;-webkit-tap-highlight-color:transparent}
.trow:hover .tick{border-color:var(--ink)}
.tick{width:24px;height:24px;margin-top:1px;border-radius:7px;border:1.5px solid var(--ink);background:var(--ink);position:relative}
.tick::after{content:"";position:absolute;left:7px;top:3px;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.trow input:focus-visible + .tick{outline:2px solid var(--clay);outline-offset:3px}
.tlab{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;margin:0;text-align:left}
.tm{font-size:17px;line-height:1.35;color:var(--ink)}
.td{font-size:14.5px;line-height:1.4;color:var(--mute)}
.trow .oncv{margin:4px 0 0;align-self:flex-start}
.trow.off .tick{background:#fff;border-color:rgba(21,23,28,.35)}
.trow.off .tick::after{display:none}
.trow.off .tm,.trow.off .td{color:rgba(21,23,28,.4);text-decoration:line-through;text-decoration-color:rgba(21,23,28,.25)}
.warn{color:#9A3A24!important;min-height:1em}
.warn:empty{display:none}

/* ===== plan page: summary on top, then tabs ===== */
.rep h1{margin-bottom:6px}
.short .sh-m{font:inherit;text-align:left;border:0;cursor:pointer}
.tabs{position:sticky;top:0;z-index:15;display:flex;gap:4px;margin:28px calc(-1 * var(--edge)) 0;padding:10px var(--edge);background:rgba(255,255,255,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
/* When the strip scrolls, say so: the last tabs hold the calendar and the weekly email. */
.tabs.has-more{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 44px),rgba(0,0,0,.15));mask-image:linear-gradient(90deg,#000 calc(100% - 44px),rgba(0,0,0,.15))}
.tabs.has-more.has-prev{-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.15),#000 36px,#000 calc(100% - 44px),rgba(0,0,0,.15));mask-image:linear-gradient(90deg,rgba(0,0,0,.15),#000 36px,#000 calc(100% - 44px),rgba(0,0,0,.15))}
.tabwrap{position:relative}
.tabwrap .more-hint{position:absolute;right:2px;top:50%;transform:translateY(-50%);z-index:16;pointer-events:none;font:600 15px/1 var(--sans);color:var(--ink-2);opacity:0;transition:opacity .2s}
.tabs.has-more+.more-hint{opacity:1}
.tabs button{flex:none;font:500 14.5px/1 var(--sans);padding:14px 16px;border-radius:999px;border:0;background:transparent;color:var(--ink-2);cursor:pointer;white-space:nowrap}
.tabs button:hover{background:#F5F6F8;color:var(--ink)}
.tabs button[aria-selected="true"]{background:var(--ink);color:#fff}
.panel{display:none;padding-top:26px}
.panel.on{display:block;animation:pin .35s var(--in)}
@keyframes pin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.panel.on{animation:none}}
.ph{font-size:clamp(28px,3.4vw,40px);margin:0 0 10px}
.block{margin-top:36px}
.block h2{font-size:clamp(24px,2.8vw,32px);margin:0 0 10px}
.todo{margin:6px 0 10px;padding-left:22px}
.todo li{margin:10px 0;color:var(--ink-2)}
.todo li b{color:var(--ink);font-weight:500}
.folds{border-top:1px solid var(--line);margin-top:12px}
.fold{border-bottom:1px solid var(--line)}
.fold>summary{list-style:none;cursor:pointer;padding:16px 34px 16px 0;position:relative;font-weight:500;font-size:17px;line-height:1.35}
.fold>summary::-webkit-details-marker{display:none}
.fold>summary::after{content:"+";position:absolute;right:4px;top:13px;font:300 24px/1 var(--sans);color:var(--clay)}
.fold[open]>summary::after{content:"–"}
.fold>p,.fold>div,.fold>ul{margin:0 0 16px;color:var(--ink-2);font-size:16px}
.fold.lg>summary{font-family:var(--serif);font-weight:400;font-size:24px;padding:18px 34px 18px 0}
.fold.lg>summary::after{top:18px}
.fold .oncv{margin-left:8px}
.nextp{margin-top:40px;display:flex;justify-content:flex-end}
@media(max-width:520px){.nextp .btn{width:100%}}

/* moves as cards that open */
details.move{display:block;margin-top:10px;padding:0;background:#F5F6F8;border-radius:18px}
details.move.rec{background:#fff;box-shadow:inset 0 0 0 2px var(--ink)}
details.move>summary{list-style:none;cursor:pointer;padding:18px 44px 18px 20px;position:relative;display:flex;flex-direction:column;gap:4px}
details.move>summary::-webkit-details-marker{display:none}
details.move>summary::after{content:"+";position:absolute;right:18px;top:18px;font:300 24px/1 var(--sans);color:var(--clay)}
details.move[open]>summary::after{content:"–"}
details.move .rank{font-size:12.5px}
details.move .mt{font-size:20px;font-weight:500;line-height:1.3}
details.move .mr{font-size:14px;color:var(--mute)}
details.move dl{margin:0;padding:0 20px 18px}
details.move .cvhas{padding:0 20px 18px;margin:0}

.weeks{margin-top:18px}
.weeks .wk{background:#F5F6F8}
.courses{border-top:1px solid var(--line)}
.course{padding:14px 0;border-bottom:1px solid var(--line)}
.co-h{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.co-h b{font-weight:500}
.course p{margin:4px 0 0;font-size:15px;color:var(--ink-2)}
.course .co-m{color:var(--mute);font-size:14px}
.wrong{padding-left:20px}
.meta{margin-top:28px}
.endbar{align-items:center;gap:12px 18px}
.rate{margin-top:28px}
@media print{.tabs,.nextp,.actbar,.rate{display:none!important}.panel{display:block!important;padding-top:12px}.rep details>*{display:block}}


/* ===== start tab, saved plans (Oct 11) ===== */
.cta-start .btn{white-space:nowrap}
.cta-start{display:flex;align-items:center;gap:12px 16px;flex-wrap:wrap;margin-top:16px}
@media(max-width:520px){.cta-start .btn{flex:1}}
.first{margin-top:16px;padding:20px;border-radius:20px;background:var(--sky)}
.first .k{font-family:var(--sans);font-size:13px;color:var(--clay)}
.f-t{margin:8px 0 4px;font-size:19px;line-height:1.4;font-weight:500;color:var(--ink)}
.f-p{margin:0;font-size:15px;color:var(--ink-2)}
.f-done{display:inline-flex;align-items:center;gap:10px;margin-top:14px;font-size:15px;cursor:pointer}
.f-done input{width:20px;height:20px;accent-color:var(--ink)}
.block.step{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
.step h3{font-size:22px;font-weight:500;margin:0 0 6px}
.step .btn{margin-top:14px}
.cal{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.cal label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--mute);flex:1;min-width:140px}
.cal select,.cal input{font:inherit;font-size:16px;color:var(--ink);background:#F5F6F8;border:1px solid transparent;border-radius:14px;padding:12px 14px;width:100%}
.cal select:focus,.cal input:focus,.mail input:focus{outline:2px solid var(--ink)}
.mail{margin-top:14px}
.mail-row{display:flex;gap:8px;flex-wrap:wrap}
.mail-row input[type=email]{flex:1;min-width:0;font:inherit;font-size:17px;color:var(--ink);background:#F5F6F8;border:1px solid transparent;border-radius:999px;padding:13px 18px}
.mail-row .btn{margin-top:0}
@media(max-width:520px){.mail-row{flex-direction:column}.mail-row input[type=email]{flex:none;width:100%}}
.mail .small:empty{display:none}
.fine-print{margin-top:12px}
.fine-print a{color:var(--clay)}
.acts{display:flex;gap:18px;flex-wrap:wrap}
.link.danger{color:#9A3A24}
/* session ticks in the 13 weeks tab */
.sess{grid-template-columns:24px 44px 1fr;cursor:pointer;align-items:start}
.sess .tick{width:22px;height:22px;border-radius:6px;background:#fff;border:1.5px solid rgba(21,23,28,.35);margin-top:1px}
.sess .tick::after{display:none}
.sess.done .tick{background:var(--moss);border-color:var(--moss)}
.sess.done .tick::after{display:block;left:6px;top:2px;width:6px;height:11px}
.sess.done > span:last-child{color:var(--mute);text-decoration:line-through;text-decoration-color:rgba(21,23,28,.25)}
.sess input:focus-visible + .tick{outline:2px solid var(--clay);outline-offset:2px}
@media print{.cta-start,#p-start{display:none!important}}


/* ===== the coach (Oct 11) ===== */
.coach .q{font-size:19px;font-weight:500;margin:6px 0 10px;color:var(--ink)}
.ans{display:flex;flex-wrap:wrap;gap:8px}
.app .btn-2.sm,.app .btn.sm{padding:11px 16px;font-size:15px;margin-top:0}
.coach-reply b{display:block;font-size:18px;font-weight:500;margin-top:6px}
.coach-reply p{margin:4px 0 0;color:var(--ink-2);font-size:15.5px}
.coach-reply:empty{display:none}
.more-room{margin-top:14px}
.more-room>summary{cursor:pointer;font:500 15px/1.4 var(--sans);color:var(--clay);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}
.more-room .row{margin-top:8px}
.why{margin-top:22px}
.why blockquote{margin:0 0 8px;padding-left:16px;border-left:3px solid var(--amber);font-family:var(--serif);font-size:22px;line-height:1.35;color:var(--ink)}
.why .mail-row input{flex:1;min-width:0;font:inherit;font-size:16px;color:var(--ink);background:#F5F6F8;border:1px solid transparent;border-radius:999px;padding:12px 18px}
.why .mail-row .btn-2{margin-top:0}
.partner{margin-top:26px;padding:18px 20px;border-radius:20px;background:#F5F6F8}
.partner h4{margin:0 0 6px;font-size:18px;font-weight:500}
.pt-row{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.pt-row input{flex:1;min-width:150px;font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:999px;padding:12px 16px}
.pt-row input:focus,.why input:focus,.why-in input:focus{outline:2px solid var(--ink)}
.pt-form .small:empty{display:none}
.why-in{display:flex;flex-direction:column;gap:6px;margin-top:12px;font-size:13.5px;color:var(--mute)}
.why-in input{font:inherit;font-size:16px;color:var(--ink);background:#F5F6F8;border:1px solid transparent;border-radius:999px;padding:12px 18px}
.ans[hidden],.coach .q[hidden],.app .row[hidden]{display:none}

.rep .asof{margin:-6px 0 20px;color:var(--mute)}
.rep .sh-n b.warm{color:var(--warm)}

/* ---- 13-week plan: a rail for shape, months for rhythm ---- */
.rail-w{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:14px 0 6px}
.rail{display:flex;gap:3px;flex:1;min-width:220px}
.rail .rk{flex:1;height:10px;border-radius:3px;background:#E4E8ED;position:relative}
.rail .rk.part{background:linear-gradient(90deg,var(--seg-keep) 50%,#E4E8ED 50%)}
.rail .rk.full{background:var(--seg-keep)}
.rail .rk.now{box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--clay)}
.rail-n{font-size:13px;color:var(--mute);white-space:nowrap}
.mon{margin-top:26px}
.mon-h{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.mon-h h3{margin:0;font-family:var(--serif);font-weight:400;font-size:21px;letter-spacing:-.01em}
.mon-h span{font-size:13px;color:var(--mute)}
.wk .t .out{display:block;font-size:13px;color:var(--mute);margin-top:3px}
.wk.now>summary{background:var(--sky)}
.wk.now>summary .n{color:var(--clay-deep);font-weight:500}
@media(max-width:560px){.rail .rk{height:8px}.mon-h{gap:4px}.wk .t .out{font-size:12.5px}}

/* The action that follows the numbers, given its own weight. */
.nextmove{display:block;width:100%;text-align:left;margin-top:10px;padding:18px 22px;border-radius:22px;
  background:#fff;border:0;box-shadow:inset 0 0 0 1.5px var(--ink);font:inherit;color:var(--ink);cursor:pointer;
  transition:box-shadow .15s,transform .15s var(--in)}
.nextmove:hover{box-shadow:inset 0 0 0 1.5px var(--clay);transform:translateY(-1px)}
.nextmove .k{display:block;font-size:12.5px;color:var(--mute)}
.nextmove b{display:block;font-weight:500;font-size:clamp(17px,2vw,20px);line-height:1.25;margin:3px 0 6px}
.nextmove .s{font-size:14px;color:var(--clay)}
.wk[open] .t .out{display:none}

/* Long-form report prose. This used to inherit a 59px display serif with
   line-height 1 from the site-wide `.big`, which made it unreadable. */
.fold>p,.fold>div,.fold>ul,.fold>ol{font-family:var(--sans);font-size:16.5px;line-height:1.62;color:var(--ink-2);max-width:580px}
.fold>p{margin:0 0 15px}
.fold>p:last-child{margin-bottom:18px}
.fold>p>b,.fold>p>strong{color:var(--ink);font-weight:500}
.fold .decline p,.fold .decline h4{max-width:580px}
.rep .block>p,.rep .panel>p{max-width:580px}

/* Instructions people have to act on, rather than fine print. */
.rep .block.step>p.small{font-size:15.5px;line-height:1.6;color:var(--ink-2);max-width:580px}
.rep .block.step>h3{margin-bottom:4px}
.rep .first .f-p{font-size:15.5px;line-height:1.6;color:var(--ink-2)}

/* AI roles tab and the weekly AI session */
.nextmove.ai{background:#F5F6F8;box-shadow:none}
.nextmove.ai:hover{box-shadow:inset 0 0 0 1.5px var(--clay)}
.aitag{display:inline-block;margin-right:8px;font:500 11.5px/1 var(--sans);color:var(--clay);background:var(--sky);border-radius:999px;padding:4px 8px;vertical-align:1px}
.sess.ai{background:linear-gradient(90deg,rgba(220,230,247,.45),rgba(220,230,247,0) 70%);border-radius:0 0 10px 10px}
.co-a{font-weight:500;color:var(--ink);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}
.co-a:hover{text-decoration-color:var(--clay)}
.fold p b{font-weight:500}
.aiweek{background:#F5F6F8;border-radius:18px;padding:18px 20px}
.aiweek h2{margin-top:0}

/* AI roles: your path card, group chips, horizon and fit tags, the training steps */
.aipick{margin-top:18px;padding:20px 22px;border-radius:22px;background:#fff;box-shadow:inset 0 0 0 2px var(--ink)}
.aipick .k{display:block;font-size:12.5px;color:var(--mute)}
.aipick>b{display:block;font-weight:500;font-size:clamp(20px,2.4vw,26px);line-height:1.25;margin:4px 0 8px}
.aipick p{margin:10px 0 0;color:var(--ink-2)}
.aipick .row{margin-top:14px}
.pills{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.pill{display:inline-block;font:500 12px/1 var(--sans);border-radius:999px;padding:5px 9px;white-space:nowrap}
.pill.h-now{background:#DCEFE4;color:#1D5E40}
.pill.h-emerging{background:#F7EBC8;color:#6B4E07}
.pill.h-next{background:var(--sky);color:var(--clay-deep)}
.pill.f-strong{box-shadow:inset 0 0 0 1.5px var(--ink);color:var(--ink)}
.pill.f-good{box-shadow:inset 0 0 0 1px rgba(21,23,28,.4);color:var(--ink-2)}
.pill.f-stretch{box-shadow:inset 0 0 0 1px var(--line);color:var(--mute)}
.pill.mine{background:var(--clay);color:#fff}
.pills .mr{font-size:13.5px;color:var(--mute);margin-left:4px}
.hzkey{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px;font-size:14px;color:var(--mute)}
.hzkey li{display:flex;gap:8px;align-items:center}
.chips{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 10px;margin:0 -2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.chips::-webkit-scrollbar{display:none}
.chip{all:unset;cursor:pointer;flex:0 0 auto;font:500 14px/1 var(--sans);padding:10px 14px;border-radius:999px;background:#F5F6F8;color:var(--ink-2)}
.chip:hover{box-shadow:inset 0 0 0 1.5px var(--clay)}
.chip[aria-selected=true]{background:var(--ink);color:#fff}
.chip:focus-visible{outline:2px solid var(--clay);outline-offset:2px}
.ailist>.small{margin:4px 0 4px}
details.airole .pills{margin-top:4px}
.aitrain{padding:4px 20px 20px}
.aitrain h3{font-size:18px;font-weight:500;margin:6px 0 10px}
.aipath{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.aipath>li{display:grid;grid-template-columns:96px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.aipath .st-k{font-size:12.5px;color:var(--clay);padding-top:3px}
.aipath p{margin:3px 0 0;font-size:15px;color:var(--ink-2)}
.aipath .co-m{color:var(--mute);font-size:14px}
.ap-h{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.need{flex:0 0 auto;font:500 11.5px/1 var(--sans);border-radius:999px;padding:4px 8px}
.need.required{background:var(--ink);color:#fff}
.need.optional{box-shadow:inset 0 0 0 1px var(--line);color:var(--mute)}
.aitrain .tot{margin:10px 0 0}
.aiweeks{margin-top:12px}
.aiweeks>summary{cursor:pointer;color:var(--clay);font-size:15px}
.aiweeks ol{margin:10px 0 0;padding-left:28px;font-size:15px;color:var(--ink-2)}
.aiweeks li{margin:0 0 8px}
.aiweeks .p{display:block;color:var(--mute);font-size:13.5px}
.aitrain .row{margin-top:16px}
@media(max-width:560px){.aipath>li{grid-template-columns:1fr;gap:4px}.aitrain{padding:4px 16px 18px}}

.tail{border-bottom:1px solid var(--line)}
.tail>summary{list-style:none;cursor:pointer;padding:12px 0;font-size:14px;color:var(--clay)}
.tail>summary::-webkit-details-marker{display:none}
.tail>summary::before{content:"+ ";font-weight:500}
.tail[open]>summary::before{content:"– "}
.tail .task:last-child{border-bottom:0}
.app .watch{margin:14px 0 0}
