/* ============================================================
   CSS VARIABLES & RESET
============================================================ */
:root {
  --bg-void:     #03050f;
  --bg-deep:     #070c1a;
  --bg-surface:  #0d1426;
  --cyan:        #00e5ff;
  --cyan-dim:    #00b8cc;
  --cyan-glow:   rgba(0,229,255,0.18);
  --cyan-glow2:  rgba(0,229,255,0.07);
  --green:       #1dff8e;
  --green-dim:   #14cc70;
  --green-glow:  rgba(29,255,142,0.18);
  --orange:      #ff6b35;
  --red:         #ff4d4d;
  --red-glow:    rgba(255,77,77,0.16);
  --white:       #eef4ff;
  --muted:       #8899bb;
  --glass-bg:    rgba(13,20,38,0.9);
  --glass-border:rgba(0,229,255,0.14);
  --radius-sm:   6px;
  --radius-md:   12px;
  --radius-lg:   20px;
  --font-display:'Orbitron', sans-serif;
  --font-cond:   'Barlow Condensed', sans-serif;
  --font-body:   'Barlow', sans-serif;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  background:var(--bg-void);
  color:var(--white);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}

/* ============================================================
   UTILITY
============================================================ */
.container{max-width:1100px;margin:0 auto;padding:0 20px;}
.text-cyan{color:var(--cyan);}
.text-green{color:var(--green);}

/* ============================================================
   SCROLLBAR
============================================================ */
::-webkit-scrollbar{width:4px;}
::-webkit-scrollbar-track{background:var(--bg-void);}
::-webkit-scrollbar-thumb{background:var(--cyan-dim);border-radius:2px;}

/* ============================================================
   TICKER BAR
============================================================ */
.ticker-wrap{
  background:linear-gradient(90deg,#00b8cc 0%,#00e5ff 50%,#00b8cc 100%);
  overflow:hidden;
  height:34px;
  display:flex;
  align-items:center;
}
.ticker-track{
  display:flex;
  animation:ticker 28s linear infinite;
  white-space:nowrap;
  gap:0;
}
.ticker-track span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:0 32px;
  font-family:var(--font-cond);
  font-size:13px;
  font-weight:700;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--bg-void);
}
.ticker-track span::before{content:'◆';font-size:8px;opacity:0.6;}
@keyframes ticker{
  0%{transform:translateX(0);}
  100%{transform:translateX(-50%);}
}

/* ============================================================
   NAVIGATION
============================================================ */
.nav{
  position:sticky;
  top:0;
  z-index:900;
  background:rgba(3,5,15,0.97);
  border-bottom:1px solid var(--glass-border);
}
.nav-inner{
  max-width:1100px;
  margin:0 auto;
  padding:0 20px;
  height:60px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.nav-logo{
  font-family:var(--font-display);
  font-size:12px;
  font-weight:700;
  letter-spacing:0.08em;
  color:var(--cyan);
  text-transform:uppercase;
  line-height:1.2;
  flex-shrink:0;
}
.nav-logo span{display:block;color:var(--white);font-size:10px;font-weight:400;letter-spacing:0.18em;opacity:0.7;}
.nav-links{
  display:flex;
  align-items:center;
  gap:4px;
}
.nav-links a{
  white-space:nowrap;
  font-family:var(--font-cond);
  font-size:12px;
  font-weight:600;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--muted);
  padding:6px 12px;
  border-radius:var(--radius-sm);
  transition:color .2s,background .2s;
}
.nav-links a:hover{color:var(--cyan);background:var(--cyan-glow2);}
.nav-cta{
  display:flex;
  align-items:center;
  gap:8px;
  flex-shrink:0;
}
.btn-nav-call{
  background:var(--green);
  color:var(--bg-void);
  font-family:var(--font-cond);
  font-size:12px;
  font-weight:800;
  letter-spacing:0.1em;
  text-transform:uppercase;
  padding:7px 16px;
  border-radius:var(--radius-sm);
  border:none;
  cursor:pointer;
  transition:transform .15s,box-shadow .15s;
  box-shadow:0 0 16px var(--green-glow);
  white-space:nowrap;
}
.btn-nav-call:hover{transform:translateY(-1px);box-shadow:0 0 28px var(--green-glow);}
.btn-nav-callnow{
  background:linear-gradient(180deg,#ff5c5c 0%,#e63232 100%);
  color:#ffffff;
  animation:callPulse 2.4s ease-in-out infinite;
}

/* ============================================================
   HERO
============================================================ */
.hero{
  position:relative;
  min-height:92vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  overflow:hidden;
  padding:80px 0 60px;
}

/* Grid lines background */
.hero-grid{
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(0,229,255,0.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,229,255,0.04) 1px,transparent 1px);
  background-size:60px 60px;
  mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 30%,transparent 100%);
}

/* Animated orbs */
.hero-orb{
  position:absolute;
  border-radius:50%;
  filter:blur(80px);
  opacity:0.18;
  animation:orbFloat 8s ease-in-out infinite;
}
.hero-orb-1{
  width:500px;height:500px;
  background:var(--cyan);
  top:-120px;right:-100px;
  animation-delay:0s;
}
.hero-orb-2{
  width:380px;height:380px;
  background:var(--green);
  bottom:-80px;left:-60px;
  animation-delay:-4s;
}
.hero-orb-3{
  width:220px;height:220px;
  background:var(--cyan-dim);
  top:40%;left:30%;
  animation-delay:-2s;
  opacity:0.08;
}
@keyframes orbFloat{
  0%,100%{transform:translateY(0) scale(1);}
  50%{transform:translateY(-24px) scale(1.04);}
}

/* Scan line */
.scan-line{
  position:absolute;
  left:0;right:0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--cyan),transparent);
  opacity:0.3;
  animation:scan 6s linear infinite;
  top:0;
}
@keyframes scan{
  0%{top:0;opacity:0;}
  10%{opacity:0.3;}
  90%{opacity:0.3;}
  100%{top:100%;opacity:0;}
}

.hero-content{
  position:relative;
  z-index:2;
  max-width:1100px;
  margin:0 auto;
  padding:0 20px;
}

.hero-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:var(--cyan-glow2);
  border:1px solid var(--glass-border);
  border-radius:40px;
  padding:6px 16px;
  margin-bottom:28px;
  font-family:var(--font-cond);
  font-size:12px;
  font-weight:600;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--cyan);
  opacity:0;
  animation:fadeUp .6s ease forwards;
  animation-delay:.1s;
}
.hero-badge-dot{
  width:7px;height:7px;
  border-radius:50%;
  background:var(--green);
  box-shadow:0 0 8px var(--green);
  animation:pulse 1.5s ease-in-out infinite;
}
@keyframes pulse{
  0%,100%{box-shadow:0 0 6px var(--green);}
  50%{box-shadow:0 0 18px var(--green),0 0 30px var(--green-glow);}
}

