/* Tim MacLeod coaching funnel (built 18 Oct 2026, live 24 Oct 2026). Structure from the Farhoon offer build;
   colours and voice are Tim's. Design language: a warm, plain-spoken letter from a guy who flips
   couches. Cream paper, dark espresso ink, Tim's gold as the one fill (the button, the chosen answer,
   the numerals' wash). White cards with soft corners; one dark band for his guarantee. Bricolage
   Grotesque carries headings and figures, Figtree everything else, Caveat only his signature
   (fonts chosen by Gauresh, 18 Oct 2026).
   No shadows, no gradients, no mono, no capitals labels. */


:root{
  --bg:#EFF1EC; --card:#FBFCF9; --tint:#E2E7E0; --line:#D3DAD1; --line-2:#B9C3B7;
  --ink:#16201E; --ink-2:#34433F; --ink-3:#4E5D59; --sig:#3F6E5C; --on-sig:#FFFFFF;
  --sig-ink:#335B4B; --sig-line:#335B4B; --sig-deep:#3F6E5C; --on-deep:#FFFFFF; --band:#16201E; --band-2:#1F2B28; --band-ink:#EFF1EC;
  --band-ink-2:#B8C6C0; --frame:#16201E; --sig-fill:#3F6E5C38; --sig-wash:#3F6E5C26; --band-line:#33423E;
  --mk-fill:#3F6E5C; --mk-ink:#FFFFFF; --ask-line:#3F6E5C;
  --veil:rgba(6,9,8,.88);
  /* The phone underline is a painted image, and a data URI cannot read var(--sig), so each theme
     block carries its own copy in that theme's --sig colour. */
  --ul-img:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 8' preserveAspectRatio='none'%3E%3Cpath fill='%233F6E5C' d='M2 5.2C25 2.6 52 1.6 80 2.4c13 .4 26 1.3 37 2.6.9.1 1.1 1.4.2 1.6C93 4.9 68 4.3 44 4.8 30 5.1 16 5.9 3.4 7.2 1.6 7.4.9 5.4 2 5.2Z'/%3E%3C/svg%3E");
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#0D1312; --card:#151D1B; --tint:#111816; --line:#24302D; --line-2:#33423E;
    --ink:#ECF0EC; --ink-2:#C3CEC9; --ink-3:#97A6A0; --sig:#8FB8A3; --on-sig:#0D1312;
    --sig-ink:#A5C9B6; --sig-line:#A5C9B6; --sig-deep:#335B4B; --on-deep:#F3F1E8; --band:#070B0A; --band-2:#121A18; --band-ink:#ECF0EC;
    --band-ink-2:#B8C6C0; --frame:#060908; --sig-fill:#8FB8A32E; --sig-wash:#8FB8A31F; --band-line:#24302D;
    --mk-fill:#3F6E5C; --mk-ink:#ECF0EC; --ask-line:#8FB8A366;
    --ul-img:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 8' preserveAspectRatio='none'%3E%3Cpath fill='%238FB8A3' d='M2 5.2C25 2.6 52 1.6 80 2.4c13 .4 26 1.3 37 2.6.9.1 1.1 1.4.2 1.6C93 4.9 68 4.3 44 4.8 30 5.1 16 5.9 3.4 7.2 1.6 7.4.9 5.4 2 5.2Z'/%3E%3C/svg%3E");
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0D1312; --card:#151D1B; --tint:#111816; --line:#24302D; --line-2:#33423E;
  --ink:#ECF0EC; --ink-2:#C3CEC9; --ink-3:#97A6A0; --sig:#8FB8A3; --on-sig:#0D1312;
  --sig-ink:#A5C9B6; --sig-line:#A5C9B6; --sig-deep:#335B4B; --on-deep:#F3F1E8; --band:#070B0A; --band-2:#121A18; --band-ink:#ECF0EC;
  --band-ink-2:#B8C6C0; --frame:#060908; --sig-fill:#8FB8A32E; --sig-wash:#8FB8A31F; --band-line:#24302D;
  --mk-fill:#3F6E5C; --mk-ink:#ECF0EC; --ask-line:#8FB8A366;
  --ul-img:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 8' preserveAspectRatio='none'%3E%3Cpath fill='%238FB8A3' d='M2 5.2C25 2.6 52 1.6 80 2.4c13 .4 26 1.3 37 2.6.9.1 1.1 1.4.2 1.6C93 4.9 68 4.3 44 4.8 30 5.1 16 5.9 3.4 7.2 1.6 7.4.9 5.4 2 5.2Z'/%3E%3C/svg%3E");
  color-scheme:dark;
}
:root{
  --serif:'Figtree',system-ui,-apple-system,'Segoe UI',sans-serif; --display:'Bricolage Grotesque','Figtree',system-ui,sans-serif;
  --sans:'Figtree',system-ui,-apple-system,'Segoe UI',sans-serif;
  --script:'Caveat','Segoe Script',cursive;
  --r:18px; --r-sm:12px;
  --maxw:1180px; --gut:clamp(16px,4vw,40px);
  --sec:clamp(40px,4.5vw,60px);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.65 var(--serif);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,video{display:block;max-width:100%;height:auto}
h1,h2,h3,p,ul,ol,figure{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit}
strong,b{font-weight:500}
:focus-visible{outline:2px solid var(--sig-ink);outline-offset:3px;border-radius:6px}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  /* The employer band keeps moving even here (Gauresh, 9 Oct 2026: never stop). */
  .marquee-track{animation-duration:38s!important;animation-iteration-count:infinite!important}
}

.wrap{max-width:calc(var(--maxw) + 2*var(--gut));margin:0 auto;padding:0 var(--gut)}
section{padding:var(--sec) 0}
section.tint{background:var(--tint)}

/* ------------------------------------------------------------------ type */
.d1{font-family:var(--display);font-weight:700;font-size:clamp(2.6rem,5.2vw,4.25rem);line-height:1.04;letter-spacing:-.022em;text-wrap:balance}
.d2{font-family:var(--display);font-weight:700;font-size:clamp(2rem,3.6vw,3rem);line-height:1.08;letter-spacing:-.018em;text-wrap:balance}
.d3{font-family:var(--display);font-weight:700;font-size:clamp(1.6rem,2.6vw,2.1rem);line-height:1.15;letter-spacing:-.012em}
.d1 em,.d2 em,.d3 em{font-style:normal;color:var(--sig-ink)}
/* Hand-drawn underline on three headline phrases, in heading ink (Gauresh, 19 Oct 2026). Wider screens
   keep the phrase on one line and draw the mark under it; phones let it wrap and paint the mark under
   every line it lands on. */
