@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@500;600;700;800&display=swap');
:root{--navy:#081b3a;--navy2:#102d58;--blue:#1769e0;--cyan:#4ed5e8;--ink:#14233b;--muted:#607087;--paper:#f5f8fc;--white:#fff;--line:#dce5f0;--radius:22px;--shadow:0 18px 50px rgba(8,27,58,.11)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);line-height:1.65;background:#fff}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}.wrap{width:min(1140px,calc(100% - 40px));margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:#fff;padding:12px;z-index:99}.topbar{background:var(--navy);color:#dbe8ff;font-size:.88rem;padding:9px 0}.topbar .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.topbar a{color:#fff}.header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:11px;color:var(--navy);font-family:Manrope,sans-serif;font-weight:800;font-size:1.38rem;letter-spacing:-.7px}.brand:hover{text-decoration:none}.brandword{font-family:Manrope,sans-serif;font-size:1.62rem;font-weight:800;letter-spacing:-1.5px;color:#171717}.brandmark{width:43px;height:43px;border-radius:0;background:#050505;display:grid;place-items:center;color:#22c9df;font-family:Manrope,sans-serif;font-weight:800;font-size:1.65rem;transform:rotate(12deg);box-shadow:none}.brand small{display:block;font-family:'DM Sans',sans-serif;font-size:.65rem;letter-spacing:1.5px;color:var(--muted);font-weight:700;text-transform:uppercase;margin-top:-3px}.brand small{display:block;font-family:'DM Sans',sans-serif;font-size:.65rem;letter-spacing:1.5px;color:var(--muted);font-weight:700;text-transform:uppercase;margin-top:-3px}.links{display:flex;align-items:center;gap:22px}.links a{font-size:.93rem;font-weight:700;color:#30415b}.links a.active{color:var(--blue)}.menu-btn{display:none;border:1px solid var(--line);background:#fff;border-radius:12px;padding:9px 12px;font-weight:700;color:var(--navy)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--blue);color:#fff;padding:14px 21px;border-radius:13px;font-weight:800;border:0;box-shadow:0 9px 22px #1769e033;transition:.2s}.btn:hover{background:#0d55bf;text-decoration:none;transform:translateY(-1px);color:#fff}.btn.light{background:#fff;color:var(--navy);box-shadow:none}.btn.outline{background:transparent;color:var(--navy);border:1px solid #b9c9dd;box-shadow:none}.btn.small{padding:10px 15px;font-size:.9rem}.hero{background:radial-gradient(circle at 82% 22%,#1e4b83 0,transparent 34%),linear-gradient(120deg,#071832,#102e59);color:#fff;overflow:hidden;position:relative}.hero:after{content:'';position:absolute;width:480px;height:480px;border:1px solid #ffffff1e;border-radius:50%;right:-150px;bottom:-280px;box-shadow:0 0 0 45px #ffffff08,0 0 0 90px #ffffff06}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:40px;padding:78px 0 86px;position:relative;z-index:1}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:#a9eefa;font-weight:800;font-size:.78rem;letter-spacing:1.7px;text-transform:uppercase}.eyebrow:before{content:'';width:25px;height:2px;background:var(--cyan)}h1,h2,h3{font-family:Manrope,'DM Sans',sans-serif;line-height:1.12;letter-spacing:-.8px}h1{font-size:clamp(2.6rem,5.4vw,4.7rem);margin:18px 0 20px}h2{font-size:clamp(2rem,3.5vw,3rem);color:var(--navy);margin:0 0 16px}h3{font-size:1.3rem;color:var(--navy);margin:0 0 10px}.hero p{font-size:1.13rem;color:#d3e0f4;max-width:570px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 20px}.trustline{display:flex;gap:20px;flex-wrap:wrap;color:#d3e0f4;font-size:.91rem}.trustline span:before{content:'✓';color:var(--cyan);font-weight:900;margin-right:7px}.hero-art{min-height:330px;display:grid;place-items:center;position:relative}.road-card{width:min(100%,480px);height:310px;border-radius:28px;background:linear-gradient(145deg,#193d6d,#0c2347);border:1px solid #ffffff25;box-shadow:0 25px 70px #0005;position:relative;overflow:hidden}.road-card:before{content:'';position:absolute;width:180%;height:140px;left:-40%;top:100px;background:#08172e;transform:rotate(-17deg);border-top:3px solid #5d7594;border-bottom:3px solid #5d7594}.road-dash{position:absolute;left:0;right:0;top:168px;height:4px;background:repeating-linear-gradient(90deg,#fff 0 34px,transparent 34px 64px);transform:rotate(-17deg);opacity:.8}.car{position:absolute;width:230px;height:95px;left:50%;top:112px;transform:translateX(-50%) rotate(-8deg);background:linear-gradient(145deg,#f8fbff,#9eb5d2);border-radius:65px 70px 25px 25px;box-shadow:0 18px 22px #0005}.car:before{content:'';position:absolute;left:48px;top:-38px;width:130px;height:66px;background:linear-gradient(140deg,#c7e8f8,#426b9c);border:5px solid #dfeeff;border-bottom:0;border-radius:65px 65px 8px 8px}.car:after{content:'';position:absolute;bottom:-12px;left:36px;width:44px;height:34px;border-radius:50%;background:#07152a;box-shadow:118px 0 #07152a}.car-light{position:absolute;top:39px;left:9px;width:19px;height:13px;background:#eafaff;border-radius:10px;box-shadow:194px 0 #eafaff}.float-tag{position:absolute;right:14px;bottom:18px;background:#fff;color:var(--navy);border-radius:14px;padding:12px 16px;font-weight:800;box-shadow:var(--shadow)}.float-tag span{display:block;color:var(--muted);font-size:.75rem;font-weight:600}.section{padding:76px 0}.section.soft{background:var(--paper)}.section.dark{background:var(--navy);color:#fff}.section.dark h2,.section.dark h3{color:#fff}.lead{font-size:1.12rem;color:var(--muted);max-width:720px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:0 8px 25px #0a24400a}.card p{color:var(--muted);margin-bottom:0}.iconbox{width:48px;height:48px;border-radius:15px;background:#eaf2ff;color:var(--blue);display:grid;place-items:center;font-size:1.35rem;margin-bottom:18px}.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.checklist{list-style:none;padding:0;margin:22px 0}.checklist li{padding:9px 0 9px 31px;position:relative;color:#40516a}.checklist li:before{content:'✓';position:absolute;left:0;top:8px;width:21px;height:21px;border-radius:50%;background:#e6f8fb;color:#087c91;display:grid;place-items:center;font-weight:900;font-size:.8rem}.feature-panel{background:linear-gradient(145deg,#eaf3ff,#f5fbff);border-radius:26px;padding:35px;min-height:300px;display:flex;flex-direction:column;justify-content:center}.feature-panel .big{font-family:Manrope;font-weight:800;font-size:3.6rem;color:var(--blue);line-height:1}.pill{display:inline-block;background:#eaf2ff;color:#1459b5;padding:6px 11px;border-radius:99px;font-size:.78rem;font-weight:800}.pagehero{background:linear-gradient(120deg,#071832,#143766);color:#fff;padding:65px 0}.pagehero h1{font-size:clamp(2.35rem,4vw,3.7rem);max-width:850px}.pagehero p{color:#d3e0f4;max-width:720px;font-size:1.08rem}.crumb{font-size:.88rem;color:#b9cde8;margin-bottom:18px}.crumb a{color:#dff4ff}.narrow{max-width:820px}.faq details{border-bottom:1px solid var(--line);padding:18px 0}.faq summary{cursor:pointer;font-weight:800;color:var(--navy);font-size:1.05rem}.faq details p{color:var(--muted);margin-bottom:0}.callout{border-radius:22px;background:#eaf3ff;padding:26px;margin:28px 0}.callout strong{color:var(--navy)}.cta{background:linear-gradient(110deg,#0c2b55,#1557a5);color:#fff;border-radius:26px;padding:42px;display:flex;align-items:center;justify-content:space-between;gap:25px}.cta h2{color:#fff;margin-bottom:8px}.cta p{color:#d4e4f9;margin:0}.footer{background:#06152d;color:#d4e0f1;padding:55px 0 25px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:35px}.footer h3{color:#fff;font-size:1rem}.footer a{color:#d4e0f1}.footer p,.footer li{color:#afc0d8}.footer ul{list-style:none;padding:0;margin:0}.footer li{margin:8px 0}.copyright{border-top:1px solid #ffffff20;margin-top:35px;padding-top:20px;font-size:.85rem;color:#9eb1cb;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}.mobile-book{display:none}.smallnote{font-size:.88rem;color:var(--muted)}.review-source{border-left:3px solid var(--cyan);padding:3px 0 3px 18px;margin:20px 0;color:#41516a}.area-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:25px}.area-box{border:1px solid var(--line);border-radius:18px;padding:22px;background:#fff}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.contact-card{border:1px solid var(--line);border-radius:20px;padding:25px}.contact-card a{font-weight:800}.footer .brand{color:#fff}.footer .brandword{color:#fff}.footer .brand small{color:#9eb1cb}
@media(max-width:900px){.links{gap:13px}.links a{font-size:.85rem}.nav>.btn{display:none}.hero-grid{grid-template-columns:1fr;padding:60px 0}.hero-art{min-height:290px}.cards{grid-template-columns:repeat(2,1fr)}.split{gap:28px}.mobile-book{display:block;position:fixed;bottom:12px;left:12px;right:12px;z-index:30;text-align:center;box-shadow:0 8px 28px #06152d55}.footer{padding-bottom:90px}}
@media(max-width:680px){.wrap{width:min(100% - 30px,1140px)}.topbar .wrap{justify-content:center;text-align:center}.topbar .hide-mobile{display:none}.nav{min-height:68px}.menu-btn{display:block}.links{display:none;position:absolute;left:0;right:0;top:68px;background:#fff;padding:16px 20px 22px;border-bottom:1px solid var(--line);box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.links.open{display:flex}.links a{padding:8px 0;font-size:1rem}.hero-grid{padding:48px 0 55px;gap:25px}h1{font-size:2.65rem}.hero p{font-size:1.02rem}.hero-art{min-height:235px}.road-card{height:230px}.road-card:before{top:72px}.road-dash{top:135px}.car{top:88px;transform:translateX(-50%) scale(.78) rotate(-8deg)}.float-tag{font-size:.8rem;right:8px;bottom:8px}.section{padding:55px 0}.cards,.split,.footer-grid,.contact-grid,.area-grid{grid-template-columns:1fr}.cards{gap:14px}.card{padding:22px}.feature-panel{min-height:220px;padding:26px}.pagehero{padding:48px 0}.cta{padding:28px;display:block}.cta .btn{margin-top:20px;width:100%}.copyright{display:block}.copyright span{display:block;margin-top:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Responsive refinements for phones, tablets and desktop */
:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}
button,a{ -webkit-tap-highlight-color:transparent }
.menu-btn{min-height:44px;cursor:pointer}
@media(max-width:980px){
  .nav>.btn{display:none}
  .menu-btn{display:block}
  .links{display:none;position:absolute;left:0;right:0;top:100%;z-index:25;background:#fff;padding:14px max(20px,calc((100% - 900px)/2)) 20px;border-bottom:1px solid var(--line);box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:2px;max-height:calc(100vh - 100px);overflow-y:auto}
  .links.open{display:flex}
  .links a{padding:11px 8px;font-size:1rem;border-radius:8px}
  .links a:hover,.links a.active{background:#eef5ff}
}
@media(min-width:681px) and (max-width:980px){
  .hero-grid{grid-template-columns:1fr 1fr;gap:24px;padding:58px 0}
  .hero-art{min-height:260px}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .split{gap:24px}
  .footer-grid{grid-template-columns:1.2fr 1fr;gap:26px}
}
@media(max-width:760px){
  .wrap{width:calc(100% - 32px)}
  .hero-grid,.split,.contact-grid,.footer-grid{grid-template-columns:1fr}
  .hero-grid{padding:48px 0 54px;gap:22px}
  .hero-art{min-height:230px}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .section{padding:54px 0}
  .pagehero{padding:46px 0}
  .cta{align-items:flex-start}
}
@media(max-width:680px){
  .wrap{width:calc(100% - 30px)}
  .topbar{font-size:.82rem}
  .nav{min-height:68px;gap:10px}
  .brandword{font-size:1.42rem}
  .brandmark{width:39px;height:39px;font-size:1.5rem}
  .links{top:100%;padding:12px 15px 18px}
  .hero-grid{padding:42px 0 48px}
  h1{font-size:clamp(2.25rem,10vw,2.8rem)}
  .hero p{font-size:1rem}
  .hero-actions{gap:10px}
  .hero-actions .btn{flex:1 1 100%;width:100%}
  .hero-art{min-height:210px}
  .road-card{height:210px;border-radius:20px}
  .road-card:before{top:65px}
  .road-dash{top:125px}
  .car{top:80px;transform:translateX(-50%) scale(.72) rotate(-8deg)}
  .float-tag{right:8px;bottom:8px;padding:9px 12px;font-size:.78rem}
  .cards,.area-grid,.contact-grid,.split,.footer-grid{grid-template-columns:1fr}
  .card{padding:21px}
  .section{padding:48px 0}
  .feature-panel{padding:24px;min-height:200px}
  .pagehero{padding:40px 0}
  .cta{padding:25px;display:block}
  .cta .btn{width:100%;margin-top:18px}
  .mobile-book{display:block;position:fixed;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:30;text-align:center}
  .footer{padding-bottom:100px}
  .copyright{display:block}
  .copyright span{display:block;margin-top:8px}
}
@media(max-width:380px){
  .brand{gap:7px}.brandword{font-size:1.25rem}.brandmark{width:35px;height:35px}
  .menu-btn{padding:8px 10px;font-size:.9rem}
  .trustline{gap:9px;flex-direction:column}
}
@media(orientation:landscape) and (max-height:500px) and (max-width:900px){
  .hero-grid{padding:28px 0;grid-template-columns:1fr 1fr}
  .hero-art{min-height:190px}
  .road-card{height:185px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Image-led DroptheL refresh */
.hero-photo{min-height:390px;background:linear-gradient(90deg,rgba(5,19,43,.96) 0%,rgba(5,19,43,.78) 42%,rgba(5,19,43,.04) 100%),url("../images/learner-car-hero.jpg") center/cover no-repeat;border-radius:0 0 28px 28px}
.hero-photo .hero-grid{grid-template-columns:1fr;max-width:1140px;margin:auto;padding:76px 0 82px}
.hero-photo .hero-copy{max-width:650px}
.hero-photo h1{max-width:650px}
.photo-cards .card{padding:0;overflow:hidden}
.photo-cards .card img{display:block;width:100%;height:170px;object-fit:cover}
.photo-cards .card .card-body{padding:22px 24px 25px}
.service-banner{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;background:#f1f6fc;border-radius:24px;padding:24px;margin-top:30px}
.service-banner img{width:100%;height:260px;object-fit:cover;border-radius:18px}
.policy-list li{margin:12px 0}
@media(max-width:760px){.hero-photo{min-height:0;background-position:60% center}.hero-photo .hero-grid{padding:55px 0 58px}.service-banner{grid-template-columns:1fr}.service-banner img{height:210px}.photo-cards .card img{height:190px}}