.hero-headline{
  font-family:var(--font-display);
  font-weight:900;
  line-height:0.92;
  text-transform:uppercase;
  margin-bottom:20px;
}
.hero-headline .line1{
  display:block;
  font-size:clamp(52px,10vw,110px);
  color:var(--white);
  opacity:0;
  animation:fadeUp .7s ease forwards;
  animation-delay:.25s;
  letter-spacing:-0.02em;
}
.hero-headline .line2{
  display:block;
  font-size:clamp(44px,8.5vw,94px);
  background:linear-gradient(90deg,var(--cyan) 0%,var(--green) 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  opacity:0;
  animation:fadeUp .7s ease forwards;
  animation-delay:.4s;
  letter-spacing:-0.02em;
}
.hero-headline .line3{
  display:block;
  font-size:clamp(52px,10vw,110px);
  color:var(--white);
  opacity:0;
  animation:fadeUp .7s ease forwards;
  animation-delay:.55s;
  letter-spacing:-0.02em;
}

@keyframes fadeUp{
  from{opacity:0;transform:translateY(28px);}
  to{opacity:1;transform:translateY(0);}
}

.hero-sub{
  max-width:580px;
  margin-bottom:36px;
  opacity:0;
  animation:fadeUp .7s ease forwards;
  animation-delay:.7s;
}
.hero-sub p{
  font-family:var(--font-cond);
  font-size:16px;
  font-weight:500;
  letter-spacing:0.05em;
  color:var(--muted);
  margin-bottom:8px;
}
.hero-sub .services-inline{
  font-size:15px;
  color:var(--white);
  opacity:0.85;
}
.hero-sub .services-inline b{color:var(--cyan);}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-bottom:48px;
  opacity:0;
  animation:fadeUp .7s ease forwards;
  animation-delay:.85s;
}

.btn-primary{
  display:inline-flex;
  align-items:center;
  gap:10px;
  background:var(--green);
  color:var(--bg-void);
  font-family:var(--font-cond);
  font-size:15px;
  font-weight:800;
  letter-spacing:0.12em;
  text-transform:uppercase;
  padding:14px 28px;
  border-radius:var(--radius-md);
  border:none;
  cursor:pointer;
  transition:transform .2s,box-shadow .2s;
  box-shadow:0 0 24px var(--green-glow),0 4px 20px rgba(0,0,0,0.4);
  white-space:nowrap;
  text-decoration:none;
}
.btn-primary:hover{
  transform:translateY(-2px);
  box-shadow:0 0 40px var(--green-glow),0 8px 32px rgba(0,0,0,0.5);
}

.btn-secondary{
  display:inline-flex;
  align-items:center;
  gap:10px;
  background:transparent;
  color:var(--cyan);
  font-family:var(--font-cond);
  font-size:15px;
  font-weight:700;
  letter-spacing:0.12em;
  text-transform:uppercase;
  padding:13px 28px;
  border-radius:var(--radius-md);
  border:1.5px solid rgba(0,229,255,0.4);
  cursor:pointer;
  transition:transform .2s,box-shadow .2s,background .2s,border-color .2s;
  box-shadow:0 0 12px var(--cyan-glow2);
  white-space:nowrap;
  text-decoration:none;
}
.btn-secondary:hover{
  transform:translateY(-2px);
  background:var(--cyan-glow2);
  border-color:var(--cyan);
  box-shadow:0 0 28px var(--cyan-glow);
}

.btn-icon{font-size:18px;line-height:1;}

/* Emergency (red) button */
.btn-emergency{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  background:linear-gradient(180deg,#ff5c5c 0%,#e63232 100%);
  color:#ffffff;
  font-family:var(--font-cond);
  font-size:15px;
  font-weight:800;
  letter-spacing:0.12em;
  text-transform:uppercase;
  padding:14px 26px;
  border-radius:var(--radius-md);
  border:none;
  cursor:pointer;
  transition:transform .2s,box-shadow .2s;
  white-space:nowrap;
  text-decoration:none;
  box-shadow:0 0 24px rgba(255,77,77,0.35),0 4px 20px rgba(0,0,0,0.4);
  animation:callPulse 2.4s ease-in-out infinite;
}
.btn-emergency:hover{
  transform:translateY(-2px);
  box-shadow:0 0 40px rgba(255,77,77,0.55),0 8px 32px rgba(0,0,0,0.5);
}
@keyframes callPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(255,77,77,0.55),0 0 24px rgba(255,77,77,0.3);}
  60%{box-shadow:0 0 0 10px rgba(255,77,77,0),0 0 24px rgba(255,77,77,0.3);}
}
@media(prefers-reduced-motion:reduce){.btn-emergency,.float-btn-emergency,.btn-nav-callnow{animation:none;}}

