html,body{margin:0;padding:0}img{max-width:100%}
/* Layout concept: every page opens inside the cut-out frame (logo and nav live in the notches);
   below it, one idea per band, wide white space, dark bands only for what is sold by application. */
:root{
  --paper:#ffffff; --ink:#121212; --ink-2:#3A3A3E; --ink-3:#5E5E66; --mist:#F0F0F3; --line:#E3E3E8;
  --coral:#D12943; --coral-deep:#A81E35; --night:#0E0F12; --night-2:#16171B; --night-line:#2A2C33;
  --blush:#F27A8E; --bone:#F4F2EE; --bone-2:#C9C6C0; --gold:#F6B92B; --ok:#1F7A4D;
  --display:'Satoshi', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --body:'Satoshi', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --mono:ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
  --r:30px; --wrap:1280px;
  color-scheme:light;
}
@font-face{font-family:'Satoshi';src:url(/assets/fonts/satoshi-400.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Satoshi';src:url(/assets/fonts/satoshi-500.woff2) format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Satoshi';src:url(/assets/fonts/satoshi-700.woff2) format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Satoshi';src:url(/assets/fonts/satoshi-900.woff2) format('woff2');font-weight:900;font-display:swap}

*{box-sizing:border-box}
[hidden]{display:none!important}
body{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:var(--coral)}a:hover{color:var(--coral-deep)}
:focus-visible{outline:3px solid var(--coral);outline-offset:3px;border-radius:6px}
h1,h2,h3,h4,.h-hero,.h-page,.h-sec,.h-sub,.h-card,.framing{text-wrap:balance}
:lang(ko){word-break:keep-all}
:lang(ja) .h-page,:lang(ja) .lead,:lang(zh-Hans) .h-page{line-break:strict;word-break:normal;overflow-wrap:anywhere}
p{margin:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(32px,env(safe-area-inset-left,0px));padding-right:max(32px,env(safe-area-inset-right,0px))}
.band{padding-block:152px}
.band-tight{padding-block:120px}
.mist{background:var(--mist)}
/* Two grey bands in a row merge into one: the second turns white (a third goes grey again). Sean, 6 Nov 2026. */
.band.mist + .band.mist{background:#fff}.band.mist + .band.mist + .band.mist{background:var(--mist)}
.band.mist + .band.mist .card[style*="background:#fff"]{background:var(--mist)!important}
.dark{background:var(--night);color:var(--bone)}
.dark a{color:var(--blush)}
.stack{display:flex;flex-direction:column}
.center{align-items:center;text-align:center}
.g8{gap:8px}.g12{gap:12px}.g16{gap:16px}.g20{gap:20px}.g24{gap:24px}.g32{gap:32px}.g48{gap:48px}.g72{gap:72px}.g96{gap:96px}
.row{display:flex;flex-wrap:wrap}
.grid{display:grid;gap:24px}
.cols-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.cols-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.cols-4{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:48px 96px}
.minw0{min-width:0}

/* Type */
.eyebrow{margin:0;font-size:24px;line-height:1.3;font-weight:700;letter-spacing:.01em;color:var(--coral)}
.dark .eyebrow,.on-image .eyebrow{color:var(--blush)}
.label{font-size:15px;font-weight:700;color:var(--coral)}
.dark .label{color:var(--blush)}
.h-hero{margin:0;font-size:104px;line-height:.96;font-weight:900;letter-spacing:-.035em}
.h-page{margin:0;font-size:80px;line-height:.98;font-weight:900;letter-spacing:-.035em}
.h-sec{margin:0;font-size:64px;line-height:1.02;font-weight:900;letter-spacing:-.03em}
.h-sub{margin:0;font-size:44px;line-height:1.06;font-weight:900;letter-spacing:-.025em}
.h-card{margin:0;font-size:32px;line-height:1.08;font-weight:900;letter-spacing:-.02em}
.h-item{margin:0;font-size:22px;line-height:1.2;font-weight:900}
.lead{font-size:21px;line-height:1.55;color:var(--ink-2);max-width:640px}
.dark .lead{color:var(--bone-2)}
.small{font-size:15px;color:var(--ink-3)}
.dark .small{color:#A9A6A0}
.prose{display:flex;flex-direction:column;gap:22px;max-width:680px}
.prose p{font-size:19px;line-height:1.65;color:var(--ink-2)}
.num{font-variant-numeric:tabular-nums}

/* Buttons */
.btn{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:10px;box-sizing:border-box;min-height:52px;padding:0 28px;border-radius:26px;font:inherit;font-size:17px;font-weight:700;text-decoration:none;cursor:pointer;border:1.5px solid transparent;transition:background .15s,color .15s,border-color .15s}
.btn-primary{background:var(--coral);color:#fff}.btn-primary:hover{background:var(--coral-deep);color:#fff}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink)}.btn-ghost:hover{background:var(--ink);color:#fff}
.on-image .btn-ghost,.dark .btn-ghost{color:#fff;border-color:#fff}.on-image .btn-ghost:hover,.dark .btn-ghost:hover{background:#fff;color:var(--ink)}
.btn-light,.dark .btn-light{background:var(--bone);color:var(--night)}.btn-light:hover,.dark .btn-light:hover{background:#fff;color:var(--night)}
.dark .btn-primary,.on-image .btn-primary{color:#fff}
.btn-sm{min-height:44px;padding:0 20px;font-size:15px;border-radius:22px}
.link-arrow{font-weight:700;text-decoration:none}
.link-arrow::after{content:" →"}

/* ---------- The cut-out frame ---------- */
.frame-sec{max-width:1440px;margin:0 auto;padding:32px max(32px,env(safe-area-inset-right,0px)) 32px max(32px,env(safe-area-inset-left,0px))}
.frame{--r:24px;--th:76px;--ax:30px;--logo-w:232px;--gap:32px;--tw:calc(var(--logo-w) + var(--gap) + var(--r));--nw:800px;position:relative;min-height:var(--fh,880px)}
.frame-clip{position:absolute;inset:0;background:var(--night);clip-path:shape(from 0 calc(var(--th) + var(--r)),
  arc to var(--r) var(--th) of var(--r) cw,
  hline to calc(var(--tw) - var(--r)),
  arc to var(--tw) calc(var(--th) - var(--r)) of var(--r) ccw,
  vline to var(--r),
  arc to calc(var(--tw) + var(--r)) 0 of var(--r) cw,
  hline to calc(100% - var(--nw) - var(--r)),
  arc to calc(100% - var(--nw)) var(--r) of var(--r) cw,
  vline to calc(var(--th) - var(--r)),
  arc to calc(100% - var(--nw) + var(--r)) var(--th) of var(--r) ccw,
  hline to calc(100% - var(--r)),
  arc to 100% calc(var(--th) + var(--r)) of var(--r) cw,
  vline to calc(100% - var(--r)),
  arc to calc(100% - var(--r)) 100% of var(--r) cw,
  hline to var(--r),
  arc to 0 calc(100% - var(--r)) of var(--r) cw,
  close)}
.frame-clip img{display:block;width:100%;height:100%;object-fit:cover}
.frame-clip .shade{position:absolute;inset:0;background:rgba(14,15,18,.52)}
.frame-logo{position:absolute;top:0;left:0;height:calc(var(--ax)*2);display:flex;align-items:center;z-index:2}
.frame-logo img{width:var(--logo-w);height:auto;display:block}
.frame-nav{position:absolute;top:0;right:0;height:calc(var(--ax)*2);width:calc(var(--nw) - var(--r) - var(--gap));display:flex;align-items:center;justify-content:space-between;gap:20px;z-index:2;font-size:15px;font-weight:500}
.frame-nav a{color:var(--ink);text-decoration:none}
.frame-nav a[aria-current="page"]{font-weight:700;box-shadow:inset 0 -2px 0 var(--coral)}
.frame-nav .btn{color:#fff}
.nav-menu{display:none;height:44px;align-items:center;justify-content:center;gap:8px;border:1.5px solid var(--ink);border-radius:22px;background:#fff;padding:0 16px 0 14px;cursor:pointer;font:inherit;font-size:15px;font-weight:700;color:var(--ink)}
.frame-body{position:relative;min-height:var(--fh,880px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:24px;padding:120px 48px 64px;color:#fff;z-index:1}
.frame-body .lead{color:#fff;font-weight:700}
@supports not (clip-path: shape(from 0 0, line to 1px 1px)){.frame-clip{clip-path:none;border-radius:var(--r);overflow:hidden;top:calc(var(--th) + 16px)}}

/* Single-notch frame for images inside pages */
.notch{--th:76px;--ax:30px;--mark-w:232px;--gap:32px;--tw:calc(var(--mark-w) + var(--gap) + var(--r));position:relative}
.notch-clip{position:absolute;inset:0;clip-path:shape(from 0 calc(var(--th) + var(--r)),
  arc to var(--r) var(--th) of var(--r) cw,
  hline to calc(var(--tw) - var(--r)),
  arc to var(--tw) calc(var(--th) - var(--r)) of var(--r) ccw,
  vline to var(--r),
  arc to calc(var(--tw) + var(--r)) 0 of var(--r) cw,
  hline to calc(100% - var(--r)),
  arc to 100% var(--r) of var(--r) cw,
  vline to calc(100% - var(--r)),
  arc to calc(100% - var(--r)) 100% of var(--r) cw,
  hline to var(--r),
  arc to 0 calc(100% - var(--r)) of var(--r) cw,
  close)}
.notch-clip img{display:block;width:100%;height:100%;object-fit:cover}
.notch-mark{position:absolute;top:0;left:0;height:calc(var(--ax)*2);width:var(--mark-w);display:flex;align-items:center}
@supports not (clip-path: shape(from 0 0, line to 1px 1px)){.notch-clip{clip-path:none;border-radius:var(--r);overflow:hidden;top:calc(var(--th) + 16px)}}

/* Mobile menu */
.menu-sheet{position:fixed;inset:0;z-index:60;background:var(--paper);display:flex;flex-direction:column;gap:8px;padding:calc(24px + env(safe-area-inset-top,0px)) max(24px,env(safe-area-inset-right,0px)) 24px max(24px,env(safe-area-inset-left,0px))}
.menu-sheet a{font-size:32px;font-weight:900;color:var(--ink);text-decoration:none;padding:8px 0;letter-spacing:-.02em}
.menu-sheet .close{align-self:flex-end}
.menu-sheet a.btn{font-size:17px;font-weight:700;letter-spacing:0;padding:0 28px;color:#fff;margin-top:16px;align-self:flex-start}

/* Cards and lists */
.card{background:var(--mist);border-radius:var(--r);padding:48px;display:flex;flex-direction:column;gap:14px;text-decoration:none;color:var(--ink);min-width:0}
a.card{transition:transform .2s ease, box-shadow .2s ease}
a.card:hover{transform:translateY(-3px);box-shadow:0 14px 40px rgba(18,18,18,.08);color:var(--ink)}
.mist .card{background:#fff}
.card-dark{background:var(--night);color:var(--bone)}
a.card-dark:hover{color:var(--bone)}
.card .price{margin-top:auto;padding-top:16px;font-weight:700}
.card p{color:var(--ink-2)}
.card-dark p{color:var(--bone-2)}
.rowline{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;padding:28px 0;border-top:1px solid var(--line);color:var(--ink);text-decoration:none}
.rowline:last-child{border-bottom:1px solid var(--line)}
.rowline .d{flex:0 0 190px;font-weight:700}
.rowline .t{flex:1 1 260px;font-size:19px;font-weight:500;min-width:0}
.rowline .w{flex:0 0 190px;color:var(--ink-3)}
.rowline .p{flex:0 0 150px;font-weight:700}
.rowline .s{flex:0 0 110px;font-size:15px;color:var(--ink-3)}
.rowline .s.low{color:var(--coral);font-weight:700}
.rowline .go{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 24px;border-radius:999px;background:var(--coral);color:#fff;font-weight:700;font-size:16px;transition:background .15s}
.rowline:hover .go{background:var(--coral-deep,#A81E35)}
.covers5{display:flex;align-items:flex-end;gap:24px}
@media (min-width:900px){.view[data-view="intl"] .rowline .go{flex:0 0 240px;text-align:right}}
a.rowline:hover .t{text-decoration:underline;text-underline-offset:4px}
.rowline a.go{text-decoration:none}
.chip{display:inline-flex;align-items:center;box-sizing:border-box;min-height:44px;padding:0 18px;border-radius:22px;border:1.5px solid var(--line);background:#fff;color:var(--ink);font:inherit;font-size:15px;font-weight:500;cursor:pointer}
.chip[aria-pressed="true"],.chip[role="tab"][aria-selected="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.chip:hover{border-color:var(--ink)}
.chip:has(input:checked){background:var(--ink);border-color:var(--ink);color:#fff}.chip input[type=radio]{margin:0 8px 0 0;accent-color:#fff}
.tag{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;background:var(--mist);font-size:13px;font-weight:700;color:var(--ink-2)}
.dark .tag{background:var(--night-2);color:var(--bone-2)}
.tag-prov{background:transparent;border:1.5px dashed currentColor;padding:4px 10px;margin-left:6px;font-size:12px;vertical-align:middle}
.ck-prov{margin:6px 0 0;padding:10px 12px;border-radius:12px;background:var(--mist);color:var(--ink)}
.stat b{display:block;font-size:64px;line-height:1;font-weight:900;letter-spacing:-.03em;color:var(--coral)}
.stat span{display:block;margin-top:10px;font-size:17px;color:var(--ink-2)}
.quote{background:#fff;border-radius:var(--r);padding:40px;display:flex;flex-direction:column;gap:18px;min-width:0}
.quote blockquote{margin:0;font-size:24px;line-height:1.35;font-weight:700;letter-spacing:-.01em}
.quote figcaption{font-size:15px;color:var(--ink-3)}
.stars{display:inline-flex;gap:3px;color:var(--gold)}
.ph{border:1.5px dashed #BDBDC4;border-radius:var(--r);display:flex;align-items:center;justify-content:center;text-align:center;padding:32px;font-size:15px;color:var(--ink-3);background:repeating-linear-gradient(135deg,transparent 0 14px,rgba(18,18,18,.025) 14px 28px)}
.dark .ph{border-color:#3A3D45;color:#8E8B86}
hr.rule{border:0;border-top:1px solid var(--line);margin:0}

/* Trusted by */
.marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;gap:64px;width:max-content;animation:drift 60s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-track span{font-size:30px;font-weight:900;letter-spacing:-.02em;color:#9A9AA2;white-space:nowrap}
.marquee-track{align-items:center}
.marquee-track img{display:block;height:40px;width:auto;max-width:180px;object-fit:contain;filter:grayscale(1);opacity:.55;transition:opacity .2s,filter .2s}
.marquee-track img:hover{filter:none;opacity:1}
@keyframes drift{to{transform:translateX(-50%)}}

/* Ladder */
.ladder{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:end}
.rung{border-radius:var(--r);padding:36px;display:flex;flex-direction:column;gap:12px;text-align:left;border:0;font:inherit;color:inherit;cursor:pointer;background:var(--mist);transition:transform .25s ease}
.rung:hover{transform:translateY(-4px)}
.rung[aria-pressed="true"]{outline:3px solid var(--coral);outline-offset:-3px}
.rung.r1{min-height:260px}.rung.r2{min-height:360px}.rung.r3{min-height:460px;background:var(--night);color:var(--bone)}
.rung-n{margin-bottom:auto;width:48px;height:6px;border-radius:3px;background:var(--coral)}
.rung.r2 .rung-n{width:96px}.rung.r3 .rung-n{width:144px;background:var(--blush)}
.rung.r3 .label{color:var(--blush)}

/* Forms */
.field{display:flex;flex-direction:column;gap:8px;min-width:0}
.field label{font-size:15px;font-weight:700}
.field input,.field select,.field textarea{font:inherit;font-size:17px;min-height:52px;padding:12px 16px;border-radius:14px;border:1.5px solid var(--line);background:#fff;color:var(--ink);width:100%}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ink);outline:none}
.check{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.5;color:var(--ink-2)}
.check input{width:22px;height:22px;margin-top:1px;accent-color:var(--coral);flex:0 0 auto}
.dark .field input,.dark .field select,.dark .field textarea{background:var(--night-2);border-color:var(--night-line);color:var(--bone)}

/* Booking panel */
.book{position:sticky;top:calc(24px + env(safe-area-inset-top,0px));background:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:32px;display:flex;flex-direction:column;gap:18px;min-width:0}
.book .total{display:flex;justify-content:space-between;align-items:baseline;font-weight:700;font-size:19px}
.seg{display:flex;flex-wrap:wrap;gap:6px}
.date-opt{display:flex;justify-content:space-between;gap:12px;align-items:center;width:100%;min-height:56px;padding:12px 16px;border-radius:14px;border:1.5px solid var(--line);background:#fff;font:inherit;font-size:15px;text-align:left;cursor:pointer;color:var(--ink)}
.date-opt[aria-pressed="true"]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.date-opt b{font-size:16px}
.date-opt .low{color:var(--coral);font-weight:700}
.stepper{display:flex;align-items:center;gap:0;border:1.5px solid var(--line);border-radius:14px;overflow:hidden;width:max-content}
.stepper button{width:48px;height:48px;border:0;background:#fff;font:inherit;font-size:22px;cursor:pointer;color:var(--ink)}
.stepper output{min-width:44px;text-align:center;font-weight:700}
.proto{display:flex;gap:10px;align-items:center;padding:10px 14px;border-radius:12px;background:#FFF4D6;color:#5A4300;font-size:13px;font-weight:700}

/* Checkout overlay */
.overlay{position:fixed;inset:0;z-index:70;background:rgba(14,15,18,.55);display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
.sheet{background:#fff;color:var(--ink);border-radius:24px;width:min(980px,100%);max-height:100%;overflow:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
.sheet-sum{background:var(--mist);padding:40px;display:flex;flex-direction:column;gap:18px}
.sheet-main{padding:40px;display:flex;flex-direction:column;gap:20px}
.sheet.sheet-live{width:min(1120px,100%);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.sheet.sheet-br{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);max-width:880px}
.ck-assure{margin:0;padding:0;list-style:none;font-size:16px;line-height:1.5;color:var(--ink-2)}
.ck-assure li{padding-left:26px;position:relative}
.ck-assure li::before{content:"";position:absolute;left:4px;top:.55em;width:10px;height:6px;border-left:2px solid var(--coral);border-bottom:2px solid var(--coral);transform:rotate(-45deg)}
.ck-stripe{min-height:420px}
.vat-tag{font-size:.6em;font-weight:500;color:var(--ink-3);white-space:nowrap}
.vat-net{display:block;font-size:14px;font-weight:500;color:var(--ink-3);margin-top:2px}
.sheet-live .sheet-main>p.small:last-child{display:none}
.ck-logo{width:150px;height:auto;display:block}
.ck-cert{position:relative;background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:16px 16px 16px 26px;display:flex;flex-direction:column;gap:6px;box-shadow:0 10px 24px rgba(18,18,18,.06)}
.ck-cert-bar{position:absolute;inset:0 auto 0 0;width:8px;border-radius:14px 0 0 14px;background:var(--coral)}
.ck-review{margin:0;display:flex;flex-direction:column;gap:6px}
.ck-review blockquote{margin:0;font-size:16px;line-height:1.5;color:var(--ink-2)}
.chip.chip-2{font-weight:700;flex-direction:column;align-items:flex-start;line-height:1.2;padding-top:8px;padding-bottom:8px;gap:2px}
.chip-sub{font-size:12px;font-weight:500;opacity:.72}
.pay-methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}
.pay-methods button{min-height:52px;border-radius:12px;border:1.5px solid var(--line);background:#fff;font:inherit;font-size:15px;font-weight:700;cursor:pointer;color:var(--ink)}
.pay-methods button[aria-pressed="true"]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.cardbox{border:1.5px solid var(--line);border-radius:14px;overflow:hidden}
.cardbox input{border:0;border-radius:0;min-height:52px;padding:12px 16px;font:inherit;font-size:17px;width:100%;background:#fff;color:var(--ink)}
.cardbox .two{display:grid;grid-template-columns:1fr 1fr;border-top:1.5px solid var(--line)}
.cardbox .two input+input{border-left:1.5px solid var(--line)}
.sumline{display:flex;justify-content:space-between;gap:16px;font-size:15px}
.sumline.total{font-size:19px;font-weight:900;padding-top:12px;border-top:1px solid #DCDCE0}
.steps-ind{display:flex;gap:8px;font-size:13px;font-weight:700;color:var(--ink-3)}
.steps-ind span[aria-current="step"]{color:var(--ink)}

/* Audits */
.audit{background:#fff;border-radius:var(--r);border:1.5px solid var(--line);padding:48px;display:flex;flex-direction:column;gap:28px;min-width:0}
.mist .audit{border-color:transparent}
.opts{display:grid;gap:10px}
.opt{display:flex;align-items:center;gap:14px;min-height:60px;padding:14px 20px;border-radius:16px;border:1.5px solid var(--line);background:#fff;font:inherit;font-size:17px;text-align:left;cursor:pointer;color:var(--ink)}
.opt:hover{border-color:var(--ink)}
.opt[aria-pressed="true"]{border-color:var(--coral);box-shadow:inset 0 0 0 1px var(--coral);background:#FFF6F7}
.progress{height:6px;border-radius:3px;background:var(--mist);overflow:hidden}
.progress i{display:block;height:100%;background:var(--coral);transition:width .3s ease}
.scale{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.scale button{min-height:48px;border-radius:12px;border:1.5px solid var(--line);background:#fff;font:inherit;font-weight:700;cursor:pointer;color:var(--ink)}
.scale button[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.stmt{display:flex;flex-direction:column;gap:12px;padding:22px 0;border-top:1px solid var(--line)}
.meter{display:grid;grid-template-columns:150px minmax(0,1fr) 48px;gap:16px;align-items:center;font-size:15px}
.meter .bar{height:12px;border-radius:6px;background:var(--mist);overflow:hidden}
.meter .bar i{display:block;height:100%;background:var(--coral);border-radius:6px;transition:width .5s ease}

/* Register */
.person{background:#fff;border-radius:24px;padding:28px;display:flex;flex-direction:column;gap:12px;border:1.5px solid var(--line);min-width:0}
.person .av{width:56px;height:56px;border-radius:28px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:20px;background:var(--mist);color:var(--ink-2);overflow:hidden}
.person .av img{width:100%;height:100%;object-fit:cover;object-position:top}
.level{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700}
.level i{width:10px;height:10px;border-radius:5px;display:inline-block}
.example{font-size:12px;font-weight:700;color:#5A4300;background:#FFF4D6;padding:3px 8px;border-radius:6px;align-self:flex-start}

/* Table */
.tbl-wrap{overflow-x:auto}
table.cmp{border-collapse:collapse;width:100%;min-width:640px;font-size:16px}
table.cmp th,table.cmp td{padding:18px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
table.cmp th{font-size:15px;color:var(--ink-3);font-weight:700}
.dark table.cmp th,.dark table.cmp td{border-color:var(--night-line)}
.dark table.cmp th{color:#A9A6A0}

/* Details */
details.qa{border-top:1px solid var(--line);padding:24px 0}
details.qa:last-child{border-bottom:1px solid var(--line)}
details.qa summary{font-size:20px;font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px}
details.qa summary::after{content:"+";font-weight:400;font-size:26px;line-height:1}
details.qa[open] summary::after{content:"–"}
details.qa .a{margin-top:14px;font-size:17px;line-height:1.6;color:var(--ink-2);max-width:760px}
.dark details.qa{border-color:var(--night-line)}
.dark details.qa .a{color:var(--bone-2)}

/* WhatsApp */
.wa{transition:bottom .2s ease;position:fixed;right:max(20px,calc(env(safe-area-inset-right,0px) + 12px));bottom:max(20px,calc(env(safe-area-inset-bottom,0px) + 12px));z-index:50;display:flex;align-items:center;gap:10px;min-height:48px;padding:0 18px 0 14px;border-radius:24px;background:#1F7A4D;color:#fff;text-decoration:none;font-weight:700;font-size:14px;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.wa:hover{background:#17613C;color:#fff}

/* Footer */
footer.site{background:var(--mist);border-top:1px solid #E3E3E8}
footer.site .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:48px 32px;padding-top:48px;border-top:1px solid #DCDCE0}
footer.site h2{margin:0 0 6px;font-size:15px;font-weight:700}
footer.site .cols a{display:block;color:var(--ink-2);text-decoration:none;font-size:15px;padding:5px 0}
footer.site .cols a:hover{color:var(--coral)}
footer.site .legal{font-size:12px;line-height:1.6;color:#5A5A5A;max-width:980px}

/* Views */
.view{display:block}
.reveal{animation:rise .5s ease both}
@keyframes rise{from{opacity:.001;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}.marquee-track{transform:none}}

/* Responsive */
@media (max-width:1100px){
  .frame{--nw:216px}
  .frame-nav{justify-content:flex-end}
  .frame-nav .nl{display:none}
  .nav-menu{display:flex}
  .frame-nav .nav-cta{display:none}
  .h-hero{font-size:68px}.h-page{font-size:56px}.h-sec{font-size:48px}.h-sub{font-size:36px}
  .band{padding-block:128px}
  .ladder{grid-template-columns:1fr}
  .rung.r1,.rung.r2,.rung.r3{min-height:0}
  .sheet,.sheet.sheet-live,.sheet.sheet-br{grid-template-columns:1fr}
  .sheet-br .sheet-sum ul,.sheet-br .sheet-sum>p.small{display:none}
  .sheet-live .ck-assure,.sheet-live .ck-review,.sheet-live .ck-cert{display:none}
  .sheet-live .sheet-sum{gap:12px}
  .frame{--nw:122px}
}
@media (max-width:640px){
  .frame-sec{padding:16px max(16px,env(safe-area-inset-right,0px)) 0 max(16px,env(safe-area-inset-left,0px))}
  .wrap{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
  .frame{--th:64px;--ax:26px;--logo-w:150px;--gap:22px;min-height:var(--fhm,600px)}
  .frame-body{min-height:var(--fhm,600px)}
  .frame-clip{clip-path:shape(from 0 calc(var(--th) + var(--r)),
    arc to var(--r) var(--th) of var(--r) cw,
    hline to calc(var(--tw) - var(--r)),
    arc to var(--tw) calc(var(--th) - var(--r)) of var(--r) ccw,
    vline to var(--r),
    arc to calc(var(--tw) + var(--r)) 0 of var(--r) cw,
    hline to calc(100% - var(--r)),
    arc to 100% var(--r) of var(--r) cw,
    vline to calc(100% - var(--r)),
    arc to calc(100% - var(--r)) 100% of var(--r) cw,
    hline to var(--r),
    arc to 0 calc(100% - var(--r)) of var(--r) cw,
    close)}
  .frame-nav{top:14px;right:14px;width:auto;height:auto}
  /* A solid, labelled menu button on phones, so it reads over any photo (Liam, 6 Nov 2026) */
  .nav-menu{background:var(--ink);border-color:var(--ink);color:#fff;box-shadow:0 4px 14px rgba(0,0,0,.28)}
  .nav-menu svg{stroke:#fff}
  .notch{--th:64px;--ax:26px;--mark-w:150px;--gap:22px}
  .frame-body{padding:96px 20px 40px;gap:18px}
  .h-hero{font-size:44px}.h-page{font-size:40px}.h-sec{font-size:36px}.h-sub{font-size:28px}.h-card{font-size:26px}
  .eyebrow{font-size:20px}.lead{font-size:18px}
  .band{padding-block:96px}.band-tight{padding-block:72px}
  .card,.audit{padding:28px}
  .stat b{font-size:48px}
  .rowline .d,.rowline .w,.rowline .p,.rowline .s{flex-basis:auto}
  .rowline .go{flex:1 1 100%;min-height:52px;font-size:17px}
  .rowline .s:empty{display:none}
  .covers5{gap:8px}
  .sheet-sum,.sheet-main{padding:24px}
  .meter{grid-template-columns:110px minmax(0,1fr) 40px}
  .wa span{display:none}.wa{padding:0 16px}
  .marquee-track span{font-size:22px}.marquee-track img{height:30px;max-width:130px}.marquee-track{gap:44px}
}
/* Framing band: the identity line, set as type */
.framing{margin:0;font-size:clamp(44px,8.4vw,128px);line-height:.92;font-weight:900;letter-spacing:-.045em;display:flex;flex-wrap:wrap;gap:0 .28em}
.framing span{display:inline-block}
.framing .hot{color:var(--coral)}
/* Specialism colours: facilitation coral, coaching green, education blue (carried over from the current site) */
.sp-fac{--sp:#D12943;--sp-deep:#A81E35;--sp-t:#FBEFF1;--sp-l:#F27A8E}
.sp-coach{--sp:#2E7D4F;--sp-deep:#23623D;--sp-t:#EAF5EE;--sp-l:#86D9A8}
.sp-edu{--sp:#3550C8;--sp-deep:#2840A6;--sp-t:#ECEFFC;--sp-l:#AEBBFF}
/* Course markers: a brick stud per specialism (Sean, 2 Nov 2026), not a dot, so the colour never reads as a stock signal.
   Source PNGs in source-assets/img/studs/ (orange and gold kept for later use). */
.sp-fac{--stud:url(data:image/png;base64,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)}
.sp-coach{--stud:url(data:image/png;base64,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)}
.sp-edu{--stud:url(data:image/png;base64,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)}
.sp-dot{flex:0 0 auto;width:15px;height:18px;background:var(--stud) center/contain no-repeat;display:inline-block}
[class*="sp-"] .label,[class*="sp-"] .eyebrow{color:var(--sp)}
.dark [class*="sp-"] .label,.on-image [class*="sp-"] .eyebrow,.card-dark[class*="sp-"] .label{color:var(--sp-l)}
[class*="sp-"] .btn-primary{background:var(--sp)}[class*="sp-"] .btn-primary:hover{background:var(--sp-deep)}
.on-image [class*="sp-"] .btn-primary{color:#fff}
.sp-card{border:2px solid var(--sp);background:#fff}
.sp-card .h-sub,.sp-card .h-card{color:var(--sp)}
.sp-card .link-arrow{color:var(--sp)}
.sp-bar{height:6px;border-radius:3px;background:var(--sp);width:56px}

.mist .card-dark,.card.card-dark{background:var(--night)}
fieldset legend{margin-bottom:16px!important}
/* The raised tab between the notches carries the next course */
.frame-tab{position:absolute;top:0;left:calc(var(--tw) + var(--r));right:calc(var(--nw) + var(--r));height:calc(var(--ax) * 2);display:flex;align-items:center;justify-content:center;z-index:2;pointer-events:none}
.frame-tab a{pointer-events:auto;display:inline-flex;align-items:center;gap:10px;min-height:40px;padding:0 16px;border-radius:20px;background:rgba(255,255,255,.1);color:#fff;text-decoration:none;font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;max-width:100%}
.frame-tab a:hover{background:rgba(255,255,255,.18);color:#fff}
.frame-tab b{font-weight:700}
/* Sticky booking bar on course pages, below desktop widths */
.bookbar{position:fixed;left:0;right:0;bottom:0;z-index:45;display:none;align-items:center;justify-content:space-between;gap:12px;background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(18,18,18,.06);padding:12px max(16px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
@media (max-width:1100px){body.has-bookbar .bookbar{display:flex}body.has-bookbar .wa{bottom:calc(88px + env(safe-area-inset-bottom,0px))}}
/* The pill shows wherever it fits (renderFrameTab measures it): tighter when space is short, hidden only if still cut off; never on phones. */
/* Between 1281px and 1419px the menu has about 75px to spare, so it gives 60px to the pill (measured 10 Nov 2026). */
@media (min-width:1281px) and (max-width:1419px){.frame{--nw:740px}}
.frame-tab.tight a{padding:0 10px;font-size:13px;gap:6px}
.frame-tab.nofit a{visibility:hidden}
@media (max-width:759px){.frame-tab{display:none}}
@media (max-width:760px){[data-inhouse-card]{grid-template-columns:minmax(0,1fr) !important}}
/* Comparison tables become stacked cards on phones */
@media (max-width:640px){
  table.cmp{min-width:0!important}
  table.cmp thead{position:absolute;left:-9999px}
  table.cmp tr{display:grid;gap:6px;padding:18px 0;border-bottom:1px solid var(--line)}
  .dark table.cmp tr{border-color:var(--night-line)}
  table.cmp th,table.cmp td{border:0;padding:0}
  table.cmp td[data-label]::before{content:attr(data-label);display:block;font-size:13px;font-weight:700;color:var(--ink-3);margin-top:6px}
  .dark table.cmp td[data-label]::before{color:#A9A6A0}
  table.cmp th[scope="row"]{font-size:17px;color:var(--ink)}
  .dark table.cmp th[scope="row"]{color:var(--bone)}
}
@media (max-width:640px){[data-stm] ol{grid-template-columns:repeat(5,minmax(0,1fr))!important}[data-stm] ol button span:last-child{display:none}[data-stm] ol button{min-height:56px!important;align-items:center!important;padding:8px!important}}

.scale button{min-height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 4px;line-height:1.1}
.scale button b{font-size:18px}
.scale button span{font-size:13px;font-weight:500;color:var(--ink-3)}
.scale button[aria-pressed="true"] span{color:#fff}

@media (max-width:640px){.scale button span{font-size:11px;letter-spacing:-.01em}}

/* Content still to confirm with Sean: easy to find, impossible to miss, removed before launch */
.tbc{display:inline-flex;align-items:center;margin-left:6px;padding:2px 8px;border-radius:6px;background:#FFF4D6;color:#5A4300;font-size:13px;font-weight:700;vertical-align:middle}

/* The three-line in-house client list, shared by the homepage band and the Trainings page */
.clients3{margin:0;display:flex;flex-direction:column;gap:4px;font-size:20px;line-height:1.4;font-weight:900;letter-spacing:-.01em;color:var(--ink)}

/* Contact page: two balanced columns that sit at the top, not stretched; tighter rhythm than a standard band */
.contact-band{padding-block:80px 120px}
/* Contact hero: text sits low so the faces in the photo stay clear (Sean, 10 Nov 2026). */
.frame-body:has(.hero-low){justify-content:flex-end;padding-bottom:48px}
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:32px;align-items:stretch}
/* Two columns whose bottoms line up: the cards share the left column's height, the form stretches to match (Sean, 10 Nov 2026). */
.contact-grid>.stack{display:flex;flex-direction:column;gap:16px}
.contact-grid>.stack>.card{display:flex;flex-direction:column;gap:12px;margin:0;flex:1 1 auto}
.contact-grid>.stack>.card>:last-child{margin-top:auto}
.contact-grid>.stack>.card .row{flex-wrap:wrap}
.contact-grid .h-card{font-size:24px;line-height:1.25;margin:0}
.contact-grid .audit{display:flex;flex-direction:column}
.contact-grid .audit .field:has(textarea){flex:1 1 auto;display:flex;flex-direction:column}
.contact-grid .audit textarea{flex:1 1 auto;min-height:160px}
.contact-grid .card,.contact-grid .audit{padding:40px}
.contact-grid .audit{gap:24px}
.contact-pair{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:16px}
@media (max-width:900px){.contact-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.contact-band{padding-block:48px 80px}.contact-grid{gap:16px}.contact-grid .card,.contact-grid .audit{padding:28px}}

/* Trainings page: brochure cards carry the cover of each PDF; the sixth card fans out all five */
.br-card{padding:14px 14px 22px;gap:8px;border:0;text-align:left;font:inherit;cursor:pointer;background:#fff;transition:transform .2s ease,box-shadow .2s ease}
.br-card:hover{transform:translateY(-3px);box-shadow:0 14px 40px rgba(18,18,18,.08)}
.br-card.card-dark{background:var(--night)}
.br-cover{position:relative;display:block;aspect-ratio:1240/1754;margin-bottom:10px;border-radius:12px;overflow:hidden;background:var(--mist);box-shadow:0 1px 2px rgba(18,18,18,.08),0 10px 24px rgba(18,18,18,.10)}
.br-cover img{display:block;width:100%;height:100%;object-fit:cover}
.br-fan{overflow:visible;background:transparent;box-shadow:none}
.br-fan img{position:absolute;top:50%;width:54%;height:auto;aspect-ratio:1240/1754;border-radius:8px;box-shadow:0 10px 24px rgba(0,0,0,.45)}
.br-fan img:nth-child(1){left:3%;transform:translateY(-50%) rotate(-9deg)}
.br-fan img:nth-child(2){left:12.5%;transform:translateY(-52%) rotate(-4.5deg)}
.br-fan img:nth-child(3){left:22%;transform:translateY(-54%)}
.br-fan img:nth-child(4){left:31.5%;transform:translateY(-52%) rotate(4.5deg)}
.br-fan img:nth-child(5){left:41%;transform:translateY(-50%) rotate(9deg)}

/* Terms, privacy and cookie pages: a contents list beside one readable column */
.legal-wrap{display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:64px;align-items:start}
.legal-toc{position:sticky;top:calc(24px + env(safe-area-inset-top,0px));display:flex;flex-direction:column;gap:2px}
.legal-toc a{color:var(--ink-2);text-decoration:none;font-size:15px;padding:6px 0;border-bottom:1px solid var(--line)}
.legal-toc a:hover{color:var(--coral)}
.legal-toc .label{margin-bottom:8px}
.legal{max-width:760px;display:flex;flex-direction:column;gap:18px;min-width:0}
.legal h2{margin:28px 0 0;font-size:26px;line-height:1.2;font-weight:900;letter-spacing:-.01em;scroll-margin-top:24px}
.legal p,.legal li{font-size:17px;line-height:1.65;color:var(--ink-2)}
.legal ul{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:8px}
.legal b{color:var(--ink)}
.legal-note{background:var(--mist);border-radius:18px;padding:24px 28px;display:flex;flex-direction:column;gap:8px}
.legal-note b{font-size:18px}
.legal-table{min-width:0;font-size:16px}
.legal-table th[scope="row"]{color:var(--ink);font-weight:700}
@media (max-width:900px){.legal-wrap{grid-template-columns:1fr;gap:32px}.legal-toc{position:static}}

/* Region, currency and language: a small globe in the main menu, a compact panel under it */
.region-btn{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 10px;border-radius:18px;border:1.5px solid var(--line);background:#fff;color:var(--ink);font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.region-btn:hover,.region-btn[aria-expanded="true"]{border-color:var(--ink)}
.region-pop{position:fixed;z-index:65;top:calc(96px + env(safe-area-inset-top,0px));right:max(32px,env(safe-area-inset-right,0px));width:min(420px,calc(100% - 32px));max-height:calc(100vh - 120px);overflow:auto;background:#fff;border:1.5px solid var(--line);border-radius:20px;box-shadow:0 20px 50px rgba(18,18,18,.16);padding:24px;display:flex;flex-direction:column;gap:20px}
.region-list{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.region-list button{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:44px;padding:0 12px;border-radius:12px;border:1.5px solid var(--line);background:#fff;font:inherit;font-size:14px;cursor:pointer;color:var(--ink);text-align:left}
.region-list button[aria-pressed="true"]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.region-list button b{font-size:12px;color:var(--ink-3)}
.region-menu{gap:8px}
@media (max-width:640px){.region-pop{top:auto;bottom:16px;right:16px;padding:20px}}
.region-pop .chip{text-decoration:none}


/* Main menu (26 Oct): Trainings dropdown; In-house and Contact live in the dropdown, phone menu and footer. */
.frame-nav .lbl-short{display:none}
.frame-nav .nl{white-space:nowrap}
.nav-dd{position:relative;display:flex;align-items:center;height:100%}
.dd-top{display:inline-flex;align-items:center;gap:6px}
.dd-top svg{transition:transform .2s ease}
.dd-panel{position:absolute;left:-28px;top:calc(100% - 4px);width:min(780px,calc(100vw - 96px));display:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 28px;padding:28px 28px 22px;background:#fff;color:var(--ink);border-radius:30px;box-shadow:0 24px 60px rgba(14,15,18,.22),0 2px 8px rgba(14,15,18,.08);z-index:20;text-align:left}
.dd-panel::before{content:"";position:absolute;left:0;right:0;top:-18px;height:18px}
.nav-dd:hover .dd-panel,.nav-dd:focus-within .dd-panel{display:grid}
.nav-dd:hover .dd-top svg,.nav-dd:focus-within .dd-top svg{transform:rotate(180deg)}
.dd-col{display:flex;flex-direction:column;gap:2px;min-width:0}
.dd-h{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--ink-3);padding:0 10px 6px}
.dd-panel .dd-col > a{display:flex;flex-direction:column;gap:1px;padding:9px 10px;border-radius:14px;color:var(--ink);text-decoration:none}
.dd-panel .dd-col > a:hover,.dd-panel .dd-col > a:focus-visible{background:var(--mist)}
.dd-panel .dd-col > a b{font-size:15px;font-weight:700}
.dd-panel .dd-col > a span{font-size:13px;color:var(--ink-2);font-weight:500}
.dd-cities{display:flex;flex-wrap:wrap;gap:6px;padding:0 10px}
.dd-cities a{font-size:14px;padding:6px 12px;border-radius:999px;background:var(--mist);color:var(--ink);text-decoration:none}
.dd-cities a:hover{background:var(--ink);color:#fff}
.dd-foot{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;padding:18px 10px 0;border-top:1px solid var(--line)}
.dd-foot .link-arrow{font-size:15px;color:var(--ink)}
.dd-foot .btn{color:#fff}
@media (max-width:1280px){
  .frame{--nw:122px}
  .frame-nav{justify-content:flex-end}
  .frame-nav .nl,.frame-nav .nav-dd{display:none}
  .nav-menu{display:flex}
  .frame-nav .nav-cta{display:none}
}
.menu-sheet{overflow-y:auto}
.menu-sheet a{font-size:28px;padding:6px 0}
.menu-sub{display:flex;flex-direction:column;gap:0;padding:0 0 10px 2px}
.menu-sheet .menu-sub a{font-size:17px;font-weight:700;letter-spacing:0;color:var(--ink-2);padding:4px 0}

/* Homepage hero video: shown on the homepage only, never with reduced motion or data saver */
.frame-clip video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.frame-clip video[hidden]{display:none}

/* Ladder on a grey band: the step cards turn white */
.mist .rung:not(.r3){background:#fff}

/* Books (26 Oct 2026): book pages, ratings from Amazon, takeaways */
.book-top{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:64px;align-items:start}
.book-cover{position:sticky;top:96px}
.book-facts{margin:0;display:grid;gap:0;border-top:1px solid var(--line)}
.book-facts div{display:grid;grid-template-columns:140px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:16px}
.book-facts dt{color:var(--ink-2);font-weight:500}.book-facts dd{margin:0;font-weight:700}
.book-covers{gap:40px 56px}
.rating-line{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-size:16px}
.rating-line:hover span:last-child{text-decoration:underline}
.rl-stars{--r:5;font-size:19px;letter-spacing:2px;background:linear-gradient(90deg,#F6B92B calc(var(--r) / 5 * 100%),#D6D6DC calc(var(--r) / 5 * 100%));-webkit-background-clip:text;background-clip:text;color:transparent}
.takeouts{list-style:none;margin:0;padding:0;counter-reset:t}
.takeouts li{counter-increment:t;border-top:3px solid var(--coral);padding-top:20px}
.takeouts li::before{content:counter(t);display:block;font-size:56px;font-weight:900;line-height:1;color:var(--coral);margin-bottom:12px}
.takeouts p{margin:0;font-size:19px;line-height:1.5;color:var(--ink)}
@media (max-width:900px){.book-top{grid-template-columns:1fr;gap:40px}.book-cover{position:static;order:2}.book-facts div{grid-template-columns:120px 1fr}}
.rev-row{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px) / 3);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;scrollbar-width:thin}
.rev-card{scroll-snap-align:start;margin:0;background:var(--mist)}
@media (max-width:900px){.rev-row{grid-auto-columns:85%}.rev-nav{display:none}}
/* Books hero: words on the left, the books themselves on the right, on the cover colour */
.bh{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:40px;align-items:center;width:100%;max-width:1160px;text-align:left}
.bh-text{align-items:flex-start}.bh .h-page{font-size:72px}
.bh-fan{position:relative;height:420px}
.btn-on-dark{color:#fff;border-color:rgba(255,255,255,.6)}.btn-on-dark:hover{color:#fff;border-color:#fff}
@media (max-width:1100px){.bh .h-page{font-size:56px}}
@media (max-width:900px){.bh{grid-template-columns:1fr;gap:12px;text-align:center}.bh-text{align-items:center}.bh .h-page{font-size:40px}.bh-fan{max-width:380px;width:100%;margin:0 auto}.bh .row{justify-content:center}}
/* Look inside (book previews) and the free sample */
.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:var(--coral);color:#fff}
.btn-link{background:none;border:0;padding:6px;font:inherit;font-size:15px;color:var(--coral);text-decoration:underline;cursor:pointer}
.li{position:relative;outline:none;display:flex;flex-direction:column;gap:16px}
.li:focus-visible{box-shadow:0 0 0 3px var(--blush);border-radius:12px}
.li-stage{position:relative;width:100%;aspect-ratio:var(--li-spread,2/1);max-height:80vh;background:#1c1d22;border-radius:16px;overflow:hidden;display:flex;align-items:center;justify-content:center;touch-action:pan-y;user-select:none}
.li-pages{display:flex;height:100%;justify-content:center;box-shadow:0 30px 60px rgba(0,0,0,.4)}
.li-pages img{height:100%;width:auto;aspect-ratio:var(--li-page,1/1);display:block;background:#fff;-webkit-user-drag:none}
.li-pages img+img{box-shadow:inset 18px 0 24px -18px rgba(0,0,0,.35)}
.li-pages img:first-child:not(:last-child){box-shadow:inset -18px 0 24px -18px rgba(0,0,0,.35)}
.li-in-r{animation:liR .35s ease}.li-in-l{animation:liL .35s ease}
@keyframes liR{from{opacity:.25;transform:translateX(24px)}to{opacity:1;transform:none}}
@keyframes liL{from{opacity:.25;transform:translateX(-24px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.li-in-r,.li-in-l{animation:none}}
.li-turn{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;border-radius:28px;border:0;background:rgba(255,255,255,.92);color:var(--ink);font-size:34px;line-height:1;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;padding-bottom:4px}
.li-turn:hover{background:#fff;color:var(--coral)}.li-prev{left:16px}.li-next{right:16px}
.li-end{position:absolute;inset:0;background:rgba(14,15,18,.92);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:24px}
.li-end .btn-ghost{color:#fff;border-color:rgba(255,255,255,.6)}.li-end .btn-ghost:hover{background:#fff;color:var(--ink)}
.li-bar{display:flex;align-items:center;gap:16px}.li-range{flex:1;accent-color:var(--coral)}
.dark .li-bar .btn-ghost{color:#fff;border-color:rgba(255,255,255,.6)}.dark .li-count{color:var(--bone)}
.li:fullscreen,.li.li-max{background:#0E0F12;padding:24px;justify-content:center}
.li.li-max{position:fixed;inset:0;z-index:100}
.li:fullscreen .li-stage{aspect-ratio:auto;flex:1}.li:fullscreen .li-bar .btn-ghost,.li:fullscreen .li-count{color:#fff;border-color:rgba(255,255,255,.6)}
.look-dialog{width:min(1200px,96vw);max-height:94vh;border:0;border-radius:20px;padding:20px 24px 24px;background:var(--paper)}
.look-dialog::backdrop{background:rgba(14,15,18,.7)}
.sample-dialog{width:min(640px,94vw)}
.sample-form{background:var(--paper);color:var(--ink);position:relative}
@media (max-width:760px){.li-stage{aspect-ratio:var(--li-page,1/1)}.li-turn{width:44px;height:44px;font-size:28px}.li-prev{left:8px}.li-next{right:8px}.li-bar .btn-ghost{display:none}}
/* Book covers: flat front covers with a printed-book shadow (27 Oct 2026, replacing the open-book renders) */
.cover{display:block;width:100%;height:auto;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.18),0 18px 40px rgba(18,18,18,.22)}
.cover-wrap{justify-self:center;width:min(100%,400px)}.cover-wrap a{display:block}
.cover-wrap.cover-sm{width:min(100%,240px)}
.cover-wrap .cover-lg{max-width:440px;margin:0 auto}
/* Covers keep their own proportions (square method books, portrait Systems Synergy) at one shared height. */
.bundle-covers{display:flex;align-items:flex-end;gap:0;padding:4px 0 8px}
.bundle-covers img{height:112px;width:auto;flex:0 0 auto;border-radius:2px;box-shadow:0 8px 18px rgba(18,18,18,.22);margin-right:-18px;background:#fff}
@media (max-width:600px){.bundle-covers img{height:66px;margin-right:-14px}}
/* Hero: the four method books flat in two staggered rows (Mastering and ONLINE above, SERIOUSWORK and Building Better
   Learning below), The Systems Synergy upright on the right; little overlap, so every title reads (3D book sample, 27 Oct 2026). */
.bh-covers{height:auto;aspect-ratio:560/440;width:100%}
.bh-covers img{position:absolute;height:auto;border-radius:2px;box-shadow:0 1px 2px rgba(0,0,0,.35),0 22px 44px rgba(0,0,0,.5)}
.bh-covers img:nth-child(1){width:38%;left:0;top:3%;transform:rotate(-4deg);z-index:1}
.bh-covers img:nth-child(2){width:39%;left:3%;bottom:1%;transform:rotate(2deg);z-index:3}
.bh-covers img:nth-child(3){width:38%;left:36.5%;top:0;transform:rotate(3deg);z-index:2}
.bh-covers img:nth-child(4){width:38%;left:43%;bottom:3%;transform:rotate(-2.5deg);z-index:4}
.bh-covers img:nth-child(5){width:29%;left:73%;top:21%;transform:rotate(4deg);z-index:5;box-shadow:0 1px 2px rgba(0,0,0,.4),0 30px 56px rgba(0,0,0,.6)}
.bh-one-fan img{position:absolute;width:82%;left:9%;top:6%;transform:rotate(-4deg);box-shadow:0 2px 4px rgba(0,0,0,.3),0 30px 60px rgba(0,0,0,.5)}
.bh-one-fan img.tall{width:55%;left:22%}
@media (max-width:900px){.bh-covers{width:min(100%,420px)}.bh-one-fan{height:280px}.bh-one-fan img{width:62%;left:19%;top:4%}.bh-one-fan img.tall{width:42%;left:29%}}
/* Books banner (27 Oct 2026, replacing the scattered fan): an ordered grid, the four method books two by two and
   The Systems Synergy standing the full height on the right. No rotation, no overlap. */
.bh-shelf{display:grid;grid-template-columns:1fr 1fr 1.4fr;grid-template-rows:auto auto;gap:18px;align-items:start;width:100%;max-width:600px;justify-self:end}
.bh-shelf img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;box-shadow:0 1px 2px rgba(0,0,0,.35),0 18px 36px rgba(0,0,0,.45)}
.bh-shelf .bh-tall{grid-column:3;grid-row:1 / span 2;align-self:stretch;aspect-ratio:auto;height:100%;object-fit:cover;object-position:center}
@media (max-width:900px){.bh-shelf{max-width:420px;gap:10px;justify-self:center}}
/* Book rows: the cover stays put when the language buttons change the text beside it */
.book-row{align-items:start}
.cover{height:auto}

/* Cookie banner (parts/consent.js): a small card, bottom left, above the page but below dialogs and the checkout. */
.consent{position:fixed;left:max(16px,env(safe-area-inset-left,0px));bottom:max(16px,env(safe-area-inset-bottom,0px));z-index:64;width:min(420px,calc(100vw - 32px));background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:20px;box-shadow:0 12px 40px rgba(18,18,18,.18);padding:20px;display:flex;flex-direction:column;gap:14px}
.consent[hidden]{display:none}
.consent p{margin:0;font-size:15px;line-height:1.45;color:var(--ink-2)}.consent p b{color:var(--ink)}
.consent a{color:var(--ink)}
.consent-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.consent-btns .btn{width:100%;justify-content:center}
.foot-btn{background:none;border:0;padding:0;font:inherit;color:var(--ink);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
@media print{.consent{display:none}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Why it works: warm, playful band */
.play-band{background:#FFF4DE}
.play-card{background:#fff;border-radius:var(--r);padding:32px 28px 32px;display:flex;flex-direction:column;gap:12px;border-top:10px solid var(--pc);min-width:0}
.play-card p{color:var(--ink-2);margin:0}
.play-card .studs{display:flex;gap:8px;margin-bottom:6px}
.play-card .studs i{width:22px;height:22px;border-radius:50%;background:var(--pc);box-shadow:inset 0 -3px 0 rgba(0,0,0,.14)}
.play-blush{--pc:#F27A8E}.play-gold{--pc:#F6B92B}.play-sky{--pc:#4A90D9}.play-leaf{--pc:#2E9E6A}

/* Sponsor business case: the page prints (or saves as PDF) to one A4 page (Sean, 27 Oct 2026) */
.print-only{display:none}
.brief-facts th{width:170px;text-align:left;vertical-align:top}
.brief-qa{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.brief-qa p{color:var(--ink-2);margin:0}
@media print{
  @page{size:A4 landscape;margin:9mm 10mm}
  body.print-brief{background:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body.print-brief .frame-sec,body.print-brief footer.site,body.print-brief .wa,body.print-brief #regionbar,body.print-brief #toast,body.print-brief .consent,body.print-brief .no-print,body.print-brief a[href="#main"]{display:none!important}
  body.print-brief .print-only{display:block}
  body.print-brief .sponsor-brief{padding:0!important}
  /* Landscape grid: photo header across the top, three columns, legal line at the foot */
  body.print-brief .sponsor-brief .wrap{max-width:none;padding:0;display:grid;grid-template-columns:1.12fr 1.12fr .86fr;column-gap:9mm;row-gap:8mm;align-items:start}
  body.print-brief .brief-head,body.print-brief .brief-legal{grid-column:1/-1}
  body.print-brief .sponsor-brief .stack{gap:3mm}
  body.print-brief .brief-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:3mm;font-size:9px;color:#5E5E66}
  body.print-brief .brief-logo{height:6mm;width:auto}
  body.print-brief .brief-hero{position:relative;height:58mm;border-radius:4mm;overflow:hidden;background:#0E0F12}
  body.print-brief .brief-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 62%}
  body.print-brief .brief-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,15,18,.86) 0%,rgba(14,15,18,.66) 55%,rgba(14,15,18,.35) 100%)}
  body.print-brief .brief-hero-txt{position:absolute;z-index:1;left:9mm;top:50%;transform:translateY(-50%);max-width:70%}
  body.print-brief .brief-kicker{margin:0;color:#F27A8E!important;font-weight:700;font-size:13px!important}
  body.print-brief .brief-title{margin:1.5mm 0 2.5mm;color:#fff!important;font-weight:900;font-size:36px!important;line-height:1.05!important;letter-spacing:-.01em}
  body.print-brief .brief-sub{margin:0;color:#fff!important;font-weight:700;font-size:12.5px!important}
  body.print-brief .eyebrow{font-size:10.5px}
  body.print-brief .h-sec{font-size:16px;line-height:1.2}
  body.print-brief .h-item{font-size:11.5px;line-height:1.25}
  body.print-brief .sponsor-brief p,body.print-brief .sponsor-brief td,body.print-brief .sponsor-brief th{font-size:10px;line-height:1.45}
  body.print-brief .brief-facts th,body.print-brief .brief-facts td{padding:2.6mm 2mm 2.6mm 0}
  body.print-brief .brief-facts th{width:23mm}
  body.print-brief .sponsor-brief .grid{gap:3mm;grid-template-columns:1fr 1fr}
  body.print-brief .brief-qa{grid-template-columns:1fr!important;gap:3.5mm!important}
  body.print-brief .sponsor-brief .card{padding:3.2mm 3.6mm;gap:1mm;border-radius:3mm;break-inside:avoid}
  body.print-brief .sponsor-brief .label{font-size:9px}
  body.print-brief .tbl-wrap{overflow:visible}
  body.print-brief .brief-next{margin-top:4.5mm;background:#D12943;color:#fff;border-radius:3mm;padding:3.5mm 4mm}
  body.print-brief .brief-next p{color:#fff;margin:0}
  body.print-brief .brief-next .brief-next-h{font-weight:900;font-size:11.5px;margin-bottom:1mm}
  body.print-brief .brief-legal{border-top:1px solid #D9D9DE;padding-top:3mm;align-self:end}
  body.print-brief .brief-legal p{font-size:7.2px!important;color:#8A8A92;margin:0 0 .6mm}
}
/* In-house page: client names under the hero */
.ih-clients{margin:0;max-width:1100px;font-size:clamp(19px,2.2vw,26px);line-height:1.5;font-weight:900;letter-spacing:-.01em;color:var(--ink)}
.ih-clients i{font-style:normal;color:var(--coral);padding:0 .35em}
.ih-clients span{white-space:nowrap}
@media (max-width:760px){.ih-form-img{display:none!important}}

/* Method guide sources: one entry per line, with air between them */
.refs-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.refs-list li{padding-left:16px;border-left:2px solid var(--line);line-height:1.5}

/* Gold on black (Sean, 2 Nov 2026). Every black section gets a soft gold sheen, a gold eyebrow and gold numbering;
   sections about our standard (class gold-band: homepage gold standard, About "What you leave with") also get the
   white-to-gold headline. Cards and heroes keep their own colours. */
:root{--gold:#D9B66B}
.dark.band,.dark.band-tight,.gold-band{background:radial-gradient(ellipse 70% 60% at 0% 0%,rgba(201,162,77,.2),transparent 70%),radial-gradient(ellipse 60% 55% at 100% 100%,rgba(201,162,77,.12),transparent 70%),var(--night)}
.dark.gold-band{background:radial-gradient(ellipse 70% 60% at 0% 0%,rgba(201,162,77,.24),transparent 70%),radial-gradient(ellipse 60% 55% at 100% 100%,rgba(201,162,77,.14),transparent 70%),var(--night)}
.dark.band .eyebrow,.dark.band-tight .eyebrow{color:var(--gold)}
.dark .rowline>.num{color:var(--gold)!important}
.dark .rowline{border-color:rgba(217,182,107,.24)!important}
.gold-band .h-hero,.gold-band .h-sec{padding-bottom:.12em;margin-bottom:-.12em;background:linear-gradient(180deg,#FFFFFF 30%,#F1DFB4 100%);-webkit-background-clip:text;background-clip:text;color:transparent}

/* Homepage calendar strip ("Where we train next") */
[data-year]{position:relative}
.yr-nav{display:inline-flex;gap:8px}
.yr-btn{width:44px;height:44px;border-radius:22px;border:1.5px solid var(--ink);background:#fff;color:var(--ink);font-size:18px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.yr-btn:hover:not(:disabled){background:var(--ink);color:#fff}
.yr-btn:disabled{opacity:.25;cursor:default}
.yr-wrap{position:relative}
.yr-wrap::before,.yr-wrap::after{content:"";position:absolute;top:0;bottom:12px;width:72px;pointer-events:none;transition:opacity .2s;z-index:1}
.yr-wrap::after{right:0;width:96px;background:linear-gradient(90deg,rgba(255,255,255,0),#fff 85%)}
.yr-wrap::before{left:0;background:linear-gradient(270deg,rgba(255,255,255,0),#fff)}
.yr-wrap.at-end::after,.yr-wrap.at-start::before{opacity:0}
.yr-scroll{overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:12px;scrollbar-width:thin}
.yr-grid{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px) / 5);gap:12px}
.yr-m{font-size:15px;font-weight:700;color:var(--ink);scroll-snap-align:start;padding-bottom:2px}
.yr-card{text-decoration:none;color:var(--ink);background:var(--mist);border-radius:16px;padding:16px 18px;display:flex;flex-direction:column;gap:6px;transition:background .15s}
.yr-card:hover{background:#E6E6E8}
.yr-card b{font-size:16px}
.yr-c{font-size:15px;color:var(--ink-2);display:flex;align-items:flex-start;gap:8px;line-height:1.3}
.yr-c .sp-dot{margin-top:1px}
.yr-d{font-size:13px;color:var(--ink-3);margin-top:auto}
.yr-more{display:flex;flex-direction:column;justify-content:center;gap:2px;text-decoration:none;color:var(--coral-deep,#A81E35);border:1.5px dashed var(--coral);border-radius:16px;padding:12px 18px;font-size:15px}
.yr-more b{font-size:16px}.yr-more span{font-size:13px;font-weight:700}
.yr-more:hover{background:#FBEFF1}
.yr-hint{display:none;margin:0 0 10px;font-size:14px;font-weight:700;color:var(--ink-3)}
.yr-all{margin:14px 0 0;font-weight:700}
@media (max-width:1100px){.yr-grid{grid-auto-columns:calc((100% - 24px) / 3)}}
@media (max-width:640px){.yr-grid{grid-auto-columns:72%}.yr-nav{display:none}.yr-hint{display:block}}

/* Forthcoming book: a typographic stand-in until the real cover arrives (renderBookSoon). */
.soon-cover{aspect-ratio:2/3;width:100%;border-radius:6px;background:linear-gradient(160deg,#1F5A3A,#0B1510);color:#F4EFE6;display:flex;flex-direction:column;gap:14px;padding:9% 8%;box-shadow:0 30px 60px rgba(18,18,18,.22);box-sizing:border-box}
.soon-cover .label{color:#D9B66B}.soon-cover b{font-size:clamp(22px,2.6vw,34px);line-height:1.12;letter-spacing:-.01em}
.soon-cover span:not(.label){font-weight:700}.soon-cover i{margin-top:auto;font-style:normal;font-size:13px;opacity:.7}
.cover-wrap .soon-cover.cover-lg{max-width:360px;margin:0 auto}
.bh-one-fan .soon-hero{position:absolute;width:44%;left:28%;top:6%}
@media (max-width:900px){.bh-one-fan .soon-hero{width:34%;left:33%;padding:6%;gap:6px}.bh-one-fan .soon-hero b{font-size:15px}.bh-one-fan .soon-hero .label,.bh-one-fan .soon-hero i{font-size:10px}}

/* Ebook buy buttons carry a price (and a converted price): let them wrap on narrow screens rather than overflow the card. */
[data-buy-ebook]{max-width:100%;white-space:normal;text-align:center;height:auto;min-height:48px}

/* The menu button floats with the page wherever it is shown (tablet and phone), in the same spot it starts in, so the menu
   is always one tap away (Sean, 6 Nov 2026). It sits under the open menu sheet (z-index 60). */
@media (max-width:1280px){.nav-menu{position:fixed;top:40px;right:32px;z-index:55;box-shadow:0 4px 14px rgba(0,0,0,.18)}}
@media (max-width:640px){.nav-menu{top:30px;right:30px;box-shadow:0 0 0 1.5px rgba(255,255,255,.6),0 4px 14px rgba(0,0,0,.28)}}

/* Brochure pop-up: the cover above the course name (10 Nov 2026). Hidden on phones, where it would push the form down. */
img.br-side-cover{width:132px;height:auto;border-radius:10px;border:1px solid var(--line);box-shadow:0 12px 28px rgba(18,18,18,.14);display:block}
.br-pop-fan{display:flex;height:150px;align-items:flex-end;padding-left:6px}
.br-pop-fan img{width:78px;height:auto;border-radius:7px;border:1px solid var(--line);box-shadow:0 10px 22px rgba(18,18,18,.16);margin-right:-24px}
.br-pop-fan img:nth-child(1){transform:rotate(-8deg)}.br-pop-fan img:nth-child(2){transform:rotate(-4deg)}.br-pop-fan img:nth-child(4){transform:rotate(4deg)}.br-pop-fan img:nth-child(5){transform:rotate(8deg)}
@media (max-width:700px){.br-side-cover{display:none!important}}

/* Blog: article typography, sized for reading (about 70 characters a line) */
.post{max-width:820px}
.post-title{font-size:clamp(34px,5.2vw,68px);max-width:1080px}
.frame-body .post-meta{font-weight:500;font-size:18px}
.post-crumbs{margin-bottom:28px}.post-crumbs a{color:var(--ink-3);text-decoration:none}.post-crumbs a:hover{color:var(--coral)}
.post-hero{margin:0 0 48px}.post-hero img{display:block;width:100%;height:auto;border-radius:var(--r)}
.post-body{font-size:19px;line-height:1.75;color:var(--ink-2)}
/* Spacing is set per element, not by sibling selectors, because WordPress content often sits in wrapper divs */
.post-body p,.post-body ul,.post-body ol,.post-body table,.post-body .video,.post-body video{margin:0 0 30px}
.post-body h2{margin:80px 0 24px;font-size:34px;line-height:1.15;font-weight:900;letter-spacing:-.02em;color:var(--ink)}
.post-body h3{margin:56px 0 18px;font-size:24px;line-height:1.25;font-weight:900;color:var(--ink)}
.post-body h4{margin:40px 0 14px;font-size:19px;font-weight:900;color:var(--ink)}
.post-body li{margin:0}
.post-body li p{margin:0}
.post-body ul,.post-body ol{padding-left:24px;display:flex;flex-direction:column;gap:12px}
.post-body strong,.post-body b{color:var(--ink)}
.post-body a{text-underline-offset:3px}
.post-body img{display:block;max-width:100%;height:auto;border-radius:16px;margin:48px 0}
.post-body figure{margin:56px 0 48px}.post-body figure img,.post-body figure video{margin:0}
.post-body figcaption{margin-top:16px;font-size:15px;line-height:1.5;color:var(--ink-3)}
.post-body blockquote{margin:48px 0;padding-left:24px;border-left:4px solid var(--coral);font-size:22px;line-height:1.45;font-weight:700;color:var(--ink)}
.post-body blockquote p:last-child{margin-bottom:0}
.post-body hr{border:0;border-top:1px solid var(--line);margin:72px 0}
.post-body hr+h2,.post-body hr+h3{margin-top:0}
.post-body>:first-child{margin-top:0}.post-body>:last-child{margin-bottom:0}
.post-body table{border-collapse:collapse;width:100%;font-size:16px;display:block;overflow-x:auto}
.post-body th,.post-body td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.post-body .callout{display:block;margin:48px 0;background:var(--mist);border-radius:20px;padding:32px 36px;color:var(--ink)}.post-body .callout>:last-child{margin-bottom:0}.post-body .callout>:first-child{margin-top:0}
.post-body .video{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:var(--night)}
.post-body .video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.post-author{margin-top:64px;padding:28px;gap:6px}
/* Blog cards (index and "More from the blog"): generous padding, a small round thumbnail, more air between cards */
.post-grid{gap:40px 32px}
.post-card{padding:36px 36px 32px;gap:14px}
.post-card-top{display:flex;align-items:center;gap:16px;margin-bottom:6px}
.post-card-top .label{margin:0;line-height:1.3}
.post-dot{flex:none;display:block;width:64px;height:64px;border-radius:50%;object-fit:cover;background:var(--night);box-shadow:0 0 0 3px #fff,0 0 0 4px var(--line)}
.mist .post-dot{box-shadow:0 0 0 3px var(--mist),0 0 0 4px var(--line)}
.post-dot-none{position:relative;overflow:hidden}
.post-dot-none span{position:absolute;left:50%;top:50%;border-radius:50%;border:2px solid var(--coral);transform:translate(-50%,-50%)}
.post-dot-none span:nth-child(1){width:74%;aspect-ratio:1;opacity:.35}.post-dot-none span:nth-child(2){width:48%;aspect-ratio:1;opacity:.6}.post-dot-none span:nth-child(3){width:20%;aspect-ratio:1;background:var(--coral)}
.post-card .h-item{line-height:1.22}
.post-card-desc{margin:0;font-size:16px;line-height:1.6;color:var(--ink-2)}
.post-card-meta{margin-top:auto;padding-top:14px}
.post-card:hover{transform:translateY(-3px);box-shadow:0 14px 36px rgba(0,0,0,.08)}
@media (max-width:640px){.post-grid{gap:24px}.post-card{padding:28px 26px 26px}.post-dot{width:56px;height:56px}}
@media (max-width:640px){.post-body{font-size:18px}.post-body h2{font-size:28px;margin-top:64px}.post-body figure{margin:40px 0 36px}.post-body h3{font-size:21px}.post-hero{margin-bottom:32px}}
.post-body video{display:block;width:100%;height:auto;border-radius:16px;background:var(--mist)}

/* Blog index: topic filter */
.blog-filter{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.blog-filter-label{font-weight:700;color:var(--ink-3);margin-right:6px}
.post-card[hidden],.blog-group[hidden],#most-read[hidden]{display:none}
@media (max-width:640px){.blog-filter-label{width:100%}}
