/* Learn Quick Driving School — public site styles. Mobile-first. */
@font-face{font-family:"Outfit";src:url(../fonts/outfit-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Outfit";src:url(../fonts/outfit-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Outfit";src:url(../fonts/outfit-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Outfit";src:url(../fonts/outfit-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Outfit";src:url(../fonts/outfit-latin-800-normal.woff2) format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(../fonts/barlow-condensed-latin-800-normal.woff2) format("woff2");font-weight:800;font-display:swap}

:root{
  --navy:#071A3D; --navy-2:#0B2558; --navy-3:#10306f; --blue:#1F5BFF; --blue-2:#0E3FD0; --blue-ink:#1747d6;
  --yellow:#FFD60A; --yellow-2:#ffe14d; --red:#E3141F; --red-2:#b80f18; --wa:#128C4B; --wa-2:#0d7a40;
  --paper:#F3F5FA; --card:#fff; --ink:#0A1630; --muted:#4A5672; --line:#DCE2EE; --soft-blue:#E8EEFF; --soft-red:#FDE8E9; --soft-yellow:#FFF7CC;
  --r:14px; --r-sm:10px;
  --font:"Outfit","Segoe UI",system-ui,-apple-system,Arial,sans-serif;
  --cond:"Barlow Condensed","Arial Narrow",var(--font);
  --shadow:0 1px 0 var(--line),0 16px 36px -24px rgba(7,26,61,.45);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:90px}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;font-family:var(--font);font-size:1.0625rem;line-height:1.6;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;overflow-x:clip;padding-bottom:64px}
img,svg{max-width:100%}
img{display:block;height:auto}
a{color:var(--blue-ink);text-underline-offset:.15em}
h1,h2,h3{line-height:1.12;letter-spacing:-.02em;margin:0 0 .5em}
h1{font-size:clamp(2.1rem,5vw,3.4rem);font-weight:800}
h2{font-size:clamp(1.6rem,3.2vw,2.35rem);font-weight:800}
h3{font-size:1.2rem;font-weight:700}
p{margin:0 0 1em}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:4px}
.hero :focus-visible,.site-header :focus-visible,.topbar :focus-visible,.site-footer :focus-visible,.cta-band :focus-visible,.split :focus-visible,.page-head :focus-visible{outline-color:var(--yellow)}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:1rem;top:-100px;background:var(--yellow);color:var(--navy);padding:.7rem 1rem;border-radius:8px;z-index:100;font-weight:700}
.skip:focus{top:1rem}
.wrap{width:min(1240px,100% - 2rem);margin-inline:auto}
.narrow>*{max-width:820px}
.prose .narrow,.text-sec .narrow .prose{max-width:820px}
.icon{width:1.15em;height:1.15em;flex-shrink:0;vertical-align:-.2em}
.small{font-size:.9rem;color:var(--muted)}
.center{text-align:center}
.more{margin-top:1.4rem;font-weight:600}
.more a{display:inline-flex;align-items:center;gap:.4rem}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:48px;padding:.75rem 1.35rem;border-radius:var(--r-sm);font:inherit;font-weight:700;font-size:1rem;line-height:1.2;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background-color .15s,border-color .15s,transform .15s;text-align:center}
.btn:hover{transform:translateY(-1px)}
.btn .icon{width:1.1em;height:1.1em}
.btn-lg{min-height:56px;padding:.9rem 1.6rem;font-size:1.05rem}
.btn-sm{min-height:40px;padding:.45rem .95rem;font-size:.92rem}
.btn-block{display:flex;width:100%}
.btn-yellow{background:var(--yellow);color:var(--navy)}
.btn-yellow:hover{background:var(--yellow-2)}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--navy-3)}
.btn-wa{background:var(--wa);color:#fff}
.btn-wa:hover{background:var(--wa-2)}
.btn-ghost{border-color:rgba(255,255,255,.8);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.1)}
.btn-outline{border-color:var(--navy);color:var(--navy);background:transparent}
.btn-outline:hover{background:var(--soft-blue)}
.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}
.linkish{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}
.textlink{font-weight:600}
.textlink span{display:inline}