/* Hero lanes (Book a service / Emergency) */
.hero-lanes{
  display:grid;
  grid-template-columns:1.08fr 1fr;
  gap:18px;
  max-width:880px;
  margin-bottom:40px;
  opacity:0;
  animation:fadeUp .7s ease forwards;
  animation-delay:.85s;
}
.lane{
  border-radius:var(--radius-lg);
  padding:22px 22px 24px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.lane-kicker{
  font-family:var(--font-cond);
  font-size:12px;
  font-weight:700;
  letter-spacing:0.18em;
  text-transform:uppercase;
}
.lane-title{
  font-family:var(--font-cond);
  font-size:22px;
  font-weight:700;
  letter-spacing:0.02em;
  text-transform:uppercase;
  line-height:1.15;
  color:var(--white);
}
.lane-desc{font-size:14px;color:var(--muted);line-height:1.6;}
.lane .btn-primary,.lane .btn-emergency{align-self:flex-start;margin-top:auto;}
/* Chasing border light */
@property --chase{
  syntax:'<angle>';
  initial-value:0deg;
  inherits:false;
}
.lane{position:relative;isolation:isolate;}
.lane::before,.lane::after{
  content:'';
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  padding:2.5px;
  background:conic-gradient(from var(--chase),transparent 0deg,transparent 170deg,color-mix(in srgb,var(--chase-color) 25%,transparent) 250deg,var(--chase-color) 325deg,color-mix(in srgb,var(--chase-color) 40%,#ffffff) 350deg,transparent 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);
  animation:chase 6.5s linear infinite;
  will-change:--chase;
  pointer-events:none;
  z-index:-1;
}
.lane::after{
  filter:blur(10px);
  opacity:1;
  padding:4px;
}
.lane-emergency{--chase-color:var(--red);}
.lane-emergency::before,.lane-emergency::after{animation-duration:5.5s;}
.lane-quote{--chase-color:var(--green);}
.lane-quote::before,.lane-quote::after{animation-delay:-3.2s;}
@keyframes chase{to{--chase:360deg;}}
@media(prefers-reduced-motion:reduce){.lane::before,.lane::after{animation:none;}}

.lane-quote{
  border:1px solid rgba(29,255,142,0.35);
  background:linear-gradient(rgba(29,255,142,0.06),rgba(29,255,142,0.06)),rgba(6,12,24,0.96);
}
.lane-quote .lane-kicker{color:var(--green);}
.lane-emergency{
  border:1px solid rgba(255,77,77,0.35);
  background:linear-gradient(rgba(255,77,77,0.07),rgba(255,77,77,0.07)),rgba(10,8,18,0.96);
}
.lane-emergency .lane-kicker{color:var(--red);}
.lane-number{font-family:var(--font-cond);font-size:15px;font-weight:700;letter-spacing:0.06em;color:var(--white);}

.hero-hint{
  font-family:var(--font-body);
  font-size:12px;
  color:var(--muted);
  margin-top:-32px;
  margin-bottom:40px;
  opacity:0;
  animation:fadeUp .7s ease forwards;
  animation-delay:1s;
}
.hero-hint b{color:var(--white);}

.hero-brands{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  opacity:0;
  animation:fadeUp .7s ease forwards;
  animation-delay:1.1s;
}
.hero-brands-label{
  font-family:var(--font-cond);
  font-size:11px;
  letter-spacing:0.15em;
  text-transform:uppercase;
  color:var(--muted);
  margin-right:4px;
}
.brand-chip{
  background:rgba(3,5,15,0.85);
  font-family:var(--font-cond);
  font-size:11px;
  font-weight:700;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--muted);
  border:1px solid rgba(136,153,187,0.2);
  border-radius:4px;
  padding:4px 10px;
  transition:color .2s,border-color .2s;
}
.brand-chip:hover{color:var(--cyan);border-color:rgba(0,229,255,0.3);}

/* ============================================================
   STATS STRIP
============================================================ */
.stats-strip{
  position:relative;
  z-index:2;
  background:var(--glass-bg);
  border-top:1px solid var(--glass-border);
  border-bottom:1px solid var(--glass-border);
  padding:28px 0;
}
.stats-grid{
  max-width:1100px;
  margin:0 auto;
  padding:0 20px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
}
.stat-item{
  text-align:center;
  position:relative;
}
.stat-item::after{
  content:'';
  position:absolute;
  right:0;top:20%;bottom:20%;
  width:1px;
  background:var(--glass-border);
}
.stat-item:last-child::after{display:none;}
.stat-num{
  font-family:var(--font-display);
  font-size:28px;
  font-weight:900;
  color:var(--cyan);
  display:block;
  line-height:1;
  margin-bottom:4px;
  text-shadow:0 0 20px var(--cyan-glow);
}
.stat-label{
  font-family:var(--font-cond);
  font-size:12px;
  font-weight:600;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--muted);
}

/* ============================================================
   SECTION SHARED
============================================================ */
.section{padding:90px 0;}
.section-label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:var(--font-cond);
  font-size:11px;
  font-weight:700;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--cyan);
  margin-bottom:14px;
}
.section-label::before{
  content:'';
  display:block;
  width:24px;height:1.5px;
  background:var(--cyan);
  box-shadow:0 0 6px var(--cyan);
}
.section-title{
  font-family:var(--font-display);
  font-size:clamp(28px,4vw,46px);
  font-weight:900;
  text-transform:uppercase;
  line-height:1.05;
  letter-spacing:-0.01em;
  margin-bottom:14px;
}
.section-desc{
  font-size:16px;
  color:var(--muted);
  max-width:520px;
  line-height:1.7;
}

/* ============================================================
   SERVICES
============================================================ */
.services{background:rgba(7,12,26,0.82);}
.services-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  margin-bottom:48px;
  flex-wrap:wrap;
  gap:20px;
}
.services-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.service-card{
  background:var(--glass-bg);
  border:1px solid var(--glass-border);
  border-radius:var(--radius-lg);
  padding:28px 24px;
  position:relative;
  overflow:hidden;
  transition:transform .25s,box-shadow .25s,border-color .25s;
  cursor:default;
}
.service-card::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--cyan),transparent);
  opacity:0;
  transition:opacity .3s;
}
.service-card:hover{
  transform:translateY(-4px);
  border-color:rgba(0,229,255,0.3);
  box-shadow:0 12px 40px rgba(0,229,255,0.08),0 0 0 1px rgba(0,229,255,0.06);
}
.service-card:hover::before{opacity:1;}
.service-card.featured{
  border-color:rgba(0,229,255,0.25);
  background:linear-gradient(135deg,rgba(0,229,255,0.06) 0%,rgba(13,20,38,0.8) 100%);
}
.service-icon{
  font-size:32px;
  margin-bottom:16px;
  line-height:1;
}
.service-name{
  font-family:var(--font-display);
  font-size:14px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.06em;
  color:var(--white);
  margin-bottom:8px;
}
.service-desc{
  font-size:13.5px;
  color:var(--muted);
  line-height:1.6;
}
.service-tag{
  display:inline-block;
  margin-top:14px;
  font-family:var(--font-cond);
  font-size:11px;
  font-weight:700;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--cyan);
  background:var(--cyan-glow2);
  border:1px solid var(--glass-border);
  border-radius:4px;
  padding:3px 10px;
}
.service-tag.green{color:var(--green);background:var(--green-glow);}

/* ============================================================
   WHY US
============================================================ */
.why{
  background:rgba(3,5,15,0.7);
  position:relative;
  overflow:hidden;
}
.why::before{
  content:'';
  position:absolute;
  width:600px;height:600px;
  background:radial-gradient(var(--cyan-glow2),transparent 70%);
  top:-200px;right:-200px;
  border-radius:50%;
}
.why-layout{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center;
}
.why-features{
  display:flex;
  flex-direction:column;
  gap:20px;
}
.why-item{
  display:flex;
  gap:16px;
  align-items:flex-start;
  padding:18px 20px;
  background:var(--glass-bg);
  border:1px solid var(--glass-border);
  border-radius:var(--radius-md);
  transition:border-color .2s,transform .2s;
}
.why-item:hover{
  border-color:rgba(0,229,255,0.25);
  transform:translateX(4px);
}
.why-item-icon{
  font-size:24px;
  flex-shrink:0;
  margin-top:2px;
}
.why-item-title{
  font-family:var(--font-cond);
  font-size:15px;
  font-weight:700;
  letter-spacing:0.04em;
  text-transform:uppercase;
  color:var(--white);
  margin-bottom:4px;
}
.why-item-desc{font-size:13.5px;color:var(--muted);line-height:1.6;}

