/* Archivo variable font (weight 100-900, width 62-125%), self-hosted. SIL Open Font License: fonts/OFL.txt */
@font-face {
  font-family: "Archivo";
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  font-stretch: 62% 125%;
  src: url("../fonts/archivo-latin-ext.woff2") format("woff2-variations"), url("../fonts/archivo-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: "Archivo";
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  font-stretch: 62% 125%;
  src: url("../fonts/archivo-latin.woff2") format("woff2-variations"), url("../fonts/archivo-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}


:root{
  --sec:96px;
  --yellow:#FFC72C;
  --yellow-deep:#F2B200;
  --yellow-soft:#FFF4D1;
  --ink:#1B2330;
  --ink-2:#2A3445;
  --muted:#596273;
  --line:#E3E6EB;
  --soft:#F5F6F8;
  --white:#FFFFFF;
  --font:"Archivo","Helvetica Neue",Arial,sans-serif;
  --wrap:1220px;
  --r:18px;
  --shadow:0 24px 50px -28px rgba(27,35,48,.35);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);font-size:1.0625rem;line-height:1.65;color:var(--ink);background:var(--white)}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
p{margin:0 0 1em;max-width:62ch}
h1,h2,h3{margin:0 0 .5em;line-height:1.08;font-weight:800;font-stretch:108%;letter-spacing:-.02em}
h2{font-size:clamp(2rem,4vw,3rem)}
h3{font-size:1.3rem;letter-spacing:-.01em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}
.eyebrow{display:inline-block;font-size:.85rem;font-weight:700;color:var(--ink);background:var(--yellow-soft);border-radius:999px;padding:.35em .95em;margin-bottom:18px}
.section-head{max-width:680px;margin-bottom:48px}
@media (max-width:760px){:root{--sec:72px}}
.section-head p{color:var(--muted);font-size:1.12rem}
.center{text-align:center;margin-left:auto;margin-right:auto}
.center p{margin-left:auto;margin-right:auto}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.on-dark :focus-visible{outline-color:var(--yellow)}
.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--yellow);color:var(--ink);padding:12px 18px;font-weight:700}
.skip:focus{left:12px;top:12px}

/* Buttons — explicit background, cursor and font on every variant */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;padding:1em 1.7em;border:2px solid var(--yellow);border-radius:12px;background:var(--yellow);color:var(--ink);font-family:var(--font);font-size:1rem;font-weight:700;line-height:1;text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s,transform .2s,box-shadow .2s}
.btn:hover{background:var(--yellow-deep);border-color:var(--yellow-deep);transform:translateY(-2px);box-shadow:0 10px 20px -10px rgba(242,178,0,.7)}
.btn--outline{background:transparent;border-color:var(--ink);color:var(--ink)}
.btn--outline:hover{background:var(--ink);border-color:var(--ink);color:var(--white);box-shadow:none}
.btn--ink{background:var(--ink);border-color:var(--ink);color:var(--white)}
.btn--ink:hover{background:var(--ink-2);border-color:var(--ink-2);box-shadow:none}
.btn svg{width:18px;height:18px}

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;gap:30px;min-height:86px}
.logo{display:block;line-height:0;margin-right:auto}
.logo img{width:190px;height:auto}
.nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:30px}
.nav a{text-decoration:none;font-weight:600;font-size:.98rem}
.nav a:hover{color:var(--muted)}
.header-cta{display:flex;align-items:center;gap:18px}
.header-phone{text-decoration:none;font-weight:700;white-space:nowrap}
.nav-toggle{display:none;background:var(--white);color:var(--ink);border:2px solid var(--ink);border-radius:10px;padding:9px 14px;font-family:var(--font);font-size:.9rem;font-weight:700;cursor:pointer}
.header-call{display:none;align-items:center;gap:8px;background:var(--yellow);color:var(--ink);border:2px solid var(--yellow);border-radius:10px;padding:8px 14px;font-family:var(--font);font-weight:700;font-size:.9rem;text-decoration:none;cursor:pointer}
.header-call svg{width:18px;height:18px}
@media (max-width:1020px){.header-phone{display:none}}
@media (max-width:880px){.header-call{display:inline-flex}}
@media (max-width:880px){
  .nav-toggle{display:block}
  .header-cta .btn{display:none}
  .nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--white);border-bottom:1px solid var(--line);box-shadow:var(--shadow)}
  .nav.is-open{display:block}
  .nav ul{flex-direction:column;align-items:stretch;gap:0;padding:8px 28px 24px}
  .nav a{display:block;padding:14px 0;border-bottom:1px solid var(--line)}
  .logo img{width:160px}
}