/* Top bar & header */
.topbar{background:var(--navy);color:#C9D5F0;font-size:.88rem;border-bottom:1px solid rgba(255,255,255,.08)}
.topbar-in{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:38px}
.topbar p{margin:0;display:flex;align-items:center;gap:.45rem}
.topbar-links{display:flex;gap:1.2rem}
.topbar a{color:#fff;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;font-weight:600}
.topbar a:hover{color:var(--yellow)}
@media (max-width:720px){.topbar .topbar-note{display:none}.topbar-in{justify-content:center}}
.topbar a{white-space:nowrap}
.site-header{position:sticky;top:0;z-index:50;background:rgba(7,26,61,.97);color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.08)}
@supports (backdrop-filter:blur(8px)){.site-header{background:rgba(7,26,61,.92);backdrop-filter:blur(10px)}}
.header-in{display:flex;align-items:center;gap:1rem;min-height:72px}
.logo{display:flex;align-items:center;text-decoration:none;color:#fff;line-height:1;flex-shrink:0}
.logo-img{height:42px;width:auto;display:block}
.nav-toggle{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:10px;border:0;background:rgba(255,255,255,.1);color:#fff;cursor:pointer}
.nav-toggle .icon{width:24px;height:24px}
.nav-toggle .i-close,.nav-toggle[aria-expanded="true"] .i-open{display:none}
.nav-toggle[aria-expanded="true"] .i-close{display:block}
.nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--navy);border-bottom:3px solid var(--yellow);padding:.5rem 1rem 1.2rem;max-height:calc(100vh - 110px);overflow:auto}
.nav.is-open{display:block}
.nav-list{list-style:none;margin:0;padding:0}
.nav-list>li{position:relative;border-bottom:1px solid rgba(255,255,255,.08);display:flex;flex-wrap:wrap;align-items:center}
.nav-link{flex:1;display:block;padding:.85rem .3rem;color:#E3EAFB;text-decoration:none;font-weight:600;font-size:1.05rem}
.nav-link:hover,.nav-link.is-current{color:var(--yellow)}
.sub-toggle{width:48px;height:48px;border:0;background:transparent;color:#fff;cursor:pointer;display:grid;place-items:center}
.sub-toggle .icon{transition:transform .2s}
.sub-toggle[aria-expanded="true"] .icon{transform:rotate(180deg)}
.sub{list-style:none;margin:0 0 .6rem;padding:0 0 0 .8rem;width:100%;display:none;border-left:2px solid rgba(255,255,255,.15)}
.sub.is-open{display:block}
.sub a{display:block;padding:.6rem .5rem;color:#C9D5F0;text-decoration:none}
.sub a:hover,.sub a[aria-current="page"]{color:var(--yellow)}
.nav-book{margin-top:1rem;width:100%}
@media (min-width:1180px){
  .nav-toggle{display:none}
  .nav{display:flex!important;position:static;background:none;border:0;padding:0;align-items:center;gap:.6rem;margin-left:auto;max-height:none;overflow:visible}
  .nav-list{display:flex;gap:0}
  .nav-list>li{border:0;flex-wrap:nowrap}
  .nav-link{padding:.6rem .5rem;font-size:.93rem;font-weight:500;white-space:nowrap;position:relative}
  .nav-link.is-current::after{content:"";position:absolute;left:.5rem;right:.5rem;bottom:.15rem;height:2px;background:var(--yellow)}
  .has-sub .nav-link{padding-right:.1rem}
  .sub-toggle{width:22px;height:40px}
  .sub-toggle .icon{width:15px;height:15px}
  .sub{position:absolute;top:100%;left:0;min-width:250px;background:#fff;border-radius:12px;padding:.5rem;box-shadow:0 20px 40px -12px rgba(7,26,61,.45);border:0}
  .has-sub:hover>.sub,.has-sub:focus-within>.sub,.sub.is-open{display:block}
  .sub a{color:var(--ink);border-radius:8px;padding:.55rem .75rem;font-size:.95rem}
  .sub a:hover,.sub a[aria-current="page"]{background:var(--soft-blue);color:var(--blue-2)}
  .nav-book{margin:0;width:auto;min-height:44px;padding:.6rem 1.1rem;white-space:nowrap}
}

/* Promo banner */
.promo{background:linear-gradient(90deg,var(--red) 0%,#c20f19 100%);color:#fff}
.promo-in{display:flex;align-items:center;justify-content:center;gap:.6rem 1.2rem;flex-wrap:wrap;padding:.7rem 0;text-align:center}
.promo p{margin:0;display:flex;align-items:center;gap:.55rem;font-weight:700;font-size:1rem;letter-spacing:.01em}
.promo .icon{width:1.4em;height:1.4em;color:var(--yellow)}

/* Hero */
.hero{position:relative;color:#fff;background:linear-gradient(115deg,var(--navy) 0%,var(--navy) 40%,var(--navy-2) 62%,#0b2a6b 100%);overflow:hidden;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 42%,rgba(31,91,255,.22) 42.2%,transparent 54%);z-index:-1}
.hero-grid{display:grid;gap:2rem;padding:2.5rem 0 2rem}
.eyebrow{display:flex;align-items:center;gap:.6rem;font-weight:600;font-size:.95rem;letter-spacing:.04em;text-transform:uppercase;margin:0 0 1rem}
.eyebrow::before{content:"";width:4px;height:1.2em;background:var(--red);border-radius:2px}
.hero h1{font-size:clamp(2.3rem,6.4vw,4.2rem);line-height:1;letter-spacing:-.035em;margin-bottom:0}
.hero h1 span{display:block}
.hero h1 .l2{color:#4d7dff}
.hero h1 .l3{color:var(--yellow)}
.lead{font-size:1.15rem;color:#D8E1F5;max-width:36em;margin:1.3rem 0 0}
.hero-media{position:relative;margin-inline:-1rem;container-type:inline-size}
.hero-img{width:100%;aspect-ratio:896/472;object-fit:cover}
.hero-media picture{display:block}
.hero-badge{position:absolute;left:47%;top:5.5%;width:24%;min-width:118px;background:#fff;color:var(--navy);border-radius:10px;padding:3cqw 2cqw 3cqw 3cqw;box-shadow:0 18px 40px -12px rgba(0,0,0,.5);text-decoration:none;line-height:1.1}
.hero-badge::before{content:"";position:absolute;left:0;top:14%;bottom:14%;width:5px;background:var(--red);border-radius:0 3px 3px 0}
.hero-badge small{display:block;font-weight:700;font-size:clamp(.7rem,2.1cqw,1rem);text-transform:uppercase}
.hero-badge b{display:block;color:var(--red);font-size:clamp(1.7rem,7cqw,3.2rem);font-weight:800;letter-spacing:-.03em;margin:.1em 0}
.hero-badge span{font-size:clamp(.66rem,1.8cqw,.9rem);color:var(--muted)}
.hero-side{position:absolute;right:3%;bottom:7%;width:30%;min-width:150px;background:var(--navy);color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:10px;padding:2.4cqw 2.4cqw 2.4cqw 3cqw;text-decoration:none;box-shadow:0 18px 40px -12px rgba(0,0,0,.6)}
.hero-side::before{content:"";position:absolute;left:0;top:16%;bottom:16%;width:4px;background:var(--red)}
.hero-side strong{display:block;font-size:clamp(.85rem,2.6cqw,1.25rem);line-height:1.15}
.hero-side span{display:flex;align-items:center;gap:.3rem;margin-top:.4em;font-size:clamp(.72rem,1.9cqw,.92rem);color:#DCE5FF}
.hero-side:hover strong{color:var(--yellow)}
@media (max-width:600px){.hero-side{display:none}.hero-badge{left:auto;right:4%;top:8%}}
@media (min-width:980px){
  .hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;padding:3.6rem 0 3.4rem}
  .hero-media{margin:0 calc((100vw - min(1240px,100vw - 2rem)) / -2) 0 0}
  .hero-img{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 30%);mask-image:linear-gradient(90deg,transparent 0,#000 30%)}
}

/* Page header */
.page-head{background:linear-gradient(115deg,var(--navy) 0%,var(--navy-2) 60%,#0b2a6b 100%);color:#fff;padding:2rem 0 2.6rem;position:relative;overflow:hidden}
.page-head::after{content:"";position:absolute;right:-8%;top:0;bottom:0;width:30%;background:linear-gradient(115deg,transparent 0,rgba(31,91,255,.18) 0);transform:skewX(-14deg)}
.page-head .wrap{position:relative;z-index:1}
.page-head h1{max-width:20ch;margin-bottom:0}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.3rem;margin:0 0 1.4rem;padding:0;font-size:.88rem;color:#B9C6E6}
.crumbs li+li::before{content:"/";margin-right:.3rem;opacity:.6}
.crumbs a{color:#fff}

/* Sections */
.section{padding:3.2rem 0}
@media (min-width:900px){.section{padding:4.4rem 0}}
.sec-head{margin-bottom:2rem;max-width:44rem}
.sec-head h2{margin-bottom:.35em}
.sec-head p{color:var(--muted);font-size:1.1rem;margin:0}

/* Trust */
.trust{background:var(--card);border-block:1px solid var(--line)}
.trust-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.8rem}
@media (max-width:560px){.trust-list{grid-template-columns:1fr 1fr;gap:.55rem}.trust-list li{flex-direction:column;align-items:flex-start;gap:.5rem;padding:.75rem;font-size:.92rem}.ti{width:34px;height:34px}}
.trust-list li{display:flex;align-items:center;gap:.8rem;padding:.85rem 1rem;border-radius:12px;background:var(--paper);font-weight:600;line-height:1.3}
.ti{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--navy);color:var(--yellow);flex-shrink:0}
.trust-list li:nth-child(3n+2) .ti{background:var(--blue-2);color:#fff}
.trust-list li:nth-child(3n) .ti{background:var(--red);color:#fff}
.ti .icon{width:21px;height:21px}
.trust-bar{padding:1.4rem 0}

/* Pathway cards */
.path-grid{list-style:none;margin:0;padding:0;display:grid;gap:1.4rem}
@media (min-width:860px){.path-grid{grid-template-columns:repeat(3,1fr)}}
.path-card{background:var(--card);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);position:relative;display:flex;flex-direction:column}
.path-img{width:100%;aspect-ratio:300/76;object-fit:cover}
.path-body{padding:1.3rem 1.3rem 1.5rem;flex:1;display:flex;flex-direction:column}
.path-body h3{font-size:1.4rem}
.path-body h3 a{color:var(--ink);text-decoration:none}
.path-body h3 a::after{content:"";position:absolute;inset:0}
.path-body p{color:var(--muted);margin:0 0 1rem}
.path-go{margin-top:auto;align-self:flex-end;width:36px;height:36px;border-radius:50%;display:grid;place-items:center}
.tone-blue .path-go{background:var(--soft-blue);color:var(--blue-2)}
.tone-red .path-go{background:var(--soft-red);color:var(--red)}
.tone-yellow .path-go{background:var(--soft-yellow);color:#6b5600}
.path-card:hover h3 a{color:var(--blue-2)}
.path-card:focus-within{outline:3px solid var(--blue);outline-offset:3px}

/* Price cards */
.pgrid{display:grid;gap:1.4rem 1.2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.pcard{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);padding:1.4rem 1.3rem 1.3rem;display:flex;flex-direction:column;position:relative;border:2px solid transparent}
.pcard.has-badge{border-color:var(--yellow)}
.pbadge{position:absolute;top:-.8rem;left:1.1rem;background:var(--yellow);color:var(--navy);font-weight:700;font-size:.8rem;padding:.2rem .65rem;border-radius:999px;margin:0}
.pcard h3{font-size:1.25rem;margin-bottom:.2rem}
.pcard h3 a{color:var(--ink);text-decoration:none}
.pcard h3 a:hover{color:var(--blue-2);text-decoration:underline}
.phours{color:var(--muted);font-size:.9rem;margin:0 0 .6rem}
.price{margin:.2rem 0 .4rem;display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .5rem}
.price s{color:var(--muted);font-size:1.1rem;text-decoration-thickness:2px;text-decoration-color:var(--red)}
.price strong{font-size:2.1rem;font-weight:800;color:var(--navy);letter-spacing:-.02em;line-height:1}
.price strong small{font-size:.9rem;font-weight:600}
.pnote{color:var(--muted);font-size:.92rem}
.psave{display:inline-block;align-self:flex-start;background:var(--soft-red);color:var(--red-2);font-weight:700;font-size:.85rem;padding:.15rem .6rem;border-radius:999px;margin:0 0 .5rem}
.phourly{font-size:.92rem;color:var(--blue-2);font-weight:600;margin:0 0 .6rem}
.psum{color:var(--muted);font-size:.96rem}
.pelig,.ppay{display:flex;gap:.45rem;font-size:.88rem;line-height:1.4;margin:0 0 .7rem}
.pelig{color:var(--muted)}
.ppay{color:var(--navy);font-weight:600;background:var(--soft-yellow);padding:.55rem .7rem;border-radius:8px}
.pcard .btn{margin-top:auto}
.table-wrap{position:relative;overflow-x:auto;background:var(--card);border-radius:var(--r);box-shadow:var(--shadow)}
.ptable{width:100%;border-collapse:collapse;min-width:520px}
.ptable th,.ptable td{padding:.9rem 1rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.ptable thead th{font-size:.85rem;color:var(--muted);font-weight:600}
.ptable tbody th{font-weight:700}
.ptable tbody th small{display:block;font-weight:400;color:var(--muted);font-size:.82rem}
.ptable s{color:var(--muted)}
.ptable strong{font-size:1.15rem}
.ptable td:last-child{text-align:right}
@media (max-width:640px){
  .ptable{min-width:0}
  .ptable thead{display:none}
  .ptable tr{display:grid;grid-template-columns:1fr auto;gap:.3rem 1rem;padding:.9rem 1rem;border-bottom:1px solid var(--line)}
  .ptable th,.ptable td{border:0;padding:0}
  .ptable tbody th{grid-column:1/-1}
  .ptable td:last-child{grid-column:1/-1;text-align:left;margin-top:.3rem}
  .ptable td:last-child .btn{width:100%}
}

/* Manual / automatic */
.split{display:grid}
@media (min-width:860px){.split{grid-template-columns:1fr 1fr}}
.panel{position:relative;color:#fff;padding:2.4rem 1.2rem;display:flex;gap:1.3rem;align-items:center;overflow:hidden;isolation:isolate;min-height:220px}
@media (min-width:600px){.panel{padding:2.6rem clamp(1.4rem,4vw,4rem)}}
.panel-man{background:linear-gradient(100deg,#0E3FD0 0%,#0A2A8A 45%,#061433 80%)}
.panel-auto{background:linear-gradient(100deg,#E3141F 0%,#A20C14 45%,#2a0508 80%)}
.panel-img{position:absolute;right:0;top:0;height:100%;width:55%;object-fit:cover;z-index:-1;opacity:.85;-webkit-mask-image:linear-gradient(90deg,transparent,#000 45%);mask-image:linear-gradient(90deg,transparent,#000 45%)}
.panel picture{display:contents}
.panel-ico{width:68px;height:68px;border-radius:50%;background:#fff;display:grid;place-items:center;flex-shrink:0}
.panel-man .panel-ico{color:var(--blue-2)}
.panel-auto .panel-ico{color:var(--red)}
.panel-ico .icon{width:34px;height:34px;stroke-width:2.4}
.panel h2{font-size:1.75rem;margin-bottom:.3rem}
.panel p{color:#EEF2FF;max-width:24em}
@media (max-width:520px){.panel{flex-direction:column;align-items:flex-start}.panel-img{width:80%;opacity:.45}}

/* Who we help */
.who{background:var(--card)}
.who-grid{list-style:none;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
.who-grid li{display:flex;gap:.9rem;padding:1.2rem;border-radius:12px;border:1px solid var(--line);background:var(--paper)}
.who-ico{width:34px;height:34px;border-radius:50%;background:var(--yellow);color:var(--navy);display:grid;place-items:center;flex-shrink:0}
.who-ico .icon{stroke-width:2.6;width:18px;height:18px}
.who-grid h3{font-size:1.08rem;margin-bottom:.2rem}
.who-grid p{margin:0;color:var(--muted);font-size:.96rem}

/* Steps */
.steps{background:var(--navy);color:#fff}
.steps .sec-head p{color:#C9D5F0}
.step-list{list-style:none;margin:0;padding:0;display:grid;gap:1.1rem;counter-reset:s}
@media (min-width:700px){.step-list{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1050px){.step-list{grid-template-columns:repeat(4,1fr)}}
.step-list li{counter-increment:s;padding:1.4rem;border-radius:var(--r);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12)}
.step-list li::before{content:counter(s);display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--yellow);color:var(--navy);font-weight:800;font-size:1.25rem;margin-bottom:.9rem}
.step-list li:nth-child(2)::before{background:var(--blue);color:#fff}
.step-list li:nth-child(3)::before{background:var(--red);color:#fff}
.step-list li:nth-child(4)::before{background:#fff}
.step-list h3{font-size:1.15rem;margin-bottom:.3rem}
.step-list p{margin:0;color:#C9D5F0;font-size:.97rem}

/* Prose */
.prose{max-width:46rem}
.prose h2{margin-top:.2em}
.prose h3{margin-top:1.4em}
.prose ul,.prose ol{padding-left:1.25rem;margin:0 0 1em}
.prose li{margin-bottom:.4em}
.prose>:last-child{margin-bottom:0}
.text-sec+.text-sec{padding-top:0}
.imgtext-grid{display:grid;gap:2rem;align-items:center}
@media (min-width:900px){.imgtext-grid{grid-template-columns:1.2fr 1fr}.imgtext-grid.rev .imgtext-media{order:-1}}
.imgtext-media img{border-radius:var(--r);width:100%;aspect-ratio:16/9;object-fit:cover;box-shadow:var(--shadow)}

/* Policy */
.policy{background:var(--card);border-block:1px solid var(--line)}
.policy-grid{display:grid;gap:1.2rem}
@media (min-width:860px){.policy-grid{grid-template-columns:1.2fr 1fr}}
.policy-card{display:flex;gap:1rem;padding:1.5rem;border-radius:var(--r);border:2px solid var(--line)}
.policy-card.refund{border-color:#bcd0ff;background:var(--soft-blue)}
.policy-card.cancel{background:var(--paper)}
.policy-card p{margin-bottom:.6em}
.pc-ico{width:46px;height:46px;border-radius:50%;background:var(--blue-2);color:#fff;display:grid;place-items:center;flex-shrink:0}
.cancel .pc-ico{background:var(--navy);color:var(--yellow)}
.pc-ico .icon{width:24px;height:24px}
.pc-tag{font-weight:800;color:var(--blue-2);font-size:1.08rem;margin-bottom:.5em}

/* FAQ */
.faq{display:grid;gap:.7rem}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:12px}
.faq summary{cursor:pointer;list-style:none;padding:1rem 1.2rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;border-radius:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary h3{font-size:1.05rem;margin:0;font-weight:700}
.faq summary .icon{color:var(--red);transition:transform .2s}
.faq details[open] summary .icon{transform:rotate(180deg)}
.faq-a{padding:0 1.2rem 1.1rem;color:#2d3854}
.faq-group{font-size:1.4rem;margin:2.2rem 0 1rem}
.faq-group:first-of-type{margin-top:0}

/* Areas */
.area-list{list-style:none;margin:0;padding:0;display:grid;gap:.8rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.area-list li{display:flex;gap:.6rem;align-items:flex-start;padding:1rem;border-radius:12px;background:var(--card);border:1px solid var(--line)}
.area-list .icon{color:var(--red);margin-top:.2rem}
.area-list p{margin:.25rem 0 0;color:var(--muted);font-size:.93rem}
.area-pc{display:block;font-size:.85rem;color:var(--muted)}
.area-list.compact{display:flex;flex-wrap:wrap;gap:.6rem}
.area-list.compact li{padding:.5rem .95rem;border-radius:999px;align-items:center}
.area-list.compact .icon{margin:0}

/* Gallery */
.gal-grid{list-style:none;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.gal-grid figure{margin:0;background:var(--card);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);height:100%}
.gal-grid img{width:100%;aspect-ratio:1/1;object-fit:cover}
.gal-grid figcaption{padding:.75rem .9rem;font-size:.92rem;display:grid;gap:.1rem}
.gal-grid figcaption span{color:var(--muted)}
.empty{display:flex;align-items:center;gap:.6rem;color:var(--muted);background:var(--card);padding:1.4rem;border-radius:var(--r);border:1px dashed var(--line)}

/* Offers */
.offer-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.offer-card{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);padding:1.4rem;border-top:4px solid var(--red)}
.offer-card>.icon{color:var(--red);width:32px;height:32px;margin-bottom:.5rem}

/* Instructors — a bordered panel holding the whole team, each profile a photo-topped card */
.instr-panel{background:var(--card);border:2px solid var(--yellow);border-radius:var(--r);padding:1.6rem}
.instr-grid{list-style:none;margin:0;padding:0;display:grid;gap:1.8rem 1.4rem;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.instr-card{display:flex;flex-direction:column}
.instr-photo{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:var(--r-sm)}
.instr-photo-ph{display:grid;place-items:center;background:var(--soft-blue);color:var(--navy);aspect-ratio:4/3;border-radius:var(--r-sm)}
.instr-photo-ph .icon{width:48px;height:48px}
.instr-body{padding-top:.9rem}
.instr-body h3{margin:0 0 .15rem;font-size:1.1rem;font-weight:800;letter-spacing:.01em;text-transform:uppercase;color:var(--navy)}
.instr-role{margin:0 0 .5rem;font-size:.85rem;font-weight:700;color:var(--blue-ink)}
.instr-bio{margin:0 0 .4rem;font-size:.92rem;color:var(--muted);line-height:1.5}
.instr-teaches{margin:0;font-size:.82rem;color:var(--muted)}
@media (min-width:860px){.instr-grid{grid-template-columns:repeat(4,1fr)}}

/* Course detail */
.cd-grid{display:grid;gap:2rem}
@media (min-width:960px){.cd-grid{grid-template-columns:1.4fr 1fr;align-items:start}}
.cd-panel{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);padding:1.6rem;position:relative;border:2px solid var(--yellow);display:grid;gap:.6rem}
@media (min-width:960px){.cd-panel{position:sticky;top:100px}}
.cd-title{font-size:1.35rem;margin:0}
.cd-panel .price,.cd-panel .psave,.cd-panel .phourly,.cd-panel .pelig{margin:0}
.cd-panel .psave{justify-self:start}
@media (max-width:959px){.cd-panel{order:-1}}
.cd-facts{list-style:none;padding:0;margin:.4rem 0;display:grid;gap:.5rem;font-size:.95rem}
.cd-facts li{display:flex;gap:.55rem;align-items:flex-start}
.cd-facts .icon{color:var(--blue-2);margin-top:.15rem}

/* CTA band */
.cta-band{background:linear-gradient(110deg,var(--navy) 0%,var(--navy-2) 55%,var(--blue-2) 100%);color:#fff;padding:3rem 0;position:relative;overflow:hidden}
.cta-band::after{content:"";position:absolute;right:-12%;top:0;bottom:0;width:30%;background:var(--yellow);transform:skewX(-14deg);opacity:.95}
.cta-in{position:relative;z-index:1;display:grid;gap:1rem;align-items:center}
@media (min-width:900px){.cta-in{grid-template-columns:1.3fr auto;padding-right:16%}}
.cta-band h2{margin-bottom:.3em}
.cta-band p{color:#D8E1F5;margin:0;max-width:36em}
.cta-band .actions{margin-top:0}
@media (max-width:899px){.cta-band::after{display:none}}

/* Contact & forms */
.contact-grid{display:grid;gap:1.6rem}
@media (min-width:900px){.contact-grid{grid-template-columns:1fr 1.3fr;align-items:start}}
.contact-card,.form-card{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);padding:1.6rem}
.contact-actions{display:grid;gap:.7rem;margin-bottom:1.3rem}
.contact-list{list-style:none;padding:0;margin:0;display:grid;gap:.8rem}
.contact-list li{display:flex;gap:.6rem;align-items:flex-start}
.contact-list .icon{color:var(--red);margin-top:.2rem}
.form .field{margin-bottom:1.1rem}
.form label{display:block;font-weight:700;margin-bottom:.35rem}
.opt{font-weight:400;color:var(--muted);font-size:.92rem}
.hint{color:var(--muted);font-size:.92rem;margin:-.15rem 0 .4rem}
.form input[type=text],.form input[type=tel],.form input[type=email],.form select,.form textarea{width:100%;font:inherit;font-size:1.05rem;padding:.75rem .85rem;border:2px solid #9aa6bf;border-radius:10px;background:#fff;color:var(--ink);min-height:50px}
.form input.short{max-width:12rem}
.form textarea{min-height:110px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--blue);outline:3px solid rgba(31,91,255,.25);outline-offset:0}
.has-error input,.has-error textarea,.has-error select{border-color:var(--red)}
.has-error{border-left:4px solid var(--red);padding-left:.9rem}
.err{color:var(--red-2);font-weight:700;margin:0 0 .4rem;display:flex;gap:.4rem;align-items:flex-start;font-size:.95rem}
.error-summary{border:3px solid var(--red);border-radius:12px;padding:1rem 1.2rem;margin-bottom:1.4rem;background:#fff}
.error-summary h2{font-size:1.15rem;margin-bottom:.4rem}
.error-summary ul{margin:0;padding-left:1.1rem}
.error-summary a{color:var(--red-2);font-weight:600}
.field.check{display:grid;grid-template-columns:28px 1fr;gap:.7rem;align-items:start;background:var(--paper);padding:1rem;border-radius:10px}
.field.check .err{grid-column:1/-1}
.field.check input{width:24px;height:24px;margin:.1rem 0 0;accent-color:var(--blue-2)}
.field.check label{font-weight:500;margin:0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.notice{padding:.95rem 1.1rem;border-radius:10px;margin:1rem 0;border-left:5px solid}
.notice-success{background:#e7f7ee;border-color:var(--wa);color:#0d4a28}
.notice-error{background:var(--soft-red);border-color:var(--red);color:#7a0a10}
.notice-info{background:var(--soft-blue);border-color:var(--blue-2);color:#0b2558}

/* Booking */
.book{padding:1.6rem 0 3.5rem}
.stepper{list-style:none;margin:0 0 1.8rem;padding:6px 4px;display:flex;gap:.4rem;overflow-x:auto}
.stepper li{flex:1;min-width:0}
.stepper a,.stepper .st-wrap{display:flex;flex-direction:column;align-items:center;gap:.35rem;text-decoration:none;color:var(--muted);font-size:.8rem;font-weight:600;text-align:center;padding:.3rem 0}
.st-n{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:#dfe5f1;color:var(--muted);flex-shrink:0}
.st-done .st-n{background:var(--wa);color:#fff}
.st-done a{color:var(--ink)}
.st-current .st-n{background:var(--navy);color:var(--yellow);box-shadow:0 0 0 4px var(--yellow)}
.st-current .st-l{color:var(--ink)}
@media (min-width:640px){.stepper a,.stepper .st-wrap{font-size:.92rem}}
.book-grid{display:grid;gap:2rem}
@media (min-width:1000px){.book-grid{grid-template-columns:minmax(0,1fr) 360px;align-items:start}.book-side{position:sticky;top:96px}}
.book-single{grid-template-columns:minmax(0,1fr)!important;max-width:820px}
.book-main h1{font-size:clamp(1.7rem,4vw,2.4rem)}
.opt-group{border:0;margin:0 0 1.8rem;padding:0;min-width:0}
.opt-group legend{font-weight:800;font-size:1.25rem;margin-bottom:.8rem;padding:0}
.opt-grid{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.opt-grid.two{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.opt-grid.big{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.opt-card{position:relative;display:block;cursor:pointer}
.opt-card input{position:absolute;opacity:0;width:1px;height:1px}
.oc{display:flex;flex-direction:column;gap:.3rem;height:100%;padding:1rem 1.1rem;border:2px solid var(--line);border-radius:12px;background:var(--card);transition:border-color .15s,box-shadow .15s}
.opt-card:hover .oc{border-color:#9db4ff}
.opt-card input:focus-visible+.oc{outline:3px solid var(--blue);outline-offset:3px}
.opt-card input:checked+.oc{border-color:var(--blue-2);box-shadow:0 0 0 3px rgba(14,63,208,.18);background:#f6f8ff}
.oc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.6rem}
.oc-title{font-size:1.05rem;line-height:1.3}
.oc-title.big{font-size:1.6rem;letter-spacing:.04em}
.oc-sel{display:none;align-items:center;gap:.25rem;background:var(--blue-2);color:#fff;font-size:.78rem;font-weight:700;padding:.15rem .55rem;border-radius:999px;white-space:nowrap}
.oc-sel .icon{width:14px;height:14px;stroke-width:3}
.opt-card input:checked+.oc .oc-sel{display:inline-flex}
.oc-price{font-size:.95rem;color:var(--muted)}
.oc-price b{color:var(--navy);font-size:1.25rem}
.oc-price s{text-decoration-color:var(--red)}
.oc-pay{font-size:.88rem;font-weight:600;color:var(--blue-2)}
.oc-note{font-size:.86rem;color:var(--muted)}
.opt-card.big .oc{align-items:center;text-align:center;padding:2rem 1rem}
.opt-card.big .oc-top{flex-direction:column;align-items:center}
.oc-ico{width:64px;height:64px;border-radius:50%;background:var(--soft-blue);color:var(--blue-2);display:grid;place-items:center;margin-bottom:.3rem}
.oc-ico .icon{width:32px;height:32px;stroke-width:2.3}
.opt-card.is-disabled{cursor:not-allowed;opacity:.55}
.book-actions{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:space-between;align-items:center;margin-top:1.4rem;padding-top:1.4rem;border-top:1px solid var(--line)}
.book-actions .btn-yellow{margin-left:auto}
.quick-pay{margin-top:2.6rem;padding-top:2.2rem;border-top:2px dashed var(--line)}
.qp-head h2{font-size:1.3rem;margin-bottom:.3rem}
.qp-head p{color:var(--muted);margin:0 0 1.2rem}
.quick-pay .book-actions{border-top:0;padding-top:0;justify-content:flex-start}
.quick-pay .btn-navy{margin-left:0}
.sum-card,.sum-policy{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);padding:1.3rem;margin-bottom:1rem}
.sum-card h2,.sum-policy h2{font-size:1.1rem;display:flex;align-items:center;gap:.45rem}
.sum-policy h2{margin-top:.6rem}
.sum-policy h2 .icon{color:var(--blue-2)}
.sum-dl{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;margin:0 0 1rem;font-size:.95rem}
.sum-dl dt{color:var(--muted)}
.sum-dl dd{margin:0;font-weight:600;text-align:right}
.sum-dl s{color:var(--muted);font-weight:400}
.sum-pay{display:flex;justify-content:space-between;align-items:center;background:var(--soft-yellow);border-radius:10px;padding:.8rem 1rem;margin:0 0 .6rem;font-weight:700}
.sum-pay strong{font-size:1.5rem}
.sum-help{font-size:.92rem}
.review-dl{display:grid;grid-template-columns:minmax(110px,auto) 1fr;gap:.6rem 1.2rem;background:var(--card);padding:1.3rem;border-radius:var(--r);box-shadow:var(--shadow);margin:0 0 1.4rem}
.review-dl dt{color:var(--muted)}
.review-dl dd{margin:0;font-weight:600}
.edit{font-weight:500;font-size:.9rem;margin-left:.5rem}
.policy-inline{display:grid;gap:1rem;margin-bottom:1.4rem}
@media (min-width:760px){.policy-inline{grid-template-columns:1.2fr 1fr}}
.policy-inline>div{padding:1.2rem;border-radius:var(--r);background:var(--soft-blue);border:2px solid #bcd0ff;font-size:.95rem}
.policy-inline>div:last-child{background:var(--card);border-color:var(--line)}
.policy-inline h2{font-size:1.1rem;display:flex;gap:.45rem;align-items:center}
.policy-inline p{margin-bottom:.5em}
.pay-form{background:var(--card);padding:1.4rem;border-radius:var(--r);box-shadow:var(--shadow);border:2px solid var(--yellow)}
.pay-total{display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:1.1rem}
.pay-total strong{font-size:2rem}
.confirm-ref{display:inline-flex;align-items:center;gap:.6rem;background:#e7f7ee;color:#0d4a28;padding:.6rem 1rem;border-radius:999px;font-size:1.05rem}
.confirm-ref .icon{background:var(--wa);color:#fff;border-radius:50%;padding:4px;width:28px;height:28px;stroke-width:3}
.confirm .lead{color:var(--ink);margin-bottom:1.5rem}
.next-steps{padding-left:1.3rem}
.next-steps li{margin-bottom:.4rem}

/* Footer */
.site-footer{background:#050F26;color:#B6C2DE;padding:3rem 0 1.4rem;font-size:.95rem}
.foot-grid{display:grid;gap:2rem}
@media (min-width:700px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (min-width:1100px){.foot-grid{grid-template-columns:1.5fr repeat(4,1fr)}}
.foot-brand .logo-img{height:46px}
.foot-brand p{margin:1rem 0}
.foot-h{color:#fff;font-size:1rem;margin:0 0 .8rem;letter-spacing:0}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.site-footer a{color:#D7E0F5;text-decoration:none}
.site-footer a:hover{color:var(--yellow);text-decoration:underline}
.site-footer .btn-yellow,.site-footer .btn-yellow:hover{color:var(--navy);text-decoration:none}
.foot-contact{margin-bottom:1.2rem!important}
.foot-contact li{display:flex;gap:.5rem;align-items:flex-start}
.foot-contact a{display:inline-flex;gap:.5rem;align-items:center}
.foot-contact .icon{color:var(--yellow);margin-top:.15rem}
.foot-legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;border-top:1px solid rgba(255,255,255,.1);margin-top:2.4rem;padding-top:1.3rem;font-size:.88rem}
.foot-legal p{margin:0}
.foot-legal ul{display:flex;flex-wrap:wrap;gap:1.2rem}
.foot-legal .linkish{color:#D7E0F5}

/* Mobile action bar */
.action-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));background:var(--navy);border-top:1px solid rgba(255,255,255,.15);padding-bottom:env(safe-area-inset-bottom,0)}
.action-bar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;min-height:60px;color:#fff;text-decoration:none;font-size:.78rem;font-weight:600}
.action-bar .icon{width:22px;height:22px}
.action-bar .ab-book{background:var(--yellow);color:var(--navy)}
@media (min-width:900px){.action-bar{display:none}body{padding-bottom:0}}

/* Cookie panel */
.cookie{position:fixed;left:1rem;right:1rem;bottom:76px;z-index:80;display:flex;justify-content:center}
.cookie[hidden]{display:none}
.cookie-in{background:#fff;border-radius:var(--r);box-shadow:0 20px 50px -10px rgba(7,26,61,.5);padding:1.3rem 1.4rem;max-width:560px;border-top:4px solid var(--yellow)}
.cookie h2{font-size:1.15rem}
.cookie p{font-size:.95rem}
.cookie-actions{display:flex;gap:.6rem;flex-wrap:wrap}
@media (min-width:900px){.cookie{bottom:1rem;justify-content:flex-start}}

@media print{.topbar,.site-header,.action-bar,.cookie,.cta-band{display:none}}
