:root{--ink:#273945;--navy:#273945;--accent:#ed7117;--muted:#5c6b77;--line:#dbe2e6;--paper:#f5f6f7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:#fff;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}button,a,input{ -webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{touch-action:manipulation}button{border:0}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.08;letter-spacing:-.045em}p{color:var(--muted)}:focus-visible{outline:3px solid var(--accent-text);outline-offset:5px}.skip{position:fixed;top:-60px;background:white;padding:10px;z-index:99}.skip:focus{top:0}header{height:100px;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:0 5%;border-bottom:1px solid var(--line);background:#f2f3f4;backdrop-filter:blur(16px);position:sticky;top:0;z-index:10}.brand{display:flex;gap:11px;align-items:center;font-size:17px;font-weight:800;line-height:1.2;letter-spacing:.01em}.brand small{display:block;font-size:10px;letter-spacing:.12em;margin-top:7px;font-weight:500}.brandmark{display:grid;place-items:center;background:var(--ink);color:var(--accent);width:45px;height:45px;border-radius:12px;font-size:33px;font-style:italic}nav{display:flex;gap:28px;font-size:14px}nav a:hover,.text-link:hover{color:var(--accent-text)}.header-phone{font-size:16px;font-weight:700;white-space:nowrap}.menu{display:none;background:none}.hero{position:relative;display:grid;grid-template-columns:1fr 1fr;padding:55px 5% 78px;gap:38px;min-height:700px}.eyebrow{font-size:12px;letter-spacing:.14em;font-weight:700;color:var(--ink)}.hero .eyebrow{display:flex;align-items:center;gap:9px}.eyebrow>span{width:6px;height:6px;background:var(--accent);border-radius:50%}h1{font-size:clamp(45px,4.7vw,76px);font-weight:600;margin:34px 0 24px;letter-spacing:-.055em}h1 em{font-style:normal;color:var(--accent-text);font-size:.79em;white-space:nowrap}.intro{font-size:17px;max-width:450px;line-height:1.7}.actions{display:flex;align-items:center;gap:25px;margin-top:30px}.button{min-height:56px;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:16px 23px;border-radius:7px;font-size:15px;font-weight:600;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--accent);color:var(--ink)}.primary:hover{background:var(--action-hover)}.button span{font-size:23px;line-height:1}.text-button{background:transparent;padding:12px 0;font-size:14px}.text-button span{margin-left:10px}.hero-values{display:flex;gap:17px;font-size:12px;margin-top:46px;color:var(--muted)}.hero-values span+span{border-left:1px solid #cbd5da;padding-left:17px}.hero-photo{position:relative;border-radius:12px;overflow:hidden;min-height:530px;background:#d2d5d7}.hero-photo>img{width:100%;height:100%;position:absolute;object-position:52% 50%}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#27394500 45%,#273945da 100%)}.photo-label{position:absolute;left:30px;bottom:55px;z-index:1;color:white}.photo-label span{letter-spacing:.18em;font-size:11px}.photo-label strong{font-weight:500;font-size:39px;line-height:1.12;display:block;margin-top:14px;letter-spacing:-.03em}.photo-caption{position:absolute;bottom:20px;right:25px;font-size:11px;color:#e6eef3;z-index:1}.scroll-note{position:absolute;bottom:20px;left:5%;font-size:10px;letter-spacing:.17em;display:flex;gap:25px}.section,.program-section,.contact-section{padding:80px 5%;scroll-margin-top:15px}.section-top{display:flex;justify-content:space-between;margin-bottom:30px}.side-note{font-size:13px}h2{font-size:clamp(34px,3.6vw,54px);font-weight:500}h2 span{color:#74838d}.approach{background:var(--paper)}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:45px}.lesson-photo{position:relative;border-radius:9px;overflow:hidden;min-height:360px}.lesson-photo img{width:100%;height:100%;object-position:44% 50%}.lesson-photo>span{position:absolute;bottom:0;left:0;right:0;background:#102433e8;color:#fff;padding:16px 22px;font-size:12px}.principles article{display:flex;gap:23px;padding:22px 0;border-top:1px solid #d3dde2}.principles article>span{font-size:12px;color:var(--accent-text)}.principles h3{font-size:23px;letter-spacing:-.025em;margin-bottom:12px}.principles p{font-size:15px;line-height:1.65}.program-section{background:var(--navy);color:white}.program-section .eyebrow{color:var(--accent)}.program-section .side-note{color:#b0beca}.program-heading{display:flex;align-items:end;justify-content:space-between;gap:45px}.program-heading>p{max-width:370px;color:#b8c4ce;font-size:15px}.tabs{display:flex;gap:8px;margin:42px 0 18px}.tabs button{flex:1;text-align:left;background:#213240;color:white;padding:18px 22px;border-radius:7px;font-size:26px;border:1px solid transparent}.tabs span{font-size:13px;margin-left:10px}.tabs button[aria-selected=true]{background:var(--accent);color:var(--ink)}.tabs button:hover{border-color:var(--accent)}.course{display:grid;grid-template-columns:1.2fr 1fr;background:#fff;color:var(--ink);border-radius:10px;padding:44px;gap:60px;min-height:365px}.pill{font-size:11px;border:1px solid #cbd9df;padding:6px 10px;border-radius:4px;letter-spacing:.1em}.course h3{font-size:36px;margin:24px 0 16px;font-weight:500}.course-main>p{max-width:490px;font-size:15px}.course ul{list-style:none;padding:0;margin:23px 0 0;font-size:14px;line-height:2}.course li:before{content:'✓';color:var(--accent-text);margin-right:12px}.course-price{border-left:1px solid var(--line);padding-left:50px;display:flex;flex-direction:column;justify-content:center}.course-price>p:first-child{font-size:14px}.course-price>strong{font-size:45px;letter-spacing:-.04em;font-weight:500;margin:9px 0 14px}.course-price>strong span{font-size:32px}.price-note{font-size:13px;max-width:310px}.course-price .button{margin-top:28px}.muted{font-size:12px;color:#6f7d89}.course-price .muted{margin-top:14px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:46px}.steps article{border-top:2px solid #c3cbd0;padding-top:20px}.steps article>span{font-size:11px;letter-spacing:.09em;color:#5b727b}.steps h3{font-size:24px;line-height:1.15;margin:24px 0 15px;font-weight:500}.steps p{font-size:15px}.knowledge{background:#f1f3f4;display:grid;grid-template-columns:1fr 1.15fr;gap:55px}.knowledge h2{margin:25px 0 22px}.knowledge>div>p:not(.eyebrow){font-size:15px;max-width:380px}.text-link{display:inline-block;background:none;padding:0;border-bottom:1px solid #9caeb6;font-size:14px;margin-top:26px}.reads{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch}.reads>a{display:flex;flex-direction:column;justify-content:space-between;padding:28px;background:white;border-radius:8px;transition:transform .2s}.reads>a:hover{transform:translateY(-4px)}.reads span{font-size:10px;letter-spacing:.08em;color:#6c818b}.reads h3{font-size:29px;font-weight:500;margin:45px 0}.reads p{font-size:12px;display:flex;justify-content:space-between;gap:12px}.reads b{color:var(--accent-text);font-size:20px}.faq{display:grid;grid-template-columns:1fr 1.15fr;gap:55px}.faq h2{margin:26px 0}.faq>div>p{font-size:15px}.faq .text-link{margin-top:4px}details{border-top:1px solid var(--line);padding:22px 0}details:last-child{border-bottom:1px solid var(--line)}summary{font-size:17px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:24px;line-height:1}details[open] summary:after{content:'−'}details p{padding:17px 25px 0 0;font-size:15px}.contact-section{background:var(--navy);color:white}.contact-section .eyebrow{color:#a9c3cb}.contact-top{display:flex;justify-content:space-between;margin:30px 0 55px;gap:35px}.contact-top h2{font-size:clamp(54px,6vw,90px)}.contact-top em{font-style:normal;color:var(--accent)}.contact-top>div{padding-top:12px;min-width:320px}.contact-top p{color:#c0cbd3;font-size:16px}.contact-top .button{margin-top:25px;min-width:250px}.contact-phone{display:block;margin-top:21px;font-size:23px}.addresses{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding-top:35px;border-top:1px solid #3b4b57}.addresses span{font-size:10px;letter-spacing:.15em;color:#a7b7c4}.addresses h3{font-size:21px;font-weight:500;letter-spacing:-.02em;margin:20px 0 10px}.addresses p{font-size:14px;color:#aabac6}.addresses a{font-size:13px;color:var(--accent);display:block;margin-top:17px}footer{padding:35px 5%;display:flex;align-items:center;justify-content:space-between;gap:30px}footer>div{display:flex;flex-direction:column;gap:8px;font-size:12px}footer>p{font-size:11px}.mobile-cta{display:none}dialog{border:0;border-radius:15px;padding:45px;width:min(500px,calc(100% - 32px));color:var(--ink);box-shadow:0 20px 80px #0004}dialog::backdrop{background:#0b1b2dcc;backdrop-filter:blur(6px)}dialog h2{margin:25px 0}dialog>p:not(.eyebrow){margin:15px 0}dialog .button{display:flex;margin-top:12px}.secondary{background:#f1f3f4}.close-dialog{position:absolute;right:18px;top:13px;background:transparent;font-size:32px;width:42px;height:42px}
@media(min-width:1500px){header,.hero,.section,.program-section,.contact-section,footer{padding-left:max(5%,calc((100vw - 1380px)/2));padding-right:max(5%,calc((100vw - 1380px)/2))}}@media(max-width:1100px){header{gap:14px;height:82px}nav{gap:15px;font-size:12px}.header-phone{display:none}.hero{gap:25px;min-height:600px}.hero-photo{min-height:480px}.actions{gap:16px;flex-wrap:wrap}.approach-grid{gap:35px}.tabs button{padding:16px}.tabs span{display:block;margin:6px 0 0}.course{gap:30px;padding:30px}.course-price{padding-left:30px}.course-price>strong{font-size:38px}.knowledge,.faq{gap:30px}.reads>a{padding:22px}.reads h3{font-size:25px}.hero-values{gap:10px;font-size:10px}.hero-values span+span{padding-left:10px}.steps{gap:20px}.steps h3{font-size:21px}footer{flex-wrap:wrap}}
@media(max-width:760px){html{scroll-padding-top:78px}header{height:74px;padding:0 6%}.brand{font-size:14px}.brandmark{width:38px;height:38px;font-size:28px}.brand small{font-size:8px}.menu{display:block;font-size:25px;padding:8px}nav{display:none;position:absolute;top:74px;left:0;right:0;background:white;border-bottom:1px solid var(--line);padding:20px 6%;font-size:16px}nav.open{display:flex;flex-direction:column;gap:0}nav a{padding:12px 0}.hero{display:flex;flex-direction:column;padding:33px 6% 30px;gap:28px;min-height:unset}h1{font-size:clamp(40px,9.4vw,66px);margin:27px 0 20px}h1 em{white-space:normal}.intro{font-size:16px}.hero .eyebrow{font-size:10px}.actions{gap:20px;margin-top:25px}.button{font-size:14px;padding:15px 20px}.hero-values{margin-top:27px;font-size:10px;justify-content:space-between;gap:6px}.hero-photo{height:350px;min-height:unset}.hero-photo>img{object-position:center}.photo-label{left:23px;bottom:34px}.photo-label strong{font-size:30px}.photo-caption{font-size:9px;bottom:15px}.scroll-note{display:none}.section,.program-section,.contact-section{padding:50px 6%}.side-note{display:none}.eyebrow{font-size:10px}.section-top{margin-bottom:24px}h2{font-size:34px}.approach-grid{grid-template-columns:1fr;gap:20px;margin-top:30px}.lesson-photo{min-height:250px;height:270px}.principles h3{font-size:22px}.principles p{font-size:15px}.program-heading{display:block}.program-heading>p{margin-top:24px}.tabs{gap:6px;margin-top:30px;flex-wrap:wrap}.tabs button{flex:1 1 44%;font-size:22px;padding:14px 16px}.tabs span{font-size:12px}.course{grid-template-columns:1fr;padding:25px;gap:25px}.course h3{font-size:30px}.course-price{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.course-price>strong{font-size:41px}.course ul{font-size:13px}.steps{grid-template-columns:1fr 1fr;gap:32px 22px;margin-top:32px}.steps h3{font-size:23px;margin:19px 0 13px}.steps p{font-size:14px}.steps article>span{font-size:9px}.knowledge,.faq{grid-template-columns:1fr;gap:32px}.reads{gap:12px}.reads>a{padding:22px 17px}.reads h3{font-size:23px;margin:35px 0}.reads span{font-size:9px}.reads p{font-size:11px}.faq h2{margin-top:22px}.contact-top{flex-direction:column;gap:25px;margin-bottom:40px}.contact-top h2{font-size:56px}.contact-top>div{min-width:0}.contact-top .button{width:100%}.addresses{grid-template-columns:1fr;gap:30px}.addresses>div+div{border-top:1px solid #30414e;padding-top:24px}.addresses h3{margin-top:12px}footer{padding:30px 6% 105px;display:block}footer>div{margin:25px 0;font-size:12px}.mobile-cta{display:flex;position:fixed;bottom:0;left:0;right:0;padding:10px 6% max(10px,env(safe-area-inset-bottom));z-index:9;background:#fff;box-shadow:0 -5px 25px #1024330d;gap:14px;align-items:center;justify-content:space-between;font-size:13px}.mobile-cta button{background:var(--accent);padding:13px 24px;border-radius:6px;font-size:14px}dialog{padding:35px 26px}.contact-phone{font-size:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Brand identity, revision 2 */
.brand-logo{width:235px;height:42px;object-fit:contain;flex-shrink:0}.brand{flex-shrink:0}header nav{gap:20px}header .header-phone{font-size:14px}.primary{background:var(--action);color:white}.primary:hover{background:var(--action-hover)}h1 em{color:var(--ink)}.hero .eyebrow>span{background:var(--accent)}.program-section .eyebrow{color:#c6cfd5}.tabs button[aria-selected=true]{background:white;color:var(--ink);box-shadow:inset 0 -3px var(--accent)}.tabs button:hover{border-color:#aab6bf}.contact-top em{color:white}.addresses a{color:white;text-decoration:underline;text-decoration-color:#83939f;text-underline-offset:5px}.mobile-cta button{background:var(--action);color:white}.program-heading h2{max-width:630px}.program-heading>p{flex:0 1 370px}
@media(min-width:761px) and (max-width:1200px){header .header-phone{display:none}header nav{gap:18px;font-size:14px}}
@media(max-width:760px){.brand-logo{width:205px;height:auto;max-width:65vw}header nav{gap:0;font-size:16px}.program-heading>p{max-width:none}}

/* Readability and softer brand tones */
h1 em{color:var(--accent-text)}.hero .eyebrow>span{background:var(--accent)}.principles p,.course-main>p,.steps p,.knowledge>div>p:not(.eyebrow),details p{font-size:16px}.hero-values,.eyebrow,.hero .eyebrow,.steps article>span,.reads span,.pill,.addresses span{font-size:12px}.photo-caption,.scroll-note,.reads p,footer>p{font-size:12px}.side-note,.tabs span,.course-price>p:first-child,.price-note,.course-price .muted,.addresses a,.text-button,.text-link{font-size:14px}.principles h3{line-height:1.18}.course h3{font-size:34px;line-height:1.16}.steps h3{line-height:1.22}.knowledge h2{font-size:clamp(32px,3.2vw,48px)}.contact-top h2{font-size:clamp(48px,5.5vw,78px)}.course-price{min-width:0}.course-price .button{gap:12px}.program-heading h2{font-size:clamp(34px,3.3vw,50px)}
@media(max-width:760px){.hero-values{flex-wrap:wrap;justify-content:flex-start;font-size:12px;row-gap:8px}.hero-values span+span{padding-left:8px}.course h3{font-size:29px}.contact-top h2{font-size:clamp(40px,10vw,56px)}.steps{grid-template-columns:1fr}.steps h3{margin:15px 0 12px}.reads{grid-template-columns:1fr}.reads h3{margin:25px 0}.reads span,.steps article>span{font-size:12px}.lesson-photo>span{font-size:12px}.course-price .button{gap:8px}.photo-caption{font-size:12px}}

/* Photographs tell the story beside the relevant content. Keep originals uncropped. */
figure{margin:0}.hero{align-items:center;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr)}.hero-copy{min-width:0}.hero-photo{min-height:0;height:auto;align-self:center;background:#f1f3f4;border:1px solid #e1e5e8;box-shadow:0 15px 45px #1425340a}.hero-photo>img{position:static;width:100%;height:auto;object-fit:contain}.hero-photo:after{display:none}.hero-photo figcaption{padding:22px 25px 24px;background:white}.hero-photo figcaption strong{display:block;font-weight:500;font-size:clamp(20px,2vw,28px);line-height:1.24;letter-spacing:-.025em;margin-top:10px}.hero-photo .eyebrow{color:var(--accent-text);font-size:12px}.lesson-photo{min-height:0;height:auto;align-self:start;background:white}.lesson-photo img{width:100%;height:auto;object-fit:contain}.lesson-photo figcaption{padding:20px 22px;color:var(--ink);font-size:15px;line-height:1.6;border:1px solid #e2e7ea;border-top:0}.course{column-gap:44px;row-gap:35px}.course-photos{grid-column:1/-1;border-top:1px solid var(--line);padding-top:32px}.course-photos[hidden]{display:none}.course-story{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center;gap:32px}.course-story>img{display:block;width:100%;height:auto;object-fit:contain;border-radius:7px}.course-story h4{font-size:26px;font-weight:500;letter-spacing:-.03em;line-height:1.2;margin:14px 0}.course-story p{font-size:16px;line-height:1.65}.course-story .eyebrow{color:var(--accent-text);font-size:12px;line-height:1.5}.two-photos{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}.two-photos .course-story{display:flex;flex-direction:column;gap:0;align-items:stretch}.two-photos .course-story>img{height:auto;aspect-ratio:4/3;object-fit:contain;background:#f1f3f4}.two-photos figcaption{padding-top:20px}.two-photos h4{font-size:23px}.course-main,.course-story figcaption{min-width:0}
@media(min-width:761px) and (max-width:1000px){.hero{grid-template-columns:1fr}.hero-copy{max-width:680px}.hero-photo{width:100%;max-width:720px;justify-self:center}.hero h1{font-size:60px}.hero .intro{max-width:580px}.hero-values{margin-top:28px}}
@media(max-width:760px){.hero-photo{width:100%;height:auto;min-height:0}.hero-photo figcaption{padding:18px 20px}.hero-photo figcaption strong{font-size:22px}.lesson-photo{height:auto;min-height:0}.lesson-photo figcaption{font-size:15px;padding:18px}.course{row-gap:25px}.course-photos{padding-top:25px}.course-story{grid-template-columns:1fr;gap:18px}.course-story h4{font-size:24px;margin:12px 0}.course-story p{font-size:16px}.two-photos{grid-template-columns:1fr;gap:30px}.two-photos .course-story>img{aspect-ratio:auto;height:auto}.course-story .eyebrow{font-size:12px}}

/* Support after obtaining a driving licence. */
.steps .step-driver{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:20px 48px;margin-top:8px;padding:32px;border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:9px;background:var(--paper)}
.steps .step-driver>span{grid-column:1/-1;font-size:14px;color:var(--ink)}
.driver-intro,.driver-offer{min-width:0}
.steps .driver-intro h3{font-size:clamp(25px,2.3vw,32px);margin:0 0 14px}
.steps .driver-intro p{max-width:650px}
.driver-offer{align-self:center;border-left:1px solid #cbd5da;padding-left:32px}
.steps .driver-promo-label{font-size:16px;color:var(--ink)}
.driver-promo-label strong{color:var(--accent-text);font-weight:700}
.driver-offer h4{font-size:24px;font-weight:500;line-height:1.25;letter-spacing:-.025em;margin:10px 0 8px}
@media(max-width:760px){.steps .step-driver{grid-template-columns:minmax(0,1fr);gap:20px;padding:24px;margin-top:0}.driver-offer{border-left:0;border-top:1px solid #cbd5da;padding:20px 0 0}.driver-offer h4{font-size:24px}}

.button.button-consultation{justify-content:center;text-align:center}
.button .phone-icon{display:block;flex-shrink:0;width:22px;height:22px}

.contact-consents{border:0;border-top:1px solid var(--line);padding:18px 0 0;margin:24px 0;min-width:0}
.contact-consents legend{padding:0 10px 0 0;font-size:16px;font-weight:600}
.consent-row{display:flex;align-items:flex-start;gap:12px;padding:8px 0;min-height:44px;cursor:pointer;font-size:14px;line-height:1.55;color:var(--ink)}
.consent-row input{appearance:auto;accent-color:var(--action);width:22px;height:22px;flex:0 0 22px;margin:0;cursor:pointer}
.consent-row>span{min-width:0}
.consent-row a{color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}
.consent-row a:hover{color:var(--ink)}
#contact-dialog{max-height:calc(100dvh - 32px);overflow-y:auto}

.hero .actions .button{min-height:56px;justify-content:center;text-align:center;padding:16px 20px;gap:14px;border:1px solid transparent}
.hero .actions .programs-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:#111;font-weight:400}
.hero .actions .programs-link span{margin-left:0;font-size:20px;line-height:1}
.hero .actions .programs-link:hover{color:var(--accent-text)}

.reviews-section{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;align-items:start;border-bottom:1px solid var(--line)}
.reviews-intro{min-width:0}
.reviews-intro h2{margin:26px 0 24px}
.reviews-intro>p:not(.eyebrow){font-size:16px;max-width:350px}
.reviews-widget{width:100%;max-width:760px;min-width:0;justify-self:end}
.reviews-widget iframe{display:block;width:100%;height:640px;border:1px solid var(--line);border-radius:9px;background:#fff}
.reviews-attribution{display:block;margin-top:12px;text-align:center;font-size:12px;line-height:1.5;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.reviews-section{grid-template-columns:minmax(0,1fr);gap:28px}.reviews-intro>p:not(.eyebrow){max-width:none}.reviews-widget iframe{height:600px}}
@media(max-width:340px){.reviews-section{padding-left:10px;padding-right:10px}}

.cookie-notice{position:fixed;left:24px;bottom:24px;z-index:11;width:min(700px,calc(100% - 48px));max-height:calc(100dvh - 48px);overflow-y:auto;padding:20px 24px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 8px 36px #27394526}
.cookie-notice[hidden]{display:none}
.cookie-notice p{font-size:14px;line-height:1.55;color:var(--ink)}
.cookie-notice a{font-size:14px;color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}
.cookie-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:16px}
.cookie-accept,.cookie-necessary{min-height:44px;padding:10px 18px;border:1px solid transparent;border-radius:6px;font-size:14px;font-weight:600}
.cookie-accept{background:var(--action);color:#fff}.cookie-accept:hover{background:var(--action-hover)}
.cookie-necessary{border-color:#8b9aa3;background:#fff;color:var(--ink)}.cookie-necessary:hover{background:#f5f6f7}
.cookie-settings{align-self:flex-start;text-align:left;background:none;padding:0;min-height:32px;font-size:inherit;text-decoration:underline;text-underline-offset:3px}
.reviews-widget iframe[hidden],.reviews-placeholder[hidden]{display:none}
.reviews-placeholder{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:20px;min-height:320px;padding:32px;border:1px solid var(--line);border-radius:9px;background:var(--paper)}
.reviews-placeholder h3{font-size:26px;font-weight:500;line-height:1.2}.reviews-placeholder p{font-size:16px}.reviews-placeholder .button{justify-content:center;text-align:center;max-width:100%;gap:0}
@media(max-width:760px){.cookie-notice{left:12px;bottom:calc(var(--bottom-bar-height,76px) + 12px);width:calc(100% - 24px);max-height:calc(100dvh - var(--bottom-bar-height,76px) - 36px);padding:16px}.cookie-actions button{flex:1 1 160px}.reviews-placeholder{padding:24px;min-height:300px}}
@media print{.cookie-notice{display:none}}

/* Visual refinement: confident type, an open first screen, and a five-step route. */
@font-face{
  font-family:Manrope;font-style:normal;font-weight:400 800;font-display:swap;
  src:url('/assets/fonts/manrope-cyrillic.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face{
  font-family:Manrope;font-style:normal;font-weight:400 800;font-display:swap;
  src:url('/assets/fonts/manrope-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:Manrope;font-style:normal;font-weight:400 800;font-display:swap;
  src:url('/assets/fonts/manrope-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{
  --ink:#243844;--navy:#243844;--muted:#596973;--line:#dbe2e6;
  --accent:#ed7117;--accent-text:#ed7117;
  --action:#ed7117;--action-hover:#f58331;--action-shadow:#ed711726;--action-ink:#172a35;
}
body{font-family:Manrope,Arial,Helvetica,sans-serif;letter-spacing:-.012em}
h1,h2,h3{letter-spacing:-.04em}
h2{font-weight:550;line-height:1.15;text-wrap:balance}
h3{letter-spacing:-.025em;line-height:1.22}
.eyebrow{font-weight:650;letter-spacing:.12em}
header nav{font-weight:500;gap:20px}
header .header-phone{font-weight:650;letter-spacing:-.025em}
.button{font-weight:600;border-radius:8px;transition:background-color .18s,box-shadow .18s,transform .18s}
.primary,.mobile-cta button,.cookie-accept{background:var(--action);color:var(--action-ink)}
.primary:hover,.mobile-cta button:hover,.cookie-accept:hover{background:var(--action-hover)}
.hero .actions .programs-link:hover,nav a:hover,.text-link:hover{color:var(--accent-text)}
.button:active{transform:translateY(0)}

.hero{
  grid-template-columns:minmax(0,1fr) minmax(0,1.13fr);
  gap:clamp(32px,4vw,64px);min-height:0;padding-top:72px;padding-bottom:92px;
  align-items:center;
}
.hero .eyebrow{font-size:.75rem;letter-spacing:.13em;line-height:1.6}
.hero .eyebrow>span{width:22px;height:2px;border-radius:0;background:var(--accent)}
.hero h1{
  font-size:clamp(2.5rem,4.35vw,4.7rem);font-weight:650;line-height:1.08;
  letter-spacing:-.052em;margin:28px 0 24px;
}
.hero h1>span{display:block}
.hero h1 em{
  display:block;margin-top:14px;font-size:max(1.5rem,.65em);line-height:1.25;
  font-weight:500;letter-spacing:-.04em;white-space:normal;color:var(--accent-text);
}
.hero .intro{font-size:1.0625rem;line-height:1.8;max-width:470px}
.hero .actions{gap:24px;margin-top:30px;flex-wrap:wrap}
.hero .actions .button{padding:16px 24px;min-height:56px}
.hero .actions .programs-link{font-size:.875rem;font-weight:400;color:#111}
.hero-values{margin-top:34px;gap:12px;font-size:.75rem;flex-wrap:wrap;row-gap:8px}
.hero-values span+span{padding-left:12px}
.hero-photo{
  width:100%;min-width:0;position:relative;background:transparent;border:0;
  border-radius:0;overflow:visible;box-shadow:none;
}
.hero-image{border-radius:22px 22px 5px 22px;overflow:hidden;background:var(--paper);box-shadow:0 20px 50px #24384412}
.hero-image img{display:block;width:100%;height:auto;object-fit:contain}
.hero-photo figcaption{
  margin:23px 0 0 8px;padding:2px 0 2px 19px;border-left:3px solid var(--accent);
  background:transparent;max-width:490px;
}
.hero-photo figcaption .eyebrow{font-size:.6875rem;color:var(--muted);letter-spacing:.12em}
.hero-photo figcaption strong{
  font-size:clamp(1.25rem,1.7vw,1.625rem);font-weight:550;line-height:1.4;
  letter-spacing:-.035em;margin-top:7px;
}
.scroll-note{font-size:.6875rem;letter-spacing:.12em;bottom:27px;align-items:center;gap:16px;color:var(--muted)}
.scroll-note span{font-size:1.125rem;color:var(--accent-text)}

.journey{padding-top:96px;padding-bottom:96px}
.journey>h2{max-width:1060px;font-size:clamp(2rem,3.4vw,3.25rem)}
.journey>h2 span{color:#637580}
.steps{--step-gap:30px;list-style:none;padding:0;margin:56px 0 0;gap:48px var(--step-gap);grid-template-columns:repeat(4,minmax(0,1fr))}
.steps .step{min-width:0;position:relative;border:0;padding:28px 0 0}
.steps .step:not(.step-driver):before{
  content:'';position:absolute;top:0;left:0;right:calc(-1 * var(--step-gap));height:1px;background:#c9d4da;
}
.steps .step:nth-child(4):before{right:0}
.steps .step:not(.step-driver):after{
  content:'';position:absolute;left:0;top:-4px;width:9px;height:9px;
  border-radius:50%;background:var(--accent);box-shadow:0 0 0 6px #fff;
}
.step-heading{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.step-number{font-size:3.5rem;line-height:1;font-weight:450;letter-spacing:-.06em;font-variant-numeric:tabular-nums;color:var(--ink)}
.step-label{font-size:.75rem;font-weight:650;line-height:1.5;letter-spacing:.1em;color:var(--muted)}
.steps h3{font-size:1.375rem;line-height:1.25;font-weight:600;letter-spacing:-.035em;margin:20px 0 14px;text-wrap:balance}
.steps p{font-size:1rem;line-height:1.75}
.steps .step-driver{
  display:grid;grid-column:1/-1;grid-template-columns:76px minmax(0,1.2fr) minmax(0,.95fr);
  gap:32px;align-items:start;margin-top:0;padding:38px;border:1px solid var(--navy);
  border-radius:16px;background:var(--navy);color:#fff;
}
.step-driver .step-heading{gap:17px}
.step-driver .step-number{color:#fff;font-size:3.25rem}
.step-driver .step-label{color:var(--accent-text);letter-spacing:.05em}
.steps .driver-intro h3{color:#fff;font-size:clamp(1.5rem,2vw,1.875rem);line-height:1.25;font-weight:550;margin:0 0 14px;text-wrap:initial}
.steps .driver-intro p,.steps .driver-offer>p{color:#d5dfe4}
.driver-offer{align-self:stretch;padding-left:30px;border-left:1px solid #5c6f7a;display:flex;flex-direction:column;justify-content:center}
.steps .driver-promo-label{font-size:.9375rem}
.driver-promo-label strong{color:var(--accent-text);font-weight:650;white-space:nowrap}
.driver-offer h4{font-size:clamp(1.375rem,1.8vw,1.625rem);font-weight:550;line-height:1.35;letter-spacing:-.03em;margin:12px 0 9px;color:#fff}
.step-driver .driver-offer>p:last-child{font-size:.875rem}

@media(hover:hover) and (pointer:fine){
  .primary:hover{box-shadow:0 6px 18px var(--action-shadow)}
}
@media(min-width:761px) and (max-width:1280px){header .header-phone{display:none}}
@media(min-width:761px) and (max-width:1050px){
  .hero{grid-template-columns:minmax(0,1fr);gap:40px;padding-top:52px;padding-bottom:76px}
  .hero-copy{max-width:720px}
  .hero h1{font-size:clamp(3rem,6vw,4rem)}
  .hero .intro{max-width:620px}
  .hero-photo{max-width:820px;justify-self:end}
  .hero-photo figcaption{max-width:none}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:44px}
  .steps .step:nth-child(2):before{right:0}
  .steps .step-driver{grid-template-columns:70px minmax(0,1fr);padding:32px;gap:24px 28px}
  .driver-offer{grid-column:2;border-left:0;border-top:1px solid #5c6f7a;padding:24px 0 0}
}
@media(max-width:760px){
  .hero{gap:32px;padding-top:34px;padding-bottom:44px}
  .hero .eyebrow{font-size:.75rem;letter-spacing:.08em;gap:10px}
  .hero .eyebrow>span{width:18px;flex:0 0 18px}
  .hero h1{font-size:clamp(2.25rem,8.7vw,3.75rem);line-height:1.1;margin:25px 0 24px;letter-spacing:-.045em}
  .hero h1 em{font-size:max(1.5rem,.65em);line-height:1.3;margin-top:13px;letter-spacing:-.03em}
  .hero .intro{font-size:1rem;line-height:1.75;max-width:580px}
  .hero .actions{gap:14px 20px;margin-top:26px}
  .hero .actions .button{min-height:52px;padding:14px 20px}
  .hero-values{margin-top:26px;gap:8px;font-size:.75rem;justify-content:flex-start}
  .hero-values span+span{padding-left:8px}
  .hero-image{border-radius:16px 16px 4px 16px;box-shadow:0 12px 32px #24384412}
  .hero-photo figcaption{margin:18px 0 0 3px;padding:0 0 0 15px}
  .hero-photo figcaption .eyebrow{font-size:.75rem;letter-spacing:.065em}
  .hero-photo figcaption strong{font-size:1.25rem;margin-top:6px;line-height:1.4}
  .journey{padding-top:56px;padding-bottom:56px}
  .journey>h2{font-size:clamp(1.875rem,6.5vw,2.25rem);line-height:1.2;text-wrap:initial}
  .steps{grid-template-columns:minmax(0,1fr);gap:32px;margin-top:36px}
  .steps .step:not(.step-driver){padding:0 0 0 64px}
  .steps .step:not(.step-driver):before{
    top:52px;left:19px;right:auto;bottom:-22px;width:1px;height:auto;background:#d4dee3;
  }
  .steps .step:not(.step-driver):after{display:none}
  .step-heading{display:block}
  .steps .step:not(.step-driver) .step-number{position:absolute;left:0;top:0;font-size:2.125rem;line-height:1.2}
  .step-label{font-size:.75rem;letter-spacing:.1em}
  .steps h3{font-size:1.375rem;line-height:1.3;margin:10px 0 12px;text-wrap:initial}
  .steps p{font-size:1rem;line-height:1.7}
  .steps .step-driver{grid-template-columns:minmax(0,1fr);gap:24px;margin-top:4px;padding:26px 24px;border-radius:13px}
  .step-driver .step-heading{display:flex;flex-direction:row;align-items:center;gap:20px}
  .step-driver .step-number{font-size:2.5rem}
  .step-driver .step-label{font-size:.75rem;letter-spacing:.1em}
  .steps .driver-intro h3{font-size:1.625rem;margin:0 0 12px}
  .driver-offer{grid-column:auto;border-left:0;border-top:1px solid #5c6f7a;padding:22px 0 0}
  .driver-offer h4{font-size:1.5rem;margin:10px 0 8px}
}
@media(max-width:380px){
  .hero .actions{gap:10px 16px}
  .hero .actions .button{padding-left:16px;padding-right:16px}
  .steps .step:not(.step-driver){padding-left:54px}
  .steps .step-driver{padding:24px 20px}
}

/* Direct messenger links use the school's existing contact addresses. */
.messenger-links{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.messenger-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:11px 16px;border:1px solid var(--line);border-radius:8px;font-size:.875rem;font-weight:550;line-height:1.4;transition:background-color .18s,border-color .18s}
.messenger-icon{display:block;width:26px;height:26px;flex:0 0 26px}
.messenger-link:hover{background:var(--paper);border-color:#aebdc6}
.contact-messengers{margin-top:18px;gap:10px}
.contact-messengers .messenger-link{color:#fff;border-color:#758b98;background:transparent}
.contact-messengers .messenger-link:hover{background:#344d5c;border-color:#b7c7d0}
.dialog-messengers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:10px;margin:20px 0}
.dialog-messengers .messenger-link{padding:12px 10px;gap:8px;background:var(--paper)}
.dialog-messengers .messenger-link:hover{background:#e8edf0}
@media(max-width:760px){
  header .menu{width:44px;height:44px;padding:0;flex:0 0 44px}
  .contact-messengers .messenger-link{flex:1 1 145px}
}
@media(max-width:380px){
  .dialog-messengers{grid-template-columns:minmax(0,1fr)}
}

/* Desktop navigation stays in the header; phone navigation opens at the side. */
.mobile-navigation{position:fixed;inset:0 0 0 auto;margin:0;width:min(390px,100%);max-width:100%;height:100vh;height:100dvh;max-height:100%;padding:22px 24px max(24px,env(safe-area-inset-bottom));border:0;border-radius:0;background:#fff;overflow-y:auto;overscroll-behavior:contain;box-shadow:-16px 0 70px #10243326}
.mobile-navigation::backdrop{background:#10243380;backdrop-filter:blur(3px)}
.mobile-navigation-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}
.mobile-navigation-heading h2{font-size:1.5rem;font-weight:600;line-height:1.3;letter-spacing:-.03em;margin:0}
.mobile-navigation-close{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;padding:0;background:var(--paper);color:var(--ink);border-radius:8px;font-size:30px;line-height:1}
.mobile-navigation>p.mobile-navigation-label{margin:0 0 12px;font-size:.875rem;color:var(--muted)}
.menu-messengers{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.menu-messengers .messenger-link{justify-content:flex-start;min-height:54px;padding:12px 16px;color:var(--ink);background:var(--paper);font-size:1rem}
.menu-messengers .messenger-link:hover{background:#e8edf0}
.mobile-navigation-links{display:flex;flex-direction:column;margin-top:26px;border-top:1px solid var(--line)}
.mobile-navigation-links>a{display:flex;align-items:center;min-height:50px;padding:12px 0;border-bottom:1px solid var(--line);font-size:1rem;font-weight:500;line-height:1.5}
.mobile-navigation-links>a:hover{color:var(--accent-text)}
.mobile-navigation-phone{display:inline-flex;align-items:center;min-height:44px;margin-top:20px;font-size:1rem;font-weight:600}
html.menu-is-open,html.menu-is-open body{overflow:hidden}
@media(max-width:900px){
  header>nav,header>.header-phone{display:none}
  header>.menu{display:block;width:44px;height:44px;padding:0;font-size:25px;flex:0 0 44px}
}

/* Navigation arrows are vector icons, including on devices using emoji fonts. */
.ui-icon{display:inline-block;width:1.15em;height:1.15em;vertical-align:-.17em;flex:0 0 auto;overflow:visible}
.link-icon-tail{white-space:nowrap}
.reads p{align-items:center}
.reads b{display:inline-flex;align-items:center;flex-shrink:0}
.reads b .ui-icon{display:block}
.mobile-cta button[data-contact]{text-align:center}

.knowledge .all-articles{display:inline-flex;align-items:center;justify-content:center;gap:16px;margin-top:28px;min-height:48px;max-width:100%}