/* Right side CTA panel */
.why-cta-panel{
  background:linear-gradient(145deg,rgba(0,229,255,0.07) 0%,rgba(13,20,38,0.9) 100%);
  border:1px solid rgba(0,229,255,0.2);
  border-radius:var(--radius-lg);
  padding:40px 36px;
  position:relative;
  overflow:hidden;
}
.why-cta-panel::after{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:2px;
  background:linear-gradient(90deg,var(--cyan),var(--green));
}
.why-cta-panel-title{
  font-family:var(--font-display);
  font-size:22px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:0.04em;
  margin-bottom:8px;
  line-height:1.2;
}
.why-cta-panel-sub{
  font-size:14px;
  color:var(--muted);
  margin-bottom:28px;
  line-height:1.6;
}
.why-cta-panel-number{
  display:block;
  font-family:var(--font-display);
  font-size:28px;
  font-weight:900;
  color:var(--cyan);
  text-shadow:0 0 20px var(--cyan-glow);
  margin-bottom:24px;
  letter-spacing:0.04em;
}
.why-cta-actions{display:flex;flex-direction:column;gap:12px;}
.btn-full{display:block;text-align:center;width:100%;}

/* ============================================================
   WINTER TIRES
============================================================ */
.winter{
  background:linear-gradient(180deg,rgba(3,5,15,0.7) 0%,rgba(6,16,31,0.8) 100%);
  position:relative;
  overflow:hidden;
}
.winter::before{
  content:'';
  position:absolute;
  width:700px;height:700px;
  background:radial-gradient(rgba(160,220,255,0.08),transparent 70%);
  top:-260px;left:-200px;
  border-radius:50%;
}
.winter .container{position:relative;}
.winter-layout{
  display:grid;
  grid-template-columns:1.1fr 0.9fr;
  gap:48px;
  align-items:start;
}
.winter-badge{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-cond);font-size:15px;font-weight:800;
  letter-spacing:0.14em;text-transform:uppercase;
  color:#03101f;
  background:linear-gradient(90deg,#bff3ff 0%,#00e5ff 55%,#1dff8e 100%);
  border-radius:40px;padding:9px 20px 9px 16px;margin-bottom:20px;
  box-shadow:0 0 0 1px rgba(255,255,255,0.25) inset,0 0 22px rgba(0,229,255,0.45);
  animation:badgeGlow 3s ease-in-out infinite;
}
.winter-badge-icon{font-size:18px;line-height:1;animation:flakeSpin 8s linear infinite;display:inline-block;}
@keyframes badgeGlow{
  0%,100%{box-shadow:0 0 0 1px rgba(255,255,255,0.25) inset,0 0 18px rgba(0,229,255,0.35);}
  50%{box-shadow:0 0 0 1px rgba(255,255,255,0.35) inset,0 0 34px rgba(0,229,255,0.7),0 0 60px rgba(29,255,142,0.25);}
}
@media(prefers-reduced-motion:reduce){.winter-badge,.winter-badge-icon{animation:none;}}
.winter-body p{font-size:15.5px;color:var(--muted);line-height:1.75;max-width:60ch;margin-bottom:14px;}
.winter-body p b{color:var(--white);font-weight:600;}
.winter-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0 28px;}
.winter-fact{
  border:1px solid var(--glass-border);background:var(--glass-bg);
  border-radius:var(--radius-md);padding:16px;
}
.winter-fact-num{font-family:var(--font-display);font-size:20px;font-weight:900;color:var(--cyan);display:block;margin-bottom:4px;}
.winter-fact-label{font-size:13px;color:var(--muted);line-height:1.5;}
.winter-card{
  background:linear-gradient(150deg,rgba(0,229,255,0.07) 0%,rgba(13,20,38,0.92) 100%);
  border:1px solid rgba(0,229,255,0.22);
  border-radius:var(--radius-lg);
  padding:28px 26px;
  position:relative;overflow:hidden;
}
.winter-card::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--cyan),var(--green));}
.winter-card h3{font-family:var(--font-cond);font-size:20px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;margin-bottom:14px;}
.winter-list{display:flex;flex-direction:column;gap:10px;margin-bottom:22px;}
.winter-list li{display:flex;gap:10px;font-size:14.5px;color:var(--white);line-height:1.5;}
.winter-list li::before{content:'✓';color:var(--green);font-weight:700;flex-shrink:0;}
.winter-card-note{font-size:13px;color:var(--muted);margin-top:12px;text-align:center;}
@media(max-width:900px){.winter-layout{grid-template-columns:1fr;gap:32px;}}
@media(max-width:600px){.winter-facts{grid-template-columns:1fr;}}

/* ============================================================
   AREAS
============================================================ */
.areas{background:rgba(7,12,26,0.82);}
.areas-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:44px;
}
.area-card{
  background:var(--glass-bg);
  border:1px solid var(--glass-border);
  border-radius:var(--radius-md);
  padding:20px;
  display:flex;
  align-items:center;
  gap:12px;
  transition:border-color .2s,transform .2s;
}
.area-card:hover{
  border-color:rgba(0,229,255,0.25);
  transform:translateY(-2px);
}
.area-dot{
  width:8px;height:8px;
  border-radius:50%;
  background:var(--cyan);
  box-shadow:0 0 8px var(--cyan);
  flex-shrink:0;
}
.area-name{
  font-family:var(--font-cond);
  font-size:15px;
  font-weight:700;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--white);
}
.area-sub{font-size:12px;color:var(--muted);}

/* ============================================================
   REVIEWS
============================================================ */
.reviews{background:rgba(3,5,15,0.7);}
.reviews-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  margin-top:44px;
}
.review-card{
  background:var(--glass-bg);
  border:1px solid var(--glass-border);
  border-radius:var(--radius-lg);
  padding:26px 24px;
  transition:transform .2s,border-color .2s;
}
.review-card:hover{
  transform:translateY(-3px);
  border-color:rgba(0,229,255,0.2);
}
.review-stars{
  font-size:14px;
  margin-bottom:14px;
  letter-spacing:2px;
  color:var(--green);
  text-shadow:0 0 8px var(--green-glow);
}
.review-text{
  font-size:14px;
  color:var(--muted);
  line-height:1.7;
  margin-bottom:18px;
  font-style:italic;
}
.review-author{
  display:flex;
  align-items:center;
  gap:10px;
}
.review-avatar{
  width:36px;height:36px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--cyan),var(--green));
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:var(--font-display);
  font-size:13px;
  font-weight:700;
  color:var(--bg-void);
  flex-shrink:0;
}
.review-name{
  font-family:var(--font-cond);
  font-size:14px;
  font-weight:700;
  letter-spacing:0.04em;
  text-transform:uppercase;
  color:var(--white);
}
.review-loc{font-size:12px;color:var(--muted);}
.review-avatar{font-size:12px;}
.reviews-more{
  margin-top:28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:16px;
  padding:20px 24px;
  border:1px solid var(--glass-border);
  border-radius:var(--radius-lg);
  background:var(--glass-bg);
}
.reviews-score{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.reviews-score-num{font-family:var(--font-display);font-size:30px;font-weight:900;color:var(--white);}
.reviews-score-stars{color:var(--green);font-size:18px;letter-spacing:2px;text-shadow:0 0 8px var(--green-glow);}
.reviews-score-label{font-family:var(--font-cond);font-size:14px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);}

