/* Machina 08 "Signal" r3. Light, system fonts, no requests. Loudness is a budget: the
CTA, seat count, 90 minute bar and Resume spend it. State is icon plus sentence. */
:root{
color-scheme:light;
  --g:16px;
  --k:#15120e;
  --w:#fff;
  --w2:#f8f5f0;
  --b:#1d4ed8;
  --bl:#a9c3ff;
  --wn:#8a4412;
  --m:#4a443b;
  --mk:#ddd7cd;
  --n:#e4dfd5;
  --n2:#746e63;
  --fi:#efeae1;
  --r:12px;
  --sa:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --mo:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  --f1:clamp(1.4rem,5.95vw,3.4rem);
  --f2:clamp(1.5rem,5.6vw,2.4rem);
  --f:1rem;
  --fm:0.875rem;
  --fs:0.8125rem;
  --fn:clamp(1.75rem,7.4vw,2.75rem);
  --ft:clamp(1.6rem,6.8vw,2.6rem);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-bottom:120px}
body{margin:0;background:var(--w);color:var(--k);font-family:var(--sa);font-size:var(--f);line-height:1.55;overflow-wrap:break-word}
svg{max-width:100%}
h1,h2,h3,p,ul,ol,figure,pre{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit}
.wrap{width:100%;max-width:1080px;margin:0 auto;padding-inline:var(--g)}
.band{padding-block:44px}
.band--warm{background:var(--w2)}
.band--signal,.resume,.seg--sig{background:var(--b);color:var(--w)}
h1,h2,h3{font-weight:800;letter-spacing:-.028em}
.h2{font-size:var(--f2);line-height:1.06;text-wrap:balance}
.h3{font-size:1.125rem;line-height:1.25}
.kicker,.scale-cap,.axis,.cadence-head .t,.sheet h3,.promptbox .ph,.ntype,.module-head .ml,.cohort-marker .ct{font-size:var(--fs);font-weight:800;text-transform:uppercase;letter-spacing:.12em}
.kicker{letter-spacing:.14em;display:flex;align-items:center;gap:8px;margin-bottom:12px;color:var(--b)}
.kicker::before{content:"";width:20px;height:6px;border-radius:3px;background:currentColor;flex:0 0 auto}
.band--signal .kicker{color:var(--w)}
.lead{font-size:1.0625rem;line-height:1.55;max-width:42ch;margin-top:12px;color:var(--m)}
.band--signal .lead{color:#e8eeff}
.micro{font-size:var(--fm);line-height:1.45;color:var(--m)}
.band--signal .micro{color:#e8eeff}
.btn,.wordmark,.head-nav a,.foot-nav a,.jump,.sw-act{display:inline-flex;align-items:center;font-weight:800;text-decoration:none;max-width:100%}
.btn,.head-nav a,.foot-nav a,.jump{justify-content:center}
.btn{gap:8px;font:inherit;font-weight:800;font-size:1.0625rem;letter-spacing:-.015em;min-height:50px;padding:12px 15px;border:2px solid var(--b);border-radius:10px;background:var(--b);color:var(--w);cursor:pointer;transition:background-color 130ms ease,transform 130ms ease}
.btn:hover{background:#173fae;border-color:#173fae}
.btn:active{transform:translateY(1px)}
.btn--block{width:100%}
.btn--paper{background:var(--w);color:var(--k);border-color:var(--w)}
.btn--paper:hover{background:var(--fi);border-color:var(--fi)}
.btn--ink{background:var(--k);color:var(--w);border-color:var(--k)}
.btn--ink:hover{background:#2a251d;border-color:#2a251d}
:focus-visible{outline:3px solid var(--b);outline-offset:3px}
.band--signal :focus-visible,.tabs :focus-visible{outline-color:var(--w)}
.field-row{display:flex;flex-wrap:wrap;gap:8px}
.field-row label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.eml{flex:1 1 130px;min-width:0;font:inherit;font-size:var(--f);padding:12px;border:2px solid var(--k);border-radius:10px;background:var(--w);color:var(--k);min-height:50px}
.eml::placeholder{color:#5a544a}
.site-head,.hero,.learner-bar,.sticky,.tabs,.jump,.promptbox .ph{background:var(--k);color:var(--w)}
.site-head .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 12px;min-height:44px}
.wordmark{font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;gap:7px;min-height:44px}
.wordmark b{background:var(--b);color:var(--w);padding:3px 5px;border-radius:4px;font-weight:800}
.head-nav{display:flex;flex-wrap:wrap;gap:0 16px}
.head-nav a,.foot-nav a{min-height:44px;min-width:44px;font-weight:600}
.head-nav a{font-size:var(--fm);color:var(--mk);white-space:nowrap;border-bottom:3px solid transparent}
.head-nav .opt{display:none}
.head-nav a:hover,.head-nav a:focus-visible{color:var(--w);border-bottom-color:var(--bl)}
.hero{padding:2px 0 26px}
.hero h1{font-size:var(--f1);line-height:1.02;letter-spacing:-.035em;text-wrap:balance}
.hero .sub{font-size:var(--f);line-height:1.5;margin-top:6px;color:#e6e1d8;max-width:44ch}
.seatbox{margin-top:5px}
.seatline{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-top:5px}
.seatnum{font-size:var(--ft);line-height:1;font-weight:800;letter-spacing:-.05em;color:var(--bl)}
.seatcap{font-size:var(--f);font-weight:700;letter-spacing:.01em}
.rail{display:block;height:11px;border:2px solid var(--mk);border-radius:6px;margin-top:8px;max-width:320px;overflow:hidden}
.rail i{display:block;height:100%;width:38.8%;background:var(--bl);border-radius:3px}
.offer{font-size:var(--f);line-height:1.4;color:var(--w);font-weight:700;letter-spacing:-.006em}
.offer--date{font-weight:600;color:#e6e1d8;margin-top:1px}
.hero form{margin-top:8px}
.hero .micro{margin-top:8px;color:var(--mk)}
.proof{display:flex;flex-direction:column;border-top:2px solid var(--k)}
.proof li{display:flex;align-items:baseline;gap:12px;padding:10px 0;border-bottom:1px solid var(--n)}
.proof .n{font-size:var(--fn);line-height:1;font-weight:800;letter-spacing:-.05em;min-width:2.6ch}
.proof .l{font-size:var(--f);font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--m)}
.diff h2{max-width:16ch}
.diff .lead{max-width:46ch;font-size:var(--f)}
.scale-card,.sheet{background:var(--w);color:var(--k);border-radius:var(--r)}
.scale-card{padding:18px 14px 16px;margin-top:22px}
.scale-cap{letter-spacing:.13em;color:var(--m);margin-bottom:10px}
.scale-bar{display:flex;height:clamp(96px,26vw,150px)}
.seg,.tabs a{display:flex;flex-direction:column;align-items:center;min-width:0}
.seg{justify-content:flex-end;padding:6px 2px 6px 0;min-width:0;color:var(--w);box-shadow:inset -2px 0 0 var(--w)}
.seg:first-child{border-radius:5px 0 0 5px}
.seg:last-child{border-radius:0 5px 5px 0;box-shadow:none;padding-right:0}
.seg--ink{background:var(--k)}
.seg .nm{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-top:5px;display:none;white-space:nowrap}
.s40{flex:40 1 0}
.s25{flex:25 1 0}
.s10{flex:10 1 0}
.s5{flex:5 1 0}
.seg .m{font-weight:800;letter-spacing:-.04em;line-height:1;font-size:clamp(15px,5.4vw,34px)}
.axis{display:flex;justify-content:space-between;font-weight:700;color:var(--m);margin-top:8px;letter-spacing:.06em}
.blocks{margin-top:22px}
.blocks li,.access-list li{display:flex;gap:12px;padding:14px 0;border-top:1px solid var(--n);font-size:var(--f)}
.blocks li:last-child,.access-list li:last-child{border-bottom:1px solid var(--n)}
.blocks .b-n{flex-basis:44px;height:44px;border-radius:11px;font-size:1.25rem;background:var(--k);color:var(--w)}
.blocks .b-n.is-sig{background:var(--b)}
.blocks h3{font-size:1.125rem}
.blocks h3 span{font-weight:700;color:var(--b)}
.blocks p{font-size:var(--f);color:var(--m);margin-top:3px;max-width:46ch}
.courses,.sw-list{border-top:1px solid var(--n)}
.courses li,.sw-list li,.paths li{border-bottom:1px solid var(--n)}
.courses{margin-top:20px}
.c-row{display:flex;gap:12px;padding:16px 0}
.c-n{flex:0 0 34px;font-size:1.375rem;font-weight:800;letter-spacing:-.04em;color:var(--n2);line-height:1.2}
.is-flag .c-n{color:var(--b)}
.c-b{min-width:0}
.c-b h3{font-size:1.125rem;line-height:1.25}
.c-meta{font-size:var(--f);color:var(--m);margin-top:5px;line-height:1.5}
.tag-flag,.resume .tag{font-size:.6875rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;background:var(--w);color:var(--k)}
.tag-flag{display:inline-block;vertical-align:baseline;background:var(--b);color:var(--w);padding:2px 6px;border-radius:2px;margin-right:6px}
.c-leave{font-size:var(--f);margin-top:6px}
.c-leave b{font-weight:800}
.courses-note{margin-top:16px;font-size:var(--f);color:var(--m);max-width:50ch}
.honesty{background:var(--w);border:1px solid var(--n);border-left:6px solid var(--b);border-radius:var(--r);padding:20px 18px;margin-top:22px}
.honesty .line{font-size:1.25rem;line-height:1.25;font-weight:800;letter-spacing:-.02em;display:flex;gap:10px}
.honesty .line svg{flex:0 0 auto;margin-top:3px;color:var(--b)}
.honesty p{margin-top:12px;font-size:var(--f);color:var(--m);max-width:52ch}
.access-list{margin-top:18px}
.access-list .a-n{flex:0 0 auto;font-weight:800;font-size:var(--f);color:var(--b);letter-spacing:.02em}
.aud-block + .aud-block{margin-top:32px;padding-top:28px;border-top:1px solid var(--n)}
.aud{margin-top:12px}
.aud li{display:flex;gap:10px;padding:8px 0;font-size:var(--f);line-height:1.5}
.aud li svg{flex:0 0 auto;margin-top:4px}
.final h2{font-size:var(--f2);line-height:1.06;margin-top:14px;max-width:18ch}
.final .seatnum{color:var(--w)}
.final .rail{border-color:var(--w);max-width:360px}
.final .rail i{background:var(--w)}
.final form{margin-top:18px}
.final .conds{margin-top:16px;font-size:var(--f);line-height:1.5;color:#e8eeff;max-width:54ch}
.site-foot{background:var(--k);color:var(--mk);padding:32px 0 28px;font-size:var(--f)}
.site-foot .wordmark{color:var(--w)}
.foot-nav{display:flex;flex-wrap:wrap;gap:2px 20px;margin:12px 0}
.foot-nav a{color:var(--w);font-size:var(--f)}
.site-foot p{max-width:56ch}
.foot-link{display:inline-block;min-height:44px;padding:11px 0;font-weight:700}
.site-foot a{color:var(--bl)}
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;align-items:center;gap:12px;padding:7px var(--g) calc(7px + env(safe-area-inset-bottom,0px));box-shadow:0 -2px 14px #00000038}
.sticky .s-left{font-size:var(--fm);font-weight:800;line-height:1.2;flex:0 1 auto;white-space:nowrap}
.sticky .s-left b{color:var(--bl);font-size:1.0625rem}
.sticky .btn{flex:1 1 auto;min-height:46px}
.has-sticky{padding-bottom:86px}
.skip{position:absolute;left:0;top:-140px;z-index:60;background:var(--w);color:var(--k);font-weight:800;padding:14px 16px;border:3px solid var(--b);border-radius:0 0 10px 0;text-decoration:none}
.skip:focus{top:0}
.learner-bar{padding:10px 0 14px}
.who{display:flex;align-items:center;gap:11px;min-width:0}
.avatar{width:44px;height:44px;border-radius:12px;background:var(--b);color:var(--w);font-size:.9375rem}
.who .nm,.sw-txt b{display:block;font-size:var(--f);font-weight:800;letter-spacing:-.02em;line-height:1.2}
.who .sb{font-size:var(--fm);color:var(--mk)}
.cadence{margin-top:12px}
.cadence-head,.path-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.cadence-head .t{color:var(--mk)}
.cadence-head .v{font-size:var(--f);font-weight:800}
.cad-bar{display:flex;gap:6px;margin-top:7px}
.cad-bar span,.step-bar span{flex:1 1 0;height:12px;border-radius:6px;border:2px solid var(--mk)}
.cad-bar .on{background:var(--bl);border-color:var(--bl)}
.switch{margin-top:12px}
.switch>summary{list-style:none;display:flex;align-items:center;gap:12px;min-height:56px;padding:9px 12px;border:2px solid #7f7869;border-radius:var(--r);background:#221e18;color:var(--w);cursor:pointer}
.switch>summary::-webkit-details-marker{display:none}
.switch>summary:hover{border-color:var(--w)}
.sw-badge{width:36px;height:36px;border-radius:9px;background:var(--bl);color:var(--k);font-size:var(--f)}
.sw-txt{min-width:0;flex:1 1 auto}
.sw-txt b{line-height:1.25}
.sw-txt span{display:block;font-size:var(--fm);color:var(--mk)}
.sw-act{flex:0 0 auto;gap:6px;font-size:var(--fm);color:var(--bl);text-transform:uppercase;letter-spacing:.08em}
.switch[open]>summary .sw-act svg{transform:rotate(180deg)}
.sheet{margin-top:10px;padding:18px 14px}
.sheet h2{font-size:1.25rem}
.sheet .note{font-size:var(--f);color:var(--m);margin-top:8px;max-width:46ch}
.sheet h3{letter-spacing:.13em;color:var(--m);margin:24px 0 4px}
.sw-list{margin-top:14px}
.sw-row{display:flex;gap:11px;padding:11px 0;align-items:flex-start}
.sw-n{flex:0 0 30px;font-size:var(--f);font-weight:800;color:var(--n2);padding-top:3px}
.sw-list .is-active .sw-n{color:var(--b)}
.sw-body{min-width:0;flex:1 1 auto}
.sw-body a{font-size:var(--f)}
.sw-body .plain{font-size:var(--f)}
.sw-meta{font-size:var(--fm)}
.sw-meta,.paths span{color:var(--m)}
.sw-meta{margin-top:2px}
.sw-status,.nstatus{display:block;font-size:var(--f);line-height:1.5;color:var(--m)}
.sw-status{padding:2px 0 6px}
.sw-status svg{vertical-align:-3px;margin-right:7px;color:var(--k)}
.paths li{display:flex;gap:11px;padding:12px 0;font-size:var(--f)}
.paths li:first-child{border-top:1px solid var(--n)}
.paths svg{flex:0 0 auto;margin-top:4px;color:var(--m)}
.paths b{display:block;font-weight:800}
.path-wrap{padding-top:14px;padding-bottom:24px}
.resume{border-radius:14px;padding:16px 16px 18px;margin-top:0}
.resume .tag{display:inline-flex;align-items:center;gap:7px;padding:4px 8px;border-radius:3px}
.resume .rn{font-size:var(--fm);font-weight:800;letter-spacing:.08em;margin-top:14px;color:#e8eeff}
.resume h2{font-size:clamp(1.375rem,6vw,2rem);line-height:1.1;margin-top:5px}
.resume .rmeta{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:12px;font-size:var(--f);font-weight:700}
.step-bar{display:flex;gap:6px;margin-top:14px}
.step-bar span{border-color:var(--w)}
.step-bar .on{background:var(--w)}
.resume .btn{margin-top:16px}
.promptbox,.node--card .node-inner{background:var(--w);border:1px solid var(--n2);border-radius:var(--r)}
.promptbox{margin-top:26px;overflow:hidden}
.promptbox .ph{padding:11px 13px;letter-spacing:.11em}
.promptbox pre{font-family:var(--mo);font-size:var(--f);line-height:1.55;white-space:pre-wrap;padding:14px 13px;margin:0;background:var(--w2);color:var(--k)}
.promptbox .pf{padding:13px}
.copied-live{display:block;padding:0 13px 13px;font-size:var(--f);font-weight:700}
.path-head{margin:34px 0 0}
.path-head h2{font-size:1.375rem}
.path-head .pc{font-size:var(--f);font-weight:700;color:var(--m)}
.path-list{margin-top:14px}
.node{position:relative;padding-bottom:14px}
.node--line::before{content:"";position:absolute;left:calc(28px + var(--i,0px));top:10px;bottom:-4px;width:4px;border-radius:2px;background:var(--fi);z-index:0}
.node--line:last-child::before{display:none}
.node--line:has(+ .node--module)::before{bottom:2px}
.node--line.is-done::before{background:var(--k)}
.node-inner{display:flex;gap:12px;position:relative;z-index:1}
.avatar,.sw-badge,.blocks .b-n,.mark{flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-weight:800}
.mark{flex-basis:60px;width:60px;height:60px;border-radius:15px;background:var(--w);border:3px solid var(--k);color:var(--k)}
.mark--sig{background:var(--b);border-color:var(--b);color:var(--w)}
.mark--warn{border-color:var(--wn);color:var(--wn)}
.mark--grey{background:var(--fi);border-color:var(--n2);color:#3a352d}
.mark--dash{border-style:dashed}
.nbody{min-width:0;flex:1 1 auto;padding-top:3px}
.ntype{display:flex;align-items:center;gap:6px;letter-spacing:.11em;color:var(--m)}
.ntitle{font-size:1.125rem;line-height:1.25;margin-top:4px}
.ntitle a,.sw-body a,.locked-title,.sw-body .plain{overflow-wrap:anywhere;display:inline-block;min-height:44px;padding:9px 0;max-width:100%;font-weight:800;color:var(--k)}
.ntitle a,.sw-body a{text-decoration:underline;text-decoration-color:var(--b);text-decoration-thickness:2px;text-underline-offset:4px}
.ntitle a:hover,.sw-body a:hover{background:var(--b);color:var(--w);text-decoration-color:var(--w)}
.locked-title,.sw-body .plain{color:#3a352d}
.nmeta{font-size:var(--fm);color:var(--m);font-weight:700}
.nstatus{margin-top:6px}
.state{font-weight:800;color:var(--k)}
.state--sig{color:var(--b)}
.state--warn{color:var(--wn)}
.state--lock{color:#3a352d}
.module-head{margin:26px 0 18px;padding-top:16px;border-top:5px solid var(--b)}
.module-head .ml{letter-spacing:.14em;color:var(--b)}
.module-head h3{font-size:1.25rem;line-height:1.15;margin-top:5px}
.node--card{--i:14px}
.node--card .node-inner,.node--today .node-inner{padding:13px}
.node--day5 .node-inner{background:var(--w2)}
.node--certificate .node-inner{border-top:5px solid var(--b)}
.node--today{--i:16px}
.node--today .node-inner{border:3px solid var(--k);border-radius:14px;background:var(--w)}
.outcome{margin-top:11px;border-left:5px solid var(--b);border-radius:2px;padding-left:11px;font-size:var(--f);line-height:1.5}
.today-cta{margin-top:13px}
.cohort-marker{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:2px 0 20px}
.cohort-marker .cl{flex:1 1 auto;height:4px;border-radius:2px;background:var(--b)}
.cohort-marker .ct{letter-spacing:.1em;color:var(--b);flex:0 1 auto;min-width:0}
.dock{position:fixed;left:0;right:0;bottom:0;z-index:50;pointer-events:none}
.dock-jump{display:flex;justify-content:flex-end;padding:0 var(--g) 8px}
.jump{pointer-events:auto;border:2px solid var(--w);border-radius:24px;font:inherit;font-weight:800;font-size:var(--fm);min-height:44px;padding:8px 14px;cursor:pointer;gap:8px;box-shadow:0 3px 12px #00000047}
.jump:hover{background:var(--b);border-color:var(--w)}
.tabs{pointer-events:auto;display:flex;padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:0 -2px 14px #00000038}
.tabs a{flex:1 1 0;justify-content:center;gap:3px;min-height:58px;padding:8px 2px;text-decoration:none;color:var(--mk);font-size:.6875rem;font-weight:800}
.tabs a[aria-current="page"]{color:var(--w)}
.tabs a span{max-width:100%;overflow-wrap:anywhere;text-align:center}
.tabs a[aria-current="page"] span{border-bottom:3px solid var(--bl);padding-bottom:2px}
.has-tabs{padding-bottom:130px}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes wipe{from{transform:scaleX(0)}to{transform:none}}
.anim-rise{animation:rise 420ms ease-out both}
.anim-rise-2{animation:rise 420ms ease-out 90ms both}
.anim-wipe{transform-origin:left center;animation:wipe 620ms cubic-bezier(.2,.7,.3,1) both}
@media (prefers-reduced-motion:reduce){
*,*::before,*::after{animation-duration:.001ms !important;animation-delay:0ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
.anim-rise,.anim-rise-2,.anim-wipe{animation:none !important;opacity:1;transform:none}
}
@media (min-width:700px){
.head-nav .opt{display:inline-flex}
.proof li{gap:16px}
:root{--g:28px}
.band{padding-block:84px}
.hero{padding:44px 0 56px}
.hero .sub{font-size:1.0625rem}
.field-row{max-width:520px}
.proof{flex-direction:row;border-bottom:2px solid var(--k)}
.proof li{flex:1 1 0;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 18px;border-bottom:0;border-left:1px solid var(--n)}
.proof li:first-child{border-left:0;padding-left:0}
.proof .l{font-size:var(--fm)}
.scale-card{padding:26px 24px 22px}
.scale-bar{height:190px}
.seg{padding:10px 4px}
.seg .nm{display:block}
.blocks{display:grid;grid-template-columns:1fr 1fr;gap:0 36px}
.courses{display:grid;grid-template-columns:1fr 1fr;gap:0 36px;border-top:0}
.courses li{border-top:1px solid var(--n);border-bottom:0}
.honesty{padding:34px 30px}
.aud-grid{max-width:60ch}
.sticky{display:none}
.has-sticky{padding-bottom:0}
.resume{padding:30px 28px 30px}
.sheet{padding:26px 24px}
.mark{flex-basis:64px;width:64px;height:64px}
.node--line::before{left:calc(30px + var(--i,0px))}
.path-wrap{padding-top:30px}
.dock{position:sticky}
.has-tabs{padding-bottom:20px}
}
@media (min-width:1000px){
.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:end}
.hero h1{font-size:clamp(2.6rem,5.4vw,3.4rem)}
.honesty{display:grid;grid-template-columns:1.1fr 1fr;gap:34px;align-items:start}
.honesty p{margin-top:0}
.final-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.path-wrap{display:grid;grid-template-columns:360px 1fr;gap:48px;align-items:start}
.path-side{position:sticky;top:24px}
.path-head{margin-top:0}
.tabs{justify-content:center}
.tabs a{flex:0 0 170px}
.sw-list{columns:2;column-gap:34px}
.sw-list li{break-inside:avoid}
}
