/* Mals Driving School — Premium visual layer
   Lightweight: no frameworks, no external fonts, no extra image requests. */
:root{
  --premium-red:#e31b23;
  --premium-red-dark:#b80f17;
  --premium-ink:#090b10;
  --premium-charcoal:#141820;
  --premium-muted:#626977;
  --premium-surface:#ffffff;
  --premium-soft:#f4f6f9;
  --premium-line:#e1e5eb;
  --premium-green:#1fbd63;
  --premium-shadow:0 24px 70px rgba(8,12,20,.14);
  --premium-shadow-soft:0 14px 38px rgba(8,12,20,.09);
  --premium-radius:24px;
}
html{scroll-behavior:smooth}
body.premium-site{
  background:#fff;
  color:var(--premium-ink);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  letter-spacing:-.006em;
}
.premium-site .container{width:min(1180px,92%)}
.premium-site .site-header{position:relative;z-index:100;background:#fff;box-shadow:0 1px 0 rgba(10,15,24,.08)}
.premium-site .topbar{background:var(--premium-ink);border-bottom:1px solid rgba(255,255,255,.08)}
.premium-site .topbar-inner{min-height:42px;font-size:.82rem;letter-spacing:.04em}
.premium-site .topbar a,.premium-site .topbar span{color:#fff}
.premium-site .top-social a{width:30px;height:30px;border:1px solid rgba(255,255,255,.24);border-radius:50%;display:grid;place-items:center}
.premium-site .brand-wrap{padding:14px 0 10px;background:#fff}
.premium-site .brand img{max-height:106px;filter:drop-shadow(0 8px 18px rgba(0,0,0,.08))}
.premium-site .main-nav{background:#fff;border-top:1px solid #edf0f4;border-bottom:1px solid #e6e9ee}
.premium-site .nav-links{gap:4px;padding:7px}
.premium-site .nav-links a{position:relative;border-radius:999px;padding:12px 18px;color:#252a33;font-size:.82rem;letter-spacing:.04em;transition:.2s ease}
.premium-site .nav-links a:hover{background:#f3f5f8;color:#000}
.premium-site .nav-links a.active{background:var(--premium-ink);color:#fff}

/* Hero */
.premium-site .hero-static{grid-template-columns:minmax(0,1fr) minmax(460px,1.06fr);min-height:640px;background:linear-gradient(135deg,#080a0f 0%,#131720 100%)}
.premium-site .hero-static-copy{position:relative;padding-top:88px;padding-bottom:88px;background:
  radial-gradient(circle at 12% 12%,rgba(227,27,35,.2),transparent 32%),
  linear-gradient(135deg,#07090d 0%,#121620 100%)}
.premium-site .hero-static-copy:after{content:"";position:absolute;right:-1px;top:8%;bottom:8%;width:1px;background:linear-gradient(transparent,rgba(255,255,255,.2),transparent)}
.premium-site .hero-static-copy .eyebrow{display:inline-flex;align-items:center;gap:9px;width:max-content;color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:9px 14px;font-size:.76rem;letter-spacing:.13em}
.premium-site .hero-static-copy .eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--premium-red);box-shadow:0 0 0 6px rgba(227,27,35,.15)}
.premium-site .hero-static-copy h1{max-width:720px;font-size:clamp(3.25rem,5.7vw,6rem);line-height:.9;letter-spacing:-.065em;text-transform:none;margin:24px 0 26px}
.premium-site .hero-static-copy h1 span{display:block;color:var(--premium-red)}
.premium-site .hero-static-copy p{max-width:590px;color:#d4d8e0;font-size:1.16rem;line-height:1.7}
.premium-site .hero-static-copy .actions{margin-top:30px;gap:12px}
.premium-site .btn{border-radius:12px;min-height:54px;padding:14px 22px;font-weight:850;letter-spacing:.018em;box-shadow:none;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.premium-site .btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(0,0,0,.18)}
.premium-site .btn-red{background:var(--premium-red);border-color:var(--premium-red)}
.premium-site .btn-red:hover{background:var(--premium-red-dark);border-color:var(--premium-red-dark)}
.premium-site .btn-light{background:#fff;color:#111;border-color:#fff}
.premium-site .hero-static-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,9,13,.28),transparent 34%),linear-gradient(0deg,rgba(7,9,13,.45),transparent 40%);pointer-events:none}
.premium-site .hero-static-visual img{transition:transform 8s ease;transform:scale(1.015)}
.premium-site .hero-static:hover .hero-static-visual img{transform:scale(1.055)}
.hero-proof-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.hero-proof-row span{display:inline-flex;align-items:center;gap:8px;color:#eef0f4;font-size:.84rem;font-weight:700}
.hero-proof-row span:before{content:"✓";width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:rgba(31,189,99,.15);color:#57db8e;font-weight:900}
.hero-area-card{position:absolute;left:26px;right:26px;bottom:25px;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;border:1px solid rgba(255,255,255,.25);border-radius:18px;background:rgba(9,11,16,.82);color:#fff;backdrop-filter:blur(14px);box-shadow:0 18px 46px rgba(0,0,0,.3)}
.hero-area-card strong{display:block;font-size:1rem}.hero-area-card span{color:#cbd0d9;font-size:.85rem}.hero-area-card b{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--premium-red);font-size:1.2rem}

/* Premium trust / booking bars */
.premium-site .quick-book{position:relative;margin-top:0;background:#fff;border-bottom:1px solid var(--premium-line)}
.premium-site .quick-book-inner{padding:22px 0}
.premium-site .quick-book strong{font-size:1.08rem}.premium-site .quick-book span{color:var(--premium-muted)}
.premium-site .trust-strip{background:#fff;border-bottom:1px solid var(--premium-line)}
.premium-site .trust-grid{gap:14px;padding:24px 0}
.premium-site .trust-grid>div{border:1px solid var(--premium-line)!important;border-radius:16px;padding:18px;background:linear-gradient(180deg,#fff,#fafbfc);box-shadow:0 8px 22px rgba(10,15,25,.04)}
.premium-site .trust-grid>div>span{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#ffe9ea;color:var(--premium-red);font-size:1.2rem;margin-bottom:10px}
.premium-site .trust-grid strong{font-size:.96rem}.premium-site .trust-grid small{color:var(--premium-muted)}

/* Sections */
.premium-site .section{padding:92px 0}
.premium-site .section.soft{background:linear-gradient(180deg,#f7f8fa 0%,#eef1f5 100%)}
.premium-site .section-heading .eyebrow{color:var(--premium-red);letter-spacing:.15em;font-size:.76rem}
.premium-site .section-heading h2{font-size:clamp(2.35rem,4vw,4.15rem);line-height:1.02;letter-spacing:-.055em;margin:12px 0 22px}
.premium-site .section-heading p{font-size:1.06rem;line-height:1.75;color:var(--premium-muted)}
.premium-site .text-link{font-weight:850;color:var(--premium-red)}
.premium-site .benefit-grid{gap:16px}
.premium-site .benefit-grid article,.premium-site .content-cards article,.premium-site .lesson-grid article{position:relative;border:1px solid var(--premium-line);border-radius:20px;background:#fff;padding:28px;box-shadow:var(--premium-shadow-soft);overflow:hidden;transition:.25s ease}
.premium-site .benefit-grid article:hover,.premium-site .content-cards article:hover,.premium-site .lesson-grid article:hover{transform:translateY(-5px);box-shadow:var(--premium-shadow)}
.premium-site .benefit-grid article:after{content:"";position:absolute;right:-34px;bottom:-34px;width:100px;height:100px;border-radius:50%;background:rgba(227,27,35,.06)}
.premium-site .benefit-grid b{font-size:.75rem;letter-spacing:.12em;color:var(--premium-red);background:#fff0f1;border-radius:999px;padding:7px 10px;display:inline-block}
.premium-site .benefit-grid h3{font-size:1.18rem;margin-top:18px}

/* Prices */
.premium-site .price-grid{gap:18px;margin-top:40px}
.premium-site .price-grid article{border:1px solid var(--premium-line);border-radius:22px;padding:30px;background:#fff;box-shadow:var(--premium-shadow-soft);transition:.25s ease}
.premium-site .price-grid article:hover{transform:translateY(-5px)}
.premium-site .price-grid article.featured{background:var(--premium-ink);color:#fff;border-color:var(--premium-ink);transform:scale(1.025)}
.premium-site .price-grid article.featured p{color:#c8cdd6}
.premium-site .price{font-size:3rem;letter-spacing:-.06em}
.premium-site .price-badge{border-radius:999px;background:var(--premium-red);color:#fff;padding:7px 11px;font-size:.69rem;letter-spacing:.1em}

/* Gallery */
.premium-site .pass-carousel{padding-left:58px;padding-right:58px}
.premium-site .pass-slide-card{border-radius:20px;box-shadow:0 16px 34px rgba(0,0,0,.17)}
.premium-site .pass-carousel-arrow{background:#fff;color:#111;border:1px solid var(--premium-line);box-shadow:0 10px 28px rgba(0,0,0,.16)}
.premium-site .pass-carousel-dot{background:#ccd1d8}.premium-site .pass-carousel-dot.is-active{background:var(--premium-red)}

/* Google reviews */
.premium-site .google-reviews-section{background:#fff}
.premium-site .google-review-layout{padding:42px;border:1px solid var(--premium-line);border-radius:28px;background:linear-gradient(135deg,#fff 0%,#f4f6f9 100%);box-shadow:var(--premium-shadow)}
.premium-site .google-title{gap:16px;margin:12px 0 18px}
.premium-site .google-title h2{font-size:clamp(2.25rem,4vw,4rem);letter-spacing:-.055em;text-transform:none}
.premium-site .google-mark{width:58px;height:58px;flex-basis:58px;border-radius:18px;box-shadow:0 12px 28px rgba(0,0,0,.1)}
.premium-site .google-mark img{width:30px;height:30px;display:block;object-fit:contain}
.premium-site .google-review-card{border-radius:22px;padding:34px;box-shadow:var(--premium-shadow-soft)}
.premium-site .btn-google{background:#1a73e8}
.premium-site .btn-outline-dark{border:2px solid #17191e}

/* Final CTA & footer */
.premium-site .final-cta{background:linear-gradient(135deg,#0a0c11,#171b24);position:relative;overflow:hidden}
.premium-site .final-cta:after{content:"";position:absolute;right:-140px;top:-140px;width:360px;height:360px;border-radius:50%;background:rgba(227,27,35,.13)}
.premium-site .final-cta-inner{position:relative;z-index:2}
.premium-site .site-footer{background:#07090d}
.premium-site .footer-grid{gap:42px}
.premium-site .site-footer h3{color:#fff}.premium-site .site-footer p,.premium-site .site-footer a{color:#bfc5cf}
.premium-site .mobile-contact-bar{box-shadow:0 -8px 28px rgba(0,0,0,.2)}

/* Reveal polish */
.premium-site .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.premium-site .reveal.visible{opacity:1;transform:none}

@media(max-width:1050px){
  .premium-site .hero-static{grid-template-columns:1fr}
  .premium-site .hero-static-copy{padding:60px 5% 48px}
  .premium-site .hero-static-copy:after{display:none}
  .premium-site .hero-static-visual{min-height:470px}
  .premium-site .hero-static-visual img{height:100%;object-fit:cover}
  .premium-site .google-review-layout{padding:30px}
}
@media(max-width:680px){
  .premium-site .brand-wrap{padding:9px 0}
  .premium-site .brand img{max-height:82px}
  .premium-site .hero-static-copy{padding:42px 5% 40px}
  .premium-site .hero-static-copy h1{font-size:clamp(3rem,14.5vw,4.25rem);line-height:.9}
  .premium-site .hero-static-copy p{font-size:1rem}
  .hero-proof-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .hero-proof-row span{font-size:.78rem}
  .premium-site .hero-static-visual{min-height:390px}
  .hero-area-card{left:12px;right:12px;bottom:12px;padding:15px}
  .hero-area-card b{display:none}
  .premium-site .trust-grid{grid-template-columns:1fr 1fr;gap:10px}
  .premium-site .trust-grid>div{padding:15px}
  .premium-site .section{padding:66px 0}
  .premium-site .section-heading h2{font-size:2.5rem}
  .premium-site .price-grid article.featured{transform:none}
  .premium-site .google-review-layout{padding:24px 20px;border-radius:22px}
  .premium-site .google-title{align-items:center}
  .premium-site .google-mark{width:50px;height:50px;flex-basis:50px;border-radius:15px}
  .premium-site .google-title h2{font-size:2.35rem}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .premium-site *{transition:none!important;animation:none!important}
  .premium-site .reveal{opacity:1;transform:none}
}

/* Premium V2: statistics and local area cards */
.premium-stats{background:#090c12;color:#fff;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.premium-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.1)}
.premium-stats-grid>div{padding:34px 22px;text-align:center;background:#0d1119}
.premium-stats-grid strong{display:block;font-size:clamp(2rem,4vw,3.4rem);line-height:1;color:#fff;letter-spacing:-.055em}
.premium-stats-grid span{display:block;margin-top:10px;color:#bfc6d2;font-size:.86rem;font-weight:750;text-transform:uppercase;letter-spacing:.08em}
.areas-showcase{background:linear-gradient(180deg,#f6f7f9,#fff)}
.premium-area-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:38px}
.premium-area-grid a{display:flex;flex-direction:column;min-height:154px;padding:22px;border:1px solid var(--premium-line);border-radius:18px;background:#fff;box-shadow:var(--premium-shadow-soft);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;color:var(--premium-ink)}
.premium-area-grid a:hover{transform:translateY(-4px);box-shadow:var(--premium-shadow);border-color:rgba(227,27,35,.35)}
.premium-area-grid a>span{align-self:flex-start;padding:6px 9px;border-radius:999px;background:#fff0f1;color:var(--premium-red);font-weight:900;font-size:.72rem;letter-spacing:.08em}
.premium-area-grid strong{font-size:1.08rem;margin-top:17px}
.premium-area-grid small{margin-top:auto;padding-top:18px;color:var(--premium-muted);font-weight:750}
.area-note{margin-top:24px;padding:18px 20px;border-left:4px solid var(--premium-red);border-radius:10px;background:#f7f8fa;color:var(--premium-muted)}
.hero-area-card span{display:block;line-height:1.55}
@media(max-width:950px){.premium-area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.premium-stats-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.premium-area-grid{grid-template-columns:1fr}.premium-stats-grid>div{padding:25px 12px}.premium-stats-grid span{font-size:.72rem}.hero-area-card span{font-size:.72rem;max-height:4.7em;overflow:hidden}}

/* Luxury V3 — vehicle-neutral abstract roadscape */
.premium-site{--luxury-gold:#c99a45;--luxury-gold-soft:#f0d7a2;--luxury-night:#05070b}
.premium-site .site-header{box-shadow:0 14px 40px rgba(0,0,0,.16)}
.premium-site .brand-wrap{background:linear-gradient(180deg,#0b0e14,#07090d)}
.premium-site .main-nav{background:rgba(7,9,13,.98);border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.08)}
.premium-site .nav-links a{letter-spacing:.02em}
.premium-site .nav-links a:after{background:linear-gradient(90deg,var(--premium-red),#ff5c62)}
.premium-site .hero-static{min-height:710px;background:#07090d;border-bottom:1px solid rgba(255,255,255,.08)}
.premium-site .hero-static-copy{background:
 radial-gradient(circle at 18% 12%,rgba(227,27,35,.14),transparent 32%),
 linear-gradient(145deg,#07090d 0%,#0d1119 58%,#080a0f 100%)}
.premium-site .hero-static-copy h1{text-shadow:0 18px 44px rgba(0,0,0,.38)}
.premium-site .hero-static-copy h1 span{background:linear-gradient(90deg,#ff4249,#d91c24 60%,#ff6a6f);-webkit-background-clip:text;background-clip:text;color:transparent}
.premium-site .hero-static-copy .eyebrow{color:var(--luxury-gold-soft)}
.premium-site .hero-static-copy .btn-light{border-color:rgba(255,255,255,.32);background:rgba(255,255,255,.06);backdrop-filter:blur(12px)}
.premium-site .luxury-roadscape{position:relative;isolation:isolate;overflow:hidden;min-height:710px;background:
 radial-gradient(circle at 72% 25%,rgba(227,27,35,.26),transparent 18%),
 radial-gradient(circle at 68% 28%,rgba(240,184,97,.23),transparent 31%),
 linear-gradient(180deg,#0a1020 0%,#111827 44%,#06080d 100%)}
.premium-site .luxury-roadscape:before{content:"";position:absolute;inset:0;z-index:-1;background:
 linear-gradient(110deg,rgba(255,255,255,.04),transparent 36%),
 repeating-linear-gradient(90deg,transparent 0 7.9%,rgba(255,255,255,.018) 8% 8.1%);opacity:.75}
.city-glow{position:absolute;z-index:0;width:54%;aspect-ratio:1;right:-8%;top:-15%;border-radius:50%;background:radial-gradient(circle,rgba(232,79,45,.33),rgba(201,154,69,.13) 30%,transparent 67%);filter:blur(10px)}
.skyline{position:absolute;left:0;right:0;bottom:34%;z-index:1;filter:drop-shadow(0 -10px 35px rgba(0,0,0,.48))}
.skyline:before{content:"";display:block;width:100%;height:100%;background:linear-gradient(180deg,#141a25,#070a10)}
.skyline-back{height:28%;opacity:.72;clip-path:polygon(0 77%,5% 77%,5% 49%,9% 49%,9% 70%,14% 70%,14% 33%,20% 33%,20% 62%,25% 62%,25% 42%,30% 42%,30% 76%,35% 76%,35% 25%,42% 25%,42% 64%,49% 64%,49% 45%,54% 45%,54% 76%,60% 76%,60% 17%,66% 17%,66% 58%,71% 58%,71% 35%,77% 35%,77% 69%,83% 69%,83% 29%,89% 29%,89% 62%,94% 62%,94% 47%,100% 47%,100% 100%,0 100%)}
.skyline-front{height:34%;clip-path:polygon(0 74%,6% 74%,6% 43%,12% 43%,12% 67%,18% 67%,18% 22%,25% 22%,25% 62%,31% 62%,31% 40%,37% 40%,37% 70%,44% 70%,44% 10%,51% 10%,51% 54%,58% 54%,58% 31%,65% 31%,65% 72%,72% 72%,72% 20%,79% 20%,79% 59%,85% 59%,85% 38%,91% 38%,91% 68%,96% 68%,96% 52%,100% 52%,100% 100%,0 100%)}
.skyline-front:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 21px,rgba(240,215,162,.5) 22px 24px,transparent 25px 37px);clip-path:inherit;opacity:.22}
.road-plane{position:absolute;left:-15%;right:-15%;bottom:-21%;height:58%;z-index:2;transform:perspective(650px) rotateX(63deg);transform-origin:center bottom;background:linear-gradient(180deg,#1a202a 0%,#0a0d13 70%);box-shadow:0 -20px 60px rgba(0,0,0,.5)}
.road-plane:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 1px,transparent 1px 90px);opacity:.35}
.road-line{position:absolute;top:0;bottom:0;width:7px;background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,.07));filter:drop-shadow(0 0 8px rgba(255,255,255,.35))}
.line-one{left:33%}.line-two{left:50%}.line-three{left:67%}
.light-trail{position:absolute;z-index:3;height:4px;border-radius:999px;filter:blur(.5px);box-shadow:0 0 18px currentColor;transform:rotate(-7deg)}
.trail-one{right:-4%;bottom:28%;width:69%;color:#ef3038;background:linear-gradient(90deg,transparent,currentColor 20%,#ff6f75 80%,transparent)}
.trail-two{right:4%;bottom:31%;width:53%;color:var(--luxury-gold);background:linear-gradient(90deg,transparent,currentColor 28%,#ffe2a5 75%,transparent);opacity:.8}
.hero-visual-message{position:absolute;left:7%;top:9%;z-index:4;max-width:390px;color:#fff;text-shadow:0 8px 26px rgba(0,0,0,.55)}
.hero-visual-message span{display:block;margin-bottom:13px;color:var(--luxury-gold-soft);font-size:.72rem;font-weight:900;letter-spacing:.18em}
.hero-visual-message strong{display:block;font-size:clamp(2rem,3.2vw,3.8rem);line-height:.98;letter-spacing:-.055em}
.hero-visual-message small{display:block;margin-top:18px;max-width:34ch;color:#d6dae2;font-size:.95rem;line-height:1.65}
.premium-site .hero-area-card{background:linear-gradient(135deg,rgba(8,11,17,.92),rgba(18,23,33,.82));border-color:rgba(240,215,162,.25);box-shadow:0 24px 70px rgba(0,0,0,.46)}
.premium-site .hero-area-card b{background:linear-gradient(145deg,#e32830,#a80f16);box-shadow:0 10px 26px rgba(227,27,35,.32)}
.premium-site .trust-grid>div,.premium-site .benefit-grid article,.premium-site .price-grid article,.premium-area-grid a{border-color:rgba(15,22,34,.1);box-shadow:0 16px 42px rgba(10,15,25,.07)}
.premium-site .trust-grid>div:hover,.premium-area-grid a:hover{border-color:rgba(201,154,69,.42)}
.premium-site .section-heading h2{font-weight:850}
.premium-site .google-review-layout{border-color:rgba(201,154,69,.28);background:linear-gradient(135deg,#fff 0%,#f7f4ef 100%)}
.premium-site .final-cta{background:radial-gradient(circle at 80% 20%,rgba(201,154,69,.15),transparent 34%),linear-gradient(135deg,#07090d,#151a24)}
@media(max-width:1050px){.premium-site .hero-static,.premium-site .luxury-roadscape{min-height:auto}.premium-site .luxury-roadscape{min-height:510px}.hero-visual-message{top:8%}}
@media(max-width:680px){.premium-site .luxury-roadscape{min-height:430px}.hero-visual-message{left:6%;right:6%;top:7%}.hero-visual-message strong{font-size:2.35rem}.hero-visual-message small{font-size:.84rem;max-width:30ch}.skyline{bottom:37%}.hero-area-card{backdrop-filter:blur(12px)}}