/* ============================================================
   FAQ
============================================================ */
.faq{background:rgba(7,12,26,0.82);}
.faq-grid{
  max-width:780px;
  margin:44px auto 0;
}
.faq-item{
  border-bottom:1px solid var(--glass-border);
}
.faq-q{
  width:100%;
  background:none;
  border:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:20px 0;
  gap:16px;
  text-align:left;
}
.faq-q-text{
  font-family:var(--font-cond);
  font-size:16px;
  font-weight:700;
  letter-spacing:0.03em;
  text-transform:uppercase;
  color:var(--white);
  transition:color .2s;
}
.faq-q:hover .faq-q-text{color:var(--cyan);}
.faq-icon{
  width:22px;height:22px;
  border-radius:50%;
  border:1.5px solid rgba(0,229,255,0.3);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  font-size:13px;
  color:var(--cyan);
  transition:transform .3s,background .2s;
}
.faq-item.open .faq-icon{
  transform:rotate(45deg);
  background:var(--cyan-glow2);
}
.faq-a{
  overflow:hidden;
  max-height:0;
  transition:max-height .35s ease;
}
.faq-a-inner{
  padding:0 0 20px;
  font-size:14.5px;
  color:var(--muted);
  line-height:1.7;
}
.faq-item.open .faq-a{max-height:420px;}

/* ============================================================
   CTA SECTION
============================================================ */
.cta-section{
  background:rgba(3,5,15,0.7);
  padding:90px 0;
  position:relative;
  overflow:hidden;
}
.cta-section::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse 60% 50% at 50% 50%,rgba(0,229,255,0.05),transparent),
    linear-gradient(180deg,transparent,rgba(0,229,255,0.03),transparent);
}
.cta-box{
  position:relative;
  z-index:1;
  max-width:700px;
  margin:0 auto;
  text-align:center;
}
.cta-box .section-label{justify-content:center;}
.cta-box .section-title{margin-bottom:12px;}
.cta-box .section-desc{margin:0 auto 36px;}
.cta-number{
  font-family:var(--font-display);
  font-size:clamp(28px,5vw,52px);
  font-weight:900;
  color:var(--cyan);
  display:block;
  margin-bottom:6px;
  text-shadow:0 0 30px var(--cyan-glow);
  letter-spacing:0.04em;
}
.cta-number-sub{
  font-family:var(--font-cond);
  font-size:13px;
  letter-spacing:0.15em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:36px;
  display:block;
}
.cta-actions{
  display:flex;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
}

/* ============================================================
   FOOTER
============================================================ */
.footer{
  background:rgba(7,12,26,0.9);
  border-top:1px solid var(--glass-border);
  padding:40px 0 24px;
}
.footer-inner{
  max-width:1100px;
  margin:0 auto;
  padding:0 20px;
}
.footer-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:20px;
  margin-bottom:32px;
}
.footer-logo{
  font-family:var(--font-display);
  font-size:13px;
  font-weight:700;
  color:var(--cyan);
  text-transform:uppercase;
  letter-spacing:0.08em;
}
.footer-logo span{display:block;color:var(--muted);font-size:11px;font-weight:400;letter-spacing:0.14em;margin-top:2px;}
.footer-links{
  display:flex;
  gap:20px;
  flex-wrap:wrap;
}
.footer-links a{
  font-family:var(--font-cond);
  font-size:12px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--muted);
  transition:color .2s;
}
.footer-links a:hover{color:var(--cyan);}
.footer-bottom{
  border-top:1px solid var(--glass-border);
  padding-top:20px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}
.footer-copy{
  font-size:12px;
  color:var(--muted);
  font-family:var(--font-cond);
  letter-spacing:0.06em;
}
.footer-areas{
  font-size:12px;
  color:var(--muted);
  font-family:var(--font-cond);
  letter-spacing:0.04em;
}

/* ============================================================
   FLOATING BAR (mobile)
============================================================ */
.float-bar{
  position:fixed;
  bottom:0;left:0;right:0;
  z-index:1000;
  background:rgba(7,12,26,0.98);
  border-top:1px solid var(--glass-border);
  padding:12px 16px;
  display:none;
}
.float-bar-inner{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  max-width:480px;
  margin:0 auto;
}
.float-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px;
  border-radius:var(--radius-md);
  font-family:var(--font-cond);
  font-size:14px;
  font-weight:800;
  letter-spacing:0.08em;
  text-transform:uppercase;
  border:none;
  cursor:pointer;
  transition:transform .15s,box-shadow .15s;
  text-decoration:none;
}
.float-btn-call{
  background:var(--green);
  color:var(--bg-void);
  box-shadow:0 0 16px var(--green-glow);
}
.float-btn-text{
  background:var(--green);
  color:var(--bg-void);
  box-shadow:0 0 16px var(--green-glow);
}
.float-btn-emergency{
  background:linear-gradient(180deg,#ff5c5c 0%,#e63232 100%);
  color:#ffffff;
  animation:callPulse 2.4s ease-in-out infinite;
}
.float-btn:hover{transform:scale(0.97);}

/* ============================================================
   SNOWFALL
============================================================ */
#snow{
  position:fixed;
  top:0;left:0;
  width:100vw;
  height:100lvh;
  pointer-events:none;
  z-index:0;
  transform:translateZ(0);
}
/* All page content stacks above the snow */
.ticker-wrap,.hero,.stats-strip,.section,.cta-section,.footer{position:relative;z-index:1;}
.nav{z-index:900;}

/* ============================================================
   BIG SIDE SNOWFLAKES
============================================================ */
.big-flake{
  position:absolute;
  z-index:1;
  pointer-events:none;
  color:#dff4ff;
  filter:drop-shadow(0 0 18px rgba(0,229,255,0.45));
  animation:flakeSpin 40s linear infinite, flakeBob 9s ease-in-out infinite;
}
.big-flake svg{width:100%;height:100%;display:block;}
.bf-1{width:230px;height:230px;top:8%;right:-60px;opacity:0.22;}
.bf-2{width:120px;height:120px;top:46%;right:6%;opacity:0.16;animation-duration:55s,11s;animation-direction:reverse,normal;}
.bf-3{width:180px;height:180px;bottom:6%;left:-50px;opacity:0.18;animation-duration:48s,10s;}
.bf-4{width:80px;height:80px;top:14%;left:4%;opacity:0.14;animation-duration:36s,8s;animation-direction:reverse,normal;}
.bf-5{width:60px;height:60px;bottom:20%;right:22%;opacity:0.12;animation-duration:30s,7s;}
@keyframes flakeSpin{from{rotate:0deg;}to{rotate:360deg;}}
@keyframes flakeBob{0%,100%{translate:0 0;}50%{translate:0 -18px;}}
@media(max-width:900px){
  .bf-1{width:140px;height:140px;right:-70px;top:3%;opacity:0.12;}
  .bf-2,.bf-5{display:none;}
  .bf-3{width:110px;height:110px;left:-60px;opacity:0.1;}
  .bf-4{display:none;}
}

