/* Option B home page, sandbox build (27 Oct 2026). Tokens taken from the live site; type moves to the
   brand pair: Newsreader (headlines and reading text) and Archivo (labels, buttons, small print). */
@font-face{font-family:"Newsreader";src:url(fonts/Newsreader-var.woff2) format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:"Archivo";src:url(fonts/Archivo-var.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}
:root{
  --ink:#232323;--muted:#4b4b48;--paper:#fafaf8;--stone:#eeece6;--warm:#f4f1ea;--card:#fff;
  --dark:#20211f;--dark-2:#2a2b28;--on-dark:#fafafa;--on-dark-muted:#d2cec5;
  --line:#ddd9d1;--line-strong:#c9c4b9;--red:#e8112d;--red-deep:#a30a1f;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;--sans:"Archivo",-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --wrap:1240px;--gut:40px;--band:96px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 18px/1.6 var(--serif);font-optical-sizing:auto;font-feature-settings:"lnum" 1;-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3,p{margin:0}
.wrap{max-width:calc(var(--wrap) + 2*var(--gut));margin:0 auto;padding:0 var(--gut)}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:12px;z-index:50;background:#fff;padding:10px 14px}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.kicker{font:600 12px/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.on-dark .kicker{color:var(--on-dark-muted)}
.rule{display:block;width:44px;height:2px;background:var(--red);margin-bottom:22px}

/* header */
.head{position:sticky;top:0;z-index:40;background:var(--dark);color:var(--on-dark);border-bottom:1px solid #000}
.head-in{display:flex;align-items:center;justify-content:space-between;height:76px;gap:24px}
.brand{display:flex;align-items:center;gap:13px;text-decoration:none}.brand img{width:34px;height:34px}.brand-word{font:500 19px/1 var(--serif);letter-spacing:.14em;white-space:nowrap}.brand-word .hy{color:var(--red)}
.nav{display:flex;align-items:center;gap:4px}
.nav a{font:600 13px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;padding:12px 12px;border-bottom:2px solid transparent}
.nav a:hover{border-bottom-color:var(--red)}
.nav a[aria-current]{border-bottom-color:var(--red)}
.nav .book{margin-left:10px;background:var(--on-dark);color:var(--dark);padding:13px 18px;border:0}
.nav .book:hover{background:#fff}
.burger{display:none;background:none;border:1px solid #555;color:#fff;font:600 13px var(--sans);padding:10px 14px;letter-spacing:.06em}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;font:700 14px/1 var(--sans);letter-spacing:.07em;text-transform:uppercase;text-decoration:none;border:1px solid var(--ink);background:var(--ink);color:#fff;transition:background .2s,color .2s,transform .2s}
.btn:hover{background:#000;transform:translateY(-1px)}
.on-dark .btn{background:var(--on-dark);color:var(--dark);border-color:var(--on-dark)}
.on-dark .btn:hover{background:#fff}
.tlink{font:600 14px/1.4 var(--sans);letter-spacing:.04em;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.tlink .ar{color:var(--red);text-decoration:none;display:inline-block;transition:transform .2s}
.tlink:hover .ar{transform:translateX(4px)}

/* hero */
.hero{background:var(--dark);color:var(--on-dark);padding:72px 0 56px}
.hero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:56px;align-items:center}
.hero h1{font:700 clamp(34px,3.7vw,50px)/1.08 var(--serif);letter-spacing:-.02em;text-wrap:balance;font-variation-settings:"opsz" 72}
.hero .stand{font:350 clamp(19px,1.6vw,22px)/1.5 var(--serif);color:var(--on-dark-muted);margin-top:22px;max-width:34em;font-variation-settings:"opsz" 28}
.hero .stand b{color:var(--on-dark);font-weight:600}
.hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px;margin-top:32px}
.reply{font:500 13px/1.4 var(--sans);color:var(--on-dark-muted);margin-top:14px}
.film{position:relative;border:1px solid #3a3b37;background:#060b14;aspect-ratio:1/1;overflow:hidden}
.film video{width:100%;height:100%;object-fit:cover}
.film .play{position:absolute;inset:16px 16px auto auto;display:flex;align-items:center;gap:10px;background:rgba(250,250,250,.95);color:var(--dark);border:0;padding:12px 16px;font:700 13px var(--sans);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.film .play svg{width:14px;height:14px}
.film.playing .play{display:none}
.film-cap{font:500 13px/1.45 var(--sans);color:var(--on-dark-muted);margin-top:12px}
.certs{display:grid;grid-template-columns:auto repeat(4,minmax(0,1fr));gap:16px;align-items:center;margin-top:56px;padding-top:28px;border-top:1px solid #3a3b37}
.cert{display:flex;align-items:center;gap:12px;text-decoration:none;padding:8px;border:1px solid transparent;transition:border-color .2s}
.cert:hover{border-color:#4a4b46}
.cert img{width:64px;border:1px solid #4a4b46;flex:none}
.cert b{display:block;font:600 13px/1.3 var(--sans);color:var(--on-dark)}
.cert span{font:500 12px/1.3 var(--sans);color:var(--on-dark-muted);text-decoration:underline;text-underline-offset:3px}

/* figures */
.figs{background:var(--dark-2);color:var(--on-dark);border-top:1px solid #000}
.figs-in{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px;padding-top:36px;padding-bottom:36px}
.fig i{display:block;width:24px;height:2px;background:var(--red);margin-bottom:14px}
.fig b{display:block;font:600 clamp(26px,2.4vw,36px)/1.1 var(--serif);white-space:nowrap;font-variation-settings:"opsz" 48}
.fig span{display:block;font:500 13px/1.45 var(--sans);color:var(--on-dark-muted);margin-top:6px}

/* sections */
.sec{padding:var(--band) 0}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:40px}
.sec h2{font:700 clamp(30px,3vw,42px)/1.12 var(--serif);letter-spacing:-.015em;text-wrap:balance;font-variation-settings:"opsz" 60;margin-top:10px}
.sec .lede{font:400 19px/1.6 var(--serif);color:var(--muted);max-width:38em;margin-top:14px}

/* three doors */
.doors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.door{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-top:4px solid var(--red);padding:30px;transition:transform .25s,box-shadow .25s,border-color .25s}
.door:hover{transform:translateY(-4px);box-shadow:0 18px 40px -24px rgba(0,0,0,.35);border-color:var(--line-strong);border-top-color:var(--red)}
.door h3{font:600 27px/1.2 var(--serif);margin-top:10px;font-variation-settings:"opsz" 36}
.door p.body{font:400 17px/1.6 var(--serif);color:var(--muted);margin-top:12px}
.door p.price{font:700 22px/1.3 var(--serif);color:var(--ink);margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.price small{display:block;font:500 13px/1.45 var(--sans);color:var(--muted);margin-top:4px}
.door .btn{margin-top:24px;align-self:flex-start}
.door .tlink{margin-top:16px;align-self:flex-start}

/* see it work */
.work{background:var(--stone)}
.work-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:center}
.work .film{border-color:var(--line-strong)}
.work .film-cap{color:var(--muted)}
.work p.body{font:400 19px/1.6 var(--serif);color:var(--muted);margin-top:16px;max-width:30em}
.work .tlink{display:inline-block;margin-top:24px}

/* guides */
.guides{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.guide{display:flex;flex-direction:column;text-decoration:none;background:var(--card);border:1px solid var(--line);transition:transform .25s,box-shadow .25s}
.guide:hover{transform:translateY(-4px);box-shadow:0 18px 40px -24px rgba(0,0,0,.35)}
.guide .shot{aspect-ratio:4/3;background:var(--warm);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;padding:14px;overflow:hidden}
.guide .shot img{max-height:100%;width:auto;object-fit:contain;transition:transform .4s}
.guide:hover .shot img{transform:scale(1.04)}
.guide .gbody{padding:20px 22px 24px;display:flex;flex-direction:column;flex:1}
.guide h3{font:600 20px/1.25 var(--serif);margin-top:8px}
.guide p.body{font:400 16px/1.55 var(--serif);color:var(--muted);margin-top:8px}
.guide .tlink{margin-top:auto;padding-top:16px}

/* cfo door */
.cfo{background:var(--warm);border-top:1px solid var(--line)}
.cfo-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:56px;align-items:start}
.lanes{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.lane{display:block;text-decoration:none;background:var(--paper);border:1px solid var(--line);padding:28px;transition:border-color .2s,transform .25s}
.lane:hover{border-color:var(--ink);transform:translateY(-3px)}
.lane h3{font:600 24px/1.2 var(--serif);margin-top:10px}
.lane ul{list-style:none;padding:0;margin:16px 0 0}
.lane li{font:400 16px/1.5 var(--serif);color:var(--muted);padding:9px 0;border-top:1px solid var(--line)}
.lane .tlink{display:inline-block;margin-top:18px}

/* book */
.book-band{background:var(--dark);color:var(--on-dark)}
.book-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:64px;align-items:center}
.book-band h2{color:var(--on-dark)}
.book-band .lede{color:var(--on-dark-muted)}
.ways{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;margin-top:32px}
.ways .tlink{color:var(--on-dark)}
.contact-line{font:500 14px/1.6 var(--sans);color:var(--on-dark-muted);margin-top:26px}
.contact-line a{color:var(--on-dark)}
.portrait img{aspect-ratio:4/5;object-fit:cover;width:100%;border:1px solid #3a3b37}
.portrait p{font:600 14px/1.4 var(--sans);margin-top:12px}.portrait span{display:block;font-weight:500;color:var(--on-dark-muted)}

/* footer */
.foot{background:#161715;color:var(--on-dark-muted);font:500 13px/1.6 var(--sans);padding:40px 0}
.foot-in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px 32px}
.foot a{color:var(--on-dark);text-decoration:none}.foot nav{display:flex;flex-wrap:wrap;gap:8px 22px}

/* motion: small and purposeful; nothing moves for people who asked for less motion */
/* content only waits to fade in when the script is running; without it, everything shows */
.js .rv{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}.js .rv{opacity:1;transform:none}}

/* tablet */
@media (max-width:1100px){
  .hero-grid,.work-grid,.cfo-grid{grid-template-columns:minmax(0,1fr);gap:36px}
  .film{max-width:560px}
  .certs{grid-template-columns:repeat(2,minmax(0,1fr))}.certs .kicker{grid-column:1/-1}
  .figs-in{grid-template-columns:repeat(3,minmax(0,1fr))}
  .doors{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.doors .door:last-child{grid-column:1/-1}
  .guides{grid-template-columns:repeat(2,minmax(0,1fr))}
  .book-grid{grid-template-columns:minmax(0,1fr) 260px;gap:40px}
}
/* menu folds away below 1120px */
@media (max-width:1120px){
  .nav{display:none}.burger{display:block}
  .head.open .nav{display:flex;flex-direction:column;align-items:stretch;position:absolute;left:0;right:0;top:100%;background:var(--dark);padding:12px var(--gut) 20px;border-bottom:1px solid #000}
  .head.open .nav a{padding:14px 0;border-bottom:1px solid #333}.head.open .nav .book{margin:12px 0 0;text-align:center}
}
/* phone */
@media (max-width:760px){
  :root{--gut:20px;--band:64px}
  body{font-size:17px}
  .head-in{height:64px}.brand img{width:28px;height:28px}.brand-word{font-size:16px}
  .hero{padding:44px 0 40px}
  .hero-cta{flex-direction:column;align-items:stretch}.hero-cta .btn{width:100%}
  .certs{margin-top:40px}
  .film .play .long{display:none}.film .play{inset:12px 12px auto auto}
  .figs-in{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 20px}
  .doors,.guides,.lanes{grid-template-columns:minmax(0,1fr)}.doors .door:last-child{grid-column:auto}
  .door{padding:24px}
  .sec-head{flex-direction:column;align-items:start}
  .book-grid{grid-template-columns:minmax(0,1fr)}.portrait{max-width:280px}
  .ways{flex-direction:column;align-items:stretch}.ways .btn{width:100%}
}

/* training catalogue (27 Oct 2026) */
.page-hero{background:var(--dark);color:var(--on-dark);padding:64px 0 40px}
.page-hero h1{font:700 clamp(34px,3.6vw,50px)/1.08 var(--serif);letter-spacing:-.02em;text-wrap:balance;font-variation-settings:"opsz" 72;margin-top:14px;max-width:18em}
.page-hero .stand{font:350 clamp(19px,1.5vw,21px)/1.55 var(--serif);color:var(--on-dark-muted);margin-top:18px;max-width:40em}
.page-hero .stand b{color:var(--on-dark);font-weight:600}
.page-hero .certs{margin-top:40px}
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:36px}
.chip{font:600 13px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;padding:13px 18px;border:1px solid #5a5b55;background:transparent;color:var(--on-dark);cursor:pointer;transition:background .2s,border-color .2s}
.chip:hover{border-color:var(--on-dark)}
.chip[aria-pressed="true"]{background:var(--on-dark);color:var(--dark);border-color:var(--on-dark)}
.chip .n{opacity:.6;margin-left:6px}
.cat{padding:56px 0 var(--band)}
.cat-group{margin-top:48px}.cat-group:first-child{margin-top:0}
.cat-group>h2{font:700 clamp(26px,2.4vw,34px)/1.15 var(--serif);margin:6px 0 22px;font-variation-settings:"opsz" 48}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.offer{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-top:4px solid var(--red);padding:28px;min-height:100%;transition:box-shadow .25s,border-color .25s}
.offer:hover{box-shadow:0 18px 40px -26px rgba(0,0,0,.35);border-color:var(--line-strong);border-top-color:var(--red)}
.offer.quiet{border-top-color:var(--line-strong)}
.offer h3{font:600 25px/1.2 var(--serif);margin-top:10px;font-variation-settings:"opsz" 36}
.offer p.body{font:400 17px/1.6 var(--serif);color:var(--muted);margin-top:10px}
.facts{list-style:none;padding:0;margin:16px 0 0;font:500 13px/1.5 var(--sans);color:var(--muted)}
.facts li{padding:7px 0;border-top:1px solid var(--line)}
.offer p.price{font:700 22px/1.3 var(--serif);margin-top:18px}
.offer p.price small{display:block;font:500 13px/1.45 var(--sans);color:var(--muted);margin-top:2px}
.offer .acts{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:22px}
.offer details{margin-top:20px;border-top:1px solid var(--line);padding-top:14px}
.offer summary{cursor:pointer;font:600 14px/1.4 var(--sans);letter-spacing:.04em;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:32px}
.offer summary::-webkit-details-marker{display:none}
.offer summary::after{content:"+";font:400 22px/1 var(--sans);color:var(--red);transition:transform .25s}
.offer details[open] summary::after{transform:rotate(45deg)}
.offer details .in{padding-top:8px}
.offer details h4{font:600 12px/1.4 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:14px 0 6px}
.offer details ul{margin:0;padding-left:18px;font:400 16px/1.55 var(--serif);color:var(--ink)}
.offer details li{margin:5px 0}
.offer details p{font:400 16px/1.55 var(--serif);color:var(--ink);margin-top:6px}
.offer .shot{margin:-28px -28px 20px;aspect-ratio:16/10;background:var(--warm);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;padding:14px;overflow:hidden}
.offer .shot img{max-height:100%;width:auto;object-fit:contain}
.note-line{font:500 14px/1.5 var(--sans);color:var(--muted);margin-top:20px}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;counter-reset:none}
.step{border-top:2px solid var(--ink);padding-top:20px}
.step h3{font:600 22px/1.25 var(--serif)}
.step p:not(.kicker){font:400 17px/1.6 var(--serif);color:var(--muted);margin-top:10px}
.examples{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.faqs{max-width:860px}
.faqs details{border-top:1px solid var(--line);padding:4px 0}
.faqs details:last-child{border-bottom:1px solid var(--line)}
.faqs summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 0;font:600 20px/1.35 var(--serif)}
.faqs summary::-webkit-details-marker{display:none}
.faqs summary::after{content:"+";font:400 26px/1 var(--sans);color:var(--red);transition:transform .25s;flex:none}
.faqs details[open] summary::after{transform:rotate(45deg)}
.faqs details p{font:400 18px/1.65 var(--serif);color:var(--muted);padding:0 0 20px;max-width:46em}
[hidden]{display:none!important}
@media (max-width:1100px){.cards,.examples{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.cards,.examples,.steps{grid-template-columns:minmax(0,1fr)}.offer{padding:24px}.offer .shot{margin:-24px -24px 18px}.page-hero{padding:44px 0 32px}.chip{flex:1 1 auto;text-align:center}}

/* book page (27 Oct 2026) */
.book-page{padding:56px 0 var(--band)}
.book-cols{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:56px;align-items:start}
.fset{border:0;margin:0 0 36px;padding:0}
.fset legend{font:700 clamp(22px,2vw,28px)/1.2 var(--serif);padding:0;margin-bottom:6px}
.fset .hint{font:500 14px/1.5 var(--sans);color:var(--muted);margin-bottom:14px}
.opts{display:grid;gap:10px}
.opts.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.opt{position:relative;display:flex;justify-content:space-between;align-items:center;gap:16px;background:var(--card);border:1px solid var(--line);padding:16px 18px;cursor:pointer;transition:border-color .2s,box-shadow .2s}
.opt:hover{border-color:var(--line-strong)}
.opt input{position:absolute;opacity:0;pointer-events:none}
.opt:has(input:checked){border:2px solid var(--ink);padding:15px 17px;box-shadow:0 10px 26px -20px rgba(0,0,0,.5)}
.opt:has(input:focus-visible){outline:2px solid var(--red);outline-offset:3px}
.opt b{display:block;font:600 18px/1.3 var(--serif)}
.opt small{display:block;font:500 13px/1.45 var(--sans);color:var(--muted);margin-top:2px}
.opt .p{font:700 15px/1.3 var(--serif);white-space:nowrap;text-align:right}
.opts.three .opt{justify-content:center;text-align:center;font:600 15px/1.3 var(--sans)}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
.fields .wide{grid-column:1/-1}
.fl label{display:block;font:600 12px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.fl input,.fl textarea{width:100%;font:400 17px/1.4 var(--sans);color:var(--ink);background:var(--card);border:1px solid var(--line-strong);padding:13px 14px;border-radius:0}
.fl textarea{min-height:130px;resize:vertical}
.fl input:focus,.fl textarea:focus{outline:2px solid var(--red);outline-offset:0;border-color:var(--ink)}
.fl .why{font:500 13px/1.45 var(--sans);color:var(--muted);margin-top:6px}
.fl input:user-invalid{border-color:var(--red-deep)}
.send{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:8px}
.fine{font:500 13px/1.5 var(--sans);color:var(--muted);margin-top:14px}
.status{font:600 15px/1.5 var(--sans);margin-top:16px;min-height:1.5em}
.status.err{color:var(--red-deep)}
.summary{position:sticky;top:100px;background:var(--dark);color:var(--on-dark);padding:28px}
.summary .kicker{color:var(--on-dark-muted)}
.summary h2{font:700 24px/1.25 var(--serif);margin-top:10px}
.summary .sp{font:700 22px/1.3 var(--serif);margin-top:12px}
.summary ul{list-style:none;padding:0;margin:18px 0 0;font:500 14px/1.5 var(--sans);color:var(--on-dark-muted)}
.summary li{padding:9px 0;border-top:1px solid #3a3b37}
.summary .wa{display:inline-block;margin-top:20px;color:var(--on-dark)}
.cal{border:1px solid var(--line);background:var(--card)}
.cal iframe{display:block;width:100%;height:720px;border:0}
.done{background:var(--card);border:1px solid var(--line);border-top:4px solid var(--red);padding:32px}
.done h2{font:700 clamp(26px,2.4vw,34px)/1.15 var(--serif)}
.done p:not(.kicker){font:400 18px/1.6 var(--serif);color:var(--muted);margin-top:12px}
.done ul{font:500 15px/1.6 var(--sans);margin:16px 0 0;padding-left:18px}
@media (max-width:1100px){.book-cols{grid-template-columns:minmax(0,1fr);gap:32px}.summary{position:static}}
@media (max-width:760px){.opts.three{grid-template-columns:minmax(0,1fr)}.fields{grid-template-columns:minmax(0,1fr)}.opt{flex-direction:column;align-items:flex-start;gap:6px}.opt .p{text-align:left}}
/* Microsoft Bookings for one to one (27 Oct 2026) */
.cal-wrap{margin-bottom:36px}
.cal-wrap .cal{min-height:200px}
.cal-wrap .cal iframe{height:900px}
.cal-note{font:500 14px/1.6 var(--sans);color:var(--muted);margin-top:12px}
.cal-off{background:var(--warm);border:1px dashed var(--line-strong);padding:28px;font:500 15px/1.6 var(--sans);color:var(--muted)}

/* the enquiry form (moved from the old home page, 27 Oct 2026) */
#contact{border-top:1px solid var(--line)}
.contact-wrap{max-width:860px}
#contact h2{font:700 clamp(30px,3vw,42px)/1.12 var(--serif);margin-top:10px}
#contact .lede{margin-bottom:28px}
#contact .lede a{color:var(--ink)}
.form{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
.form .sr-only{position:absolute;left:-9999px}
.field label{display:block;font:600 12px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;font:400 17px/1.4 var(--sans);color:var(--ink);background:var(--card);border:1px solid var(--line-strong);padding:13px 14px;border-radius:0}
.field textarea{min-height:130px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--red);outline-offset:0;border-color:var(--ink)}
.field.full,.form-actions,.form-status,.form-fine{grid-column:1/-1}
.form-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:6px}
.btn-wa{background:#25d366;border-color:#25d366;color:#0b2a17}.btn-wa:hover{background:#1fbf5b}
.form-status{font:600 15px/1.5 var(--sans);min-height:1.5em}.form-status.err{color:var(--red-deep)}
.form-fine{font:500 13px/1.5 var(--sans);color:var(--muted)}
@media (max-width:760px){.form{grid-template-columns:minmax(0,1fr)}}

/* WhatsApp button, bottom right on every page */
.wa-float{position:fixed;right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:60;width:56px;height:56px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 12px rgba(0,0,0,.25)}
.wa-float:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media (max-width:600px){.wa-float{width:48px;height:48px}}
@media print{.wa-float{display:none}}

/* home training cards: kicker, title, text, price and button line up across the row */
@supports (grid-template-rows:subgrid){
  .doors{grid-auto-rows:auto}
  .door{display:grid;grid-row:span 5;grid-template-rows:subgrid;row-gap:0;align-content:start}
  .door p.price{align-self:start}
  .door .btn{align-self:start;justify-self:start}
}

/* text links: at least 24px to tap on a phone (WCAG 2.5.8) */
.tlink{padding-block:3px}

/* the first screen never waits for the script: it fades in on its own as the page paints */
@keyframes kw-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.js .hero-grid .rv,.js .page-hero .rv{opacity:1;transform:none;transition:none;animation:kw-in .6s ease both}
.js .hero-grid .rv+.rv{animation-delay:.12s}

/* cards in a row line up: the description takes up the slack, so facts, price, buttons and the fold sit level */
.cards{align-items:stretch}
.offer>p.body{margin-bottom:16px}
.offer>.facts{margin-top:auto}
.offer:not(:has(>.facts))>p.price{margin-top:auto}
.lane{display:flex;flex-direction:column}
.lane ul{margin-bottom:18px}
.lane .tlink{margin-top:auto;align-self:flex-start}
/* card labels in a row of cards take two lines of room, so a label that wraps does not push its title down */
@media (min-width:761px){.cards .offer>.kicker{min-height:2.8em}}
@media (min-width:761px){.lane>.kicker{min-height:2.8em}}
