/* Everest Tutoring - GATE Mock Exam Workshop landing pages
   Tokens verbatim from the Everest design system (Claude Design 7cf1e3c8). */
:root{
  --brand-50:#EAF6FF;--brand-100:#D3ECFF;--brand-500:#009DFF;--brand-600:#007ECC;--brand-700:#0067A8;
  --navy:#00203F;
  --fg1:#182030;--fg2:#4A5563;--fg3:#66707F;--fg4:#6E7887;--fg5:#C7CDD6;
  --border-subtle:rgba(0,32,63,.08);--border-default:rgba(0,32,63,.12);--hairline:rgba(0,32,63,.06);
  --bg-page:#FFF8F2;--bg-surface:#FFFFFF;
  --glass:rgba(255,255,255,.6);--glass-strong:rgba(255,255,255,.74);--glass-border:rgba(255,255,255,.78);
  --success:#22A05B;--warn:#F5A623;--warn-700:#B27908;--danger:#E04141;
  --violet:#7A5AF8;--teal:#0E9C8E;--amber:#D68910;
  --font-display:"Montserrat",system-ui,sans-serif;
  --font-body:"Inter",system-ui,sans-serif;
  --ease-out:cubic-bezier(.16,1,.3,1);
  --shadow-card:inset 0 1px 0 rgba(255,255,255,.7),0 14px 32px -16px rgba(0,32,63,.24);
  --wash-blue:linear-gradient(165deg,rgba(0,157,255,.4) 0%,rgba(0,85,140,.62) 45%,rgba(0,32,63,.94) 100%);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg-page);color:var(--fg1);font-family:var(--font-body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{max-width:100%;display:block}
a{color:var(--brand-600);text-decoration:none}
button{font:inherit}
:focus-visible{outline:2px solid var(--brand-500);outline-offset:2px;border-radius:6px}
h1,h2,h3{font-family:var(--font-display);font-weight:800;margin:0;letter-spacing:-.5px;line-height:1.1;text-wrap:balance;color:var(--fg1)}
h1{font-size:clamp(30px,7.6vw,52px);letter-spacing:-1.2px}
h2{font-size:clamp(22px,4.6vw,30px)}
h3{font-size:17px;letter-spacing:-.2px}
p{margin:0}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.hidden{display:none!important}

/* ambient colour pools (the design system's Background) */
.pools{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.pools i{position:absolute;border-radius:50%;display:block}
.pools .p1{left:-120px;top:-80px;width:520px;height:520px;background:radial-gradient(circle,rgba(0,157,255,.15) 0%,rgba(0,157,255,.05) 45%,transparent 72%)}
.pools .p2{right:-160px;top:36%;width:520px;height:520px;background:radial-gradient(circle,rgba(122,90,248,.11) 0%,rgba(122,90,248,.04) 45%,transparent 72%)}
.pools .p3{left:-120px;bottom:-140px;width:500px;height:500px;background:radial-gradient(circle,rgba(255,144,87,.11) 0%,rgba(255,144,87,.04) 45%,transparent 72%)}
main{position:relative;z-index:1}

/* layout */
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.cols{display:grid;grid-template-columns:1fr;gap:22px}
@media(min-width:1024px){
  .cols{grid-template-columns:minmax(0,1fr) 400px;gap:40px;align-items:start}
  .cols .main{grid-column:1;grid-row:1}
  .cols .rail{grid-column:2;grid-row:1;position:sticky;top:76px}
}
.main,.rail{display:flex;flex-direction:column;gap:22px;min-width:0}
.main h2{margin-top:6px}
section{padding:28px 0}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--brand-600)}
.lede{font-size:17px;color:var(--fg2);max-width:34em}