/* Hero */
.hero{position:relative;padding:70px 0 90px;overflow:hidden;background:linear-gradient(180deg,var(--white) 0%,var(--soft) 100%)}
.hero .wrap{display:grid;grid-template-columns:1fr 1.05fr;gap:64px;align-items:center}
.hero h1{font-size:clamp(2.7rem,5.6vw,4.6rem);letter-spacing:-.03em;margin-bottom:22px}
.hero h1 mark{background:linear-gradient(transparent 62%,var(--yellow) 62%,var(--yellow) 92%,transparent 92%);color:inherit;padding:0 .05em}
.hero__lede{font-size:1.2rem;color:var(--muted);max-width:44ch;margin-bottom:32px}
.hero__actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:38px}
.hero__trust{display:flex;align-items:center;gap:14px;font-size:.95rem;color:var(--muted)}
.hero__trust .stars{display:flex;gap:2px}
.hero__trust .stars svg{width:18px;height:18px;fill:var(--yellow-deep)}
.hero__trust strong{color:var(--ink)}
.hero__visual{position:relative}
.hero__photo{border-radius:28px;overflow:hidden;aspect-ratio:5/4;box-shadow:var(--shadow)}
.hero__photo img{width:100%;height:100%;object-fit:cover}
.hero__badge{position:absolute;left:-34px;bottom:38px;background:var(--yellow);border-radius:20px;padding:22px 26px;box-shadow:var(--shadow);line-height:1.2}
.hero__badge strong{display:block;font-size:2.4rem;font-weight:800;font-stretch:110%;letter-spacing:-.02em}
.hero__badge span{font-weight:600;font-size:.95rem}
.hero__chip{position:absolute;right:22px;top:22px;display:flex;align-items:center;gap:10px;background:var(--white);border-radius:999px;padding:10px 18px 10px 10px;box-shadow:var(--shadow);font-weight:700;font-size:.92rem}
.hero__chip i{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--yellow-soft)}
.hero__chip svg{width:16px;height:16px}
@media (max-width:920px){
  .hero{padding:44px 0 70px}
  .hero .wrap{grid-template-columns:1fr;gap:46px}
  .hero__badge{left:16px;bottom:16px;padding:16px 20px}
  .hero__badge strong{font-size:1.8rem}
}

/* Credentials strip */
.creds{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white)}
.creds ul{list-style:none;margin:0 auto;max-width:var(--wrap);padding:26px 28px;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.creds li{display:flex;align-items:center;gap:12px;font-weight:700;font-size:.98rem;line-height:1.3}
.creds svg{flex:none;width:34px;height:34px}
@media (max-width:900px){.creds ul{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.creds ul{grid-template-columns:1fr}}

/* Programs */
.programs{padding:var(--sec) 0}
.program-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.program{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;transition:transform .3s,box-shadow .3s,border-color .3s}
.program:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent}
.program__img{aspect-ratio:4/3;overflow:hidden}
.program__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.program:hover .program__img img{transform:scale(1.05)}
.program__body{display:flex;flex-direction:column;flex:1;padding:24px 24px 26px}
.program__tag{align-self:flex-start;font-size:.78rem;font-weight:700;background:var(--yellow-soft);border-radius:999px;padding:.3em .8em;margin-bottom:14px}
.program__body p{color:var(--muted);font-size:.98rem}
.program__more{margin-top:auto;font-weight:700;display:inline-flex;align-items:center;gap:6px}
.program__more svg{width:16px;height:16px;transition:transform .25s}
.program:hover .program__more svg{transform:translateX(4px)}
@media (max-width:1060px){.program-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.program-grid{grid-template-columns:1fr}}

/* Steps */
.steps{background:var(--soft);padding:var(--sec) 0}
.step-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;position:relative}
.step-list::before{content:"";position:absolute;top:31px;left:12%;right:12%;border-top:3px dashed #C9CED6}
.step{position:relative;text-align:center;padding:0 8px}
.step__num{position:relative;z-index:1;display:grid;place-items:center;width:64px;height:64px;margin:0 auto 22px;border-radius:50%;background:var(--yellow);font-size:1.5rem;font-weight:800;box-shadow:0 0 0 8px var(--soft)}
.step p{color:var(--muted);font-size:.98rem;margin-left:auto;margin-right:auto}
@media (max-width:860px){
  .step-list{grid-template-columns:1fr 1fr;gap:44px 24px}
  .step-list::before{display:none}
}
@media (max-width:480px){.step-list{grid-template-columns:1fr}}

/* Why */
.why{padding:var(--sec) 0 calc(var(--sec) + 28px)}
.why .wrap{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.why__media{position:relative}
.why__media .main{border-radius:28px;overflow:hidden;aspect-ratio:4/5;box-shadow:var(--shadow)}
.why__media .main img{width:100%;height:100%;object-fit:cover}
.why__media .inset{position:absolute;right:-28px;bottom:-28px;width:46%;border-radius:20px;overflow:hidden;border:8px solid var(--white);box-shadow:var(--shadow);aspect-ratio:1}
.why__media .inset img{width:100%;height:100%;object-fit:cover}
.checks{list-style:none;margin:32px 0 36px;padding:0;display:grid;gap:20px}
.checks li{display:grid;grid-template-columns:34px 1fr;gap:14px}
.checks svg{width:34px;height:34px}
.checks strong{display:block;font-size:1.08rem}
.checks span{color:var(--muted);font-size:.98rem}
@media (max-width:920px){.why .wrap{grid-template-columns:1fr;gap:70px}.why__media .inset{right:16px;bottom:-24px}}

/* Expanded Driver Training */
.edt{padding:0 0 var(--sec)}
.edt__card{display:grid;grid-template-columns:1.1fr 1fr;border-radius:28px;overflow:hidden;background:var(--ink);color:var(--white)}
.edt__body{padding:clamp(36px,5vw,70px)}
.edt__body p{color:#C4CAD4}
.edt__body .eyebrow{background:var(--yellow);}
.press{display:flex;gap:16px;align-items:flex-start;margin:28px 0 34px;padding:20px 22px;border-radius:14px;background:var(--ink-2)}
.press svg{flex:none;width:28px;height:28px}
.press p{margin:0;color:var(--white)}
.press a{color:var(--yellow);font-weight:700}
.edt__media{min-height:360px;position:relative}
.edt__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.edt__card{grid-template-columns:1fr}.edt__media{min-height:280px;order:-1}}

/* Reviews marquee (same pattern as Stern / Whiskey Down) */
.reviews{background:var(--soft);padding:var(--sec) 0;overflow:hidden}
.reviews__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:36px}
.reviews__head h2{margin:0}
.reviews__link{display:inline-flex;align-items:center;gap:8px;font-weight:700;text-decoration:none;border-bottom:2px solid var(--yellow-deep);padding-bottom:4px}
.reviews__link svg{width:16px;height:16px;transition:transform .25s}
.reviews__link:hover svg{transform:translateX(4px)}
.marquee{-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.marquee-track{display:flex;width:max-content;animation:marquee 80s linear infinite}
.marquee:hover .marquee-track,.marquee:focus-within .marquee-track,.marquee-track.is-paused{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-50%)}}
.review-list{display:flex;gap:24px;margin:0;padding:8px 12px 24px;list-style:none}
.review{width:370px;flex:none;display:flex;flex-direction:column;background:var(--white);border-radius:var(--r);padding:30px 30px 26px;box-shadow:0 14px 34px -24px rgba(27,35,48,.4)}
.review .stars{display:flex;gap:3px;margin-bottom:16px}
.review .stars svg{width:18px;height:18px;fill:var(--yellow-deep)}
.review blockquote{margin:0 0 22px;font-size:1.05rem;line-height:1.6}
.review blockquote p{margin:0}
.review footer{margin-top:auto;display:flex;align-items:center;gap:12px;font-size:.9rem;color:var(--muted)}
.review .avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--yellow);color:var(--ink);font-weight:800}
.review cite{display:block;font-style:normal;font-weight:700;color:var(--ink)}
.marquee-controls{display:flex;justify-content:center;margin-top:28px}
.marquee-toggle{background:var(--white);color:var(--ink);border:2px solid var(--ink);border-radius:10px;padding:.7em 1.3em;font-family:var(--font);font-size:.88rem;font-weight:700;cursor:pointer}
.marquee-toggle:hover{background:var(--ink);color:var(--white)}
@media (max-width:560px){.review{width:300px;padding:24px 22px 22px}}
@media (prefers-reduced-motion:reduce){
  .marquee{-webkit-mask-image:none;mask-image:none;overflow-x:auto}
  .marquee-track{animation:none}
  .review-list[aria-hidden="true"]{display:none}
}