/* ============================================================
   WINTER POPUP
============================================================ */
.promo{
  position:fixed;
  inset:0;
  z-index:2000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(3,5,15,0.72);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  opacity:0;
  transition:opacity .35s ease;
}
.promo.show{opacity:1;}
.promo[hidden]{display:none !important;}
.promo-card{
  position:relative;
  width:100%;
  max-width:440px;
  background:linear-gradient(160deg,#0c1a30 0%,#070c1a 100%);
  border:1px solid rgba(0,229,255,0.3);
  border-radius:var(--radius-lg);
  padding:34px 28px 26px;
  text-align:center;
  box-shadow:0 30px 80px rgba(0,0,0,0.6),0 0 60px rgba(0,229,255,0.12);
  overflow:hidden;
  transform:translateY(24px) scale(0.97);
  transition:transform .4s cubic-bezier(.2,.9,.3,1.2);
}
.promo.show .promo-card{transform:none;}
.promo-card:focus{outline:none;}
.promo-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--cyan),var(--green));}
.promo-flake{
  position:absolute;width:160px;height:160px;top:-50px;right:-50px;
  color:#dff4ff;opacity:0.12;animation:flakeSpin 30s linear infinite;pointer-events:none;
}
.promo-flake svg{width:100%;height:100%;}
.promo-close{
  position:absolute;top:12px;right:12px;
  width:34px;height:34px;border-radius:50%;
  background:rgba(255,255,255,0.06);border:1px solid var(--glass-border);
  color:var(--muted);font-size:18px;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:color .2s,background .2s;
}
.promo-close:hover,.promo-close:focus-visible{color:var(--white);background:rgba(255,255,255,0.12);outline:none;}
.promo-kicker{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-cond);font-size:13px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;
  color:#bff3ff;
  background:rgba(0,229,255,0.1);
  border:1px solid rgba(0,229,255,0.35);
  border-radius:40px;padding:6px 14px 6px 12px;margin-bottom:16px;
}
.promo-kicker .winter-badge-icon{font-size:14px;color:var(--cyan);animation:none;}
.promo-step[hidden]{display:none !important;}
.promo-card{max-height:92vh;overflow-y:auto;overscroll-behavior:contain;}

/* Booking form */
.book-head{text-align:left;margin-bottom:16px;}
.book-back{background:none;border:none;color:var(--muted);font-family:var(--font-cond);font-size:13px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;padding:0;margin-bottom:10px;}
.book-back:hover,.book-back:focus-visible{color:var(--white);outline:none;}
.book-title{font-family:var(--font-display);font-size:20px;font-weight:900;text-transform:uppercase;line-height:1.15;}
.book-sub{font-size:13.5px;color:var(--muted);margin-top:6px;}
.book-form{display:flex;flex-direction:column;gap:12px;text-align:left;}
.book-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.book-field{display:flex;flex-direction:column;gap:5px;}
.book-field label,.book-legend{font-family:var(--font-cond);font-size:12px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--cyan);}
.book-field label i,.book-legend i{font-style:normal;color:var(--muted);font-weight:500;letter-spacing:0.04em;text-transform:none;}
.book-field input,.book-field select{
  width:100%;
  background:#050a17;
  border:1px solid rgba(0,229,255,0.22);
  border-radius:10px;
  padding:11px 12px;
  color:var(--white);
  font-family:var(--font-body);
  font-size:16px;
  color-scheme:dark;
}
.book-field input::placeholder{color:#56648a;}
.book-field input:focus,.book-field select:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(0,229,255,0.15);}
.book-field.err input{border-color:var(--red);}
.book-chips{display:flex;flex-wrap:wrap;gap:8px;border:none;padding:0;margin:0;}
.book-chips legend{margin-bottom:6px;}
.book-chips label{cursor:pointer;}
.book-chips input{position:absolute;opacity:0;pointer-events:none;}
.book-chips span{
  display:inline-block;padding:9px 14px;border-radius:40px;
  border:1px solid rgba(0,229,255,0.25);background:#050a17;
  font-family:var(--font-cond);font-size:14px;font-weight:700;letter-spacing:0.05em;color:var(--muted);
  transition:all .15s;
}
.book-chips input:checked + span{background:var(--cyan);color:#03101f;border-color:var(--cyan);}
.book-chips input:focus-visible + span{box-shadow:0 0 0 3px rgba(0,229,255,0.3);}
.book-chips.err span{border-color:var(--red);}
.book-error{font-size:13px;color:var(--red);min-height:0;}
.book-form .btn-primary{width:100%;justify-content:center;margin-top:4px;}
.book-note{font-size:12.5px;color:var(--muted);text-align:center;line-height:1.5;}
.book-note b{color:var(--white);}
@media(max-width:600px){.book-row{grid-template-columns:1fr;}}
.promo-title{
  font-family:var(--font-display);font-size:26px;font-weight:900;text-transform:uppercase;line-height:1.1;
  margin-bottom:12px;
}
.promo-title span{display:block;background:linear-gradient(90deg,var(--cyan),var(--green));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.promo-text{font-size:15px;color:var(--muted);line-height:1.6;margin-bottom:22px;}
.promo-text b{color:var(--white);font-weight:600;}
.promo-card .btn-primary{width:100%;justify-content:center;}
.promo-later{
  display:block;margin:14px auto 0;background:none;border:none;cursor:pointer;
  font-family:var(--font-cond);font-size:13px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);
}
.promo-later:hover,.promo-later:focus-visible{color:var(--white);outline:none;text-decoration:underline;}
.promo-foot{margin-top:14px;padding-top:14px;border-top:1px solid var(--glass-border);font-size:12.5px;color:var(--muted);}
@media(max-width:600px){
  .promo{align-items:flex-end;padding:0;}
  .promo-card{max-width:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:50px 22px calc(22px + env(safe-area-inset-bottom,0px));transform:translateY(100%);}
  .promo-title{font-size:22px;}
  .promo-kicker{font-size:12px;letter-spacing:0.06em;white-space:nowrap;padding:6px 12px 6px 10px;}
}
@media(prefers-reduced-motion:reduce){
  .big-flake,.promo-flake{animation:none;}
  .promo,.promo-card{transition:none;}
}

/* ============================================================
   REVEAL ANIMATIONS
============================================================ */
.reveal{
  opacity:0;
  transform:translateY(30px);
  transition:opacity .65s ease,transform .65s ease;
}
.reveal.visible{opacity:1;transform:none;}

/* ============================================================
   RESPONSIVE
============================================================ */
@media(max-width:900px){
  .services-grid{grid-template-columns:1fr 1fr;}
  .why-layout{grid-template-columns:1fr;}
  .areas-grid{grid-template-columns:1fr 1fr;}
  .reviews-grid{grid-template-columns:1fr;}
  .stats-grid{grid-template-columns:repeat(2,1fr);}
  .nav-links{display:none;}
  .float-bar{display:block;}
  body{padding-bottom:80px;}
}
@media(max-width:600px){
  .services-grid{grid-template-columns:1fr;}
  .areas-grid{grid-template-columns:1fr 1fr;}
  .hero-lanes{grid-template-columns:1fr;}
  .lane .btn-primary,.lane .btn-emergency{align-self:stretch;justify-content:center;}
  .float-bar-inner{grid-template-columns:1fr 1fr;}
  .nav-long{display:none;}
  .btn-nav-text{display:none;}
  .nav-logo{font-size:11px;}
  .float-btn{white-space:nowrap;font-size:13px;letter-spacing:0.06em;padding:12px 8px;}
  .cta-actions{flex-direction:column;align-items:center;}
  .cta-actions .btn-primary,.cta-actions .btn-secondary,.cta-actions .btn-emergency{width:100%;justify-content:center;}
  .footer-top{flex-direction:column;align-items:flex-start;}
  .footer-bottom{flex-direction:column;align-items:flex-start;}
  .stats-grid{grid-template-columns:repeat(2,1fr);}
}

/* ============================================================
   MULTI-PAGE ADDITIONS
============================================================ */
a.nav-logo{text-decoration:none;}
.nav-links a[aria-current="page"]{color:var(--cyan);background:var(--cyan-glow2);}
a.service-card{display:block;color:inherit;text-decoration:none;cursor:pointer;}
.service-more{display:inline-block;margin-top:14px;margin-left:10px;font-family:var(--font-cond);font-size:13px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--cyan);}
a.service-card:hover .service-more{text-decoration:underline;}
.text-link{color:var(--cyan);font-weight:600;text-decoration:underline;text-underline-offset:3px;}