.ul{position:relative;white-space:nowrap}
.ul::after{content:'';position:absolute;left:0;right:0;bottom:-.12em;height:.2em;pointer-events:none;background:var(--sig);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 8' preserveAspectRatio='none'%3E%3Cpath fill='black' d='M2 5.2C25 2.6 52 1.6 80 2.4c13 .4 26 1.3 37 2.6.9.1 1.1 1.4.2 1.6C93 4.9 68 4.3 44 4.8 30 5.1 16 5.9 3.4 7.2 1.6 7.4.9 5.4 2 5.2Z'/%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 8' preserveAspectRatio='none'%3E%3Cpath fill='black' d='M2 5.2C25 2.6 52 1.6 80 2.4c13 .4 26 1.3 37 2.6.9.1 1.1 1.4.2 1.6C93 4.9 68 4.3 44 4.8 30 5.1 16 5.9 3.4 7.2 1.6 7.4.9 5.4 2 5.2Z'/%3E%3C/svg%3E") center/100% 100% no-repeat}
@media(max-width:600px){
  .ul{white-space:normal;background:var(--ul-img) left bottom/100% .2em no-repeat;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-bottom:.1em}
  .ul::after{content:none}
  /* At the headline's 1.04 leading a mark under a wrapped line runs into the tall letters of the line
     after it (measured 19 Oct 2026: f and h reach .71em up, the mark .36em down). These three headings
     open their leading just enough to keep every mark clear. */
  .d1:has(.ul){line-height:1.16}
}
/* Section labels are a small double-bordered plate, after the 6FSS licence-plate logo (Gauresh, 19 Oct 2026). */
.eyebrow{display:flex;width:fit-content;max-width:100%;align-items:center;justify-content:center;text-align:center;padding:9px 16px 10px;font:600 .92rem/1.2 var(--sans);color:var(--sig-ink);border:2px solid var(--sig);border-radius:10px;outline:1px solid var(--sig);outline-offset:-6px;margin-bottom:14px}
.center .eyebrow,.close-card .eyebrow{margin-left:auto;margin-right:auto}
.lede{font-size:clamp(1.15rem,1.5vw,1.3rem);line-height:1.55;color:var(--ink-2)}
.link{color:var(--sig-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.link:hover{text-decoration-thickness:2px}
.sig{font-family:var(--script);font-size:2.6rem;line-height:1;color:var(--ink)}
.head{max-width:64em;margin-bottom:clamp(32px,4vw,52px)}
.head .d2{max-width:34ch}
.head>p:not(.eyebrow){margin-top:18px;color:var(--ink-2);max-width:40em}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r)}

/* ------------------------------------------------------------------ buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 26px;border-radius:999px;border:1.5px solid transparent;font:600 1rem/1 var(--sans);text-decoration:none;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}
.btn-sig{background:var(--sig);color:var(--on-sig)}
.btn-sig:hover{background:var(--sig-line);color:var(--on-sig)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-2)}
.btn-ghost:hover{border-color:var(--ink)}
.btn-sm{min-height:40px;padding:0 20px;font-size:.95rem;position:relative}
.btn-sm::before{content:'';position:absolute;inset:-4px -2px}
.btn-lg{min-height:54px;padding:0 30px;font-size:1.05rem}
.btn-block{width:100%}
.btn:disabled{opacity:.45;cursor:not-allowed}

/* ------------------------------------------------------------------ nav */
.nav{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}
.nav-in{max-width:calc(var(--maxw) + 2*var(--gut));margin:0 auto;padding:12px var(--gut);display:flex;align-items:center;justify-content:space-between;gap:16px}
.mark{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap;font:500 1.35rem/1 var(--serif);letter-spacing:-.01em;text-decoration:none}
.nav-note{font:500 .95rem/1 var(--sans);color:var(--ink-3);margin-right:auto}

/* Theme switch (hard rule, 7 Oct 2026: always a sliding switch, never a Light or Dark button).
   Both states are named either side of the track, the knob carries a drawn sun or moon, and the
   other one waits faintly at the far end. Light and dark are one design: tokens only change. */
.nav-act{display:flex;align-items:center;gap:clamp(8px,1.6vw,18px)}
.nav .btn{white-space:nowrap}
@media(max-width:360px){.mark{font-size:1.15rem}.nav-act{gap:6px}.nav .btn-sm{padding:0 14px}}
.theme{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 2px;border:0;background:none;cursor:pointer;color:var(--ink-3);font:500 .9rem/1 var(--sans)}
.t-word{transition:color .2s}
:root[data-theme="light"] .t-light,:root[data-theme="dark"] .t-dark{color:var(--ink)}
.track{position:relative;flex:none;width:60px;height:32px;border-radius:999px;border:1.5px solid var(--line-2);background:var(--tint)}
.track::before,.track::after{content:'';position:absolute;top:50%;width:14px;height:14px;margin-top:-7px;background:var(--ink-3);opacity:.55;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.track::before{left:7px;--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='black'%3E%3Ccircle cx='12' cy='12' r='4.6'/%3E%3Crect x='11' y='1.2' width='2' height='3.6' rx='1' transform='rotate(0 12 12)'/%3E%3Crect x='11' y='1.2' width='2' height='3.6' rx='1' transform='rotate(45 12 12)'/%3E%3Crect x='11' y='1.2' width='2' height='3.6' rx='1' transform='rotate(90 12 12)'/%3E%3Crect x='11' y='1.2' width='2' height='3.6' rx='1' transform='rotate(135 12 12)'/%3E%3Crect x='11' y='1.2' width='2' height='3.6' rx='1' transform='rotate(180 12 12)'/%3E%3Crect x='11' y='1.2' width='2' height='3.6' rx='1' transform='rotate(225 12 12)'/%3E%3Crect x='11' y='1.2' width='2' height='3.6' rx='1' transform='rotate(270 12 12)'/%3E%3Crect x='11' y='1.2' width='2' height='3.6' rx='1' transform='rotate(315 12 12)'/%3E%3C/g%3E%3C/svg%3E")}
.track::after{right:7px;--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M20.6 14.7A8.6 8.6 0 0 1 9.3 3.4a.7.7 0 0 0-.9-.8A9.6 9.6 0 1 0 21.4 15.6a.7.7 0 0 0-.8-.9Z'/%3E%3C/svg%3E")}
.knob{position:absolute;z-index:1;top:2.5px;left:2.5px;width:24px;height:24px;border-radius:50%;background:var(--sig);transition:transform .28s cubic-bezier(.22,1,.36,1)}
.knob::after{content:'';position:absolute;inset:4.5px;background:var(--on-sig);-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat;--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='black'%3E%3Ccircle cx='12' cy='12' r='4.6'/%3E%3Crect x='11' y='1.2' width='2' height='3.6' rx='1' transform='rotate(0 12 12)'/%3E%3Crect x='11' y='1.2' width='2' height='3.6' rx='1' transform='rotate(45 12 12)'/%3E%3Crect x='11' y='1.2' width='2' height='3.6' rx='1' transform='rotate(90 12 12)'/%3E%3Crect x='11' y='1.2' width='2' height='3.6' rx='1' transform='rotate(135 12 12)'/%3E%3Crect x='11' y='1.2' width='2' height='3.6' rx='1' transform='rotate(180 12 12)'/%3E%3Crect x='11' y='1.2' width='2' height='3.6' rx='1' transform='rotate(225 12 12)'/%3E%3Crect x='11' y='1.2' width='2' height='3.6' rx='1' transform='rotate(270 12 12)'/%3E%3Crect x='11' y='1.2' width='2' height='3.6' rx='1' transform='rotate(315 12 12)'/%3E%3C/g%3E%3C/svg%3E")}
:root[data-theme="dark"] .knob{transform:translateX(27px)}
:root[data-theme="dark"] .knob::after{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M20.6 14.7A8.6 8.6 0 0 1 9.3 3.4a.7.7 0 0 0-.9-.8A9.6 9.6 0 1 0 21.4 15.6a.7.7 0 0 0-.8-.9Z'/%3E%3C/svg%3E")}
.theme:hover .track{border-color:var(--sig-line)}
@media(max-width:640px){.t-word{display:none}.nav-note{display:none}}

/* ------------------------------------------------------------------ hero */
.hero{padding:clamp(36px,5vw,64px) 0 clamp(36px,4vw,56px)}
.hero-grid{display:grid;gap:clamp(36px,5vw,64px);align-items:start}
@media(min-width:1000px){.hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}}
.hero-copy .lede{margin-top:24px;max-width:34em}
/* The first question, set apart as the start of the application (Gauresh, 9 Oct 2026: it blended
   into the page). A card with a soft sky edge on the page colour, a "Question 1 of 4" tag so it reads
   as a form already begun, and answers that carry a drawn arrow which slides on hover. */
.ask{margin-top:32px;max-width:560px;padding:clamp(18px,2.2vw,24px);background:var(--card);border:1.5px solid var(--ask-line);border-radius:22px}
.ask-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;margin-bottom:16px}
.ask-q{font:500 clamp(1.2rem,1.6vw,1.35rem)/1.3 var(--serif);letter-spacing:-.005em;color:var(--ink)}
.ask-tag{flex:none;padding:6px 12px;border-radius:999px;background:var(--sig-wash);color:var(--sig-ink);font:500 .82rem/1 var(--sans);white-space:nowrap}
.ask-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ask-row a{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:56px;padding:0 18px 0 22px;border-radius:999px;border:1.5px solid var(--line-2);background:var(--bg);font:500 1.02rem/1 var(--sans);font-variant-numeric:tabular-nums;white-space:nowrap;text-decoration:none;transition:background-color .2s,border-color .2s,color .2s}
.ask-row a::after{content:'';flex:none;width:16px;height:16px;background:var(--ink-3);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3.5 11h12.6l-4.3-4.3a1 1 0 0 1 1.4-1.4l6 6a1 1 0 0 1 0 1.4l-6 6a1 1 0 0 1-1.4-1.4l4.3-4.3H3.5a1 1 0 0 1 0-2Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3.5 11h12.6l-4.3-4.3a1 1 0 0 1 1.4-1.4l6 6a1 1 0 0 1 0 1.4l-6 6a1 1 0 0 1-1.4-1.4l4.3-4.3H3.5a1 1 0 0 1 0-2Z'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .25s cubic-bezier(.22,1,.36,1),background-color .2s}
.ask-row a:hover{background:var(--sig);border-color:var(--sig);color:var(--on-sig)}
.ask-row a:hover::after{background:var(--on-sig);transform:translateX(4px)}
.hero-side{display:grid;gap:16px}
.photo{position:relative;border-radius:var(--r);overflow:hidden;background:var(--frame)}
.photo figcaption{position:absolute;left:14px;bottom:14px;right:14px;width:max-content;max-width:calc(100% - 28px);padding:8px 14px;border-radius:999px;background:var(--card);color:var(--ink);font:500 .88rem/1.3 var(--sans)}
.pledge{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:clamp(22px,2.4vw,30px)}
.pledge-k{font:italic 500 clamp(1.35rem,1.9vw,1.6rem)/1.15 var(--serif);letter-spacing:-.005em;color:var(--sig-ink);margin-bottom:12px}
.pledge-line{font-size:clamp(1.4rem,2.1vw,1.75rem);line-height:1.25;letter-spacing:-.01em}
.pledge .amt{color:var(--sig-ink);font-style:italic;font-variant-numeric:tabular-nums}
.pledge-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.pledge-fee{font:400 .98rem/1.5 var(--sans);color:var(--ink-2);max-width:26em;flex:1 1 220px}
.pledge .sig{font-size:2.3rem}

/* ------------------------------------------------------------------ receipts */
.two{display:grid;gap:clamp(32px,5vw,64px);align-items:center}
@media(min-width:960px){.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.copy p:not(.eyebrow){margin-top:18px;color:var(--ink-2)}
.copy .d2{max-width:26ch}
.copy strong{color:var(--ink)}
.total{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.total b{display:block;font:500 clamp(2.6rem,4.6vw,3.6rem)/1 var(--serif);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ink)}
.total span{display:block;margin-top:10px;font:400 1rem/1.4 var(--sans);color:var(--ink-3)}
.total span strong{color:var(--ink);font-weight:600}
.receipts{padding:clamp(16px,2vw,24px);display:grid;gap:18px}
.receipts figcaption{font:500 .88rem/1 var(--sans);color:var(--ink-3);margin-bottom:8px}
.receipts img{width:100%;border-radius:8px;border:1px solid var(--line)}

/* ------------------------------------------------------------------ large outlined numerals (hard rule) */
.steps{display:grid;gap:48px;grid-template-columns:minmax(0,1fr)}
/* Arrows between the steps (Gauresh, 9 Oct 2026): a hand-drawn pen flourish with a loop and an
   open head, cut from the sky line colour. Down between stacked cards, across between cards in a row. */
.steps li:not(:last-child)::after{content:'';position:absolute;z-index:2;pointer-events:none;left:50%;bottom:-50px;width:52px;height:52px;margin-left:-26px;background:var(--sig-line);-webkit-mask:var(--flow) center/contain no-repeat;mask:var(--flow) center/contain no-repeat;--flow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 36'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke-width='2.8' d='M3 23C12 9 24 7 29 16C32.5 22.5 27 27.5 24.5 22.5C21.5 16.5 33 9.5 45 13C51 14.8 55.5 17.5 59 20'/%3E%3Cpath stroke-width='3.1' d='M50.5 11.6L59.6 20.3L48.6 24.4'/%3E%3C/g%3E%3C/svg%3E");transform:rotate(90deg)}
/* Every steps list has three cards: one row of three where they fit, otherwise one stack.
   A 2x2 or 4-up grid left a hole beside the third card (Gauresh, 19 Oct 2026: no unused space). */
@media(min-width:900px){
  .steps{grid-template-columns:repeat(3,minmax(0,1fr))}
  .steps li:not(:last-child)::after{left:auto;right:-58px;top:40px;bottom:auto;width:68px;height:39px;margin:0;transform:none}
}
.steps li,.sheet li{position:relative;border-radius:var(--r);padding:clamp(22px,2.2vw,28px);padding-top:clamp(92px,8vw,112px)}
.steps li{background:var(--card);border:1px solid var(--line)}
.n{position:absolute;top:clamp(4px,.6vw,10px);left:clamp(16px,1.8vw,22px);font:italic 400 clamp(118px,10vw,148px)/.82 var(--serif);color:var(--sig-fill);-webkit-text-stroke:1.75px var(--sig-line);paint-order:stroke fill;transform:rotate(-4deg);pointer-events:none;user-select:none}
.steps h3,.sheet h3{position:relative;font-weight:500;font-size:clamp(1.55rem,2vw,1.85rem);line-height:1.15;letter-spacing:-.01em}
.steps h3{text-shadow:0 0 3px var(--card),0 0 8px var(--card),0 0 14px var(--card)}
.steps p,.sheet p{position:relative;margin-top:10px;font-size:1.06rem;line-height:1.55;color:var(--ink-2)}

/* Two of his own posts under the steps: the comment step, shown. */
.posts{display:grid;gap:16px;grid-template-columns:minmax(0,1fr);margin-top:16px}
@media(min-width:760px){.posts{grid-template-columns:repeat(2,minmax(0,1fr))}}
.posts figure{padding:clamp(14px,1.6vw,18px);display:grid;gap:14px;align-content:start}
.posts img{width:100%;border-radius:10px;border:1px solid var(--line)}
.posts figcaption{font:400 1rem/1.45 var(--sans);color:var(--ink-3);padding:0 4px 4px}
.posts figcaption b{display:block;font:500 clamp(1.5rem,2.2vw,1.85rem)/1.1 var(--serif);color:var(--ink);margin-bottom:4px;font-variant-numeric:tabular-nums}

/* ------------------------------------------------------------------ audience */
.aud{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:560px){.aud{gap:16px}}
@media(min-width:1060px){.aud{grid-template-columns:repeat(4,minmax(0,1fr))}}
.aud figure{padding:clamp(18px,2vw,22px);display:flex;flex-direction:column}
.aud b{font:500 clamp(2rem,2.8vw,2.5rem)/1 var(--serif);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.aud span{display:block;margin:8px 0 16px;font:400 .95rem/1.4 var(--sans);color:var(--ink-3);min-height:2.8em}
/* One frame size for all four screenshots so the cards line up; each shown whole inside it. */
.aud img{margin-top:auto;width:100%;aspect-ratio:4/3;object-fit:contain;padding:10px;background:var(--tint);border-radius:10px}

/* ------------------------------------------------------------------ proven + employers */
.media{overflow:hidden;display:flex;flex-direction:column}
.media img,.media video{width:100%;background:var(--frame)}
.media{text-decoration:none}
.proven{margin-bottom:16px}
.log{flex-direction:column}
@media(min-width:860px){.log{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(0,1fr);align-items:center}}
.media figcaption{padding:18px 22px 22px;font:400 1rem/1.5 var(--sans);color:var(--ink-2)}
.media figcaption b{display:block;font:500 1.3rem/1.2 var(--serif);color:var(--ink);margin-bottom:4px}
.emp{margin-top:clamp(48px,6vw,72px)}
.emp-title{font-family:var(--script);font-size:clamp(2.6rem,4.6vw,3.6rem);line-height:1;color:var(--sig-ink);text-align:center;margin-bottom:14px}
/* Two identical lists, the track slid by half its width so the loop has no seam. It never stops
   (Gauresh, 9 Oct 2026). */
.marquee{overflow:hidden;padding:18px 0;margin-inline:calc(50% - 50vw)}
/* Full bleed: the band runs to the screen edges, so logos enter and leave there, not mid-column. */
section:has(.marquee){overflow-x:clip}
.marquee-track{display:flex;width:max-content;animation:roll 38s linear infinite}
.marquee ul{display:flex;align-items:center}
.marquee li{display:flex;align-items:center;padding:0 clamp(34px,4.2vw,68px)}
/* Each employer's own mark, one colour, so the band reads as one set in both themes (Gauresh, 9 Oct
   2026: logos only, no names, no separators). */
.lg{display:block;width:var(--w,108px);height:var(--h,24px);background:var(--ink-2);-webkit-mask:var(--logo) center/contain no-repeat;mask:var(--logo) center/contain no-repeat}
.lg-amazon{--logo:url(/assets/logos/amazon.png);--w:140px;--h:36px}
.lg-bumble{--logo:url(/assets/logos/bumble.png);--w:150px;--h:30px}
.lg-citi{--logo:url(/assets/logos/citi.png);--w:88px;--h:36px}
.lg-deloitte{--logo:url(/assets/logos/deloitte.png);--w:150px;--h:28px}
.lg-ey{--logo:url(/assets/logos/ey.png);--w:60px;--h:44px}
.lg-hsbc{--logo:url(/assets/logos/hsbc.png);--w:150px;--h:32px}
.lg-kpmg{--logo:url(/assets/logos/kpmg.png);--w:118px;--h:36px}
.lg-siemens{--logo:url(/assets/logos/siemens.png);--w:160px;--h:22px}
@keyframes roll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ------------------------------------------------------------------ mentors */
.mentors{display:grid;gap:16px;grid-template-columns:minmax(0,1fr);align-items:start}
@media(min-width:960px){.mentors{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}}
.mentors figure{min-width:0}
.mentors img,.frame{border-radius:var(--r-sm);overflow:hidden;background:var(--frame)}
.frame video{width:100%}
.mentors figcaption{margin-top:10px;font:400 .92rem/1.35 var(--sans);color:var(--ink-3)}
.mentors figcaption b{display:block;font:500 1.08rem/1.25 var(--serif);color:var(--ink)}
.lead figcaption b{font-size:1.3rem}
.grid4{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}

/* ------------------------------------------------------------------ who it's for */
/* Who it's for, as a fit check (Gauresh, 9 Oct 2026: redesign this part). The visitor ticks what's
   true; each tick fills its DM bubble with the brush tick, and the count beside it climbs to 4 of 4,
   then points at Apply. Without a script the boxes still tick and Apply is always there. The
   "isn't for you" points sit underneath as one quiet row, each in an empty bubble with a cross. */
.fitcheck{display:grid;grid-template-columns:minmax(0,1fr);overflow:hidden}
@media(min-width:900px){.fitcheck{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}}
.fc-list{border:0;margin:0;padding:clamp(20px,2.6vw,32px);min-width:0;display:grid;gap:8px}
.fc-legend{float:left;width:100%;padding:0;margin-bottom:10px;font:600 1.05rem/1.3 var(--sans);color:var(--ink)}
.fc-row{position:relative;display:flex;align-items:center;gap:16px;min-height:60px;padding:12px 16px 12px 12px;border-radius:16px;border:1.5px solid var(--line);cursor:pointer;transition:background-color .2s,border-color .2s}
.fc-row:hover{background:var(--tint)}
.fc-row input{position:absolute;opacity:0;pointer-events:none}
.fc-row:has(input:focus-visible){outline:2px solid var(--sig-ink);outline-offset:2px}
.fc-row:has(input:checked){background:var(--sig-wash);border-color:var(--ask-line)}
.fc-t{font-size:1.08rem;line-height:1.45;color:var(--ink-2)}
.fc-row:has(input:checked) .fc-t{color:var(--ink)}
.fc-mk{position:relative;flex:none;width:40px;height:34px}
.fc-mk::before,.fc-mk::after{content:'';position:absolute;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}
.fc-mk::before{inset:0;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 34'%3E%3Cpath fill='none' stroke='black' stroke-width='1.6' d='M11 2H29C33.4 2 37 5.6 37 10V18C37 22.4 33.4 26 29 26H15.5L8.6 31.2C7.9 31.7 7 31.2 7.1 30.4L7.6 26C4.4 25.1 3 22.4 3 18V10C3 5.6 6.6 2 11 2Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 34'%3E%3Cpath fill='none' stroke='black' stroke-width='1.6' d='M11 2H29C33.4 2 37 5.6 37 10V18C37 22.4 33.4 26 29 26H15.5L8.6 31.2C7.9 31.7 7 31.2 7.1 30.4L7.6 26C4.4 25.1 3 22.4 3 18V10C3 5.6 6.6 2 11 2Z'/%3E%3C/svg%3E");background:var(--line-2);transition:background-color .2s}
.fc-mk::after{left:10px;top:-7px;width:30px;height:30px;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3.4 13.1C4.1 12.2 5.3 12 6.1 12.7L9.7 15.8C12.3 11.2 15.7 7.3 19.9 4.5C20.7 4 21.5 4.9 20.9 5.6C17.1 9.5 14.1 13.7 11.5 18.7C11 19.6 9.8 19.8 9 19.1L3.6 14.4C3.2 14 3.1 13.5 3.4 13.1Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3.4 13.1C4.1 12.2 5.3 12 6.1 12.7L9.7 15.8C12.3 11.2 15.7 7.3 19.9 4.5C20.7 4 21.5 4.9 20.9 5.6C17.1 9.5 14.1 13.7 11.5 18.7C11 19.6 9.8 19.8 9 19.1L3.6 14.4C3.2 14 3.1 13.5 3.4 13.1Z'/%3E%3C/svg%3E");background:var(--mk-ink);transform:rotate(-6deg) scale(.4);opacity:0;transition:transform .32s cubic-bezier(.34,1.56,.64,1),opacity .2s}
.fc-row:has(input:checked) .fc-mk::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 34'%3E%3Cpath fill='black' d='M11 2H29C33.4 2 37 5.6 37 10V18C37 22.4 33.4 26 29 26H15.5L8.6 31.2C7.9 31.7 7 31.2 7.1 30.4L7.6 26C4.4 25.1 3 22.4 3 18V10C3 5.6 6.6 2 11 2Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 34'%3E%3Cpath fill='black' d='M11 2H29C33.4 2 37 5.6 37 10V18C37 22.4 33.4 26 29 26H15.5L8.6 31.2C7.9 31.7 7 31.2 7.1 30.4L7.6 26C4.4 25.1 3 22.4 3 18V10C3 5.6 6.6 2 11 2Z'/%3E%3C/svg%3E");background:var(--mk-fill)}
.fc-row:has(input:checked) .fc-mk::after{transform:rotate(-6deg) scale(1);opacity:1}
.fc-result{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:14px;padding:clamp(24px,3vw,40px);background:var(--tint);border-top:1px solid var(--line);transition:background-color .3s}
@media(min-width:900px){.fc-result{border-top:0;border-left:1px solid var(--line)}}
.fc-count{display:flex;align-items:baseline;gap:12px}
.fc-n{font:italic 400 clamp(96px,9vw,128px)/.85 var(--serif);color:var(--sig-fill);-webkit-text-stroke:1.75px var(--sig-line);paint-order:stroke fill;font-variant-numeric:tabular-nums;min-width:.6em}
.fc-of{font:500 1.15rem/1 var(--sans);color:var(--ink-3)}
.fc-msg{font-size:clamp(1.25rem,1.7vw,1.45rem);line-height:1.3;letter-spacing:-.005em;color:var(--ink);max-width:16em}
.fitcheck.is-fit .fc-result{background:var(--sig-wash)}
.fitcheck.is-fit .fc-n{color:var(--sig)}
.notfor{margin-top:clamp(24px,3vw,36px);display:grid;gap:14px}
@media(min-width:900px){.notfor{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:28px}}
.notfor h3{font:600 1rem/1.4 var(--sans);color:var(--ink-3);padding-top:6px;white-space:nowrap}
.notfor ul{display:grid;gap:14px 28px;grid-template-columns:minmax(0,1fr)}
@media(min-width:760px){.notfor ul{grid-template-columns:repeat(3,minmax(0,1fr))}}
.notfor li{position:relative;padding-left:52px;min-height:34px;font-size:1.02rem;line-height:1.45;color:var(--ink-3)}
.notfor li::before,.notfor li::after{content:'';position:absolute;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}
.notfor li::before{left:0;top:-3px;width:40px;height:34px;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 34'%3E%3Cpath fill='none' stroke='black' stroke-width='1.6' d='M11 2H29C33.4 2 37 5.6 37 10V18C37 22.4 33.4 26 29 26H15.5L8.6 31.2C7.9 31.7 7 31.2 7.1 30.4L7.6 26C4.4 25.1 3 22.4 3 18V10C3 5.6 6.6 2 11 2Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 34'%3E%3Cpath fill='none' stroke='black' stroke-width='1.6' d='M11 2H29C33.4 2 37 5.6 37 10V18C37 22.4 33.4 26 29 26H15.5L8.6 31.2C7.9 31.7 7 31.2 7.1 30.4L7.6 26C4.4 25.1 3 22.4 3 18V10C3 5.6 6.6 2 11 2Z'/%3E%3C/svg%3E");background:var(--line-2)}
.notfor li::after{left:13px;top:3px;width:14px;height:14px;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5.3 4.5C5.9 3.9 6.8 4 7.3 4.6L19.5 17.7C20 18.3 19.9 19.2 19.2 19.7C18.6 20.1 17.8 19.9 17.3 19.3L4.9 6.6C4.4 6 4.6 5 5.3 4.5ZM18.7 4.6C19.3 4.2 20 4.5 20.1 5.2C20.2 5.6 20 5.9 19.8 6.2L7.1 19.3C6.6 19.8 5.8 19.9 5.3 19.4C4.8 18.9 4.8 18.1 5.3 17.6Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5.3 4.5C5.9 3.9 6.8 4 7.3 4.6L19.5 17.7C20 18.3 19.9 19.2 19.2 19.7C18.6 20.1 17.8 19.9 17.3 19.3L4.9 6.6C4.4 6 4.6 5 5.3 4.5ZM18.7 4.6C19.3 4.2 20 4.5 20.1 5.2C20.2 5.6 20 5.9 19.8 6.2L7.1 19.3C6.6 19.8 5.8 19.9 5.3 19.4C4.8 18.9 4.8 18.1 5.3 17.6Z'/%3E%3C/svg%3E");background:var(--ink-3)}

/* ------------------------------------------------------------------ guarantee band */
.band{background:var(--band);color:var(--band-ink)}
.band{--eyebrow-bg:var(--band)}.band .d2 em{color:var(--sig)}
.g-top{max-width:46em;margin-bottom:clamp(36px,4.5vw,56px)}
.g-line{margin-top:20px;max-width:30em;font-size:clamp(1.45rem,2.3vw,1.95rem);line-height:1.3;letter-spacing:-.01em}
.band .sig{color:var(--band-ink);margin-top:14px;font-size:2.6rem}
.sheet{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
@media(min-width:620px){.sheet{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1060px){.sheet{grid-template-columns:repeat(4,minmax(0,1fr))}}
.sheet li{background:var(--band-2);border:1px solid var(--band-line)}
.sheet .n{-webkit-text-stroke-color:var(--sig);color:var(--sig-fill)}
.sheet h3{color:var(--band-ink);text-shadow:0 0 3px var(--band-2),0 0 8px var(--band-2),0 0 14px var(--band-2)}
.sheet p{color:var(--band-ink-2)}

/* ------------------------------------------------------------------ FAQ */
.faq-wrap{max-width:calc(860px + 2*var(--gut))}
.faq{display:grid;gap:10px}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm)}
.faq summary{position:relative;list-style:none;cursor:pointer;padding:20px 60px 20px 22px;font:500 1.12rem/1.4 var(--sans)}
.faq summary::-webkit-details-marker{display:none}
/* A drawn plus that turns into a minus. */
.faq summary::before,.faq summary::after{content:'';position:absolute;right:24px;top:50%;width:14px;height:2px;margin-top:-1px;background:var(--sig-ink);transition:transform .25s}
.faq summary::after{transform:rotate(90deg)}
.faq details[open] summary::after{transform:rotate(0)}
.faq .a{padding:0 22px 22px;display:grid;gap:12px;color:var(--ink-2);font-size:1.08rem}

/* ------------------------------------------------------------------ close */
.close{padding-top:0}
.close-card{background:var(--tint);border-radius:calc(var(--r) + 6px);padding:clamp(36px,5vw,64px) clamp(22px,5vw,64px);text-align:center}
.close-card .d2{margin:0 auto;max-width:28ch}
.close-card .ask{max-width:860px;margin:32px auto 0;text-align:left}
@media(min-width:1100px){.close-card .ask-row{grid-template-columns:repeat(4,minmax(0,1fr))}}
.close-card .sig{margin-top:26px}

/* ------------------------------------------------------------------ footer */
.foot{border-top:1px solid var(--line);padding:32px 0 44px}
.foot p{font:400 .88rem/1.55 var(--sans);color:var(--ink-3);max-width:62em}
.foot p+p{margin-top:8px}

/* ------------------------------------------------------------------ apply page */
.apply{padding:clamp(40px,6vw,72px) 0 var(--sec)}
.apply-grid{display:grid;gap:32px 56px}
@media(min-width:960px){.apply-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);align-items:start}.apply-aside{position:sticky;top:100px}}
.gap-t{margin-top:16px}
.gap-t-lg{margin-top:32px}
.small{font-size:.92rem}
.muted{color:var(--ink-3)}
#apply{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:clamp(20px,3vw,32px)}
.steps-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:24px}
.steps-bar i{height:4px;border-radius:4px;background:var(--line)}
.steps-bar i.on{background:var(--sig-line)}
.q{border:0;margin:0 0 20px;padding:0;min-width:0}
.q legend{font:600 1.15rem/1.35 var(--sans);margin-bottom:14px;padding:0}
.opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.opts label{position:relative;display:flex;align-items:center;gap:12px;min-height:56px;padding:10px 16px;border:1.5px solid var(--line-2);border-radius:var(--r-sm);background:var(--card);cursor:pointer;font:500 1rem/1.3 var(--sans)}
.opts input{position:absolute;opacity:0;pointer-events:none}
.opts label:hover{border-color:var(--sig-line)}
.opts label:has(input:checked){border-color:var(--sig-line);background:var(--sig-wash)}
.opts label:has(input:focus-visible){outline:2px solid var(--sig-ink);outline-offset:2px}
.opts .dot{width:18px;height:18px;border-radius:50%;border:1.75px solid var(--line-2);flex:none}
.opts label:has(input:checked) .dot{border:5.5px solid var(--sig-ink)}
@media(max-width:420px){.opts{grid-template-columns:minmax(0,1fr)}}
.field{margin-bottom:16px;font-family:var(--sans)}
.field label{display:block;font:600 .95rem/1.3 var(--sans);margin-bottom:8px}
.field input,.field textarea{width:100%;min-height:52px;padding:12px 16px;border-radius:var(--r-sm);border:1.5px solid var(--line-2);background:var(--card);color:var(--ink);font:400 1rem/1.4 var(--sans)}
.field textarea{min-height:110px;resize:vertical}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--sig-line)}
.hint{margin-top:6px;font:400 .88rem/1.4 var(--sans);color:var(--ink-3)}
.row2{display:grid;gap:0 14px;grid-template-columns:minmax(0,1fr)}
@media(min-width:560px){.row2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.err{font:500 .92rem/1.4 var(--sans);color:var(--sig-ink);margin-top:4px}
.actions{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-top:8px;flex-wrap:wrap}
.actions #next{margin-left:auto}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:clamp(22px,3vw,32px);margin-top:32px}
.panel .eyebrow{margin-bottom:10px}
.panel p+p{margin-top:12px}
.panel p{color:var(--ink-2)}
.panel .btn{margin-top:20px}
.aside-box{background:var(--tint);border-radius:var(--r);padding:clamp(22px,2.6vw,30px)}
.aside-box p{color:var(--ink-2);font-size:1.06rem}
.aside-box p+p{margin-top:12px}
.aside-box p:last-child{color:var(--ink);font-size:1.2rem;line-height:1.35}
.cal{border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;margin-top:18px;font-family:var(--sans)}
.cal-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.cal-head b{font-weight:600}
.tag{display:inline-flex;align-items:center;padding:4px 12px;border-radius:999px;font:500 .8rem/1.2 var(--sans);color:var(--sig-ink);background:var(--sig-wash)}
.days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:14px 16px 0}
.days button{background:var(--card);border:1.5px solid var(--line-2);border-radius:var(--r-sm);min-height:62px;font:inherit;cursor:pointer;color:var(--ink);padding:6px 4px}
.days button span{display:block;font:500 .78rem/1.2 var(--sans);color:var(--ink-3)}
.days button b{font:600 1.15rem/1.2 var(--sans);font-variant-numeric:tabular-nums}
.days button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.days button[aria-pressed="true"] span{color:var(--bg)}
.times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:14px 16px}
.times button{min-height:48px;border:1.5px solid var(--line-2);border-radius:999px;background:var(--card);font:500 .98rem/1 var(--sans);font-variant-numeric:tabular-nums;cursor:pointer;color:var(--ink)}
.times button:hover{border-color:var(--sig-line)}
.times button[aria-pressed="true"]{background:var(--sig);border-color:var(--sig);color:var(--on-sig)}
.tz{font-size:.85rem;color:var(--ink-3);padding:0 16px 12px}
.cal-foot{padding:0 16px 16px}
@media(max-width:420px){.times{grid-template-columns:repeat(2,minmax(0,1fr))}.days{gap:5px;padding:12px 12px 0}}
.calendly-inline-widget{min-width:300px;height:720px}

/* ------------------------------------------------------------------ legal pages and contact
   Same letter as the offer: serif prose on the page colour, one column at reading width, the guarantee
   quoted in the question card's sky edge. List items carry the outlined sky diamond from the employer
   band, never a dot. */
.legal{padding:clamp(40px,6vw,72px) 0 var(--sec)}
.legal-in,.contact-in{max-width:calc(760px + 2*var(--gut))}
.legal h1,.contact h1{margin-bottom:18px}
.legal-lede{font-size:clamp(1.15rem,1.5vw,1.3rem);line-height:1.55;color:var(--ink-2)}
.legal h2{font:500 clamp(1.4rem,2vw,1.7rem)/1.2 var(--serif);letter-spacing:-.01em;color:var(--ink);margin-top:clamp(36px,4vw,48px)}
.legal h3{font:600 1.05rem/1.3 var(--sans);color:var(--ink);margin-top:22px}
.legal p{margin-top:12px;color:var(--ink-2)}
.legal strong{color:var(--ink)}
.legal ul{margin-top:12px;display:grid;gap:8px}
.legal li{position:relative;padding-left:28px;color:var(--ink-2)}
.legal li::before{content:'';position:absolute;left:5px;top:.6em;width:8px;height:8px;border:1.75px solid var(--sig-line);transform:rotate(45deg)}
.legal .legal-quote{margin-top:16px;padding:18px 22px;background:var(--card);border:1.5px solid var(--ask-line);border-radius:16px;color:var(--ink);font-size:1.15rem;line-height:1.45}
.contact{padding:clamp(40px,6vw,72px) 0 var(--sec)}
.contact-card{margin-top:28px;padding:clamp(22px,3vw,32px);display:grid;gap:12px;justify-items:start}
.contact-k{font:600 .95rem/1 var(--sans);color:var(--sig-ink)}
.contact-email{font:500 clamp(1rem,5.4vw,1.9rem)/1.25 var(--serif);color:var(--ink);white-space:nowrap;max-width:100%;user-select:all}
.contact-status{font:500 .95rem/1.4 var(--sans);color:var(--sig-ink)}.contact-status:empty{display:none}
.contact-alt{margin-top:24px;color:var(--ink-2)}
.foot-links{display:flex;flex-wrap:wrap;gap:0 24px;margin-bottom:10px}
.foot-links a{display:inline-flex;align-items:center;min-height:44px;font:500 .95rem/1 var(--sans);color:var(--ink-2);text-decoration:none}
.foot-links a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}

/* ------------------------------------------------------------------ booked page */
.booked{padding:clamp(40px,6vw,72px) 0 var(--sec)}
.booked .head{margin-bottom:clamp(36px,4.5vw,56px)}
.booked-foot{display:grid;gap:16px;margin-top:clamp(32px,4vw,48px)}
/* One column: the guarantee, then the one practical line. Side by side, the short card left a tall empty box. */
.booked-foot{max-width:760px;margin-left:auto;margin-right:auto}
.booked-wait{padding:clamp(20px,2.4vw,26px);display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.booked-wait p{color:var(--ink-2)}
.booked-k{font:600 .95rem/1 var(--sans);color:var(--sig-ink)!important}
.booked .head strong{color:var(--ink);font-weight:500}
.booked-prev{display:block;margin-top:8px;font:400 .95rem/1.45 var(--sans);color:var(--ink-3)}
.booked-small{font:400 1rem/1.5 var(--sans)}

/* ------------------------------------------------------------------ reveal (fail-safe) */
.rv{opacity:1;transform:none}
.js-rv .rv{opacity:0;transform:translateY(14px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}
.js-rv .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js-rv .rv{opacity:1!important;transform:none!important}}

@media(max-width:767px){.btn-sm{min-height:44px}}

/* ------------------------------------------------------------------ phones */
@media(max-width:640px){
  body{font-size:1.125rem}
  .ask-row{max-width:none}
  .ask-row a{min-height:54px;font-size:.98rem;padding:0 12px 0 16px}
  .ask-row a::after{width:14px;height:14px}
  .photo figcaption{font-size:.8rem;padding:7px 12px}
  .faq summary{font-size:1.05rem;padding:18px 54px 18px 18px}
  .faq .a{padding:0 18px 18px}
  .panel .btn{width:100%}
  .aud figure{padding:14px}
  .aud b{font-size:clamp(1.3rem,6vw,2rem)}
  .aud span{font-size:.85rem;min-height:4.2em}
  .aud img{padding:6px}
}
@media(max-width:440px){
  .ask{padding:16px}
  .ask-row{grid-template-columns:minmax(0,1fr);gap:8px}
  .ask-row a{min-height:52px}
}

/* Tim additions: the video frame. */
.vsl{position:relative;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:var(--frame)}
.vsl iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vsl-wrap{max-width:900px;margin:0 auto clamp(32px,4vw,48px)}
.vsl-cta{display:flex;justify-content:center;margin-top:28px}
.proof3{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
@media(min-width:760px){.proof3{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Cards in a row end level with captions on one baseline. A shorter screenshot sits whole and
   centred in a tinted frame that fills the space, so no card has an empty block under its caption. */
.proof3 figure{background:var(--card);border:1.5px solid var(--sig);border-radius:var(--r);padding:14px;display:grid;gap:12px;grid-template-rows:minmax(0,1fr) auto}
.proof3 img{width:100%;height:auto;border-radius:10px}
.proof3 .zoom{display:block;min-height:0;border-radius:10px;cursor:zoom-in}
@media(min-width:760px){.proof3 img{height:100%;object-fit:contain;background:var(--tint)}}
/* Shared image and caption rows across the three cards, so every caption starts on the same line. */
@media(min-width:760px){.proof3{grid-template-rows:auto auto}.proof3 figure{grid-row:span 2;grid-template-rows:subgrid;align-items:start}}
.proof3 figcaption{font:400 1rem/1.45 var(--sans);color:var(--ink-3)}
.pc-who{display:flex;align-items:baseline;gap:8px;margin-bottom:8px}
.pc-name{font:600 16px/1.2 var(--sans);color:var(--ink)}
.pc-name.ul{white-space:nowrap;padding-bottom:.16em}
.pc-verb{font:700 24px/1 var(--script);color:var(--sig-ink)}
.pc-res{display:block;font:800 32px/1.2 var(--display);color:var(--ink);margin-bottom:8px}
.pc-res mark{background:var(--sig-deep);color:var(--on-deep);padding:0 .28em .04em;border-radius:.18em .5em .22em .6em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
@media(max-width:399px){.pc-res{font-size:28px}}
.center{text-align:center}
/* Wide title caps: two or three long lines, never a narrow stack (Gauresh, 18 Oct 2026). */
.head.center{margin-left:auto;margin-right:auto;max-width:64em}

/* Figures and numerals use the headline face. */
.n,.amt,.mark{font-family:var(--display)}
/* Story row: text and photo centre on each other so a taller photo never leaves a hole under the text. */
.hero-grid--mid{align-items:center}

/* Tim's Inner Circle lockup in the header: one file per theme, swapped by token-free display rules. */
.mark img{display:block;height:30px;width:auto}
.mark .mark-dark{display:none}
:root[data-theme="dark"] .mark .mark-light{display:none}
:root[data-theme="dark"] .mark .mark-dark{display:block}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .mark .mark-light{display:none}:root:not([data-theme="light"]) .mark .mark-dark{display:block}}

/* Screenshot viewer: a proof image opens over the page, whole and uncropped (Gauresh, 19 Oct 2026).
   Without the script each image is a plain link to the file. */
.lb-open,.lb-open body{overflow:hidden}
.lb{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:var(--veil);opacity:0;transition:opacity .2s ease-out}
.lb.on{opacity:1}
.lb-img{width:auto;height:auto;max-width:92vw;max-height:88vh;max-height:88dvh;object-fit:contain;border-radius:var(--r);background:var(--card)}
.lb-x{position:fixed;z-index:1;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));width:44px;height:44px;padding:0;border:0;border-radius:999px;background:var(--card);cursor:pointer}
.lb-x::after{content:'';position:absolute;inset:13px;background:var(--ink);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5.3 4.5C5.9 3.9 6.8 4 7.3 4.6L19.5 17.7C20 18.3 19.9 19.2 19.2 19.7C18.6 20.1 17.8 19.9 17.3 19.3L4.9 6.6C4.4 6 4.6 5 5.3 4.5ZM18.7 4.6C19.3 4.2 20 4.5 20.1 5.2C20.2 5.6 20 5.9 19.8 6.2L7.1 19.3C6.6 19.8 5.8 19.9 5.3 19.4C4.8 18.9 4.8 18.1 5.3 17.6Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5.3 4.5C5.9 3.9 6.8 4 7.3 4.6L19.5 17.7C20 18.3 19.9 19.2 19.2 19.7C18.6 20.1 17.8 19.9 17.3 19.3L4.9 6.6C4.4 6 4.6 5 5.3 4.5ZM18.7 4.6C19.3 4.2 20 4.5 20.1 5.2C20.2 5.6 20 5.9 19.8 6.2L7.1 19.3C6.6 19.8 5.8 19.9 5.3 19.4C4.8 18.9 4.8 18.1 5.3 17.6Z'/%3E%3C/svg%3E") center/contain no-repeat}
.lb-x:focus-visible{outline-color:var(--band-ink)}
/* On a phone a tall screenshot stops short of the close button instead of running under it. */
@media(max-width:600px){.lb-img{max-width:94vw;max-height:min(88vh,calc(100vh - 128px));max-height:min(88dvh,calc(100dvh - 128px))}.lb-x{top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right))}}
@media (prefers-reduced-motion:reduce){.lb{transition:none}}

/* 19 Oct 2026: carried over from the approved 6-Figure Sofa Slinger page, so both funnels read as
   one brand. Squared buttons, the stacked call button, the label between two rules, the marker
   swipe on the hero's payoff words, and the three figures under Tim's story. */
.btn{border-radius:10px}
.btn-join{flex-direction:column;gap:3px;min-height:0;padding:15px 40px 14px;min-width:270px;text-align:center}
.btn-join b{font:700 22px/1.05 var(--display);letter-spacing:-.01em}
.btn-join small{font:500 13.5px/1.2 var(--sans);opacity:.82;white-space:nowrap}
.kick{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 0 18px;font:600 14px/1.3 var(--sans);color:var(--sig-ink);text-align:center}
.kick::before,.kick::after{content:'';flex:0 1 56px;height:1px;background:var(--line-2)}
.sw{position:relative;z-index:0;display:inline-block;white-space:nowrap;color:var(--on-deep)}
.sw::before{content:'';position:absolute;z-index:-1;left:-.1em;right:-.1em;bottom:.04em;height:.5em;background:var(--sig-deep);border-radius:.18em .5em .22em .6em;transform:rotate(-1.2deg)}
:root[data-theme="light"] .sw{color:var(--ink)}
:root[data-theme="light"] .sw::before{background:var(--sig-fill)}
.figs{display:flex;flex-wrap:wrap;gap:16px clamp(24px,3.4vw,44px);margin-top:28px}
.figs div{display:grid;gap:6px}
.figs b{font:800 clamp(1.7rem,2.6vw,2.15rem)/1 var(--display);letter-spacing:-.01em;color:var(--ink)}
.figs span{font:500 .92rem/1.2 var(--sans);color:var(--ink-3)}
.pc-desc{display:block}
.book{padding:clamp(40px,6vw,72px) 0 var(--sec)}
.book-grid{display:grid;gap:32px 56px;align-items:start}
@media(min-width:1000px){.book-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}}
.book-grid #booking .cal{margin-top:0}
/* Phones: the swipe follows the words onto a second line instead of forcing one long line. */
@media(max-width:700px){
  .sw{display:inline;white-space:normal;text-decoration:underline;text-decoration-color:var(--sig-deep);text-decoration-thickness:.42em;text-underline-offset:-.3em;text-decoration-skip-ink:none}
  :root[data-theme="light"] .sw{text-decoration-color:var(--sig-fill)}
  .sw::before{content:none}
}
@media(max-width:480px){
  .btn-join{min-width:0;width:100%;padding:13px 14px 12px}
  .btn-join small{font-size:12px}
  .kick{font-size:13px;gap:10px}
  .kick::before,.kick::after{flex:0 0 18px}
}
.book-aside{display:grid;gap:16px}
/* Home page: one centred column, head and lede over the calendar (no side column to leave empty). */
.book-solo .head{max-width:46em;margin-left:auto;margin-right:auto}
.book-solo .head .eyebrow{margin-left:auto;margin-right:auto}
.book-solo #booking{width:100%;max-width:1000px;margin:clamp(24px,3vw,36px) auto 0}
.book-solo #booking .calendly-inline-widget{width:100%}
@media(min-width:768px){.book-solo .calendly-inline-widget{height:820px}}
.skip{padding:0 0 var(--sec)}.book-sec+.skip{margin-top:calc(var(--sec) * -1 + 8px)}
.head>p.kick{max-width:none;margin-top:0;color:var(--sig-ink)}
.kick{white-space:nowrap}@media(max-width:360px){.kick{font-size:12px}}

/* Section labels, V-B3 (Gauresh, 23 Oct 2026): the section's name as a large hollow Bricolage word.
   The stroke paints first and a fill in the colour of the surface it sits on covers the inner half,
   which hides the thin lines Bricolage's overlapping contours draw inside letters ("ch", "es").
   --eyebrow-bg follows the surface: page, tinted section, card or panel. */
.eyebrow{display:block;width:auto;max-width:100%;margin:0 0 10px;padding:0;border:0;outline:0;border-radius:0;text-align:left;font-family:var(--display);font-weight:800;font-size:clamp(2.6rem,7.4vw,5.6rem);line-height:.92;letter-spacing:-.005em;color:var(--eyebrow-bg,var(--bg));-webkit-text-stroke:2.8px var(--sig-line);paint-order:stroke fill;overflow-wrap:break-word}
section.tint{--eyebrow-bg:var(--tint)}
.card,.panel,.steps li{--eyebrow-bg:var(--card)}
.aside-box{--eyebrow-bg:var(--tint)}
.aside-box .eyebrow,.panel .eyebrow,.card .eyebrow,.watch-side .eyebrow{font-size:clamp(1.6rem,3vw,2.2rem);-webkit-text-stroke-width:2.2px;line-height:.95;margin-bottom:10px;color:var(--eyebrow-bg,var(--bg))}
.aside-box p.eyebrow{font-size:clamp(1.6rem,3vw,2.2rem)}

/* The landing hero: headline close to the video (Gauresh, 23 Oct 2026). */
.hero-tight .head{margin-bottom:0}
.hero-tight .vsl-wrap{margin-top:24px}
@media(max-width:640px){.hero-tight .vsl-wrap{margin-top:18px}}

/* Video with the three steps beside it, on the thank-you and booked pages (23 Oct 2026).
   Desktop: video left, steps stacked right and ending level with the video. Phones: video, then steps. */
.watch{display:grid;gap:24px;align-items:stretch}
@media(min-width:960px){.watch{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:28px}}
.watch-vid{min-width:0}
.watch-vid .vsl-cta{margin-top:24px}
.watch-side{display:flex;flex-direction:column;min-width:0}
.watch-side .steps{flex:1}
.watch .steps{grid-template-columns:minmax(0,1fr);gap:12px}
@media(min-width:960px){.watch .steps{grid-auto-rows:1fr}}
.watch .steps li{display:flex;flex-direction:column;justify-content:center;padding:14px 18px 14px 82px}
.watch .steps li::after{content:none}
.watch .steps .n{top:50%;left:14px;font-size:clamp(64px,5.4vw,78px);transform:translateY(-50%) rotate(-4deg)}
.watch .steps h3{font-size:clamp(1.18rem,1.45vw,1.35rem);line-height:1.2}
.watch .steps p{margin-top:4px;font-size:.98rem;line-height:1.45}
@media(max-width:480px){.watch .steps li{padding:14px 16px 14px 66px}.watch .steps .n{left:10px;font-size:56px}}
.booked .watch{margin-bottom:0}
.fold{max-width:46em;margin:clamp(32px,4vw,48px) auto 0;text-align:center}
.fold-h{font:600 clamp(1.35rem,2.2vw,1.75rem)/1.25 var(--display);letter-spacing:-.01em;color:var(--ink);text-wrap:balance}
.fold-h em{font-style:normal;color:var(--sig-ink)}
.fold p+p{margin-top:10px;color:var(--ink-2)}

/* Contact: the line under the heading matches the live contact page. */
.contact .contact-lede{font-size:1.06rem;line-height:1.6;color:var(--ink-2);max-width:60ch;margin-bottom:28px}
.head.center>p.lede{margin-left:auto;margin-right:auto}

/* Centred heads: the hollow label centres with its heading. */
.head.center .eyebrow,.book-solo .head .eyebrow{text-align:center;margin-left:auto;margin-right:auto}
.book-solo .head{text-align:center}
.book-solo .book-pledge{max-width:640px;margin:clamp(28px,3.5vw,44px) auto 0}

.book-privacy{text-align:center;color:var(--ink-2);margin:14px auto 0;max-width:640px}
.book-privacy a{color:inherit;text-decoration:underline;text-underline-offset:3px}

/* ------------------------------------------------------------------ all student results (tools/students.py) */
.stu-sub{margin:clamp(32px,4vw,48px) 0 16px;font:700 clamp(1.3rem,2vw,1.6rem)/1.2 var(--display);color:var(--ink)}
.vgrid,.sgrid{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
@media(min-width:760px){.vgrid,.sgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1100px){.vgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.vcard,.scard{background:var(--card);border:1.5px solid var(--sig);border-radius:var(--r);padding:14px;display:flex;flex-direction:column;gap:14px;min-width:0}
.vframe{aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:var(--band)}
.vframe iframe{display:block;width:100%;height:100%;border:0}
.scard .shots{display:flex;gap:10px;width:100%;margin:0 auto;align-items:flex-start}
.scard .zoom{display:block;min-width:0;border-radius:10px;cursor:zoom-in}
.scard img{display:block;width:100%;height:auto;border-radius:10px}
.vcard figcaption,.scard figcaption{font:400 1rem/1.45 var(--sans);color:var(--ink-3);margin-top:auto}
/* students:start (generated by tools/students.py) */
.sh-72ef0545{flex:9.069 1 0}
.sh-b5bb655b{flex:4.613 1 0}
.row-0{max-width:721px}
.sh-9beee0f0{flex:19.296 1 0}
.sh-9e7d3119{flex:4.613 1 0}
.row-1{max-width:1253px}
.sh-4beecc8f{flex:4.613 1 0}
.sh-3df64504{flex:4.613 1 0}
.row-2{max-width:490px}
.sh-44f5ceb5{flex:4.613 1 0}
.row-3{max-width:240px}
.sh-aa5773e4{flex:6.912 1 0}
.sh-be82e2d7{flex:7.585 1 0}
.sh-0d9f3324{flex:5.408 1 0}
.row-4{max-width:1055px}
.sh-d19f3226{flex:4.613 1 0}
.row-5{max-width:240px}
.sh-30bb594f{flex:4.613 1 0}
.sh-179df96f{flex:4.613 1 0}
.row-6{max-width:490px}
/* students:end */