/* Locations */
.locations{padding:var(--sec) 0}
.loc-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.loc{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.loc iframe{width:100%;height:240px;border:0;display:block}
.loc__body{padding:30px 32px 34px}
.loc h3{font-size:1.6rem}
.loc address{font-style:normal;color:var(--muted);margin-bottom:12px}
.loc .phone{display:inline-flex;align-items:center;gap:10px;font-size:1.5rem;font-weight:800;text-decoration:none;margin-bottom:22px}
.loc .phone svg{width:22px;height:22px}
.loc dl{display:grid;grid-template-columns:auto 1fr;gap:6px 24px;margin:0 0 14px;font-size:.98rem}
.loc dt{font-weight:700}
.loc dd{margin:0;color:var(--muted)}
.loc .note{color:var(--muted);font-size:.95rem;margin:0}
@media (max-width:860px){.loc-grid{grid-template-columns:1fr}}

/* CTA */
.cta{padding:0 0 var(--sec)}
.cta__card{position:relative;overflow:hidden;background:var(--yellow);border-radius:28px;padding:clamp(44px,6vw,80px);display:flex;justify-content:space-between;align-items:center;gap:36px;flex-wrap:wrap}
.cta__card::after{content:"";position:absolute;right:-120px;top:-120px;width:380px;height:380px;border-radius:50%;background:rgba(255,255,255,.22)}
.cta__card > *{position:relative;z-index:1}
.cta h2{max-width:15ch;margin:0}
.cta p{margin:14px 0 0;font-size:1.12rem}
.cta .actions{display:flex;gap:14px;flex-wrap:wrap}

/* Footer */
.site-footer{background:var(--ink);color:#B9C0CB;padding:80px 0 40px;font-size:.95rem}
.site-footer .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;margin-bottom:56px}
.site-footer h2{font-size:1rem;font-weight:700;color:var(--white);margin-bottom:16px;letter-spacing:0}
.site-footer .brand{font-size:1.35rem;font-weight:800;font-stretch:110%;color:var(--white);margin-bottom:10px}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin-bottom:9px}
.site-footer a{text-decoration:none}
.site-footer a:hover{color:var(--yellow)}
.fine{border-top:1px solid #344055;padding-top:28px;font-size:.85rem}
.fine p{max-width:none}
.fine .legal a{text-decoration:underline}
@media (max-width:860px){.site-footer .cols{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.site-footer .cols{grid-template-columns:1fr}}

/* Reveal on scroll */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s cubic-bezier(.2,.6,.2,1)}
.reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none}
  *{transition:none!important}
}

/* ===================== Interior pages ===================== */

/* Active nav item */
.nav a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--yellow-deep);text-decoration-thickness:3px;text-underline-offset:8px}