/* Footer columns */
.footer-cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px;margin-bottom:28px;}
a.footer-logo{display:block;text-decoration:none;margin-bottom:12px;}
.footer-addr{font-size:13px;color:var(--muted);line-height:1.6;margin-top:6px;}
.footer-addr a{color:var(--white);font-weight:600;}
.footer-col{display:flex;flex-direction:column;gap:8px;}
.footer-h{font-family:var(--font-cond);font-size:12px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--cyan);margin-bottom:4px;}
.footer-col a{font-size:14px;color:var(--muted);transition:color .2s;}
.footer-col a:hover{color:var(--white);}
@media(max-width:700px){.footer-cols{grid-template-columns:1fr 1fr;}.footer-cols>div:first-child{grid-column:1/-1;}}

/* Service page hero */
.page-hero{position:relative;z-index:1;overflow:hidden;padding:56px 0 52px;}
.page-hero .container{position:relative;z-index:2;}
.crumbs{display:flex;flex-wrap:wrap;gap:6px;font-family:var(--font-cond);font-size:13px;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);margin-bottom:18px;}
.crumbs a{color:var(--muted);}
.crumbs a:hover{color:var(--cyan);}
.page-h1{font-family:var(--font-display);font-weight:900;text-transform:uppercase;line-height:1.02;letter-spacing:-0.01em;font-size:clamp(32px,6vw,62px);max-width:16ch;text-wrap:balance;margin-bottom:18px;}
.page-h1 span{background:linear-gradient(90deg,var(--cyan),var(--green));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.page-lead{font-size:18px;color:var(--muted);max-width:58ch;line-height:1.65;margin-bottom:28px;}
.page-lead b{color:var(--white);font-weight:600;}
.page-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:26px;}
.trust-row{display:flex;flex-wrap:wrap;gap:10px 22px;font-family:var(--font-cond);font-size:14px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--muted);}
.trust-row b{color:var(--white);}
.trust-row .stars{color:var(--green);letter-spacing:1px;}

/* Page body */
.page-body{position:relative;z-index:1;background:rgba(7,12,26,0.82);padding:72px 0;}
.page-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:48px;align-items:start;}
.prose{max-width:68ch;}
.prose h2{font-family:var(--font-display);font-size:clamp(22px,3vw,30px);font-weight:900;text-transform:uppercase;line-height:1.15;margin:44px 0 14px;text-wrap:balance;}
.prose h2:first-child{margin-top:0;}
.prose h3{font-family:var(--font-cond);font-size:19px;font-weight:700;letter-spacing:0.03em;text-transform:uppercase;margin:24px 0 8px;color:var(--white);}
.prose p{font-size:16px;color:var(--muted);line-height:1.75;margin-bottom:14px;}
.prose p b,.prose li b{color:var(--white);font-weight:600;}
.checks{display:flex;flex-direction:column;gap:10px;margin:8px 0 18px;}
.checks li{display:flex;gap:12px;font-size:15.5px;color:var(--white);line-height:1.55;}
.checks li::before{content:'✓';color:var(--green);font-weight:800;flex-shrink:0;}
.checks.warn li::before{content:'!';color:var(--red);width:1ch;text-align:center;}
.steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:14px 0 8px;}
.step{border:1px solid var(--glass-border);background:var(--glass-bg);border-radius:var(--radius-md);padding:18px;}
.step-n{font-family:var(--font-display);font-size:13px;font-weight:700;color:var(--cyan);display:block;margin-bottom:8px;}
.step-t{font-family:var(--font-cond);font-size:17px;font-weight:700;text-transform:uppercase;letter-spacing:0.03em;margin-bottom:4px;}
.step-d{font-size:14px;color:var(--muted);line-height:1.55;}
.callout{border:1px solid rgba(255,77,77,0.35);background:rgba(255,77,77,0.06);border-radius:var(--radius-md);padding:18px 20px;margin:18px 0;}
.callout.info{border-color:rgba(0,229,255,0.3);background:rgba(0,229,255,0.05);}
.callout p{margin:0;color:var(--white);}
.chip-list{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 6px;}
.chip-list span{font-family:var(--font-cond);font-size:14px;font-weight:600;letter-spacing:0.05em;color:var(--white);border:1px solid var(--glass-border);background:var(--glass-bg);border-radius:40px;padding:6px 14px;}
.side-card{position:sticky;top:90px;border:1px solid rgba(0,229,255,0.25);background:linear-gradient(150deg,rgba(0,229,255,0.07),rgba(13,20,38,0.96));border-radius:var(--radius-lg);padding:24px 22px;overflow:hidden;}
.side-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--cyan),var(--green));}
.side-title{font-family:var(--font-cond);font-size:20px;font-weight:700;text-transform:uppercase;letter-spacing:0.03em;margin-bottom:6px;}
.side-sub{font-size:14px;color:var(--muted);margin-bottom:16px;line-height:1.55;}
.side-num{display:block;font-family:var(--font-display);font-size:24px;font-weight:900;color:var(--white);margin-bottom:16px;letter-spacing:0.03em;}
.side-card .btn-primary,.side-card .btn-emergency{width:100%;justify-content:center;}
.side-actions{display:flex;flex-direction:column;gap:10px;}
.side-meta{margin-top:16px;padding-top:14px;border-top:1px solid var(--glass-border);display:flex;flex-direction:column;gap:6px;font-size:13.5px;color:var(--muted);}
.side-meta b{color:var(--white);}
.related{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:10px;}
.related a{display:block;border:1px solid var(--glass-border);background:var(--glass-bg);border-radius:var(--radius-md);padding:16px;transition:border-color .2s,transform .2s;}
.related a:hover{border-color:rgba(0,229,255,0.35);transform:translateY(-2px);}
.related b{display:block;font-family:var(--font-cond);font-size:17px;text-transform:uppercase;letter-spacing:0.03em;margin-bottom:4px;}
.related span{font-size:13.5px;color:var(--muted);}
@media(max-width:900px){
  .page-grid{grid-template-columns:1fr;}
  .side-card{position:static;}
  .steps3,.related{grid-template-columns:1fr;}
}
@media(max-width:600px){
  .page-actions .btn-primary,.page-actions .btn-emergency{width:100%;justify-content:center;}
  .page-lead{font-size:16.5px;}
  .page-hero{padding:40px 0 40px;}
}