/* top bar */
.top{position:sticky;top:0;z-index:40;background:rgba(255,248,242,.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--hairline)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:60px}
.top img{height:34px;width:auto}
.top .tel{display:inline-flex;align-items:center;gap:7px;font-weight:600;font-size:14px;color:var(--brand-600);min-height:44px;padding:0 4px}
.top .tel svg{width:16px;height:16px}
.top.dark{background:rgba(0,32,63,.72);border-bottom-color:rgba(255,255,255,.1)}
.top.dark .tel{color:#A5D8FF}
.top.dark img{filter:brightness(0) invert(1)}

/* glass card */
.card{background:var(--glass-strong);backdrop-filter:blur(12px) saturate(1.15);-webkit-backdrop-filter:blur(12px) saturate(1.15);border:1px solid var(--glass-border);border-radius:20px;box-shadow:var(--shadow-card);padding:20px}
@media(min-width:640px){.card{padding:24px}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border:0;border-radius:12px;background:var(--brand-500);color:#fff;font-weight:600;font-size:16px;cursor:pointer;width:100%;transition:transform .25s var(--ease-out),box-shadow .25s var(--ease-out),filter .25s}
.btn:hover{box-shadow:0 16px 32px -10px rgba(0,157,255,.72);filter:brightness(1.05);transform:translateY(-1px)}
.btn:active{transform:scale(.97)}
.btn[disabled]{opacity:.5;pointer-events:none}
.btn.ghost{background:rgba(255,255,255,.7);color:var(--brand-600);border:1px solid var(--border-default)}
.btn.soft{background:rgba(0,157,255,.12);color:var(--brand-600)}
.btn.auto{width:auto}
.btn .spin{width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* pills */
.pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.2px;padding:5px 11px;border-radius:980px;color:var(--brand-600);background:rgba(0,157,255,.12);white-space:nowrap}
.pill.amber{color:var(--warn-700);background:rgba(245,166,35,.18)}
.pill.green{color:var(--success);background:rgba(34,160,91,.12)}
.pill.teal{color:var(--teal);background:rgba(18,181,165,.14)}
.pill.violet{color:var(--violet);background:rgba(122,90,248,.13)}
.pill.light{color:#fff;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28)}

/* hero: video */
.hero-video{position:relative;color:#fff;min-height:82svh;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}
.hero-video video,.hero-video .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero-video .wash{position:absolute;inset:0;background:var(--wash-blue);z-index:-1}
.hero-video .wrap{padding-top:96px;padding-bottom:30px;display:flex;flex-direction:column;gap:14px;width:100%}
.hero-video h1{color:#fff}
.hero-video .lede{color:rgba(255,255,255,.86)}
.hero-video .eyebrow{color:#A5D8FF}
@media(min-width:1024px){.hero-video{min-height:78vh}.hero-video .wrap{padding-bottom:48px;max-width:1120px}.hero-video h1{max-width:12em}}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.hero-actions .btn{width:auto;min-width:220px}
.hero-actions .note{font-size:13px;color:rgba(255,255,255,.75)}
.mute{position:absolute;right:16px;bottom:16px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(0,32,63,.5);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2}
.mute svg{width:18px;height:18px}

/* hero: photo split */
.hero-split{display:grid;grid-template-columns:1fr;gap:0}
.hero-split .photo{position:relative;min-height:52svh;overflow:hidden}
.hero-split .photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-split .photo .wash{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,32,63,0) 30%,rgba(0,32,63,.85) 100%)}
.hero-split .photo .cap{position:absolute;left:20px;right:20px;bottom:18px;color:#fff;display:flex;flex-direction:column;gap:8px}
.hero-split .photo h1{color:#fff}
.hero-split .side{padding:18px 20px 8px}
@media(min-width:1024px){
  .hero-split{grid-template-columns:1.15fr .85fr;min-height:640px}
  .hero-split .photo{min-height:640px}
  .hero-split .photo .cap{left:48px;bottom:48px;right:48px}
  .hero-split .side{display:flex;align-items:center;padding:40px}
  .hero-split .side .card{width:100%}
}

/* hero: collage */
.hero-collage{position:relative;padding:18px 0 0}
.collage{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:200px 160px;gap:8px}
.collage figure{margin:0;border-radius:16px;overflow:hidden;position:relative;background:var(--fg5)}
.collage img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.collage figure:first-child{grid-row:1 / span 2}
.collage .tag{position:absolute;left:10px;bottom:10px}
@media(min-width:700px){.collage{grid-template-columns:1.5fr 1fr 1fr;grid-template-rows:240px 200px}.collage figure:first-child{grid-row:1 / span 2}.collage figure:nth-child(2){grid-column:2 / span 2}}
@media(min-width:1024px){.collage{grid-template-rows:280px 220px}}
.hero-collage .head{display:flex;flex-direction:column;gap:12px;padding:22px 0 6px}

/* hero: report */
.hero-report{padding:24px 0 8px}
.hero-report .wrap{display:grid;gap:22px}
@media(min-width:1024px){.hero-report .wrap{grid-template-columns:1fr 1fr;align-items:center;padding-top:20px}}
.hero-report .head{display:flex;flex-direction:column;gap:14px}
.report-stack{position:relative}
.report-stack .photo{border-radius:20px;overflow:hidden;aspect-ratio:4/5;max-height:440px}
.report-stack .photo img{width:100%;height:100%;object-fit:cover}
.report-stack .card{position:absolute;left:12px;right:12px;bottom:-26px;padding:16px}
@media(min-width:640px){.report-stack .card{left:auto;right:-8px;bottom:22px;width:320px}}

/* form */
.form h3{margin-bottom:2px}
.form .lbl{display:block;font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--fg3);margin:12px 0 7px}
.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.seg label{position:relative}
.seg input{position:absolute;opacity:0;inset:0;pointer-events:none}
.seg span{display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--border-default);background:rgba(255,255,255,.85);border-radius:11px;font-size:14px;font-weight:600;color:var(--fg2);cursor:pointer;transition:all .18s}
.seg input:checked+span{background:var(--navy);border-color:var(--navy);color:#fff}
.seg input:focus-visible+span{outline:2px solid var(--brand-500);outline-offset:2px}
.sess{display:flex;flex-direction:column;gap:7px}
.sess label{position:relative;display:block}
.sess input{position:absolute;opacity:0;inset:0;pointer-events:none}
.sess .row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;min-height:50px;padding:9px 13px;border:1px solid var(--border-default);background:rgba(255,255,255,.85);border-radius:12px;cursor:pointer;transition:all .18s}
.sess input:checked+.row{border-color:var(--brand-500);box-shadow:0 0 0 2px rgba(0,157,255,.2)}
.sess input:focus-visible+.row{outline:2px solid var(--brand-500);outline-offset:2px}
.sess input:disabled+.row{opacity:.5;cursor:not-allowed}
.sess .d{font-weight:600;font-size:14.5px;line-height:1.25}
.sess .d small{display:block;font-weight:400;font-size:12.5px;color:var(--fg3)}
.field{width:100%;min-height:48px;padding:0 14px;border:1px solid var(--border-default);border-radius:11px;background:rgba(255,255,255,.9);font-size:16px;color:var(--fg1)}
.field:focus{border-color:var(--brand-500);outline:none;box-shadow:0 0 0 3px rgba(0,157,255,.18)}
.field[aria-invalid="true"]{border-color:var(--danger)}
.form .fine{font-size:12px;color:var(--fg4);text-align:center;margin-top:10px;line-height:1.45}
.form .err{display:none;margin-top:10px;padding:10px 12px;border-radius:10px;background:rgba(224,65,65,.1);color:var(--danger);font-size:13.5px;font-weight:500}
.form .err.on{display:block}
.form .step{display:none}
.form .step.on{display:block}
.form .stepper{display:flex;gap:6px;margin-bottom:6px}
.form .stepper i{height:4px;flex:1;border-radius:2px;background:var(--border-default);display:block}
.form .stepper i.on{background:var(--brand-500)}
.form .back{background:none;border:0;color:var(--brand-600);font-weight:600;font-size:13.5px;padding:8px 0;cursor:pointer;min-height:44px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.hp{position:absolute;left:-9999px;top:-9999px}

/* proof strip */
.proof{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.proof div{background:var(--glass-strong);border:1px solid var(--glass-border);border-radius:18px;box-shadow:0 12px 28px -16px rgba(0,32,63,.24);padding:14px 8px;text-align:center}
.proof b{display:block;font-family:var(--font-display);font-weight:800;font-size:clamp(22px,5vw,30px);letter-spacing:-.8px;color:var(--brand-600);line-height:1}
.proof span{display:block;font-size:12px;color:var(--fg3);margin-top:5px;line-height:1.25}
.proof.onphoto div{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.26);box-shadow:none}
.proof.onphoto b{color:#fff}.proof.onphoto span{color:rgba(255,255,255,.78)}

/* what you get */
.tiles{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:640px){.tiles{grid-template-columns:repeat(3,1fr)}}
.tile{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:4/3;background:var(--navy);color:#fff}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 6s var(--ease-out)}
.tile:hover img{transform:scale(1.04)}
.tile .wash{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,32,63,0) 35%,rgba(0,32,63,.9) 100%)}
.tile .t{position:absolute;left:14px;right:14px;bottom:13px;display:flex;flex-direction:column;gap:3px}
.tile .t b{font-family:var(--font-display);font-weight:800;font-size:17px;letter-spacing:-.3px}
.tile .t span{font-size:13px;color:rgba(255,255,255,.8)}
.tile .n{position:absolute;left:12px;top:12px;width:28px;height:28px;border-radius:50%;background:var(--brand-500);color:#fff;font-family:var(--font-display);font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center}
.tile.score{background:#fff;color:var(--fg1)}
.tile.score img{object-fit:contain;padding:10px 10px 56px;background:#fff}
.tile.score .wash{background:linear-gradient(180deg,rgba(255,255,255,0) 55%,rgba(255,255,255,.96) 78%)}
.tile.score .t b{color:var(--fg1)}.tile.score .t span{color:var(--fg3)}

/* report preview */
.report{display:flex;flex-direction:column;gap:10px}
.report .tot{display:flex;justify-content:space-between;align-items:baseline}
.report .tot b{font-family:var(--font-display);font-weight:800;font-size:28px;letter-spacing:-1px;background:linear-gradient(105deg,#1E88E5,#7A6BE0 45%,#E85FA8 75%,#FF9057);-webkit-background-clip:text;background-clip:text;color:transparent}
.report .tot b small{font-family:var(--font-body);font-size:12px;font-weight:600;color:var(--fg3);-webkit-text-fill-color:var(--fg3);letter-spacing:0}
.meter{position:relative;height:12px;border-radius:999px;background:rgba(0,32,63,.08)}
.meter i{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:linear-gradient(90deg,#1E88E5,#7A6BE0,#E85FA8,#FF9057)}
.meter em{position:absolute;top:-4px;width:2px;height:20px;background:var(--navy);opacity:.5;border-radius:2px}
.marks{position:relative;height:28px;font-size:10.5px;color:var(--fg4)}
.marks span{position:absolute;transform:translateX(-50%);white-space:nowrap;text-align:center;line-height:1.2}
.bar .h{display:flex;justify-content:space-between;font-size:13px;color:var(--fg2)}
.bar .h b{font-family:var(--font-display);font-weight:800;color:var(--fg1)}
.bar .tr{height:6px;border-radius:3px;background:rgba(0,32,63,.08);overflow:hidden;margin-top:4px}
.bar .tr i{display:block;height:100%;border-radius:3px;background:var(--brand-500)}
.bar .tr i.focus{background:var(--warn)}
.cap{font-size:12px;color:var(--fg4)}

/* sittings table */
table.sit{width:100%;border-collapse:collapse;font-size:14px}
table.sit th{font-size:10.5px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;color:var(--fg4);text-align:left;padding:8px 6px;border-bottom:1px solid var(--border-default)}
table.sit td{padding:11px 6px;border-bottom:1px solid var(--border-subtle);font-weight:500}
table.sit td:last-child{text-align:right}
table.sit .seats{font-weight:700;color:var(--success);white-space:nowrap}
table.sit .seats.low{color:var(--warn-700)}
table.sit .seats.full{color:var(--fg4)}
table.sit .book{color:var(--brand-600);font-weight:700;font-size:13px;margin-left:10px;cursor:pointer;background:none;border:0;padding:6px 0;min-height:36px}

/* steps / agenda */
.agenda{display:grid;gap:0}
.agenda .r{display:grid;grid-template-columns:56px 1fr;gap:12px;padding:10px 0;border-top:1px solid var(--border-subtle)}
.agenda .r:first-child{border-top:0}
.agenda .t{font-family:var(--font-display);font-weight:800;font-size:13px;color:var(--brand-600);padding-top:2px}
.agenda .w b{display:block;font-weight:600}
.agenda .w span{font-size:14px;color:var(--fg2)}

/* faq */
.faq details{border-top:1px solid var(--border-subtle);padding:4px 0}
.faq details:first-child{border-top:0}
.faq summary{list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center;font-weight:600;font-size:15px;padding:10px 0;cursor:pointer;min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--fg4);font-weight:400;font-size:20px;line-height:1}
.faq details[open] summary::after{content:"\2013"}
.faq p{font-size:14.5px;color:var(--fg2);padding:0 0 12px;max-width:44em}

/* reviews */
.reviews{gap:14px}
.gbadge{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.gbadge .stars{color:#F5A623;letter-spacing:1px;font-size:15px}
.gbadge b{font-weight:700;font-size:14px}
.reviews blockquote{margin:0;border-left:3px solid var(--brand-500);padding:2px 0 2px 12px}
.reviews blockquote p{font-size:14.5px;color:var(--fg2);line-height:1.5}
.reviews cite{display:block;font-style:normal;font-size:12px;color:var(--fg4);margin-top:5px}
/* webinar */
.webinar{border-color:rgba(14,156,142,.35);gap:8px}
.webinar .inc{display:flex;flex-direction:column;gap:12px;margin-top:4px}
.webinar .inc > div{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start}
.webinar .inc .pill{margin-top:2px}
.webinar .inc b{display:block;font-weight:600;font-size:15px}
.webinar .inc span:not(.pill){font-size:14px;color:var(--fg2)}

/* contact */
.contact{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.contact a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:64px;background:rgba(255,255,255,.75);border:1px solid var(--border-default);border-radius:12px;font-weight:600;font-size:13px;color:var(--brand-600)}
.contact svg{width:18px;height:18px}

footer{padding:26px 0 120px;font-size:12.5px;color:var(--fg4);text-align:center;line-height:1.6}
footer a{color:var(--fg4)}

/* sticky cta */
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:30;background:rgba(255,248,242,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--hairline);padding:10px 14px calc(10px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 48px;gap:8px;transform:translateY(110%);transition:transform .35s var(--ease-out)}
.sticky.on{transform:none}
.sticky .btn{min-height:46px}
.sticky .call{display:flex;align-items:center;justify-content:center;border:1px solid var(--border-default);background:rgba(255,255,255,.85);border-radius:12px;color:var(--brand-600)}
.sticky .call svg{width:20px;height:20px}
@media(min-width:1024px){.sticky{display:none}}

/* success flow */
.done{display:none;flex-direction:column;gap:12px}
.done.on{display:flex}
.done .tick{width:56px;height:56px;border-radius:50%;background:rgba(34,160,91,.14);display:flex;align-items:center;justify-content:center;margin:0 auto}
.done .tick svg{width:28px;height:28px}
.done h3{text-align:center;font-size:22px}
.done .sub{text-align:center;color:var(--fg2);font-size:15px}
.done .facts{display:flex;flex-direction:column;gap:7px;font-size:14px;color:var(--fg2)}
.done .facts div{display:grid;grid-template-columns:18px 1fr;gap:8px;align-items:start}
.done .facts svg{width:16px;height:16px;margin-top:2px}
.done .price{font-family:var(--font-display);font-weight:800;font-size:30px;letter-spacing:-1px}
.done .price small{font-family:var(--font-body);font-weight:500;font-size:12px;color:var(--fg3);letter-spacing:0}
.done .eyebrow{text-align:center}

/* Reduce Motion: the design system slows loops rather than cutting them, so no blanket
   animation kill here - each loop sets its own slower duration. */
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ================= Claude Design body blocks (ebefc5a9) ================= */
.ev-label{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--fg4)}
.lblrow{display:flex;align-items:center;justify-content:space-between;gap:10px}
.live{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--fg3)}
.live i{width:7px;height:7px;border-radius:50%;background:var(--success);animation:evpulse 1.8s ease-in-out infinite}
@keyframes evpulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}

/* proof: three glass stats + real report card */
.proofblk{display:flex;flex-direction:column;gap:10px}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.stats > div{background:var(--glass-strong);border:1px solid var(--glass-border);border-radius:18px;box-shadow:0 12px 28px -16px rgba(0,32,63,.24);padding:12px 12px 10px;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;min-height:74px}
.stats .k{font-size:9.5px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:var(--fg4);white-space:nowrap}
.stats b{font-family:var(--font-display);font-weight:800;font-size:clamp(22px,5.5vw,26px);letter-spacing:-.8px;line-height:1;color:var(--navy);font-variant-numeric:tabular-nums}
.stats b.hi{color:var(--brand-600)}
.reportcard{display:flex;gap:14px;align-items:center;padding:12px 14px}
.reportcard img{width:72px;height:90px;object-fit:cover;object-position:top;border-radius:10px;border:1px solid var(--border-subtle);background:#fff;flex:none}
.reportcard b{display:block;font-size:14px;font-weight:600;line-height:1.3}
.reportcard span{display:block;font-size:12.5px;color:var(--fg3);line-height:1.5;margin-top:3px}

/* reviews */
.reviewsblk{display:flex;flex-direction:column;gap:10px}
.gpill{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;border-radius:980px;background:rgba(255,255,255,.8);border:1px solid var(--border-default);font-size:12px;font-weight:700}
.gpill .stars{color:var(--warn);font-size:11px;letter-spacing:0}
.gpill span:last-child{color:var(--fg4);font-weight:600}
.rgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}
.rv{padding:16px 18px;gap:10px;display:flex;flex-direction:column}
.rv p{font-size:14.5px;line-height:1.55;font-weight:500;color:var(--fg1)}
.rv cite{font-style:normal;font-size:12px;color:var(--fg4)}
.rv cite b{color:var(--fg2);font-weight:600}

/* timeline with photos */
.timeline{display:flex;flex-direction:column;gap:10px}
.tl{display:flex;flex-direction:column}
.tl .tr{display:grid;grid-template-columns:52px 1fr 92px;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--hairline)}
.tl .t{font-family:var(--font-display);font-weight:800;font-size:13px;color:var(--brand-600);font-variant-numeric:tabular-nums}
.tl .w b{display:block;font-size:14px;font-weight:600;line-height:1.3}
.tl .w span{display:block;font-size:12px;color:var(--fg4);margin-top:2px;line-height:1.4}
.tl img{width:92px;height:70px;object-fit:cover;border-radius:12px;background:#fff}
.tl img.doc{object-fit:cover;object-position:top;border:1px solid var(--border-subtle)}
@media(min-width:1024px){
  .tl{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
  .tl .tr{display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:10px;border:1px solid var(--glass-border);background:var(--glass-strong);border-radius:20px;box-shadow:var(--shadow-card)}
  .tl img{width:100%;height:auto;aspect-ratio:4/3;order:-1}
  .tl .w{padding:0 4px 4px}
}

/* sittings */
.sittings{padding:14px 16px 6px;gap:6px;display:flex;flex-direction:column}
table.sit td{padding:10px 4px}
table.sit .book{background:rgba(0,157,255,.12);color:var(--brand-600);border-radius:9px;padding:6px 12px;font-size:12.5px;min-height:32px}

/* faq grid */
.faqblk{display:flex;flex-direction:column;gap:10px}
.faqblk .faq{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:8px;align-items:start}
.faqblk .faq details{background:var(--glass-strong);border:1px solid var(--glass-border);border-radius:20px;box-shadow:var(--shadow-card);padding:0 16px;border-top:1px solid var(--glass-border)}
.faqblk .faq summary{font-size:14px;padding:13px 0}
.faqblk .faq p{font-size:13.5px}

/* contact */
.contactblk{display:flex;flex-direction:column;gap:10px}
.contactblk .contact a{flex-direction:row;min-height:40px;font-size:13.5px;background:rgba(255,255,255,.7)}
.contactblk .contact svg{width:15px;height:15px}

/* sticky with label */
.sticky{grid-template-columns:minmax(0,1fr) auto;align-items:center}
.sticky .sl{min-width:0;display:flex;flex-direction:column}
.sticky .sl b{font-size:12.5px;font-weight:700}
.sticky .sl span{font-size:11px;color:var(--fg4)}
.sticky .btn{width:auto;padding:0 18px}

/* form: design-system version */
.form .fhead{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.form .fhead h3{flex:1;font-size:17px}
.form .dots{display:inline-flex;gap:4px}
.form .dots i{width:7px;height:7px;border-radius:4px;background:rgba(0,32,63,.18);display:block}
.form .dots i.on{background:var(--brand-500)}
.form .lbl{margin:0 0 8px}
.form .seg{margin-bottom:14px}
.form .seg span{background:rgba(255,255,255,.78);border-radius:11px}
.form .seg input:checked+span{background:rgba(0,157,255,.12);border-color:var(--brand-500);color:var(--brand-600)}
.form .lblrow{margin-bottom:8px}
.sess .row{background:rgba(255,255,255,.78);border-radius:11px;min-height:52px;padding:8px 14px}
.sess input:checked+.row{background:rgba(0,157,255,.12);border-color:var(--brand-500);box-shadow:none}
.sess input:checked+.row .d{color:var(--brand-600)}
.form .summary{font-size:13px;color:var(--fg2);margin-bottom:12px;padding:10px 12px;border-radius:11px;background:rgba(0,157,255,.08)}
.form .step[data-step="2"] .field{margin-bottom:10px}
.form .frow{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:6px}
.form .frow .fine{text-align:right;font-size:11.5px}
.form .back{font-size:12.5px;color:var(--fg3)}
.done .tick{width:38px;height:38px;border-radius:12px;margin:0}
.done .tick svg{width:20px;height:20px}
.done .dh{display:flex;gap:12px;align-items:flex-start}
.done .dh h3{text-align:left;font-size:17px}
.done .dh p{font-size:13.5px;line-height:1.55;color:var(--fg2);margin-top:4px}
.done .dh small{display:block;font-size:12px;color:var(--fg4);margin-top:6px;line-height:1.45}
.done .div{border-top:1px solid var(--hairline);padding-top:14px;display:flex;flex-direction:column;gap:6px}
.done .div b{font-size:14px;font-weight:600}
.done .div .cap{font-size:12.5px;line-height:1.5}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pills label{position:relative}
.pills input{position:absolute;opacity:0;inset:0;pointer-events:none}
.pills span{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:11px;border:1px solid var(--border-default);background:rgba(255,255,255,.78);font-size:13px;font-weight:600;color:var(--fg1);cursor:pointer}
.pills input:checked+span{border-color:var(--brand-500);background:rgba(0,157,255,.12);color:var(--brand-600)}
.pills input:focus-visible+span{outline:2px solid var(--brand-500);outline-offset:2px}

/* flat layout: body blocks in column 1, the form spans column 2 on desktop */
.flat{display:flex;flex-direction:column;gap:28px}
@media(min-width:1024px){
  .flat{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:32px;align-items:start}
  .flat > *{grid-column:1}
  .flat > .form{grid-column:2;grid-row:1 / span 12;position:sticky;top:16px;align-self:start}
  .flat.pull > .form{margin-top:-190px}
}

/* hero chrome shared by the design heroes */
.hchrome{position:absolute;top:14px;left:16px;right:16px;display:flex;justify-content:space-between;align-items:center;z-index:2}
.hchrome .lp{height:36px;padding:0 12px;border-radius:980px;background:var(--glass);backdrop-filter:blur(12px) saturate(1.15);-webkit-backdrop-filter:blur(12px) saturate(1.15);border:1px solid var(--glass-border);display:flex;align-items:center}
.hchrome .lp img{height:20px;width:auto}
.hchrome .chip{font-size:10.5px;font-weight:700;letter-spacing:1px;padding:6px 10px;border-radius:980px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);color:#fff;text-transform:uppercase}
.hchrome .chip.ink{background:rgba(0,157,255,.1);border-color:transparent;color:var(--brand-600)}
.hchrome .dk{display:none;align-items:center;gap:14px;font-size:13px;color:rgba(255,255,255,.8)}
.hchrome .dk .btn{width:auto;min-height:40px;font-size:14px;padding:0 18px}
@media(min-width:1024px){.hchrome{top:18px;left:48px;right:48px}.hchrome .lp{height:40px;padding:0 14px}.hchrome .lp img{height:22px}.hchrome .dk{display:flex}.hchrome .chip{display:none}}

/* E: video-led (1a) */
.hero-e{position:relative;height:600px;overflow:hidden;color:#fff;isolation:isolate}
.hero-e video,.hero-e .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero-e .wash{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,32,63,.38) 0%,rgba(0,32,63,.6) 45%,rgba(0,32,63,.95) 100%);z-index:-1}
.hero-e .copy{position:absolute;left:0;right:0;bottom:0;padding:0 20px 24px;display:flex;flex-direction:column;gap:12px}
.hero-e .eb{font-size:11px;font-weight:700;letter-spacing:1px;color:rgba(255,255,255,.82);text-transform:uppercase}
.hero-e h1{color:#fff;font-size:36px;line-height:1.04;letter-spacing:-1px}
.hero-e p{font-size:14.5px;line-height:1.5;color:rgba(255,255,255,.88)}
.hero-e .dates{font-size:12px;color:rgba(255,255,255,.72);text-align:center}
@media(min-width:1024px){
  .hero-e{height:620px}
  .hero-e .wash{background:linear-gradient(100deg,rgba(0,32,63,.95) 0%,rgba(0,32,63,.72) 48%,rgba(0,32,63,.35) 100%)}
  .hero-e .copy{left:48px;right:auto;bottom:64px;max-width:640px;padding:0;gap:16px}
  .hero-e h1{font-size:60px;line-height:1.02;letter-spacing:-2px}
  .hero-e p{font-size:17px;max-width:520px}
  .hero-e .dates{text-align:left;font-size:13px}
  .hero-e .btn{display:none}
}

/* F: report-led (1b) */
.hero-f{position:relative;height:520px;overflow:hidden;color:#fff;isolation:isolate}
.hero-f video,.hero-f .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero-f .wash{position:absolute;inset:0;background:linear-gradient(165deg,rgba(0,157,255,.4) 0%,rgba(0,85,140,.66) 45%,rgba(0,32,63,.94) 100%);z-index:-1}
.hero-f .copy{position:absolute;top:76px;left:20px;right:20px;display:flex;flex-direction:column;gap:10px}
.hero-f .eb{font-size:11px;font-weight:700;letter-spacing:1px;color:rgba(255,255,255,.85);text-transform:uppercase}
.hero-f h1{color:#fff;font-size:34px;line-height:1.05;letter-spacing:-1px}
.hero-f p{font-size:14px;line-height:1.5;color:rgba(255,255,255,.88)}
.hero-f .hact{display:none}
.floatrep{position:relative;z-index:2;margin:-210px 16px 0}
.floatrep .card{background:rgba(255,255,255,.9);padding:16px 18px 14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 28px 48px -20px rgba(0,32,63,.5);gap:0}
.floatrep .rh{display:flex;justify-content:space-between;align-items:center}
.floatrep .big{display:flex;align-items:baseline;gap:10px;margin-top:6px}
.floatrep .big b{font-family:var(--font-display);font-weight:800;font-size:42px;letter-spacing:-1.5px;color:var(--navy);font-variant-numeric:tabular-nums;line-height:1}
.floatrep .big span{font-size:12px;color:var(--fg4)}
.floatrep .bars{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.floatrep .bars > div{display:grid;grid-template-columns:96px 1fr 44px;gap:10px;align-items:center;font-size:12.5px}
.floatrep .bars > div > span:first-child{color:var(--fg2)}
.floatrep .bars .trk{height:6px;border-radius:3px;background:rgba(0,32,63,.08);overflow:hidden}
.floatrep .bars .trk i{display:block;height:100%;border-radius:3px;background:var(--brand-500)}
.floatrep .bars .trk i.focus{background:var(--warn)}
.floatrep .bars > div > b{text-align:right;font-variant-numeric:tabular-nums}
.floatrep .ft{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--hairline);font-size:12px;color:var(--fg3);line-height:1.4}
.floatrep .ft .btn{width:auto;min-height:40px;font-size:14px;padding:0 16px;flex:none}
@media(min-width:1024px){
  .hero-f{height:640px}
  .hero-f .wash{background:linear-gradient(120deg,rgba(0,32,63,.92) 0%,rgba(0,85,140,.66) 50%,rgba(0,157,255,.38) 100%)}
  .hero-f .copy{left:48px;right:auto;top:50%;transform:translateY(-50%);max-width:560px;gap:16px}
  .hero-f h1{font-size:56px;line-height:1.02;letter-spacing:-2px}
  .hero-f p{font-size:17px;max-width:480px}
  .hero-f .hact{display:flex;align-items:center;gap:14px;font-size:13px;color:rgba(255,255,255,.72)}
  .hero-f .hact .btn{width:auto}
  .floatrep{position:absolute;right:88px;top:50%;transform:translateY(-50%) rotate(-2deg);width:420px;margin:0;z-index:3}
  .floatrep .card{padding:20px 22px 18px;box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 40px 60px -24px rgba(0,32,63,.6)}
  .floatrep .big b{font-size:48px;letter-spacing:-2px}
  .floatrep .ft .btn{display:none}
  .hero-f-wrap{position:relative}
}

/* G: editorial (1c) */
.hero-g{position:relative;padding:14px 0 0}
.hero-g .gchrome{display:flex;justify-content:space-between;align-items:center;padding:0 16px}
.hero-g .gchrome img{height:22px;width:auto}
.hero-g .gchrome .chip{font-size:10.5px;font-weight:700;letter-spacing:1px;padding:6px 10px;border-radius:980px;background:rgba(0,157,255,.1);color:var(--brand-600);text-transform:uppercase}
.hero-g .gchrome .dk{display:none;align-items:center;gap:14px;font-size:13px;color:var(--fg3)}
.hero-g .gchrome .dk .btn{width:auto;min-height:40px;font-size:14px;padding:0 18px}
.hero-g .copy{padding:30px 18px 18px;display:flex;flex-direction:column;gap:12px}
.hero-g h1{font-size:42px;line-height:1;letter-spacing:-1.6px}
.hero-g h1 em{font-style:normal;color:var(--brand-500)}
.hero-g p{font-size:15px;line-height:1.55;color:var(--fg2)}
.hero-g .dates{font-size:12px;color:var(--fg4);text-align:center}
.vframe{margin:6px 16px 0;position:relative;z-index:1}
.vframe .card{padding:8px;border-radius:26px}
.vframe .vin{position:relative;aspect-ratio:4/5;border-radius:19px;overflow:hidden;background:var(--navy);color:#fff}
.vframe video,.vframe .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vframe .wash{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,32,63,0) 40%,rgba(0,32,63,.75) 100%)}
.vframe .chips{position:absolute;left:16px;right:16px;bottom:16px;display:flex;gap:6px;flex-wrap:wrap}
.vframe .chips span{font-size:10.5px;font-weight:700;letter-spacing:.6px;padding:5px 9px;border-radius:980px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);white-space:nowrap;text-transform:uppercase}
.vframe .chips span.on{background:rgba(0,157,255,.85);border-color:transparent}
.hero-g + .wrap .flat{margin-top:-44px;position:relative;z-index:2}
@media(min-width:1024px){
  .hero-g .gchrome{padding:4px 48px 0}
  .hero-g .gchrome img{height:24px}
  .hero-g .gchrome .chip{display:none}
  .hero-g .gchrome .dk{display:flex}
  .hero-g .copy{padding:44px 48px 36px;gap:18px;max-width:1120px;margin:0 auto}
  .hero-g h1{font-size:76px;line-height:.98;letter-spacing:-3.2px;max-width:820px}
  .hero-g .row2{display:flex;gap:28px;align-items:flex-end;justify-content:space-between}
  .hero-g p{font-size:17px;max-width:520px}
  .hero-g .dates{text-align:right;font-size:13px}
  .hero-g .copy .btn{display:none}
  .vframe{margin:0 48px;max-width:1024px}
  .vframe .card{padding:10px;border-radius:28px}
  .vframe .vin{aspect-ratio:16/9;border-radius:20px}
  .vframe .chips{left:22px;bottom:22px}
  .vframe .chips span{font-size:11px;padding:6px 10px}
  .hero-g + .wrap .flat{margin-top:-56px}
}

/* ================= G v2: video hero (bg on mobile, side-by-side on desktop) ================= */
.hero-g2{position:relative;color:#fff;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;isolation:isolate}
.hero-g2 .media{position:absolute;inset:0;z-index:-2}
.hero-g2 .media video,.hero-g2 .media .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-g2 .media .chips{display:none}
.hero-g2 .wash{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,32,63,.32) 0%,rgba(0,32,63,.62) 45%,rgba(0,32,63,.95) 100%);z-index:-1}
.hero-g2 .copy{padding:0 20px 24px;display:flex;flex-direction:column;gap:12px}
.hero-g2 .eb{font-size:11px;font-weight:700;letter-spacing:1px;color:#A5D8FF;text-transform:uppercase;line-height:1.4}
.hero-g2 h1{color:#fff;font-size:38px;line-height:1.02;letter-spacing:-1.2px}
.hero-g2 h1 em{font-style:normal;color:#A5D8FF}
.hero-g2 .sub{font-size:15px;line-height:1.5;color:rgba(255,255,255,.88)}
.hero-g2 .sub b{color:#fff;font-weight:600}
.hero-g2 .dates{font-size:12px;color:rgba(255,255,255,.72)}
.trust{display:flex;align-items:center;gap:12px}
.trust .avs{display:flex}
.trust .avs span{width:40px;height:40px;border-radius:50%;border:2px solid #fff;margin-left:-10px;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:800;font-size:13px;color:#fff;background:var(--navy);overflow:hidden}
.trust .avs span:first-child{margin-left:0}
.trust .avs img{width:100%;height:100%;object-fit:cover}
.trust .avs .a1{background:#0E9C8E}.trust .avs .a2{background:#7A5AF8}.trust .avs .a3{background:#D68910}.trust .avs .a4{background:#007ECC}
.trust .tx{display:flex;flex-direction:column;gap:2px;border-left:1px solid rgba(255,255,255,.28);padding-left:12px}
.trust .st{display:flex;align-items:center;gap:6px;font-weight:700;font-size:14px}
.trust .st i{color:#FACC15;font-style:normal;letter-spacing:1px;font-size:14px}
.trust .tline{font-size:12.5px;color:rgba(255,255,255,.8)}
.trust .tline b{color:#fff;font-weight:600}
.trust.ink .avs span{border-color:var(--bg-page)}
.trust.ink .tx{border-left-color:var(--border-default)}
.trust.ink .st{color:var(--fg1)}
.trust.ink .tline{color:var(--fg3)}.trust.ink .tline b{color:var(--fg1)}
@media(min-width:1024px){
  .hero-g2{min-height:0;color:var(--fg1);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center;padding:56px 48px 44px;max-width:1120px;margin:0 auto;overflow:visible}
  .hero-g2 .wash{display:none}
  .hero-g2 .media{position:relative;inset:auto;z-index:0;order:2;padding:10px;border-radius:28px;background:var(--glass);backdrop-filter:blur(12px) saturate(1.15);border:1px solid var(--glass-border);box-shadow:var(--shadow-card)}
  .hero-g2 .media .vin{position:relative;aspect-ratio:4/5;max-height:560px;border-radius:20px;overflow:hidden;background:var(--navy)}
  .hero-g2 .media .vwash{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,32,63,0) 45%,rgba(0,32,63,.72) 100%)}
  .hero-g2 .media .chips{display:flex;position:absolute;left:18px;right:18px;bottom:18px;gap:6px;flex-wrap:wrap}
  .hero-g2 .media .chips span{font-size:10.5px;font-weight:700;letter-spacing:.6px;padding:6px 10px;border-radius:980px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);color:#fff;text-transform:uppercase}
  .hero-g2 .media .chips span.on{background:rgba(0,157,255,.85);border-color:transparent}
  .hero-g2 .copy{padding:0;gap:18px}
  .hero-g2 .eb{color:var(--brand-600)}
  .hero-g2 h1{color:var(--fg1);font-size:64px;letter-spacing:-2.6px;line-height:.98}
  .hero-g2 h1 em{color:var(--brand-500)}
  .hero-g2 .sub{color:var(--fg2);font-size:17px;max-width:32em}
  .hero-g2 .sub b{color:var(--fg1)}
  .hero-g2 .dates{color:var(--fg4);font-size:13px}
  .hero-g2 .btn{width:auto;align-self:flex-start;min-width:240px}
  .hero-g2 .trust .avs span{border-color:var(--bg-page)}
  .hero-g2 .trust .tx{border-left-color:var(--border-default)}
  .hero-g2 .trust .st{color:var(--fg1)}
  .hero-g2 .trust .tline{color:var(--fg3)}.hero-g2 .trust .tline b{color:var(--fg1)}
}
.hero-g2 .gchrome{position:absolute;top:14px;left:16px;right:16px;display:flex;justify-content:space-between;align-items:center;z-index:2}
.hero-g2 .gchrome .lp{height:36px;padding:0 12px;border-radius:980px;background:var(--glass);backdrop-filter:blur(12px) saturate(1.15);border:1px solid var(--glass-border);display:flex;align-items:center}
.hero-g2 .gchrome .lp img{height:20px;width:auto}
.hero-g2 .gchrome .chip{font-size:10.5px;font-weight:700;letter-spacing:1px;padding:6px 10px;border-radius:980px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);color:#fff;text-transform:uppercase}
@media(min-width:1024px){.hero-g2 .gchrome{display:none}}
.topbar-desk{display:none}
@media(min-width:1024px){.topbar-desk{display:block}}

/* proof gallery after the FAQ */
.gallery{display:flex;flex-direction:column;gap:14px}
.gallery .gh{display:flex;flex-direction:column;gap:6px}
.gallery h2{font-size:clamp(24px,4.6vw,32px)}
.gallery .gh p{font-size:15px;color:var(--fg2);max-width:38em}
.gbig{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.gbig > div{background:var(--glass-strong);border:1px solid var(--glass-border);border-radius:18px;box-shadow:0 12px 28px -16px rgba(0,32,63,.24);padding:14px 14px 12px;display:flex;flex-direction:column;gap:4px}
.gbig b{font-family:var(--font-display);font-weight:800;font-size:clamp(28px,7vw,40px);letter-spacing:-1.4px;line-height:1;color:var(--brand-600)}
.gbig span{font-size:12.5px;color:var(--fg2);line-height:1.4}
.shots{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media(min-width:700px){.shots{grid-template-columns:repeat(4,1fr)}}
.shots figure{margin:0;background:#fff;border:1px solid var(--border-subtle);border-radius:14px;overflow:hidden;box-shadow:0 12px 28px -16px rgba(0,32,63,.24)}
.shots img{width:100%;height:auto;display:block}
.shots figcaption{padding:8px 10px;font-size:11.5px;color:var(--fg3);line-height:1.35;border-top:1px solid var(--border-subtle)}
.shots figcaption b{display:block;color:var(--fg1);font-weight:600;font-size:12.5px}
.repgrid{display:grid;grid-template-columns:1fr;gap:10px}
@media(min-width:700px){.repgrid{grid-template-columns:1.6fr 1fr}}
.repgrid figure{margin:0;background:#fff;border:1px solid var(--border-subtle);border-radius:14px;overflow:hidden;box-shadow:0 12px 28px -16px rgba(0,32,63,.24)}
.repgrid img{width:100%;height:auto;display:block}
.repgrid figcaption{padding:8px 10px;font-size:11.5px;color:var(--fg3);border-top:1px solid var(--border-subtle)}

/* ================= G v3: colour, the day as glass photo cards, collage ================= */
/* proof stats with identity colour */
.stats > div{position:relative;overflow:hidden}
.stats > div::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;border-radius:4px 4px 0 0}
.stats > div:nth-child(1){background:linear-gradient(180deg,rgba(0,157,255,.14),rgba(255,255,255,.78))}
.stats > div:nth-child(1)::before{background:var(--brand-500)}
.stats > div:nth-child(1) b{color:var(--brand-600)}
.stats > div:nth-child(2){background:linear-gradient(180deg,rgba(122,90,248,.14),rgba(255,255,255,.78))}
.stats > div:nth-child(2)::before{background:var(--violet)}
.stats > div:nth-child(2) b{color:var(--violet)}
.stats > div:nth-child(3){background:linear-gradient(180deg,rgba(14,156,142,.14),rgba(255,255,255,.78))}
.stats > div:nth-child(3)::before{background:var(--teal)}
.stats > div:nth-child(3) b.hi{color:var(--teal)}
.reportcard{border-left:0;background:linear-gradient(90deg,rgba(0,157,255,.10),rgba(255,255,255,.78) 60%)}
.gbig > div:nth-child(1){background:linear-gradient(180deg,rgba(0,157,255,.16),rgba(255,255,255,.8))}
.gbig > div:nth-child(2){background:linear-gradient(180deg,rgba(122,90,248,.16),rgba(255,255,255,.8))}
.gbig > div:nth-child(2) b{color:var(--violet)}
.report .tot b{background-image:linear-gradient(105deg,#1E88E5,#7A6BE0 45%,#E85FA8 75%,#FF9057);-webkit-background-clip:text;background-clip:text;color:transparent}

/* the day: photo cards with a colour wash, text on top, revealed on scroll */
.day{display:flex;flex-direction:column;gap:10px}
.day .dh{display:flex;flex-direction:column;gap:4px}
.day .dh p{font-size:14.5px;color:var(--fg2)}
.dcards{display:grid;grid-template-columns:1fr;gap:12px}
.dcard{position:relative;border-radius:22px;overflow:hidden;min-height:250px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:18px 18px 18px;isolation:isolate;box-shadow:0 14px 32px -16px rgba(0,32,63,.4)}
.dcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 8s var(--ease-out)}
.dcard:hover img{transform:scale(1.05)}
.dcard .wash{position:absolute;inset:0;z-index:-1}
.dcard.blue .wash{background:linear-gradient(165deg,rgba(0,157,255,.4) 0%,rgba(0,85,140,.62) 45%,rgba(0,32,63,.94) 100%)}
.dcard.violet .wash{background:linear-gradient(165deg,rgba(122,90,248,.45) 0%,rgba(64,44,158,.62) 45%,rgba(0,32,63,.94) 100%)}
.dcard.teal .wash{background:linear-gradient(165deg,rgba(18,181,165,.42) 0%,rgba(11,110,99,.6) 45%,rgba(4,54,48,.94) 100%)}
.dcard.amber .wash{background:linear-gradient(165deg,rgba(245,166,35,.45) 0%,rgba(178,108,14,.6) 45%,rgba(58,38,3,.94) 100%)}
.dcard.indigo .wash{background:linear-gradient(165deg,rgba(94,102,224,.42) 0%,rgba(48,52,140,.6) 45%,rgba(14,16,50,.94) 100%)}
.dcard .tpill{position:absolute;top:14px;left:14px;font-family:var(--font-display);font-weight:800;font-size:12px;letter-spacing:.4px;padding:6px 10px;border-radius:980px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-variant-numeric:tabular-nums}
.dcard .n{position:absolute;top:14px;right:14px;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:800;font-size:12px}
.dcard b{font-family:var(--font-display);font-weight:800;font-size:22px;letter-spacing:-.5px;line-height:1.1}
.dcard span{font-size:14px;line-height:1.45;color:rgba(255,255,255,.86);margin-top:6px;max-width:30em}
.dcard.doc img{object-fit:cover;object-position:top}
[data-rise]{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}
[data-rise].in{opacity:1;transform:none}
.no-motion [data-rise]{opacity:1;transform:none;transition:none}
@media(min-width:720px){
  .dcards{grid-template-columns:repeat(6,1fr)}
  .dcard{min-height:280px}
  .dcard:nth-child(1),.dcard:nth-child(2),.dcard:nth-child(3){grid-column:span 2}
  .dcard:nth-child(4),.dcard:nth-child(5){grid-column:span 3}
}

/* collage: inside Everest */
.collageblk{display:flex;flex-direction:column;gap:10px}
.mosaic{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:150px;gap:8px}
.mosaic figure{margin:0;position:relative;border-radius:16px;overflow:hidden;background:var(--fg5)}
.mosaic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mosaic figure:nth-child(1){grid-row:span 2}
.mosaic figure:nth-child(4){grid-row:span 2}
.mosaic figcaption{position:absolute;left:10px;bottom:10px;font-size:10.5px;font-weight:700;padding:5px 9px;border-radius:980px;background:rgba(0,32,63,.55);color:#fff;letter-spacing:.3px}
@media(min-width:720px){.mosaic{grid-template-columns:repeat(4,1fr);grid-auto-rows:170px}.mosaic figure:nth-child(1){grid-row:span 2}.mosaic figure:nth-child(4){grid-row:span 2}}

/* ================= G v4: glass cards (fade-to-top wash), animated outlines, real avatars ================= */
.dcard{padding:16px;min-height:300px;justify-content:flex-end}
.dcard .wash{background:none}
.dcard.blue .wash{background:linear-gradient(180deg,rgba(0,157,255,.10) 0%,rgba(0,110,190,.45) 50%,rgba(0,32,63,.92) 100%)}
.dcard.violet .wash{background:linear-gradient(180deg,rgba(122,90,248,.10) 0%,rgba(90,60,200,.48) 50%,rgba(30,20,90,.93) 100%)}
.dcard.teal .wash{background:linear-gradient(180deg,rgba(18,181,165,.10) 0%,rgba(11,120,108,.48) 50%,rgba(4,54,48,.93) 100%)}
.dcard.amber .wash{background:linear-gradient(180deg,rgba(245,166,35,.10) 0%,rgba(190,115,15,.48) 50%,rgba(58,38,3,.93) 100%)}
.dcard.indigo .wash{background:linear-gradient(180deg,rgba(94,102,224,.10) 0%,rgba(60,66,170,.5) 50%,rgba(14,16,50,.93) 100%)}
.dcard.rose .wash{background:linear-gradient(180deg,rgba(236,72,153,.10) 0%,rgba(170,40,110,.48) 50%,rgba(46,7,32,.93) 100%)}
.dcard.cyan .wash{background:linear-gradient(180deg,rgba(56,189,248,.10) 0%,rgba(14,116,144,.5) 50%,rgba(3,38,48,.93) 100%)}
.dcard .ico{position:absolute;top:auto;left:16px;bottom:118px;width:38px;height:38px;border-radius:11px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;color:#fff}
.dcard .ico svg{width:18px;height:18px}
.dcard .dt{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.dcard .dt b{font-size:24px;letter-spacing:-.6px;line-height:1.08}
.dcard .dt > span:not(.tpill){font-size:14px;color:rgba(255,255,255,.86);margin:0;line-height:1.4}
.dcard .tpill{position:static;margin-top:6px;font-family:var(--font-display);font-weight:700;font-size:12px;letter-spacing:.2px;padding:6px 11px;border-radius:980px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.dcard .n{top:14px;right:14px}
@media(min-width:720px){
  .dcards{grid-template-columns:repeat(12,1fr)}
  .dcard{min-height:320px}
  .dcard:nth-child(1),.dcard:nth-child(2),.dcard:nth-child(3){grid-column:span 4}
  .dcard:nth-child(4),.dcard:nth-child(5),.dcard:nth-child(6),.dcard:nth-child(7){grid-column:span 6}
  .dcard .ico{bottom:126px}
}
@media(min-width:1024px){.dcard:nth-child(4),.dcard:nth-child(5){grid-column:span 6}.dcard:nth-child(6),.dcard:nth-child(7){grid-column:span 6}}

/* animated gradient outline on the proof cards */
@property --ang{syntax:'<angle>';initial-value:0deg;inherits:false}
.ring{position:relative;background:var(--glass);backdrop-filter:blur(12px) saturate(1.15);-webkit-backdrop-filter:blur(12px) saturate(1.15)}
.ring::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;pointer-events:none;
  background:conic-gradient(from var(--ang),#1E88E5,#7A6BE0,#E85FA8,#FF9057,#0E9C8E,#1E88E5);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
  animation:spinring 6s linear infinite;opacity:.9}
@keyframes spinring{to{--ang:360deg}}
.stats > div::before{display:none}
.stats > div{background:var(--glass)}
.stats > div:nth-child(1),.stats > div:nth-child(2),.stats > div:nth-child(3){background:var(--glass)}
.stats > div b{background-image:linear-gradient(105deg,#1E88E5,#7A6BE0 60%,#E85FA8);-webkit-background-clip:text;background-clip:text;color:transparent!important}
.stats > div:nth-child(3) b{background-image:linear-gradient(105deg,#0E9C8E,#1E88E5 60%,#7A6BE0);-webkit-background-clip:text;background-clip:text}
.reportcard{background:var(--glass)}
.gbig > div{background:var(--glass)}
@media(prefers-reduced-motion:reduce){.ring::after{animation:none}}

/* trust strip: real avatars, text on one line */
.trust .avs span{width:42px;height:42px;background:#fff;border-width:2px}
.trust .tx{gap:3px}
.trust .tline{white-space:nowrap;font-size:12.5px}
@media(max-width:400px){.trust .tline{font-size:11.5px}.trust .avs span{width:36px;height:36px;margin-left:-9px}}

/* trust strip v2: avatars + rating on line one, the sentence on line two, never wrapped */
.trust{display:grid;grid-template-columns:auto auto;justify-content:start;align-items:center;column-gap:12px;row-gap:5px}
.trust .avs{grid-row:1;grid-column:1}
.trust .tx{display:contents}
.trust .st{grid-row:1;grid-column:2;font-size:15px}
.trust .tline{grid-row:2;grid-column:1 / span 2;white-space:nowrap;font-size:13px}
@media(max-width:400px){.trust .tline{font-size:12px}}
@media(min-width:1024px){.trust{grid-template-columns:auto auto auto;row-gap:0}.trust .tline{grid-row:1;grid-column:3;border-left:1px solid var(--border-default);padding-left:12px}}

/* report card: cut-off ladder */
.marks{display:none}
.cutoffs{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.cutoffs ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}
.cutoffs li{display:flex;justify-content:space-between;gap:8px;font-size:12.5px;color:var(--fg2);padding:5px 0;border-bottom:1px solid var(--hairline)}
.cutoffs li b{font-family:var(--font-display);font-weight:800;color:var(--fg1);font-variant-numeric:tabular-nums}
.cutoffs li.ok b{color:var(--success)}
.cutoffs li.ok span::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--success);margin-right:6px;vertical-align:middle}
.cutoffs li:not(.ok) span::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--warn);margin-right:6px;vertical-align:middle}
@media(max-width:420px){.cutoffs ul{grid-template-columns:1fr}}

/* ================= G v5: trust layout, day + centre picker, wash to halfway, CTA pair ================= */
.trust{grid-template-columns:auto auto auto;column-gap:12px;row-gap:0}
.trust .avs{grid-row:1 / span 2}
.trust .st{grid-row:1;grid-column:2;font-size:15px;align-self:end}
.trust .ong{grid-row:2;grid-column:2;font-size:12px;color:rgba(255,255,255,.75);align-self:start}
.trust .tline{grid-row:1 / span 2;grid-column:3;border-left:1px solid rgba(255,255,255,.28);padding-left:12px;align-self:center;font-size:13px}
.hero-g2 .trust .ong{color:rgba(255,255,255,.75)}
@media(min-width:1024px){.trust{grid-template-columns:auto auto auto;row-gap:0}.trust .tline{grid-row:1 / span 2;grid-column:3;border-left-color:var(--border-default)}.hero-g2 .trust .ong{color:var(--fg4)}}
@media(max-width:400px){.trust{column-gap:9px}.trust .tline{font-size:12px;padding-left:9px}}
.ctas{display:flex;gap:10px;flex-wrap:wrap}
.ctas .btn{width:auto;flex:1 1 150px}
.hero-g2 .ctas .btn.ghost{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.35);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
@media(min-width:1024px){.hero-g2 .ctas{align-self:flex-start}.hero-g2 .ctas .btn{flex:none;min-width:200px}.hero-g2 .ctas .btn.ghost{background:rgba(255,255,255,.7);color:var(--brand-600);border-color:var(--border-default)}}

/* wash: photo clear for the top half, colour builds from the middle */
.dcard.blue .wash{background:linear-gradient(180deg,rgba(0,32,63,0) 0%,rgba(0,32,63,0) 42%,rgba(0,110,190,.55) 68%,rgba(0,32,63,.94) 100%)}
.dcard.violet .wash{background:linear-gradient(180deg,rgba(30,20,90,0) 0%,rgba(30,20,90,0) 42%,rgba(90,60,200,.58) 68%,rgba(30,20,90,.94) 100%)}
.dcard.teal .wash{background:linear-gradient(180deg,rgba(4,54,48,0) 0%,rgba(4,54,48,0) 42%,rgba(11,120,108,.58) 68%,rgba(4,54,48,.94) 100%)}
.dcard.amber .wash{background:linear-gradient(180deg,rgba(58,38,3,0) 0%,rgba(58,38,3,0) 42%,rgba(190,115,15,.58) 68%,rgba(58,38,3,.94) 100%)}
.dcard.indigo .wash{background:linear-gradient(180deg,rgba(14,16,50,0) 0%,rgba(14,16,50,0) 42%,rgba(60,66,170,.6) 68%,rgba(14,16,50,.94) 100%)}
.dcard.rose .wash{background:linear-gradient(180deg,rgba(46,7,32,0) 0%,rgba(46,7,32,0) 42%,rgba(170,40,110,.58) 68%,rgba(46,7,32,.94) 100%)}
.dcard.cyan .wash{background:linear-gradient(180deg,rgba(3,38,48,0) 0%,rgba(3,38,48,0) 42%,rgba(14,116,144,.6) 68%,rgba(3,38,48,.94) 100%)}
.dcard .n{background:rgba(0,32,63,.45)}

/* form: day chips + centre rows */
.days{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:14px}
.days label{position:relative}
.days input{position:absolute;opacity:0;inset:0;pointer-events:none}
.days span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:52px;border:1px solid var(--border-default);background:rgba(255,255,255,.78);border-radius:11px;font-size:12px;color:var(--fg2);cursor:pointer;line-height:1.2;padding:6px 2px}
.days span b{font-family:var(--font-display);font-weight:800;font-size:13px;color:var(--fg1)}
.days input:checked+span{background:rgba(0,157,255,.12);border-color:var(--brand-500);color:var(--brand-600)}
.days input:checked+span b{color:var(--brand-600)}
.days input:disabled+span{opacity:.45;cursor:not-allowed}
.days input:focus-visible+span{outline:2px solid var(--brand-500);outline-offset:2px}
.centres{display:flex;flex-direction:column;gap:7px;margin-bottom:4px}
.centres label{position:relative;display:block}
.centres input{position:absolute;opacity:0;inset:0;pointer-events:none}
.centres .row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;min-height:50px;padding:8px 14px;border:1px solid var(--border-default);background:rgba(255,255,255,.78);border-radius:11px;cursor:pointer}
.centres .d{font-weight:600;font-size:14.5px;line-height:1.25}
.centres .d small{display:block;font-weight:400;font-size:12px;color:var(--fg3)}
.centres input:checked+.row{background:rgba(0,157,255,.12);border-color:var(--brand-500)}
.centres input:checked+.row .d{color:var(--brand-600)}
.centres input:disabled+.row{opacity:.5;cursor:not-allowed}
.centres input:focus-visible+.row{outline:2px solid var(--brand-500);outline-offset:2px}

/* sittings matrix */
table.sit.matrix th{text-align:center;font-size:10px}
table.sit.matrix th:first-child{text-align:left}
table.sit.matrix tbody th{text-align:left;font-weight:600;font-size:13px;color:var(--fg1);padding:10px 4px;border-bottom:1px solid var(--border-subtle);white-space:nowrap}
table.sit.matrix td{text-align:center;padding:8px 2px}
table.sit.matrix td:last-child{text-align:center}
table.sit.matrix .seats{display:block;font-size:14px}
table.sit.matrix .book{display:block;margin:4px auto 0;padding:4px 10px;font-size:11.5px;min-height:28px}

/* mobile: trust line on its own row, CTAs stacked full width */
@media(max-width:1023px){
  .trust{grid-template-columns:auto auto;row-gap:6px}
  .trust .avs{grid-row:1 / span 2;grid-column:1}
  .trust .st{grid-row:1;grid-column:2}
  .trust .ong{grid-row:2;grid-column:2}
  .trust .tline{grid-row:3;grid-column:1 / span 2;border-left:0;padding-left:0;font-size:13px}
  .ctas{flex-direction:column}
  .ctas .btn{width:100%;flex:none}
}

/* icons in flow above the title (never over text); tighter video frame */
.dcard .ico.inflow{position:static;width:32px;height:32px;border-radius:9px;margin-bottom:8px}
.dcard .ico.inflow svg{width:16px;height:16px}
@media(min-width:720px){.dcard .ico.inflow{bottom:auto}}
@media(min-width:1024px){
  .hero-g2 .media{justify-self:center;width:min(100%,460px)}
  .hero-g2 .media .vin{max-height:none;aspect-ratio:4/5}
}

/* ================= G v6: WordPress-style header (HSHS treatment), booking bar, modal ================= */
.nav{position:fixed;top:0;left:0;right:0;z-index:60;background:rgba(255,248,242,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--hairline);transition:background .25s,border-color .25s}
.nav-inner{max-width:1180px;margin:0 auto;padding:0 20px;height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.nlogo img{height:34px;width:auto;display:block;transition:filter .25s}
.nav-links{display:none;gap:2px;flex:1;justify-content:center;min-width:0}
.nav-links a{font-size:13.5px;font-weight:500;color:var(--fg2);padding:8px 11px;border-radius:980px;white-space:nowrap;transition:color .15s,background .15s}
.nav-links a:hover{color:var(--navy);background:rgba(0,32,63,.06)}
.nav-right{display:flex;align-items:center;gap:10px}
.ntel{display:none;font-size:14px;font-weight:600;color:var(--brand-600);white-space:nowrap}
.nav .nbtn{display:none;width:auto;min-height:40px;font-size:14px;padding:0 18px}
.burger{display:flex;width:44px;height:44px;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:0;background:none;border-radius:12px;cursor:pointer}
.burger span{width:21px;height:2px;background:var(--navy);border-radius:2px;transition:transform .25s,opacity .2s,background .25s}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.drawer{display:none;position:fixed;top:64px;left:0;right:0;z-index:59;background:var(--bg-page);border-bottom:1px solid var(--border-subtle);box-shadow:0 24px 40px -24px rgba(0,32,63,.3);padding:8px 20px 20px;flex-direction:column;max-height:calc(100vh - 64px);overflow:auto}
.drawer.open{display:flex}
.drawer > a{font-size:16px;font-weight:600;color:var(--fg1);padding:12px 4px;border-bottom:1px solid var(--hairline)}
.drawer-foot{display:flex;flex-direction:column;gap:10px;padding-top:14px}
.drawer-foot > a{font-weight:600;color:var(--brand-600);text-align:center;padding:8px}
/* over a dark video hero on phones the bar starts transparent with white chrome */
body.hero-dark .nav:not(.scrolled):not(.menu-open){background:transparent;border-bottom-color:transparent}
body.hero-dark .nav:not(.scrolled):not(.menu-open) .nlogo img{filter:brightness(0) invert(1)}
body.hero-dark .nav:not(.scrolled):not(.menu-open) .burger span{background:#fff}
@media(min-width:1140px){
  .nav-inner{height:74px;padding:0 28px}
  .nlogo img{height:38px}
  .nav-links{display:flex}
  .ntel{display:inline}
  .nav .nbtn{display:inline-flex}
  .burger{display:none}
  body.hero-dark .nav:not(.scrolled):not(.menu-open){background:rgba(255,248,242,.92);border-bottom-color:var(--hairline)}
  body.hero-dark .nav:not(.scrolled):not(.menu-open) .nlogo img{filter:none}
}
@media(min-width:1024px) and (max-width:1139px){.nav .nbtn{display:inline-flex}.ntel{display:inline}}
/* from 1024px the G hero is ivory, so the bar is always light */
@media(min-width:1024px){
  body.hero-dark .nav:not(.scrolled):not(.menu-open){background:rgba(255,248,242,.92);border-bottom-color:var(--hairline)}
  body.hero-dark .nav:not(.scrolled):not(.menu-open) .nlogo img{filter:none}
  body.hero-dark .nav:not(.scrolled):not(.menu-open) .burger span{background:var(--navy)}
}
/* space under the fixed bar */
.hero-g2{padding-top:0}
@media(min-width:1024px){.hero-g2{padding-top:110px}}
.hero-g2 .gchrome{display:none}
.topbar-desk{display:none}

/* booking bar */
.sticky{display:none}
.bookbar{position:fixed;left:0;right:0;bottom:0;z-index:50;background:rgba(255,248,242,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--hairline);padding:8px 10px calc(8px + env(safe-area-inset-bottom));display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:6px;transform:translateY(110%);transition:transform .35s var(--ease-out)}
.bookbar.on{transform:none}
.bookbar .btn{min-height:50px;font-size:14px;padding:0 10px}
.bookbar .bi{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:50px;border:1px solid var(--border-default);background:rgba(255,255,255,.8);border-radius:12px;color:var(--brand-600);font:inherit;font-size:10.5px;font-weight:600;cursor:pointer;padding:4px 2px;line-height:1.1;text-align:center}
.bookbar .bi svg{width:17px;height:17px}
@media(min-width:720px){
  .bookbar{left:50%;right:auto;bottom:16px;transform:translate(-50%,140%);width:min(720px,calc(100% - 32px));border:1px solid var(--glass-border);border-radius:20px;box-shadow:0 24px 48px -20px rgba(0,32,63,.4);padding:10px;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr))}
  .bookbar.on{transform:translate(-50%,0)}
  .bookbar .bi{flex-direction:row;gap:8px;font-size:13px;min-height:46px}
}
body.bar-on footer{padding-bottom:140px}

/* modal */
.modal{position:fixed;inset:0;z-index:80;display:flex;align-items:flex-end;justify-content:center}
.modal[hidden]{display:none}
.modal-bg{position:absolute;inset:0;background:rgba(0,32,63,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.modal-card{position:relative;width:100%;max-height:92vh;overflow:auto;background:var(--bg-page);border-radius:24px 24px 0 0;padding:14px 16px 24px;box-shadow:0 -20px 60px -20px rgba(0,32,63,.5);animation:mup .35s var(--ease-out)}
@keyframes mup{from{transform:translateY(30px);opacity:0}to{transform:none;opacity:1}}
@media(min-width:640px){.modal{align-items:center;padding:20px}.modal-card{width:min(520px,100%);max-height:90vh;border-radius:24px;padding:18px 20px 24px}}
.mclose{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;border:1px solid var(--border-default);background:rgba(255,255,255,.85);color:var(--fg2);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2}
.mclose svg{width:16px;height:16px}
.tabs{display:flex;gap:6px;padding:4px;background:rgba(0,32,63,.06);border-radius:12px;margin:2px 44px 14px 0}
.tabs button{flex:1;min-height:36px;border:0;border-radius:9px;background:none;font:inherit;font-size:12.5px;font-weight:600;color:var(--fg3);cursor:pointer;padding:0 4px}
.tabs button.on{background:#fff;color:var(--brand-600);box-shadow:0 1px 3px rgba(0,32,63,.12)}
.modal .card.form{box-shadow:none;border:0;background:transparent;padding:0;backdrop-filter:none}
.enq{display:flex;flex-direction:column;gap:10px}
.enq h3{font-size:17px}
.enq .field.ta{min-height:100px;padding:12px 14px;resize:vertical;font-family:inherit}
.enq .fine{font-size:12px;color:var(--fg4);text-align:center;margin-top:8px}
.enq .err{display:none;padding:10px 12px;border-radius:10px;background:rgba(224,65,65,.1);color:var(--danger);font-size:13.5px;font-weight:500}
.enq .err.on{display:block}
.enq .thanks{display:flex;gap:12px;align-items:flex-start}
body.modal-open{overflow:hidden}

/* rail on desktop: book card + sittings */
.rail2{display:flex;flex-direction:column;gap:16px}
.bookcard{gap:8px}
.bookcard h3{font-size:19px}
.bookcard .btn.ghost{margin-top:2px}
@media(min-width:1024px){
  .flat > .form{position:static;grid-column:1;margin-top:0}
  .flat > .rail2{grid-column:2;grid-row:1 / span 12;position:sticky;top:96px;align-self:start}
}

/* ================= G v7: HSHS-style hero chrome ================= */
/* no colour wash on the video: a neutral legibility fade from the middle down, like HSHS */
.hero-g2 .wash{background:linear-gradient(180deg,rgba(8,12,20,0) 0%,rgba(8,12,20,0) 38%,rgba(8,12,20,.55) 62%,rgba(8,12,20,.92) 100%)}
@media(min-width:1024px){.hero-g2 .media .vwash{background:linear-gradient(180deg,rgba(8,12,20,0) 55%,rgba(8,12,20,.6) 100%)}}
/* frosted eyebrow pill above the H1 */
.ebpill{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:7px 12px 7px 10px;border-radius:980px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:11.5px;font-weight:700;letter-spacing:.3px;color:#fff;line-height:1.3}
.ebpill .dot{width:7px;height:7px;border-radius:50%;background:#4ADE80;flex:none;box-shadow:0 0 0 3px rgba(74,222,128,.25)}
@media(min-width:1024px){.ebpill{background:rgba(0,157,255,.10);border-color:rgba(0,157,255,.25);color:var(--brand-600)}}
/* "Explore the day" = the white button */
.hero-g2 .ctas .btn.ghost{background:#fff;color:var(--navy);border:1px solid rgba(255,255,255,.9);backdrop-filter:none;-webkit-backdrop-filter:none}
.hero-g2 .ctas .btn.ghost:hover{box-shadow:0 12px 28px -12px rgba(0,32,63,.4);filter:none}
@media(min-width:1024px){.hero-g2 .ctas .btn.ghost{background:#fff;color:var(--navy);border-color:var(--border-default)}}
/* top strip above the nav */
.topstrip{height:28px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:11.5px;font-weight:600;color:#fff;background:var(--navy);letter-spacing:.2px;white-space:nowrap;overflow:hidden;padding:0 12px}
.topstrip a{color:#fff}
.topstrip .sep{opacity:.5}
.nav-inner{height:60px}
.drawer{top:88px;max-height:calc(100vh - 88px)}
@media(min-width:1140px){.nav-inner{height:72px}}
@media(min-width:1024px){.hero-g2{padding-top:120px}}
/* marquee strip under the hero */
.marquee{position:relative;z-index:2;background:var(--brand-500);color:#fff;overflow:hidden;height:40px;display:flex;align-items:center}
.marquee .track{display:flex;align-items:center;gap:0;white-space:nowrap;animation:marq 38s linear infinite;will-change:transform}
.marquee span{font-size:12.5px;font-weight:700;letter-spacing:.4px;padding:0 18px;text-transform:uppercase}
.marquee i{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.7);flex:none}
@keyframes marq{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.marquee .track{animation-duration:110s}}
.marquee:hover .track{animation-play-state:paused}

/* ================= portal "next class" card treatment for the proof cards ================= */
/* From the student-portal Dashboard hero: 2px translucent white edge, ivory ground with the
   brand diagonal gradient, and two colour pools that drift slowly inside the card. */
@keyframes evdrift2 { 0%, 100% { transform: translate(0, 0) scale(1); } 22% { transform: translate(-120px, 60px) scale(1.2); } 48% { transform: translate(-70px, -90px) scale(0.86); } 74% { transform: translate(100px, -50px) scale(1.18); } 90% { transform: translate(50px, 40px) scale(0.95); } }
@keyframes evdrift3 { 0%, 100% { transform: translate(0, 0) scale(1); } 30% { transform: translate(90px, -100px) scale(1.28); } 55% { transform: translate(-100px, -40px) scale(0.85); } 80% { transform: translate(-30px, 90px) scale(1.1); } }
.ring{position:relative;overflow:hidden;isolation:isolate;backdrop-filter:none;-webkit-backdrop-filter:none;
  background:linear-gradient(115deg,var(--brand-50) 0%,var(--bg-page) 46%,rgba(122,90,248,.10) 76%,rgba(0,157,255,.16) 100%);
  border:2px solid rgba(255,255,255,.75);box-shadow:0 18px 40px -20px rgba(0,32,63,.35)}
.ring::before,.ring::after{content:"";position:absolute;border-radius:50%;pointer-events:none;z-index:0;padding:0;
  -webkit-mask:none;mask:none;inset:auto;opacity:1}
.ring::before{right:-70px;top:-80px;width:280px;height:280px;background:radial-gradient(circle,rgba(0,157,255,.22),transparent 70%);animation:evdrift3 13s ease-in-out infinite}
.ring::after{right:180px;bottom:-110px;width:220px;height:220px;background:radial-gradient(circle,rgba(122,90,248,.16),transparent 70%);animation:evdrift2 17s ease-in-out -6s infinite}
.ring > *{position:relative;z-index:1}
.stats .ring::before{width:170px;height:170px;right:-60px;top:-70px}
.stats .ring::after{width:140px;height:140px;right:60px;bottom:-80px}
.stats > div.ring,.stats > div:nth-child(1).ring,.stats > div:nth-child(2).ring,.stats > div:nth-child(3).ring{background:linear-gradient(115deg,var(--brand-50) 0%,var(--bg-page) 46%,rgba(122,90,248,.10) 76%,rgba(0,157,255,.16) 100%)}
.reportcard.ring,.gbig > div.ring,.report.ring{background:linear-gradient(115deg,var(--brand-50) 0%,var(--bg-page) 46%,rgba(122,90,248,.10) 76%,rgba(0,157,255,.16) 100%)}
@media(prefers-reduced-motion:reduce){.ring::before{animation-duration:40s}.ring::after{animation-duration:50s}}

/* marquee: slower, sentence case */
.marquee .track{animation-duration:48s}
.marquee span{text-transform:none;letter-spacing:.1px;font-size:13px;font-weight:600}
@media(prefers-reduced-motion:reduce){.marquee .track{animation-duration:80s}}

/* ================= proof cards: glass background back, animated gradient outline from the results page ================= */
@keyframes evhue{from{filter:hue-rotate(0deg)}to{filter:hue-rotate(360deg)}}
.ring{background:var(--glass-strong);backdrop-filter:blur(12px) saturate(1.15);-webkit-backdrop-filter:blur(12px) saturate(1.15);border:1px solid var(--glass-border);box-shadow:var(--shadow-card);overflow:visible;isolation:auto}
.stats > div.ring,.stats > div:nth-child(1).ring,.stats > div:nth-child(2).ring,.stats > div:nth-child(3).ring,.reportcard.ring,.gbig > div.ring,.report.ring{background:var(--glass-strong)}
.ring::before{content:"";position:absolute;inset:-1.5px;border-radius:inherit;background:linear-gradient(120deg,#1E88E5,#7A6BE0,#E85FA8,#FF9057);z-index:-1;animation:evhue 6s linear infinite;width:auto;height:auto;right:auto;top:auto;bottom:auto;left:auto;padding:0}
.ring::after{display:none}
.ring > *{position:relative;z-index:1}
.stats .ring::before{width:auto;height:auto;right:-1.5px;top:-1.5px}
@media(prefers-reduced-motion:reduce){.ring::before{animation-duration:24s}}

/* ================= the portal's own outline sweep (app/(student)/page.tsx next-class card) ================= */
/* A 2px translucent rim; a large conic gradient rotates behind the content and shows only in the rim. */
@keyframes evspin{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}
.ring{position:relative;overflow:hidden;isolation:isolate;border:0;background:rgba(255,255,255,.75);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 18px 40px -20px rgba(0,32,63,.35)}
.stats > div.ring,.stats > div:nth-child(1).ring,.stats > div:nth-child(2).ring,.stats > div:nth-child(3).ring,.reportcard.ring,.gbig > div.ring,.report.ring{background:rgba(255,255,255,.75)}
.ring::before{content:"";display:block;position:absolute;inset:auto;top:50%;left:50%;right:auto;bottom:auto;width:230%;height:auto;aspect-ratio:1;border-radius:0;padding:0;
  transform:translate(-50%,-50%);z-index:0;filter:none;
  background:conic-gradient(from 0deg,rgba(0,157,255,0) 0deg,rgba(0,157,255,.55) 90deg,rgba(122,90,248,.5) 160deg,rgba(122,90,248,0) 250deg,rgba(0,157,255,0) 360deg);
  animation:evspin 8s linear infinite}
.ring::after{content:"";display:block;position:absolute;inset:2px;top:2px;left:2px;right:2px;bottom:2px;width:auto;height:auto;border-radius:inherit;z-index:0;padding:0;
  background:var(--glass-strong);backdrop-filter:blur(12px) saturate(1.15);-webkit-backdrop-filter:blur(12px) saturate(1.15);animation:none;-webkit-mask:none;mask:none;transform:none}
.stats .ring::before{width:230%;height:auto;right:auto;top:50%}
.stats .ring::after{width:auto;height:auto;right:2px;bottom:2px}
.ring > *{position:relative;z-index:1}
@media(prefers-reduced-motion:reduce){.ring::before{animation-duration:24s}}

/* day cards: keep faces in frame; question bank artwork */
.dcard img.face{object-position:center 12%}
.dcard img.qb{object-position:center center}
/* the tutor's face sits ~28% down hero-4: frame it above the text band on every card width */
.dcard img.face{object-position:center 50%}
@media(min-width:720px){.dcard img.face{object-position:center 22%}}

/* ring cards: opaque ivory inside the rim, so the sweep shows only in the outline and never tints the content */
.ring::after{background:var(--bg-page);backdrop-filter:none;-webkit-backdrop-filter:none}

/* outline: thicker rim, stronger sweep, quicker turn */
.ring{background:rgba(0,157,255,.10)}
.stats > div.ring,.stats > div:nth-child(1).ring,.stats > div:nth-child(2).ring,.stats > div:nth-child(3).ring,.reportcard.ring,.gbig > div.ring,.report.ring{background:rgba(0,157,255,.10)}
.ring::before{background:conic-gradient(from 0deg,rgba(0,157,255,0) 0deg,rgba(0,157,255,.95) 70deg,rgba(122,90,248,.9) 150deg,rgba(232,95,168,.75) 210deg,rgba(122,90,248,0) 280deg,rgba(0,157,255,0) 360deg);animation-duration:5s}
.ring::after{inset:2.5px;top:2.5px;left:2.5px;right:2.5px;bottom:2.5px}
.stats .ring::after{right:2.5px;bottom:2.5px}
@media(prefers-reduced-motion:reduce){.ring::before{animation-duration:14s}}

/* outline: back to the 2px rim, keep the higher saturation and the 5s turn */
.ring{background:rgba(255,255,255,.75)}
.stats > div.ring,.stats > div:nth-child(1).ring,.stats > div:nth-child(2).ring,.stats > div:nth-child(3).ring,.reportcard.ring,.gbig > div.ring,.report.ring{background:rgba(255,255,255,.75)}
.ring::after{inset:2px;top:2px;left:2px;right:2px;bottom:2px}
.stats .ring::after{right:2px;bottom:2px}

/* five-stat strip + make sure every tile carries the outline sweep */
.stats.five{grid-template-columns:repeat(6,minmax(0,1fr))}
.stats.five > div:nth-child(1),.stats.five > div:nth-child(2),.stats.five > div:nth-child(3){grid-column:span 2}
.stats.five > div:nth-child(4),.stats.five > div:nth-child(5){grid-column:span 3}
@media(min-width:720px){.stats.five{grid-template-columns:repeat(5,minmax(0,1fr))}.stats.five > div{grid-column:span 1!important}}
.stats > div.ring{border:0;overflow:hidden;isolation:isolate;box-shadow:0 18px 40px -20px rgba(0,32,63,.35)}
.stats > div.ring::before{display:block;content:"";position:absolute;inset:auto;left:50%;top:50%;right:auto;bottom:auto;width:230%;height:auto;aspect-ratio:1;border-radius:0;transform:translate(-50%,-50%);z-index:0;
  background:conic-gradient(from 0deg,rgba(0,157,255,0) 0deg,rgba(0,157,255,.95) 70deg,rgba(122,90,248,.9) 150deg,rgba(232,95,168,.75) 210deg,rgba(122,90,248,0) 280deg,rgba(0,157,255,0) 360deg);animation:evspin 5s linear infinite}
.stats > div.ring::after{display:block;content:"";position:absolute;inset:2px;border-radius:inherit;background:var(--bg-page);z-index:0}
.stats > div.ring > *{position:relative;z-index:1}
.stats > div.ring b{color:var(--brand-600)}
.stats > div.ring:nth-child(2) b{color:var(--violet)}
.stats > div.ring:nth-child(3) b{color:var(--teal)}
.stats > div.ring:nth-child(4) b{color:var(--brand-600)}
.stats > div.ring:nth-child(5) b{color:var(--violet)}
.stats > div.ring b{background:none;-webkit-background-clip:border-box;background-clip:border-box;-webkit-text-fill-color:currentColor}
.stats > div.ring:nth-child(1) b{background:linear-gradient(105deg,#1E88E5,#7A6BE0 60%,#E85FA8);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.stats > div.ring:nth-child(3) b{background:linear-gradient(105deg,#0E9C8E,#1E88E5 60%,#7A6BE0);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
@media(prefers-reduced-motion:reduce){.stats > div.ring::before{animation-duration:14s}}

/* rail book card: real spacing between the copy and the buttons */
.bookcard{display:flex;flex-direction:column;gap:6px}
.bookcard h3{margin-top:2px}
.bookcard > .btn:first-of-type{margin-top:14px}
.bookcard .btn + .btn{margin-top:4px}

/* concentric corners on the outlined cards: inner panel radius = outer radius - rim */
.card{--rr:20px}
.stats > div{--rr:18px}
.gbig > div{--rr:18px}
.ring::after,.stats > div.ring::after{border-radius:calc(var(--rr,20px) - 2px)}
.gbig > div.ring{border-radius:18px}
/* four verbatim reviews */
.rgrid.four{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}

/* two-action booking bar; webinar crop */
.bookbar.two{grid-template-columns:1.4fr 1fr}
.bookbar.two .btn.ghost{background:rgba(255,255,255,.85);color:var(--brand-600);border:1px solid var(--border-default);gap:7px;font-size:14px}
@media(min-width:720px){.bookbar.two{width:min(560px,calc(100% - 32px));grid-template-columns:1.3fr 1fr}}
.dcard img.face{object-position:center 15%}
@media(min-width:720px){.dcard img.face{object-position:center 10%}}

/* stat numbers: solid colours that beat the old transparent-text rule */
.stats > div.ring b{background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;-webkit-text-fill-color:currentColor!important;color:var(--brand-600)!important}
.stats > div.ring:nth-child(2) b{color:var(--violet)!important}
.stats > div.ring:nth-child(3) b{color:var(--teal)!important}
.stats > div.ring:nth-child(4) b{color:var(--brand-600)!important}
.stats > div.ring:nth-child(5) b{color:var(--violet)!important}

/* the day: cards flip up into place as they scroll in, one after another */
.dcards{perspective:1400px}
.dcard[data-rise]{opacity:0;transform:rotateX(-62deg) translateY(44px);transform-origin:50% 100%;transition:opacity .75s var(--ease-out),transform .85s var(--ease-out);backface-visibility:hidden;will-change:transform,opacity}
.dcard[data-rise].in{opacity:1;transform:none}
.dcard[data-rise]:nth-child(3n+2){transition-delay:.12s}
.dcard[data-rise]:nth-child(3n+3){transition-delay:.24s}
/* Reduce Motion: a gentler lift, never skipped */
.no-motion .dcard[data-rise]{transform:translateY(18px);transition-duration:1s}
.no-motion [data-rise]{opacity:0}
.no-motion [data-rise].in{opacity:1;transform:none}

/* Navy footer with big logo. Bottom padding clears the sticky booking bar. */
footer.foot{background:var(--navy,#00203F);color:rgba(255,255,255,.72);padding:56px 0 132px;font-size:14px;text-align:left;line-height:1.6;margin-top:24px}
footer.foot a{color:rgba(255,255,255,.82);text-decoration:none}
footer.foot a:hover{color:#fff;text-decoration:underline}
.ftop{display:grid;grid-template-columns:1fr;gap:34px 28px}
.fbrand img{width:min(300px,78vw);height:auto;display:block;margin:0 0 16px -6px}
.fbrand p{margin:0 0 18px;max-width:34ch;color:rgba(255,255,255,.72)}
.fsocial{display:flex;gap:10px}
.fsocial a{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);transition:background .2s,transform .2s}
.fsocial a:hover{background:var(--brand,#009DFF);border-color:var(--brand,#009DFF);transform:translateY(-2px)}
.fsocial svg{width:18px;height:18px;fill:#fff}
.fcol h4{margin:0 0 12px;font:800 13px/1.2 Montserrat,Inter,system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#fff}
.fcol ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.fcol li b{color:#fff;font-weight:600}
.flink{background:none;border:0;padding:0;font:inherit;color:var(--brand,#009DFF);font-weight:700;cursor:pointer}
.flink:hover{text-decoration:underline}
.fbot{margin-top:40px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;font-size:12.5px;color:rgba(255,255,255,.55)}
.fbot a{color:rgba(255,255,255,.62)}
@media(min-width:640px){.ftop{grid-template-columns:1fr 1fr}.fbrand{grid-column:1/-1}}
@media(min-width:1024px){.ftop{grid-template-columns:1.6fr 1fr 1.15fr 1fr .8fr}.fbrand{grid-column:auto}.fbrand img{width:340px;margin-left:-8px}footer.foot{padding-top:72px}}
.fbrand img{width:min(330px,82vw)}
@media(min-width:1024px){.fbrand img{width:400px}.ftop{grid-template-columns:1.8fr 1fr 1.15fr 1fr .8fr}}

/* Booking pop-up: centred card covering most of the screen (was a bottom sheet). */
.modal{align-items:center;padding:10px}
.modal-card{width:min(600px,100%);max-height:min(92vh,100%);border-radius:22px;padding:16px 16px 22px;box-shadow:0 30px 80px -20px rgba(0,32,63,.55);animation:mpop .32s var(--ease-out)}
@keyframes mpop{from{transform:scale(.95) translateY(14px);opacity:0}to{transform:none;opacity:1}}
@media(min-width:640px){.modal{padding:24px}.modal-card{padding:22px 24px 26px}}
.modal[data-mode="book"] .tabs{display:none}
.modal[data-mode="book"] .modal-card{padding-top:20px}
.modal[data-mode="book"] .card.form > h2, .modal[data-mode="book"] .card.form > .fhead{padding-right:40px}
.no-motion .modal-card{animation-duration:.6s}
/* demand badges replace seat counts */
.pill.hot{color:var(--warn-700);background:rgba(245,166,35,.18)}
.pill.full{color:var(--fg4);background:rgba(0,32,63,.08)}
.seats.hot{color:var(--warn-700);font-weight:700}
/* Cal.com inline embed inside the booking pop-up */
.calwrap{margin-top:10px;min-height:420px;border-radius:14px;overflow:hidden;background:#fff;border:1px solid var(--border-default)}
/* manage-a-booking mode */
.linkbtn{background:none;border:0;padding:0;font:inherit;color:var(--brand-600);font-weight:600;text-decoration:underline;cursor:pointer}
form.managing .seg{display:none}
form.managing .stepper,form.managing .dots,form.managing [data-steplabel]{display:none}
/* success flow v2: round ticks, simple header, image-led offers */
.done .tick{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#22A05B,#0E9C8E);box-shadow:0 6px 16px -6px rgba(34,160,91,.6);margin:0;flex:0 0 auto}
.done .tick svg{width:20px;height:20px}
.done .tick.big{width:60px;height:60px;margin:0 auto 4px}
.done .tick.big svg{width:30px;height:30px}
.okhead{text-align:center;display:flex;flex-direction:column;gap:4px;padding:4px 0 6px}
.okhead h3{font-size:20px;margin:0}
.okhead p{margin:0;font-size:14px;font-weight:600;color:var(--fg)}
.okhead small{font-size:12.5px;color:var(--fg3)}
.offer{border-radius:18px;overflow:hidden;background:#fff;border:1px solid var(--border-default);box-shadow:0 18px 40px -22px rgba(0,32,63,.35)}
.offer img{display:block;width:100%;height:170px;object-fit:cover;object-position:center 30%}
.offer.qb img{height:190px;object-position:center}
.offer .ov{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px}
.offer .ov b{font-family:var(--font-display);font-weight:800;font-size:19px;line-height:1.2;letter-spacing:-.3px}
.offer ul{margin:0;padding-left:18px;font-size:13.5px;color:var(--fg2);line-height:1.5}
.offer ul li{margin:0 0 3px}
.offer .btn{margin-top:4px}
.offer .back{text-align:center;width:100%}
.ctabs{display:flex;gap:6px;margin:0 0 10px}
.ctabs button{flex:1;min-height:36px;border:1px solid var(--border-default);border-radius:10px;background:#fff;font:inherit;font-size:13px;font-weight:600;color:var(--fg3);cursor:pointer}
.ctabs button.on{background:#009DFF;border-color:#009DFF;color:#fff}
.classes{display:grid;grid-template-columns:1fr 1fr;gap:7px;max-height:300px;overflow:auto;padding:2px}
.classes label{position:relative;display:block}
.classes input{position:absolute;opacity:0;inset:0;pointer-events:none}
.classes .row{display:flex;justify-content:space-between;align-items:center;gap:6px;min-height:48px;padding:8px 11px;border:1px solid var(--border-default);background:#fff;border-radius:11px;cursor:pointer}
.classes .row b{display:block;font-size:13.5px}.classes .row small{font-size:12px;color:var(--fg3)}
.classes input:checked + .row{border-color:#009DFF;background:rgba(0,157,255,.08);box-shadow:0 0 0 2px rgba(0,157,255,.25)}
.classes .pill{font-size:10px;padding:2px 6px}

/* demand badges: violet, not amber (Hari: yellow reads as anxiety) */
.pill.hot{color:#5B3FD6;background:rgba(122,90,248,.14)}
.seats.hot{color:#5B3FD6}

/* hero eyebrow: navy on white on desktop (blue-on-blue read badly), plus a year-level chip */
.ebrow{display:flex;flex-wrap:wrap;gap:8px;align-self:flex-start}
.ebpill.years{padding-left:12px}
@media(min-width:1024px){
  .ebpill{background:#fff;border-color:rgba(0,32,63,.12);color:var(--navy,#00203F);box-shadow:0 4px 14px -8px rgba(0,32,63,.25)}
  .ebpill.years{background:var(--navy,#00203F);border-color:var(--navy,#00203F);color:#fff}
}
/* trust strip v3: "4.9 on Google" on one line, "Trusted by" under it on phones; one row on desktop */
.trust{display:grid;grid-template-columns:auto auto;align-items:center;column-gap:12px;row-gap:4px;justify-content:start}
.trust .tx{display:contents}
.trust .avs{grid-row:1 / span 2;grid-column:1}
.trust .st{grid-row:1;grid-column:2;display:flex;align-items:center;gap:6px;font-size:15px;align-self:end}
.trust .st .ong{display:inline;font-size:12.5px;font-weight:500;color:rgba(255,255,255,.75);margin-left:2px;grid-row:auto;grid-column:auto}
.trust .tline{grid-row:2;grid-column:2;border-left:0;padding-left:0;align-self:start;font-size:13px;white-space:nowrap}
.hero-g2 .trust .ong{color:rgba(255,255,255,.75)}
.sub br.mob{display:inline}
@media(min-width:1024px){
  .trust{grid-template-columns:auto auto auto;row-gap:0}
  .trust .avs{grid-row:1}
  .trust .st{grid-row:1;grid-column:2;align-self:center}
  .trust .tline{grid-row:1;grid-column:3;border-left:1px solid var(--border-default);padding-left:12px;align-self:center}
  .hero-g2 .trust .ong{color:var(--fg4)}
  .sub br.mob{display:none}
}
@media(min-width:1024px){
  .hero-g2 .trust{column-gap:10px}
  .hero-g2 .trust .avs span{width:36px;height:36px;margin-left:-9px}
  .hero-g2 .trust .st{font-size:14px;gap:5px}
  .hero-g2 .trust .st i{font-size:13px;letter-spacing:.5px}
  .hero-g2 .trust .st .ong{white-space:nowrap;font-size:12px}
  .hero-g2 .trust .tline{font-size:12.5px;padding-left:10px}
}
/* past sitting days */
.days label.past span{opacity:.45}
.days label.past small{display:block;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--fg4);margin-top:2px}
/* request-a-call: call-now button under the submit */
.enq .callnow{margin-top:8px;text-align:center}
.enq .offer{margin-top:14px}
/* round ticks anywhere in the pop-up, not only inside the booking panel */
.modal .tick{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#22A05B,#0E9C8E);box-shadow:0 6px 16px -6px rgba(34,160,91,.6);display:flex;align-items:center;justify-content:center;margin:0;flex:0 0 auto}
.modal .tick svg{width:20px;height:20px}
.modal .tick.big{width:60px;height:60px;margin:0 auto 4px}
.modal .tick.big svg{width:30px;height:30px}
.enq .okhead{text-align:center;display:flex;flex-direction:column;gap:4px;padding:4px 0 6px}
.enq .okhead h3{font-size:20px;margin:0}.enq .okhead p{margin:0;font-size:14px;color:var(--fg2)}
/* "on Google" sits on the same centre line as the 4.9 */
.trust .st{align-items:center}
.trust .st .ong{align-self:center;line-height:1;position:relative;top:1px}
/* text links inside the pop-up (Not now / Maybe later) look the same everywhere */
.modal .back{background:none;border:0;color:var(--fg3);font-weight:600;font-size:12.5px;padding:8px 0;cursor:pointer;min-height:44px;text-align:center;width:100%;font-family:inherit}
/* section headers: big Montserrat instead of small grey eyebrows */
.sh{display:flex;flex-direction:column;gap:4px;margin:8px 0 2px}
.sh h2,h2.sh2{font-family:var(--font-display);font-weight:800;font-size:clamp(22px,4.6vw,28px);line-height:1.15;letter-spacing:-.4px;margin:0;color:var(--fg1)}
.sh p{margin:0;font-size:15px;line-height:1.5;color:var(--fg2);max-width:42em}
h2.sh2{margin:6px 0 10px}
.lblrow h2.sh2{margin:0}
.webinar h2.sh2{margin:0 0 12px}
.faqblk h2.sh2,.collageblk h2.sh2{margin:6px 0 12px}
.contactblk .sh{margin:8px 0 12px}
/* "Also included" rows: fixed pill column so the three titles line up */
.webinar .inc > div{grid-template-columns:84px 1fr;align-items:start}
.webinar .inc .pill{justify-self:start;white-space:nowrap}
.sh.small h2{font-size:20px}
.sh.small p{font-size:14px}
.repwrap .sh{margin:0 0 12px}
/* results-call offer card */
.offer.call img{height:180px;object-position:center 40%}
.offer .pricerow{display:flex;justify-content:space-between;align-items:baseline;margin:2px 0 4px}
.offer .price{font-family:var(--font-display);font-weight:800;font-size:28px;letter-spacing:-1px}
.offer .price small{font-family:var(--font-body);font-weight:500;font-size:12px;color:var(--fg3);letter-spacing:0}
.offer .calwrap{margin-top:4px}
.ebpill br.mob{display:inline}
@media(min-width:1024px){.ebpill br.mob{display:none}}
/* glass offer: photo fills the card, copy sits on a frosted panel */
.offer.glass{position:relative;min-height:430px;background:#00203F;display:flex;flex-direction:column;justify-content:flex-end}
.offer.glass img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 12%}
.offer.glass::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,32,63,0) 35%,rgba(0,32,63,.45) 100%)}
.offer.glass .ov{position:relative;margin:170px 10px 10px;background:rgba(255,255,255,.88);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);border:1px solid rgba(255,255,255,.75);border-radius:16px;padding:14px 14px 12px;box-shadow:0 12px 30px -14px rgba(0,32,63,.45)}
.offer.glass .calwrap{background:#fff}
.offer.glass{min-height:470px}
.offer.glass img{object-position:center 35%}
.offer.glass .ov{margin-top:200px}
/* stat tiles: tighter top */
.stats > div{padding:9px 12px 10px;gap:3px}
/* dark offer: the day-card treatment. Photo full-bleed, colour wash, white copy */
.offer.dark{position:relative;min-height:440px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate;border:0;background:#00203F}
.offer.dark img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;z-index:-2}
.offer.dark::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(165deg,rgba(0,157,255,.32) 0%,rgba(0,85,140,.55) 40%,rgba(0,32,63,.95) 100%)}
.offer.dark .ov{position:relative;margin:0;padding:150px 18px 16px;background:none;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;gap:8px}
.offer.dark .ev-label{color:rgba(255,255,255,.85)}
.offer.dark .ov b{color:#fff;font-size:22px}
.offer.dark ul{color:rgba(255,255,255,.86)}
.offer.dark .price{color:#fff}.offer.dark .price small{color:rgba(255,255,255,.75)}
.offer.dark .pill.teal{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);color:#fff}
.offer.dark .back{color:rgba(255,255,255,.8)}
.offer.dark .calwrap{background:#fff}
.offer.call img{height:180px;object-position:center 28%}
.offer.call img{height:190px;object-position:center 45%}

/* day cards reveal: fade and a short rise, no flip (Hari, 12 Sep) */
.dcards{perspective:none}
.dcard[data-rise]{transform:translateY(18px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}
.dcard[data-rise].in{transform:none}
/* hero: never taller than a phone screen, so the copy is on the first screen even inside an embedded/in-app view where 100svh over-reports */
.hero-g2{min-height:clamp(560px,100svh,760px)}
@media(min-width:1024px){.hero-g2{min-height:0}}