/* Breadcrumbs */
.crumbs ol{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-wrap:wrap;gap:8px;font-size:.9rem;color:var(--muted)}
.crumbs li+li::before{content:"/";margin-right:8px;color:#AEB4BE}
.crumbs a{text-decoration:none;font-weight:600;color:var(--ink)}
.crumbs a:hover{text-decoration:underline}

/* Page hero */
.page-hero{padding:56px 0 80px;background:linear-gradient(180deg,var(--white) 0%,var(--soft) 100%);border-bottom:1px solid var(--line)}
.page-hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}
.page-hero--text .wrap{grid-template-columns:1fr}
.page-hero h1{font-size:clamp(2.3rem,4.6vw,3.7rem);letter-spacing:-.03em;margin-bottom:18px}
.page-hero .lede{font-size:1.15rem;color:var(--muted);max-width:56ch;margin-bottom:28px}
.page-hero .actions{display:flex;gap:14px;flex-wrap:wrap}
.page-hero__img{border-radius:24px;overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow)}
.page-hero__img img{width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.page-hero{padding:40px 0 60px}.page-hero .wrap{grid-template-columns:1fr;gap:40px}}

/* Generic section */
.section{padding:var(--sec) 0}
.section--soft{background:var(--soft)}
.section--tight{padding-top:calc(var(--sec) * .6)}

/* At-a-glance facts */
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:-44px 0 0;position:relative;z-index:2}
.page-hero:has(+ .wrap > .facts){padding-bottom:112px}
.fact{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:22px 24px;box-shadow:0 14px 30px -24px rgba(27,35,48,.4)}
.fact dt{font-size:.82rem;font-weight:700;color:var(--muted);margin-bottom:6px}
.fact dd{margin:0;font-size:1.12rem;font-weight:800;font-stretch:105%;line-height:1.3}
.facts--3{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){.facts,.facts--3{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.facts,.facts--3{grid-template-columns:1fr}}

/* Split content */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.split + .split{margin-top:var(--sec)}
.split--flip .split__media{order:2}
.split__media{border-radius:24px;overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow)}
.split__media img{width:100%;height:100%;object-fit:cover}
.split h2{font-size:clamp(1.8rem,3.2vw,2.5rem)}
.split p{color:var(--muted)}
@media (max-width:900px){.split{grid-template-columns:1fr;gap:36px}.split--flip .split__media{order:0}}