/* ============================================================
   MOBILE BOOKING PUSH (Oct 2026)
   - 3-button bottom bar: Book | Text | Call (only on pages whose bar has .has-book)
   - Winter banner at the top of the homepage (mobile only)
   - Tappable service cards + winter card "Book now"
============================================================ */
/* bottom bar: Book first and brightest */
.float-btn-book{
  background:linear-gradient(180deg,#5ff2ff 0%,#00e5ff 55%,#00c8e0 100%);
  color:var(--bg-void);
  box-shadow:0 0 0 1px rgba(255,255,255,0.35) inset,0 0 22px rgba(0,229,255,0.55);
}
.float-bar-inner.has-book{grid-template-columns:1.25fr 1fr 1fr;gap:8px;}
.float-bar-inner.has-book .float-btn-text{
  background:#0c2a22;
  color:var(--green);
  box-shadow:none;
  border:1px solid rgba(29,255,142,0.55);
}
.float-bar-inner.has-book .float-btn{padding:13px 6px;font-size:14px;letter-spacing:0.07em;white-space:nowrap;}
.float-bar-inner.has-book .float-btn-book{font-size:15px;}

/* winter banner (homepage, mobile only) */
.m-winter-banner{display:none;}
@media(max-width:900px){
  .m-winter-banner{
    display:block;
    position:relative;z-index:2;
    padding:11px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
    background:linear-gradient(90deg,#0b2a3a 0%,#0e3b4f 50%,#0b2a3a 100%);
    border-bottom:1px solid rgba(0,229,255,0.45);
    color:var(--white);text-decoration:none;text-align:center;
    font-family:var(--font-cond);font-size:clamp(13px,4vw,16px);font-weight:700;letter-spacing:0.01em;line-height:1.25;
  }
  .m-winter-banner b{color:var(--cyan);font-weight:800;}
  .m-winter-banner .arr{color:var(--cyan);font-weight:800;margin-left:2px;}
}

/* service cards: look tappable */
a.service-card,.service-card.has-book{cursor:pointer;}
.service-card .service-name{font-size:15px;}
.service-card .service-desc{font-size:15px;line-height:1.55;}
.service-card .service-more{font-size:15px;}
.service-card .card-arrow{
  position:absolute;top:22px;right:20px;
  width:34px;height:34px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(0,229,255,0.35);background:rgba(0,229,255,0.08);
  color:var(--cyan);font-size:18px;font-weight:700;line-height:1;
  transition:transform .2s,background .2s;
}
a.service-card:hover .card-arrow,.service-card.has-book:hover .card-arrow{transform:translateX(3px);background:rgba(0,229,255,0.16);}
a.service-card:active,.service-card.has-book:active{transform:scale(0.985);}
/* winter card: whole card -> winter page; Book now button sits above the card link */
.service-card.has-book{border-color:rgba(0,229,255,0.4);background:linear-gradient(135deg,rgba(0,229,255,0.1) 0%,rgba(13,20,38,0.9) 100%);}
.service-card.has-book .card-link{color:inherit;text-decoration:none;}
.service-card.has-book .card-link::after{content:'';position:absolute;inset:0;z-index:1;}
.service-card .service-price{display:block;margin-top:10px;font-family:var(--font-cond);font-size:18px;font-weight:700;color:var(--white);letter-spacing:0.02em;}
.service-card .service-price b{color:var(--green);font-size:22px;}
.service-card .card-book{
  position:relative;z-index:2;
  display:flex;align-items:center;justify-content:center;gap:8px;
  margin-top:14px;padding:13px 16px;border-radius:var(--radius-md);
  background:linear-gradient(180deg,#5ff2ff 0%,#00e5ff 55%,#00c8e0 100%);
  color:var(--bg-void);text-decoration:none;
  font-family:var(--font-cond);font-size:16px;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;
  box-shadow:0 0 18px rgba(0,229,255,0.4);
}
.service-card .card-book:hover{filter:brightness(1.08);}
@media(max-width:600px){
  .service-card{padding:22px 20px;}
  .service-card .service-name{font-size:16px;padding-right:44px;}
  .service-card .service-icon{font-size:30px;margin-bottom:12px;}
}

/* m-winter-banner fit (v6): show the whole line on phones instead of cutting it off */
@media(max-width:900px){
  .m-winter-banner{white-space:normal;overflow:visible;text-overflow:clip;font-size:clamp(12px,3.4vw,16px);letter-spacing:0;padding:10px 8px;}
}

/* ---- Toronto additions ---- */
html,body{overflow-x:hidden;}
.areas-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));}
@media (max-width:480px){.areas-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
a.area-card{text-decoration:none;color:inherit;min-width:0;}
a.area-card:hover{border-color:var(--cyan,#00e5ff);}
.area-name{overflow-wrap:anywhere;}
.chip-list a{text-decoration:none;}