/* Bullet lists */
.ticks{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:12px}
.ticks li{position:relative;padding-left:32px}
.ticks li::before{content:"";position:absolute;left:0;top:.35em;width:20px;height:20px;border-radius:50%;background:var(--yellow) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-6.5' fill='none' stroke='%231B2330' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/20px no-repeat}
.ticks--2{grid-template-columns:1fr 1fr;gap:12px 28px}
@media (max-width:560px){.ticks--2{grid-template-columns:1fr}}

/* Card grid */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.cards--2{grid-template-columns:1fr 1fr}
.cards--4{grid-template-columns:repeat(4,1fr)}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:30px 28px}
.card h3{margin-bottom:10px}
.card p{color:var(--muted);margin:0}
.card__num{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--yellow);font-weight:800;font-size:1.15rem;margin-bottom:18px}
.card .meta{list-style:none;margin:16px 0 0;padding:16px 0 0;border-top:1px solid var(--line);display:grid;gap:6px;font-size:.95rem}
.card .meta strong{color:var(--ink)}
.card .meta li{color:var(--muted)}
@media (max-width:1000px){.cards,.cards--4{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.cards,.cards--2,.cards--4{grid-template-columns:1fr}}

/* Program rows (programs index) */
.prog-row{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center;padding:48px 0;border-top:1px solid var(--line)}
.prog-row:first-child{border-top:0;padding-top:0}
.prog-row:nth-child(even) .prog-row__media{order:2}
.prog-row__media{border-radius:22px;overflow:hidden;aspect-ratio:16/11;box-shadow:var(--shadow)}
.prog-row__media img{width:100%;height:100%;object-fit:cover}
.prog-row h2{font-size:clamp(1.7rem,3vw,2.3rem)}
.prog-row p{color:var(--muted)}
.chips{list-style:none;margin:0 0 26px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chips li{font-size:.85rem;font-weight:700;background:var(--yellow-soft);border-radius:999px;padding:.35em .9em}
@media (max-width:900px){.prog-row{grid-template-columns:1fr;gap:28px}.prog-row:nth-child(even) .prog-row__media{order:0}}

/* Pricing */
.rates{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:var(--sec)}
.rate{display:flex;justify-content:space-between;align-items:center;gap:16px;background:var(--white);border:1px solid var(--line);border-radius:16px;padding:22px 26px}
.rate span{font-weight:700}
.rate strong{font-size:1.6rem;font-weight:800;font-stretch:105%}
.prices{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}
.price{position:relative;display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:22px;padding:36px 32px 32px}
.price__tier{font-size:.85rem;font-weight:700;color:var(--muted);margin-bottom:6px}
.price h3{font-size:1.5rem;margin-bottom:4px}
.price__for{color:var(--muted);margin-bottom:22px}
.price__amount{font-size:3rem;font-weight:800;font-stretch:108%;letter-spacing:-.02em;line-height:1;margin-bottom:24px}
.price .ticks{margin-bottom:30px}
.price .btn{margin-top:auto}
.price--featured{background:var(--ink);color:var(--white);border-color:var(--ink);box-shadow:var(--shadow)}
.price--featured .price__tier,.price--featured .price__for{color:#C4CAD4}
.price__badge{position:absolute;top:-14px;left:32px;background:var(--yellow);color:var(--ink);font-size:.8rem;font-weight:800;border-radius:999px;padding:.4em 1em}
@media (max-width:960px){.rates,.prices{grid-template-columns:1fr}}

/* Stages (EDT) */
.stages{counter-reset:stage}

/* Team */
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.member{background:var(--white);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.member__img{aspect-ratio:4/3;overflow:hidden;background:var(--soft)}
.member__img img{width:100%;height:100%;object-fit:cover}
.member__body{padding:22px 24px 26px}
.member h3{margin-bottom:4px}
.member p{margin:0;color:var(--muted);font-weight:600}
@media (max-width:900px){.team{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.team{grid-template-columns:1fr}}

/* Gallery */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:220px;gap:16px}
.gallery figure{margin:0;border-radius:16px;overflow:hidden}
.gallery img{width:100%;height:100%;object-fit:cover}
.gallery .tall{grid-row:span 2}
@media (max-width:760px){.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:180px}}

/* Notice */
.notice{display:flex;gap:16px;align-items:flex-start;background:var(--yellow-soft);border-radius:16px;padding:22px 24px;margin-top:28px}
.notice svg{flex:none;width:26px;height:26px}
.notice p{margin:0}

/* Online course list */
.online{display:grid;gap:14px}
.online a{display:flex;justify-content:space-between;align-items:center;gap:16px;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:18px 22px;text-decoration:none;font-weight:700;transition:border-color .2s,box-shadow .2s}
.online a:hover{border-color:var(--ink);box-shadow:0 10px 24px -18px rgba(27,35,48,.5)}
.online a span{font-size:.9rem;color:var(--muted);white-space:nowrap}

/* Blog */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.post{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:transform .3s,box-shadow .3s}
.post:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.post__img{aspect-ratio:4/3;overflow:hidden;background:var(--soft)}
.post__img img{width:100%;height:100%;object-fit:cover}
.post__body{display:flex;flex-direction:column;flex:1;padding:22px 24px 26px}
.post time{font-size:.85rem;color:var(--muted);font-weight:600;margin-bottom:8px}
.post h2{font-size:1.2rem;line-height:1.3;letter-spacing:-.01em;font-stretch:100%;margin-bottom:10px}
.post h2 a{text-decoration:none}
.post h2 a::after{content:"";position:absolute;inset:0}
.post{position:relative}
.post p{color:var(--muted);font-size:.96rem;margin-bottom:16px}
.post .program__more{margin-top:auto}
.posts .post:first-child{grid-column:span 2;flex-direction:row}
.posts .post:first-child .post__img{flex:1.1;aspect-ratio:auto;min-height:320px}
.posts .post:first-child .post__body{flex:1;justify-content:center;padding:36px}
.posts .post:first-child h2{font-size:1.6rem}
@media (max-width:1000px){.posts{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.posts{grid-template-columns:1fr}.posts .post:first-child{grid-column:auto;flex-direction:column}.posts .post:first-child .post__img{min-height:0;aspect-ratio:4/3}}

/* Prose (legal) */
.prose{max-width:780px}
.prose h2{font-size:1.5rem;margin:2em 0 .6em}
.prose h3{font-size:1.15rem;margin:1.6em 0 .5em}
.prose h4{font-size:1rem;margin:1.4em 0 .4em}
.prose p,.prose li{color:#3A4352}
.prose ul{padding-left:1.2em;margin:0 0 1.2em}
.prose li{margin-bottom:.45em}
.prose li::marker{color:var(--yellow-deep)}
.prose .effective{font-weight:700;color:var(--ink)}
.prose address{font-style:normal;line-height:1.7}

/* Contact form */
.contact-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:start}
.form-card{background:var(--white);border:1px solid var(--line);border-radius:22px;padding:clamp(28px,4vw,44px);box-shadow:0 20px 44px -34px rgba(27,35,48,.5)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.form-grid .full{grid-column:1/-1}
.field label,.field legend{display:block;font-weight:700;font-size:.95rem;margin-bottom:7px;padding:0}
.req{color:#B3261E}
.field input[type=text],.field input[type=email],.field input[type=tel],.field select,.field textarea{width:100%;font-family:var(--font);font-size:1rem;color:var(--ink);background:var(--white);border:1.5px solid #C5CBD3;border-radius:10px;padding:.8em .9em;transition:border-color .2s,box-shadow .2s}
.field textarea{min-height:130px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px var(--yellow)}
.field fieldset{border:0;margin:0;padding:0}
.radios{display:flex;gap:12px;flex-wrap:wrap}
.radios label{display:flex;align-items:center;gap:8px;font-weight:600;border:1.5px solid #C5CBD3;border-radius:10px;padding:.7em 1em;cursor:pointer;margin:0}
.radios input{accent-color:var(--ink);width:18px;height:18px}
.consent{display:grid;grid-template-columns:22px 1fr;gap:12px;font-size:.9rem;color:var(--muted);line-height:1.5}
.consent input{accent-color:var(--ink);width:20px;height:20px;margin-top:2px}
.consent strong{color:var(--ink)}
.field.consent label{font-weight:400;font-size:.9rem;margin:0}
.form-note{font-size:.88rem;color:var(--muted);margin:0}
.form-card .btn{width:100%;margin-top:8px}
.side-card{background:var(--soft);border-radius:22px;padding:30px 30px 32px}
.side-card + .side-card{margin-top:20px}
.side-card h2{font-size:1.35rem;margin-bottom:12px}
.side-card address{font-style:normal;color:var(--muted);margin-bottom:10px}
.side-card .phone{display:block;font-size:1.4rem;font-weight:800;text-decoration:none;margin-bottom:14px}
.side-card dl{display:grid;grid-template-columns:auto 1fr;gap:4px 18px;margin:0;font-size:.95rem}
.side-card dt{font-weight:700}
.side-card dd{margin:0;color:var(--muted)}
@media (max-width:960px){.contact-grid{grid-template-columns:1fr}}
@media (max-width:560px){.form-grid{grid-template-columns:1fr}}

/* 404 */
.notfound{min-height:60vh;display:grid;place-items:center;text-align:center;padding:var(--sec) 0}
.notfound .big{font-size:clamp(5rem,14vw,9rem);font-weight:800;font-stretch:115%;line-height:1;color:var(--ink);text-shadow:4px 4px 0 var(--yellow);margin-bottom:10px}

/* Dropdown menus */
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.has-sub{position:relative;display:flex;align-items:center;gap:2px}
.sub-toggle{display:grid;place-items:center;width:28px;height:28px;background:transparent;color:var(--ink);border:0;border-radius:6px;padding:0;font-family:var(--font);cursor:pointer}
.sub-toggle:hover{background:var(--soft)}
.sub-toggle svg{width:12px;height:12px;transition:transform .2s}
.sub-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.nav .sub{display:none;flex-direction:column;align-items:stretch;gap:0;list-style:none;margin:0;padding:8px;position:absolute;top:calc(100% + 12px);left:-16px;min-width:270px;background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);z-index:120}
.nav .sub::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.nav .sub a{display:block;padding:10px 14px;border-radius:8px;font-weight:600;font-size:.95rem;text-decoration:none}
.nav .sub a:hover{background:var(--soft);color:var(--ink)}
.nav .has-sub.is-open .sub{display:flex}
@media (hover:hover) and (min-width:881px){
  .nav .has-sub:hover:not(.is-dismissed) .sub{display:flex}
}
@media (max-width:880px){
  .has-sub{flex-wrap:wrap;gap:0}
  .has-sub > a{flex:1}
  .sub-toggle{width:44px;height:44px}
  .nav .sub{position:static;min-width:0;width:100%;box-shadow:none;border:0;border-radius:0;padding:0 0 8px 14px;margin:0}
  .nav .sub::before{display:none}
  .nav .sub a{padding:12px 0;border-bottom:1px solid var(--line);border-radius:0}
}

/* Location tabs (lessons) */
.loc-tabs{display:inline-flex;background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:5px;margin-bottom:34px}
.loc-tabs[hidden]{display:none}
.loc-tab{background:transparent;color:var(--ink);border:0;border-radius:999px;padding:.8em 1.7em;font-family:var(--font);font-size:1rem;font-weight:700;cursor:pointer}
.loc-tab[aria-selected="true"]{background:var(--ink);color:var(--white)}
.loc-panel + .loc-panel{margin-top:56px}
.loc-panel__title{font-size:1.3rem;margin-bottom:24px}
.js-tabs .loc-panel + .loc-panel{margin-top:0}
.js-tabs .loc-panel__title{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.textlink-plain{font-weight:700;text-decoration:none;border-bottom:2px solid var(--yellow-deep);padding-bottom:3px}

/* Forms: file upload, honeypot, status */
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.field input[type=file]{width:100%;font-family:var(--font);font-size:.95rem;color:var(--ink);background:var(--soft);border:1.5px dashed #AEB4BE;border-radius:10px;padding:.75em .8em;cursor:pointer}
.field input[type=file]::file-selector-button{font-family:var(--font);font-weight:700;font-size:.9rem;color:var(--ink);background:var(--yellow);border:0;border-radius:8px;padding:.55em 1em;margin-right:12px;cursor:pointer}
.field input[type=file]:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px var(--yellow)}
.hint{font-size:.85rem;color:var(--muted);margin:6px 0 0}
.opt{font-weight:500;color:var(--muted)}
.form-status{margin:0;padding:12px 14px;border-radius:10px;background:#FDECEA;color:#8C1D18;font-weight:600;font-size:.95rem}
.ts-slot:empty{display:none}
button[aria-busy="true"]{opacity:.7;cursor:progress}

/* FAQ accordion */
.faq-list{display:grid;gap:12px;max-width:860px}
.faq{background:var(--white);border:1px solid var(--line);border-radius:14px;transition:border-color .2s,box-shadow .2s}
.faq[open]{border-color:var(--ink);box-shadow:0 14px 30px -24px rgba(27,35,48,.45)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 22px;font-weight:700;font-size:1.06rem;line-height:1.35}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:28px;height:28px;border-radius:50%;background:var(--yellow-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cpath d='M14 8v12M8 14h12' stroke='%231B2330' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") center/28px no-repeat;transition:transform .25s}
.faq[open] summary::after{transform:rotate(45deg);background-color:var(--yellow)}
.faq summary:focus-visible{outline:3px solid var(--ink);outline-offset:2px;border-radius:14px}
.faq__a{padding:0 22px 20px}
.faq__a p{margin:0;color:#3A4352}
.faq__a a{font-weight:600}
.faq-section .faq-list{max-width:none}
.faq-layout{display:grid;grid-template-columns:220px 1fr;gap:56px;align-items:start}
.faq-jump{position:sticky;top:110px}
.faq-jump p{font-weight:800;margin-bottom:10px}
.faq-jump ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.faq-jump a{display:block;padding:8px 12px;border-radius:8px;text-decoration:none;font-weight:600;color:var(--muted)}
.faq-jump a:hover{background:var(--soft);color:var(--ink)}
.faq-group{scroll-margin-top:110px}
.faq-group + .faq-group{margin-top:52px}
.faq-group h2{font-size:1.6rem;margin-bottom:18px}
@media (max-width:900px){.faq-layout{grid-template-columns:1fr;gap:28px}.faq-jump{position:static}.faq-jump ul{display:flex;flex-wrap:wrap;gap:8px}.faq-jump a{background:var(--soft)}}

/* Resources */
.cards--5{grid-template-columns:repeat(5,1fr)}
@media (max-width:1100px){.cards--5{grid-template-columns:repeat(3,1fr)}}
@media (max-width:700px){.cards--5{grid-template-columns:1fr 1fr}}
@media (max-width:460px){.cards--5{grid-template-columns:1fr}}
.res-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.res-grid--1{grid-template-columns:1fr}
.res{display:block;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:18px 20px 18px 54px;position:relative;text-decoration:none;transition:border-color .2s,box-shadow .2s}
.res::before{content:"";position:absolute;left:18px;top:20px;width:22px;height:22px;border-radius:6px;background:var(--yellow) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M9 6h7v7M16 6l-9 9' fill='none' stroke='%231B2330' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/22px no-repeat}
.res:hover{border-color:var(--ink);box-shadow:0 12px 26px -20px rgba(27,35,48,.5)}
.res strong{display:block;margin-bottom:4px}
.res span{display:block;color:var(--muted);font-size:.94rem;line-height:1.5}
@media (max-width:760px){.res-grid{grid-template-columns:1fr}}

/* Homepage refinements */
.step-list--5{grid-template-columns:repeat(5,1fr);gap:22px}
.step-list--5::before{left:10%;right:10%}
@media (max-width:1060px){.step-list--5{grid-template-columns:repeat(3,1fr);gap:44px 24px}.step-list--5::before{display:none}}
@media (max-width:640px){.step-list--5{grid-template-columns:1fr 1fr}}
@media (max-width:420px){.step-list--5{grid-template-columns:1fr}}
p.hero__trust{display:block;margin:0;font-size:.95rem;color:var(--muted)}
.card__num svg{width:22px;height:22px}

/* Road test tips */
.tips-layout{display:grid;grid-template-columns:220px 1fr;gap:56px;align-items:start}
.tips{max-width:820px}
.tip-group{scroll-margin-top:110px}
.tip-group + .tip-group,.tip-cta + .tip-group{margin-top:64px}
.tip-group > h2{font-size:clamp(1.6rem,2.8vw,2.1rem);margin-bottom:26px;padding-bottom:14px;border-bottom:3px solid var(--yellow)}
.tip{display:grid;grid-template-columns:72px 1fr;gap:20px;padding:26px 0;border-bottom:1px solid var(--line);scroll-margin-top:110px}
.tip:last-child{border-bottom:0}
.tip__num{display:grid;place-items:center;width:60px;height:60px;border-radius:16px;background:var(--yellow);font-size:1.4rem;font-weight:800;font-stretch:110%}
.tip h3{font-size:1.3rem;margin:4px 0 10px}
.tip p{color:#3A4352;margin:0 0 .8em}
.tip p:last-child{margin-bottom:0}
.tip a{font-weight:600}
.tip-cta{margin-top:56px;background:var(--ink);color:var(--white);border-radius:22px;padding:34px 36px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.tip-cta h2{font-size:1.6rem;margin-bottom:8px}
.tip-cta p{color:#C4CAD4;margin:0;max-width:46ch}
.tip-cta .actions{display:flex;gap:12px;flex-wrap:wrap}
.tip-cta .btn--ink{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}
.tip-cta .btn--outline{border-color:rgba(255,255,255,.6);color:var(--white)}
.tip-cta .btn--outline:hover{background:var(--white);color:var(--ink)}
@media (max-width:900px){.tips-layout{grid-template-columns:1fr;gap:28px}.tip{grid-template-columns:52px 1fr;gap:14px}.tip__num{width:48px;height:48px;font-size:1.1rem;border-radius:12px}}
.byline{font-size:.92rem;color:var(--muted);margin:0 0 22px}
.byline a{font-weight:700;color:var(--ink)}
.takeaways{background:var(--yellow-soft);border-radius:20px;padding:28px 30px 10px;margin-bottom:56px}
.takeaways h2{font-size:1.4rem;margin-bottom:16px}
.section .tip-cta{margin-top:40px}

/* Testimonials */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.quote{margin:0;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:30px 28px;display:flex;flex-direction:column}
.quote .stars{display:flex;gap:3px;margin-bottom:16px}
.quote .stars svg{width:18px;height:18px;fill:var(--yellow-deep)}
.quote blockquote{margin:0 0 20px;font-size:1.06rem;line-height:1.6}
.quote blockquote p{margin:0}
.quote figcaption{margin-top:auto;color:var(--muted);font-size:.92rem}
.quote cite{font-style:normal;font-weight:700;color:var(--ink)}
@media (max-width:960px){.quotes{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.quotes{grid-template-columns:1fr}}

/* ===================== Google Ads landing pages ===================== */
.lp-header{background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100}
.lp-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:78px}
.lp-header .logo img{width:180px}
.lp-calls{display:flex;gap:10px;align-items:center}
.lp-calls .btn{padding:.8em 1.2em;font-size:.95rem}
.lp-calls small{display:block;font-size:.72rem;font-weight:600;opacity:.8;margin-bottom:2px}
.lp-calls .btn{flex-direction:column;align-items:flex-start;gap:0;line-height:1.15}
@media (max-width:760px){.lp-header .logo img{width:140px}.lp-calls .btn--outline{display:none}.lp-calls .btn{padding:.65em 1em}}

.lp-trust{background:var(--ink);color:var(--white)}
.lp-trust ul{list-style:none;margin:0 auto;max-width:var(--wrap);padding:12px 28px;display:flex;justify-content:center;gap:10px 34px;flex-wrap:wrap;font-weight:700;font-size:.92rem}
.lp-trust li{display:flex;align-items:center;gap:8px}
.lp-trust li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--yellow)}

.lp-hero{padding:52px 0 64px;background:linear-gradient(180deg,var(--white) 0%,var(--soft) 100%)}
.lp-hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:start}
.lp-hero h1{font-size:clamp(2.2rem,4.6vw,3.6rem);letter-spacing:-.03em;margin-bottom:16px}
.lp-hero .lede{font-size:1.15rem;color:var(--muted);margin-bottom:24px}
.lp-hero .ticks{margin-bottom:28px}
.lp-callrow{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:520px}
.lp-callrow .btn{flex-direction:column;align-items:center;gap:4px;padding:1em 1.2em;line-height:1.15}
.lp-callrow .btn small{font-size:.78rem;font-weight:600;opacity:.85}
.lp-callrow .btn strong{font-size:1.12rem}
.lp-hero__img{margin-top:30px;border-radius:20px;overflow:hidden;aspect-ratio:16/9;box-shadow:var(--shadow)}
.lp-hero__img img{width:100%;height:100%;object-fit:cover}
@media (max-width:960px){.lp-hero{padding:34px 0 52px}.lp-hero .wrap{grid-template-columns:1fr;gap:34px}.lp-hero__img{display:none}}
@media (max-width:420px){.lp-callrow{grid-template-columns:1fr}}

.lp-form{background:var(--white);border:1px solid var(--line);border-radius:22px;padding:30px 30px 28px;box-shadow:0 24px 50px -30px rgba(27,35,48,.45);scroll-margin-top:100px}
.lp-form h2{font-size:1.6rem;margin-bottom:6px}
.lp-form .sub{color:var(--muted);margin-bottom:20px;font-size:.98rem}
.lp-form .form-grid{gap:14px}
.lp-form .btn{width:100%;font-size:1.08rem;padding:1.05em}
.lp-form .fine-print{font-size:.8rem;color:var(--muted);line-height:1.5;margin:12px 0 0}
.lp-form .or-call{text-align:center;margin:14px 0 0;font-weight:700}
.lp-form .or-call a{text-decoration:none;border-bottom:2px solid var(--yellow-deep)}

.lp-section{padding:var(--sec) 0}
.lp-section--soft{background:var(--soft)}
.lp-cols{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.lp-cols h2{font-size:clamp(1.7rem,3vw,2.3rem)}
.lp-cols p{color:var(--muted)}
.lp-img{border-radius:20px;overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow)}
.lp-img img{width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.lp-cols{grid-template-columns:1fr;gap:34px}}

.lp-prices{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.lp-price{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:22px 22px 20px}
.lp-price span{display:block;font-weight:700;margin-bottom:6px}
.lp-price strong{font-size:2rem;font-weight:800;font-stretch:105%}
.lp-price small{display:block;color:var(--muted);font-size:.88rem;margin-top:4px}
@media (max-width:900px){.lp-prices{grid-template-columns:1fr 1fr}}

.lp-locs{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.lp-loc{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:26px 28px}
.lp-loc h3{font-size:1.35rem;margin-bottom:6px}
.lp-loc address{font-style:normal;color:var(--muted);margin-bottom:12px}
.lp-loc .btn{margin:6px 0 16px}
.lp-loc dl{display:grid;grid-template-columns:auto 1fr;gap:4px 18px;margin:0;font-size:.95rem}
.lp-loc dt{font-weight:700}
.lp-loc dd{margin:0;color:var(--muted)}
@media (max-width:760px){.lp-locs{grid-template-columns:1fr}}

.lp-final{padding:0 0 var(--sec)}
.lp-final .cta__card{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.lp-final .cta__card > div:first-child h2{max-width:none}
.lp-final .lp-form{box-shadow:none}
@media (max-width:900px){.lp-final .cta__card{grid-template-columns:1fr}}

.lp-footer{background:var(--ink);color:#B9C0CB;padding:36px 0 110px;font-size:.88rem}
.lp-footer .wrap{display:flex;justify-content:space-between;gap:20px 40px;flex-wrap:wrap}
.lp-footer a{color:#DDE1E7}
.lp-footer p{margin:0 0 6px;max-width:none}
@media (min-width:761px){.lp-footer{padding-bottom:36px}}

/* Sticky mobile action bar */
.lp-bar{position:fixed;left:0;right:0;bottom:0;z-index:150;display:none;grid-template-columns:1fr 1fr;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(255,255,255,.97);border-top:1px solid var(--line);box-shadow:0 -8px 24px -16px rgba(27,35,48,.4)}
.lp-bar .btn{padding:.95em .6em;font-size:1rem}
@media (max-width:760px){.lp-bar{display:grid}}
@media (max-width:760px){
  .lp-trust ul{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;padding:10px 16px;font-size:.8rem;justify-items:start}
}

/* Blog posts */
.prose--post{max-width:820px}
.prose--post p,.prose--post li,.prose--post ul,.prose--post ol{max-width:none}
.prose--post p,.prose--post li{font-size:1.08rem;line-height:1.75}
.prose--post h2{font-size:1.6rem}
.post__hero{display:block;border-radius:20px;margin:0 0 36px;width:100%;height:auto}
.edt__media img{object-position:0% 50%}
