/* ===== DELHI AC REPAIR – SHARED STYLESHEET ===== */
:root {
  --blue: #111111; --blue-dark: #000000; --blue-light: #f0f0f0;
  --green: #333333; --green-dark: #111111; --green-light: #e8e8e8;
  --black: #0f172a; --gray-900: #1e293b; --gray-700: #334155;
  --gray-500: #64748b; --gray-200: #e2e8f0; --gray-100: #f1f5f9; --white: #ffffff;
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.07),0 1px 2px rgba(0,0,0,0.04);
  --shadow-md: 0 4px 16px rgba(0,0,0,0.09),0 2px 6px rgba(0,0,0,0.05);
  --shadow-lg: 0 10px 40px rgba(0,0,0,0.11),0 4px 16px rgba(0,0,0,0.06);
  --radius: 14px; --radius-sm: 9px; --header-h: 66px;
  --font: 'Plus Jakarta Sans', sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;overflow-x:hidden;}
body{font-family:var(--font);color:var(--gray-900);background:var(--white);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
h1,h2,h3,h4{font-family:var(--font);line-height:1.2;}

/* Layout */
.container{max-width:1160px;margin:0 auto;padding:0 20px;}
.section-pad{padding:80px 0;}
.section-title{font-size:clamp(1.65rem,3vw,2.5rem);font-weight:800;color:var(--black);margin-bottom:12px;letter-spacing:-0.02em;}
.section-sub{font-size:1.05rem;color:var(--gray-500);max-width:580px;line-height:1.7;}
.section-header{margin-bottom:52px;}
.tag{display:inline-flex;align-items:center;font-size:0.78rem;font-weight:700;letter-spacing:0.07em;text-transform:uppercase;color:var(--blue);background:var(--blue-light);padding:5px 14px;border-radius:100px;margin-bottom:14px;}

/* ── BUTTONS ────────────────────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font);font-weight:700;font-size:0.92rem;padding:11px 22px;border-radius:999px;border:none;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background 0.18s ease,transform 0.18s ease,box-shadow 0.18s ease;}
.btn:hover{transform:translateY(-2px);}
.btn:active{transform:translateY(1px) scale(0.98);transition-duration:0.08s;}

/* Call Now — blue pill */
.btn-blue{background:#1a56db;color:#fff;box-shadow:0 3px 12px rgba(26,86,219,0.35);}
.btn-blue:hover{background:#1447c0;box-shadow:0 6px 20px rgba(26,86,219,0.45);}
.btn-blue:active{background:#0f3a9e;}

/* Book Now / WhatsApp — green pill */
.btn-green{background:#16a34a;color:#fff;box-shadow:0 3px 12px rgba(22,163,74,0.35);}
.btn-green:hover{background:#15803d;box-shadow:0 6px 20px rgba(22,163,74,0.45);}
.btn-green:active{background:#166534;}

.btn-outline{background:transparent;color:#1a56db;border:2px solid #1a56db;}
.btn-outline:hover{background:#eff6ff;}
.btn-lg{font-size:1rem;padding:13px 28px;}

/* White (used on dark backgrounds) */
.btn-white{background:#fff;color:#1a56db;font-weight:800;box-shadow:0 3px 12px rgba(0,0,0,0.15);}
.btn-white:hover{background:#f0f4ff;box-shadow:0 6px 20px rgba(0,0,0,0.2);}
.btn-white:active{background:#e0eaff;}

/* WhatsApp dark */
.btn-wa{background:#16a34a;color:#fff;box-shadow:0 3px 12px rgba(22,163,74,0.35);}
.btn-wa:hover{background:#15803d;box-shadow:0 6px 20px rgba(22,163,74,0.45);}
.btn-wa:active{background:#166534;}

/* Header */
.header{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--header-h);background:var(--white);border-bottom:1px solid var(--gray-200);box-shadow:var(--shadow-sm);}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:100%;}

/* Logo — rectangle placeholder */
.logo{display:flex;align-items:center;width:25%;min-width:160px;}
.logo-rect{display:block;width:100%;max-width:220px;height:auto;overflow:visible;}
.logo-rect svg,.logo-rect img{width:100%;height:auto;object-fit:contain;display:block;}
.logo-rect-sm{display:block;width:180px;height:auto;margin-bottom:14px;overflow:visible;}
.logo-rect-sm svg,.logo-rect-sm img{width:100%;height:auto;object-fit:contain;display:block;}
.site-logo-svg{display:block;width:100%;height:auto;}
@media(max-width:480px){.logo{min-width:120px;}.logo-rect{max-width:150px;}.logo-rect-sm{width:130px;}}

.nav-links{display:none;align-items:center;gap:22px;}
.nav-links a{font-size:0.88rem;font-weight:600;color:var(--gray-700);padding-bottom:3px;border-bottom:2px solid transparent;transition:color 0.18s,border-color 0.18s;}
.nav-links a:hover,.nav-links a.active{color:var(--blue);border-color:var(--blue);}
.header-right{display:flex;align-items:center;gap:10px;}
.header-call{display:inline-flex;align-items:center;gap:6px;background:var(--blue);color:#fff;font-weight:700;font-size:0.72rem;padding:7px 14px 7px 10px;border-radius:999px;border:none;transition:box-shadow 0.22s,transform 0.22s cubic-bezier(0.34,1.56,0.64,1);white-space:nowrap;text-decoration:none;}
.header-call:hover{box-shadow:0 6px 20px rgba(0,0,0,0.28);transform:translateY(-2px);}
.call-num{display:inline;color:#fff;font-size:0.72rem;font-weight:700;letter-spacing:0.01em;}
.call-icon-wrap{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0;}
.call-icon-wrap svg{stroke:#fff;}
.hamburger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;background:none;border:none;cursor:pointer;padding:8px;border-radius:8px;transition:opacity 0.2s;}
.hamburger:hover{opacity:0.7;}
.hamburger span{display:block;width:100%;height:2px;background:var(--black);border-radius:2px;transition:transform 0.25s,opacity 0.25s;}
.hamburger.active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.active span:nth-child(2){opacity:0;}
.hamburger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
@media(min-width:768px){.nav-links{display:flex;}.hamburger{display:none;}}
.nav-overlay{display:none;position:fixed;inset:0;background:rgba(15,23,42,0.5);z-index:998;opacity:0;transition:opacity 0.25s;}
.nav-overlay.open{display:block;opacity:1;}
.mobile-menu{position:fixed;top:0;right:0;width:280px;height:100%;background:var(--white);z-index:999;transform:translateX(100%);transition:transform 0.3s cubic-bezier(0.4,0,0.2,1);padding:84px 24px 40px;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);}
.mobile-menu.open{transform:translateX(0);}
.mobile-menu a{display:block;padding:13px 0;font-size:1rem;font-weight:600;color:var(--gray-900);border-bottom:1px solid var(--gray-100);transition:color 0.15s,padding-left 0.2s;}
.mobile-menu a:hover{color:var(--blue);padding-left:6px;}
.mobile-menu .menu-call{margin-top:20px;background:var(--blue);color:var(--white);padding:14px 20px;border-radius:10px;text-align:center;border-bottom:none;}
.mobile-menu .menu-call:hover{background:var(--blue-dark);padding-left:20px;}

/* WhatsApp float */
.wa-float{position:fixed;bottom:24px;right:24px;z-index:900;width:56px;height:56px;background:#222222;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 24px rgba(0,0,0,0.35);transition:transform 0.25s cubic-bezier(0.34,1.56,0.64,1),box-shadow 0.25s ease;}
.wa-float:hover{transform:scale(1.12);box-shadow:0 12px 36px rgba(0,0,0,0.4);}
.wa-float svg{width:28px;height:28px;}

/* ── HERO ── */
.hero{padding-top:var(--header-h);background:#fff;position:relative;overflow:hidden;min-height:calc(100vh - var(--header-h));display:flex;align-items:stretch;}
.hero-image-wrap{position:absolute;top:0;right:0;width:80%;height:100%;z-index:0;}
.hero-image-wrap img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block;}
/* White fade from left so desktop text is readable */
.hero::before{content:'';position:absolute;top:0;left:0;width:55%;height:100%;z-index:1;background:linear-gradient(to right,#fff 0%,#fff 45%,rgba(255,255,255,0.85) 65%,rgba(255,255,255,0) 100%);pointer-events:none;}

.hero-content-wrap{position:relative;z-index:3;width:100%;padding:72px 0 80px;}
.hero-inner{max-width:600px;}
.hero-badge-desktop{font-size:0.85rem;padding:6px 14px;margin-bottom:22px;}
.hero-title-desktop{font-size:clamp(2rem,4.5vw,3.4rem) !important;color:var(--black);font-weight:800;letter-spacing:-0.025em;line-height:1.18;margin-bottom:20px;}
.live-badge{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--gray-200);border-radius:100px;padding:6px 14px;font-size:0.85rem;font-weight:600;color:var(--gray-700);margin-bottom:22px;box-shadow:var(--shadow-sm);}
.live-dot{width:8px;height:8px;background:#16a34a;border-radius:50%;animation:green-pulse 1.6s infinite;flex-shrink:0;}
@keyframes green-pulse{0%,100%{box-shadow:0 0 0 0 rgba(22,163,74,0.6);}50%{box-shadow:0 0 0 7px rgba(22,163,74,0);}}
/* Hero CTAs — row on desktop */
.hero-ctas-overlay{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px;margin-top:0;margin-bottom:44px;}

.hero h1{font-size:clamp(2rem,4.5vw,3.4rem);font-weight:800;color:var(--black);margin-bottom:20px;letter-spacing:-0.025em;}
.hero h1 .highlight{color:var(--blue);}
.hero-desc{font-size:1.05rem;color:var(--gray-500);max-width:480px;margin-bottom:32px;line-height:1.75;}
.hero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:48px;}
.hero-ctas .btn{font-size:1rem;padding:14px 30px;}
.hero-stats{display:flex;flex-wrap:wrap;background:var(--white);border:1px solid var(--gray-200);border-radius:14px;box-shadow:var(--shadow-md);overflow:hidden;max-width:480px;}
.stat-item-hero{flex:1;min-width:100px;padding:20px 16px;text-align:center;border-right:1px solid var(--gray-200);}
.stat-item-hero:last-child{border-right:none;}
.stat-num-hero{font-size:1.65rem;font-weight:800;color:#111111;line-height:1;margin-bottom:5px;}
.stat-label-hero{font-size:0.8rem;color:var(--gray-500);font-weight:500;}

/* Mobile hero */
/* Desktop: hide mobile-only elements */
.hero-image-badge-area { display: none; }
.hero-mobile-below { display: none; }
.hero-ctas-mobile { display: none; }
.hero-desc-mobile { display: none; }

@media(max-width:767px){
  /* Hide desktop overlay, show content-wrap below image instead */
  .hero-badge-desktop { display: none !important; }
  .hero-title-desktop { display: none !important; }
  .hero-image-badge-area { display: none !important; }
  .hero-content-wrap { display: block !important; }
  .hero::before { display: none; }

  /* Hero stacks: image on top, content below */
  .hero { flex-direction: column; min-height: unset; background: #fff; padding-bottom: 0; overflow: hidden; }

  /* Full-width image — 56vw height keeps good proportion on phones */
  .hero-image-wrap { position: relative !important; width: 100% !important; max-width: 100% !important; height: 56vw; min-height: 220px; max-height: 380px; flex-shrink: 0; z-index: 0; overflow: hidden; left: auto !important; right: auto !important; top: auto !important; }
  .hero-image-wrap img { width: 100%; height: 100%; object-fit: cover; object-position: center center; display: block; }

  /* Slider fills the image-wrap exactly — no height jump */
  .hero-slider { height: 100%; }
  .hero-slide { inset: 0; }

  /* Content block below image — centred */
  .hero-content-wrap { padding: 28px 20px 32px !important; background: #fff; }
  .hero-inner { max-width: 100% !important; text-align: center; }

  /* Badge */
  .hero-content-wrap .live-badge { display: inline-flex; margin: 0 auto 16px; font-size: 0.75rem; padding: 5px 12px; }

  /* H1 */
  .hero-content-wrap .hero-title-desktop { display: block !important; font-size: clamp(1.55rem, 6.5vw, 2rem) !important; text-align: center; margin-bottom: 12px; }

  /* Description */
  .hero-desc { font-size: 0.92rem; text-align: center; margin: 0 auto 24px; max-width: 100%; color: var(--gray-500); }

  /* CTAs — centred row */
  .hero-content-wrap .hero-ctas-overlay { justify-content: center; flex-direction: row; gap: 10px; margin-bottom: 28px; }
  .hero-content-wrap .hero-pill-btn { flex: 1; max-width: 160px; height: 42px; font-size: 0.85rem; padding: 0 12px; border-radius: 999px; }

  /* Stats strip — centred */
  .hero-stats { max-width: 100%; justify-content: center; border-radius: 10px; }
}

/* ── Services Grid ───────────────────────────────────────────────────────── */
.services-grid{display:grid;grid-template-columns:1fr;gap:16px;}
@media(min-width:540px){.services-grid{grid-template-columns:repeat(2,1fr);gap:16px;}}
@media(min-width:860px){.services-grid{grid-template-columns:repeat(3,1fr);gap:20px;}}
@media(min-width:1100px){.services-grid{grid-template-columns:repeat(4,1fr);gap:20px;}}

/* ── Square Service Card — full-bleed image top, content below ─── */
.service-card{
  position:relative;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 2px 14px rgba(0,0,0,0.10);
  cursor:pointer;
  transition:transform 0.22s ease,box-shadow 0.22s ease;
  display:flex;
  flex-direction:column;
  background:#fff;
}
@media(min-width:860px){.service-card{border-radius:18px;}}
.service-card:hover{
  transform:translateY(-4px) scale(1.02);
  box-shadow:0 10px 30px rgba(0,0,0,0.18);
}

/* Full-bleed image fills top portion of card */
.card-image-slot{
  position:relative;
  width:100%;
  height:160px;
  flex-shrink:0;
  background:linear-gradient(135deg,#c7d8f5 0%,#a8c4f0 100%);
}
@media(min-width:540px){.card-image-slot{height:150px;}}
@media(min-width:860px){.card-image-slot{height:180px;}}
@media(min-width:1100px){.card-image-slot{height:200px;}}
.card-image-slot img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.card-img-placeholder{
  display: none;
}

/* White content panel — below image */
.service-card-body{
  flex:1;
  background:#fff;
  padding:14px 16px 16px;
  display:flex;
  flex-direction:column;
  gap:8px;
}

/* Number badge */
.service-num{
  display:none;
}

/* Title */
.service-card h3{
  font-size:0.92rem;
  font-weight:700;
  color:#111;
  line-height:1.25;
  margin:0;
}
@media(min-width:860px){.service-card h3{font-size:1rem;}}
@media(min-width:1100px){.service-card h3{font-size:1.05rem;}}

/* Bullet list — typewriter font, visible */
.service-card ul{
  display:flex;
  flex-direction:column;
  gap:3px;
  list-style:none;
  padding:0;
  margin:0;
}
.service-card ul li{
  font-size:0.72rem;
  color:#444;
  line-height:1.35;
  padding-left:14px;
  position:relative;
}
.service-card ul li::before{
  content:"▸";
  position:absolute;
  left:0;
  color:#1a56db;
  font-size:0.65rem;
  top:1px;
}
@media(min-width:860px){
  .service-card ul li{font-size:0.75rem;}
}
@media(min-width:1100px){
  .service-card ul li{font-size:0.78rem;}
}

/* CTAs row */
.service-card .service-actions{
  display:flex;
  gap:8px;
  margin:0;
  padding:0;
  border:none;
}

/* CTA buttons in service cards — pill, properly sized */
.service-actions .card-pill-btn{
  flex: 1;
  height: 38px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
  text-decoration: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  transition: background 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
@media(min-width:860px){
  .service-actions .card-pill-btn{height:42px;font-size:0.82rem;padding:0 14px;}
}
@media(min-width:1100px){
  .service-actions .card-pill-btn{height:44px;font-size:0.85rem;padding:0 16px;}
}
.service-actions .card-pill-btn:hover { transform: translateY(-1px); }
.service-actions .card-pill-btn:active { transform: translateY(1px) scale(0.98); }

.service-actions .hero-pill-call{
  background: #1a56db;
  color: #fff;
  box-shadow: 0 2px 10px rgba(26,86,219,0.3);
}
.service-actions .hero-pill-call:hover{ background: #1447c0; box-shadow: 0 4px 16px rgba(26,86,219,0.4); }
.service-actions .hero-pill-call:active{ background: #0f3a9e; }

.service-actions .hero-pill-book{
  background: #16a34a;
  color: #fff;
  box-shadow: 0 2px 10px rgba(22,163,74,0.3);
}
.service-actions .hero-pill-book:hover{ background: #15803d; box-shadow: 0 4px 16px rgba(22,163,74,0.4); }
.service-actions .hero-pill-book:active{ background: #166534; }

.service-actions .card-pill-btn .hero-pill-text{
  font-weight: 700;
  color: #fff;
  font-size: 0.78rem;
}
.service-actions .card-pill-btn .hero-pill-icon{
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  border-radius: 0;
  flex-shrink: 0;
}
.service-actions .card-pill-btn .hero-pill-icon svg { width: 14px; height: 14px; }
.service-actions .hero-pill-call .hero-pill-icon svg { stroke: #fff; }
.service-actions .hero-pill-book .hero-pill-icon svg path { fill: #fff; }

/* Service Card Detail (services page) */
.service-card-detail{background:var(--white);border-radius:var(--radius);border:1.5px solid var(--gray-200);overflow:hidden;box-shadow:var(--shadow-md);transition:transform 0.25s cubic-bezier(0.34,1.56,0.64,1),box-shadow 0.25s ease,border-color 0.2s;}
.service-card-detail:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--blue);}
.scd-head{background:linear-gradient(135deg,#111111 0%,#333333 100%);padding:24px;color:var(--white);display:flex;align-items:center;gap:16px;}
.scd-icon{font-size:2rem;}
.scd-head h3{font-size:1.15rem;font-weight:800;}
.scd-head p{font-size:0.85rem;opacity:0.85;margin-top:4px;}
.scd-body{padding:24px;}
.scd-features{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px;}
.scd-feat{font-size:0.88rem;color:var(--gray-700);display:flex;align-items:flex-start;gap:8px;}
.scd-feat::before{content:'✓';color:var(--green);font-weight:800;flex-shrink:0;}
.scd-price{font-size:0.85rem;color:var(--gray-500);margin-bottom:16px;}
.scd-price strong{color:var(--green);font-size:1rem;}
.scd-actions{display:flex;gap:10px;}
.scd-actions .btn{flex:1;font-size:0.88rem;border-radius:999px;}

/* Stats strip */
.stats-strip{background:var(--blue);padding:48px 0;}
.stats-inner{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;text-align:center;}
@media(min-width:640px){.stats-inner{grid-template-columns:repeat(4,1fr);}}
.stat-item{padding:0;}
.stat-num{font-size:2.2rem;font-weight:800;color:var(--white);line-height:1;margin-bottom:8px;}
.stat-label{font-size:0.88rem;color:rgba(255,255,255,0.75);font-weight:500;}

/* Brands */
.brands-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
@media(min-width:480px){.brands-grid{grid-template-columns:repeat(3,1fr);}}
@media(min-width:768px){.brands-grid{grid-template-columns:repeat(4,1fr);}}
@media(min-width:960px){.brands-grid{grid-template-columns:repeat(6,1fr);}}
.brand-card{background:var(--gray-100);border:1.5px solid var(--gray-200);border-radius:12px;padding:20px 14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;transition:transform 0.25s cubic-bezier(0.34,1.56,0.64,1),box-shadow 0.25s ease,border-color 0.2s,background 0.2s;}
.brand-card:hover{transform:translateY(-5px) scale(1.04);box-shadow:0 8px 28px rgba(0,0,0,0.14);border-color:var(--blue);background:var(--blue-light);}
.brand-abbr{width:50px;height:50px;border-radius:10px;background:var(--white);border:1.5px solid var(--gray-200);display:flex;align-items:center;justify-content:center;font-size:0.72rem;font-weight:800;color:var(--blue);letter-spacing:0.04em;transition:border-color 0.2s;}
.brand-card:hover .brand-abbr{border-color:var(--blue);}
.brand-name{font-size:0.82rem;font-weight:700;color:var(--gray-700);}

/* Reviews */
.reviews-row{display:grid;grid-template-columns:1fr;gap:16px;}
@media(min-width:560px){.reviews-row{grid-template-columns:repeat(2,1fr);}}
@media(min-width:900px){.reviews-row{grid-template-columns:repeat(3,1fr);}}
.review-card{background:var(--white);border:1.5px solid var(--gray-200);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow-sm);transition:transform 0.25s cubic-bezier(0.34,1.56,0.64,1),box-shadow 0.25s ease,border-color 0.2s;}
.review-card:hover{transform:translateY(-5px) scale(1.015);box-shadow:var(--shadow-lg);border-color:var(--blue);}
.review-stars{font-size:0.95rem;color:#f59e0b;letter-spacing:1px;margin-bottom:10px;}
.review-text{font-size:0.9rem;color:var(--gray-700);line-height:1.65;margin-bottom:16px;}
.review-author{display:flex;align-items:center;gap:10px;}
.review-avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.78rem;font-weight:800;color:var(--white);flex-shrink:0;}
.av-blue{background:var(--blue);}.av-green{background:var(--green);}.av-indigo{background:#555555;}
.review-name{font-size:0.88rem;font-weight:700;color:var(--black);}
.review-location{font-size:0.78rem;color:var(--gray-500);}

/* Emergency Bar */
.emergency-bar{background:linear-gradient(90deg,#1040b0 0%,#1a56db 60%,#1d6fdb 100%);padding:28px 0;}
.emergency-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.emergency-left{display:flex;align-items:center;gap:16px;}
.emergency-title{font-size:1.15rem;font-weight:800;color:#ffffff;display:flex;align-items:center;gap:10px;letter-spacing:-0.01em;}
.emergency-dot{width:10px;height:10px;background:#16a34a;border-radius:50%;flex-shrink:0;animation:green-pulse 1.6s infinite;}
@keyframes pulse{0%,100%{box-shadow:0 0 0 3px rgba(200,200,200,0.5);}50%{box-shadow:0 0 0 9px rgba(200,200,200,0);}}
.emergency-sub{font-size:0.88rem;color:rgba(255,255,255,0.75);margin-top:4px;}
.emergency-btn{background:#ffffff;color:var(--blue);font-weight:800;font-size:0.95rem;padding:13px 28px;border-radius:9px;box-shadow:0 4px 18px rgba(0,0,0,0.18);white-space:nowrap;flex-shrink:0;transition:transform 0.22s cubic-bezier(0.34,1.56,0.64,1),box-shadow 0.22s ease;}
.emergency-btn:hover{background:#f0f0f0;transform:translateY(-2px) scale(1.04);box-shadow:0 8px 28px rgba(0,0,0,0.22);}
@media(max-width:560px){.emergency-inner{flex-direction:column;align-items:flex-start;}.emergency-btn{width:100%;text-align:center;justify-content:center;}}

/* Area Section */
.area-section{background:var(--gray-100);}
.area-box{border:1px solid var(--gray-200);border-radius:var(--radius);height:340px;overflow-y:scroll;background:var(--white);box-shadow:var(--shadow-sm);scrollbar-width:thin;scrollbar-color:var(--blue) var(--gray-100);}
.area-box::-webkit-scrollbar{width:5px;}
.area-box::-webkit-scrollbar-track{background:var(--gray-100);}
.area-box::-webkit-scrollbar-thumb{background:var(--blue);border-radius:3px;}
.area-link{display:flex;align-items:center;justify-content:space-between;padding:15px 22px;font-size:0.94rem;color:var(--gray-900);font-weight:500;border-bottom:1px solid var(--gray-100);transition:background 0.18s,color 0.18s,padding-left 0.22s;}
.area-link:last-child{border-bottom:none;}
.area-link:hover{background:var(--blue-light);color:var(--blue);padding-left:30px;}
.area-arrow{font-size:0.8rem;color:var(--blue);opacity:0.45;transition:opacity 0.18s,transform 0.22s;}
.area-link:hover .area-arrow{opacity:1;transform:translateX(5px);}

/* FAQ */
.faq-list{display:flex;flex-direction:column;gap:12px;max-width:780px;}
details.faq-item{background:var(--white);border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);overflow:hidden;transition:border-color 0.2s,box-shadow 0.2s;}
details.faq-item[open]{border-color:var(--blue);box-shadow:0 0 0 4px rgba(0,0,0,0.07);}
summary.faq-q{padding:18px 22px;font-size:0.97rem;font-weight:700;color:var(--gray-900);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;transition:background 0.18s;}
summary.faq-q:hover{background:var(--blue-light);}
.faq-icon{font-size:1.2rem;color:var(--blue);font-weight:400;flex-shrink:0;transition:transform 0.25s;}
details.faq-item[open] .faq-icon{transform:rotate(45deg);}
.faq-a{padding:16px 22px 20px;font-size:0.9rem;color:var(--gray-700);line-height:1.75;border-top:1px solid var(--gray-100);}

/* Footer */
.footer{background:#2d2d2d;color:rgba(255,255,255,0.75);padding:64px 0 0;}
.footer-grid{display:grid;grid-template-columns:1fr;gap:40px;margin-bottom:48px;}
@media(min-width:640px){.footer-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:960px){.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr;}}
.footer-tagline{font-size:0.9rem;color:rgba(255,255,255,0.5);line-height:1.7;max-width:280px;}
.footer-col h4{font-size:0.92rem;font-weight:700;color:var(--white);margin-bottom:18px;text-transform:uppercase;letter-spacing:0.06em;}
.footer-col ul{display:flex;flex-direction:column;gap:10px;}
.footer-col ul li a{font-size:0.88rem;color:rgba(255,255,255,0.55);transition:color 0.18s;display:flex;align-items:center;gap:8px;}
.footer-col ul li a:hover{color:var(--white);}
.info-item{font-size:0.88rem;color:rgba(255,255,255,0.55);display:flex;align-items:center;gap:8px;}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.08);padding:20px 0;font-size:0.83rem;color:rgba(255,255,255,0.3);display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.footer-bottom a{color:rgba(255,255,255,0.45);transition:color 0.18s;}
.footer-bottom a:hover{color:var(--white);}

/* Page Hero (interior pages) */
.page-hero{padding-top:calc(var(--header-h) + 64px);padding-bottom:64px;background:linear-gradient(135deg,#111111 0%,#333333 100%);color:var(--white);}
.page-hero .tag{background:rgba(255,255,255,0.15);color:var(--white);}
.page-hero h1{font-size:clamp(1.9rem,4vw,3rem);font-weight:800;color:var(--white);margin-bottom:16px;letter-spacing:-0.025em;}
.page-hero p{font-size:1.05rem;color:rgba(255,255,255,0.75);max-width:560px;line-height:1.75;margin-bottom:32px;}
.page-hero-ctas{display:flex;flex-wrap:wrap;gap:14px;}

/* Trust badges */
.trust-strip{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px;}
.trust-badge{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);padding:8px 16px;border-radius:100px;font-size:0.85rem;font-weight:600;color:var(--white);}

/* How We Work */
.steps-grid{display:grid;grid-template-columns:1fr;gap:24px;}
@media(min-width:640px){.steps-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:900px){.steps-grid{grid-template-columns:repeat(4,1fr);}}
.step-card{background:var(--white);border:1.5px solid var(--gray-200);border-radius:var(--radius);padding:28px 22px;transition:transform 0.25s cubic-bezier(0.34,1.56,0.64,1),box-shadow 0.25s ease,border-color 0.2s;}
.step-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--blue);}
.step-num{font-size:2.5rem;font-weight:800;color:var(--blue-light);line-height:1;margin-bottom:12px;}
.step-title{font-size:1rem;font-weight:700;color:var(--black);margin-bottom:8px;}
.step-desc{font-size:0.88rem;color:var(--gray-500);line-height:1.65;}

/* Contact Form */
.contact-form{display:flex;flex-direction:column;gap:16px;}
.form-row{display:grid;grid-template-columns:1fr;gap:16px;}
@media(min-width:560px){.form-row{grid-template-columns:1fr 1fr;}}
.form-group{display:flex;flex-direction:column;gap:6px;}
.form-group label{font-size:0.88rem;font-weight:600;color:var(--gray-700);}
.form-group input,.form-group select,.form-group textarea{font-family:var(--font);font-size:0.94rem;color:var(--gray-900);background:var(--white);border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);padding:12px 16px;transition:border-color 0.2s,box-shadow 0.2s;width:100%;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(0,0,0,0.09);}
.form-group textarea{resize:vertical;min-height:110px;}

/* Inline CTA */
.inline-cta{background:linear-gradient(135deg,#111111 0%,#333333 100%);border-radius:var(--radius);padding:40px;text-align:center;color:var(--white);}
.inline-cta h2{font-size:1.7rem;font-weight:800;margin-bottom:12px;}
.inline-cta p{font-size:0.97rem;opacity:0.8;margin-bottom:28px;}
.inline-cta-btns{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;}

/* Expertise selector */
.expertise-selector{background:var(--white);border-radius:var(--radius);border:1.5px solid var(--gray-200);padding:32px;box-shadow:var(--shadow-md);margin-bottom:40px;}
.sel-grid{display:grid;grid-template-columns:1fr;gap:20px;}
@media(min-width:640px){.sel-grid{grid-template-columns:repeat(3,1fr);}}
.sel-label{font-size:0.88rem;font-weight:700;color:var(--gray-700);margin-bottom:8px;text-transform:uppercase;letter-spacing:0.05em;}
.sel-select{width:100%;font-family:var(--font);font-size:0.94rem;color:var(--gray-900);background:var(--gray-100);border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);padding:12px 16px;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%2364748b'%3E%3Cpath fill-rule='evenodd' d='M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z' clip-rule='evenodd'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:18px;transition:border-color 0.2s,box-shadow 0.2s;cursor:pointer;}
.sel-select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(0,0,0,0.09);}
.sel-result{margin-top:28px;border-top:1px solid var(--gray-200);padding-top:28px;display:none;}
.sel-result.visible{display:block;}

/* About */
.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
@media(min-width:640px){.team-grid{grid-template-columns:repeat(4,1fr);}}
.team-card{text-align:center;}
.team-avatar{width:80px;height:80px;border-radius:50%;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;font-size:1.6rem;font-weight:800;color:var(--white);}
.team-name{font-size:0.94rem;font-weight:700;color:var(--black);margin-bottom:4px;}
.team-role{font-size:0.82rem;color:var(--gray-500);}
.value-grid{display:grid;grid-template-columns:1fr;gap:20px;}
@media(min-width:560px){.value-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:900px){.value-grid{grid-template-columns:repeat(3,1fr);}}
.value-card{background:var(--white);border:1.5px solid var(--gray-200);border-radius:var(--radius);padding:24px;transition:transform 0.25s cubic-bezier(0.34,1.56,0.64,1),box-shadow 0.25s ease,border-color 0.2s;}
.value-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--blue);}
.value-icon{font-size:1.8rem;margin-bottom:12px;}
.value-title{font-size:1rem;font-weight:700;color:var(--black);margin-bottom:8px;}
.value-desc{font-size:0.88rem;color:var(--gray-500);line-height:1.65;}

/* Career */
.career-form{background:var(--white);border-radius:var(--radius);border:1.5px solid var(--gray-200);padding:36px;box-shadow:var(--shadow-md);}
.perks-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
@media(min-width:640px){.perks-grid{grid-template-columns:repeat(4,1fr);}}
.perk-card{background:var(--white);border:1.5px solid var(--gray-200);border-radius:12px;padding:20px;text-align:center;}
.perk-icon{font-size:1.8rem;margin-bottom:8px;}
.perk-text{font-size:0.85rem;font-weight:600;color:var(--gray-700);}

/* Area landing page */
.area-hero{padding-top:calc(var(--header-h) + 60px);padding-bottom:60px;background:linear-gradient(135deg,#111111 0%,#333333 100%);}
.area-hero h1{font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800;color:var(--white);margin-bottom:14px;letter-spacing:-0.025em;}
.area-hero p{font-size:1rem;color:rgba(255,255,255,0.75);max-width:540px;line-height:1.75;margin-bottom:28px;}
.area-hero .tag{background:rgba(255,255,255,0.15);color:var(--white);}
.area-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;}
.area-badge{display:flex;align-items:center;gap:7px;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);padding:7px 14px;border-radius:100px;font-size:0.82rem;font-weight:600;color:rgba(255,255,255,0.9);}
.breadcrumb{font-size:0.82rem;color:rgba(255,255,255,0.55);margin-bottom:16px;display:flex;align-items:center;gap:6px;}
.breadcrumb a{color:rgba(255,255,255,0.55);transition:color 0.18s;}
.breadcrumb a:hover{color:var(--white);}
.breadcrumb span{color:rgba(255,255,255,0.35);}

/* Areas page grid */
.areas-full-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
@media(min-width:640px){.areas-full-grid{grid-template-columns:repeat(3,1fr);}}
@media(min-width:900px){.areas-full-grid{grid-template-columns:repeat(4,1fr);}}
.area-card{background:var(--white);border:1.5px solid var(--gray-200);border-radius:10px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;font-size:0.9rem;font-weight:600;color:var(--gray-800);transition:background 0.18s,color 0.18s,transform 0.22s cubic-bezier(0.34,1.56,0.64,1),border-color 0.18s;}
.area-card:hover{background:var(--blue-light);color:var(--blue);border-color:var(--blue);transform:translateY(-3px);}
.area-card-arrow{color:var(--blue);opacity:0.4;transition:opacity 0.18s,transform 0.22s;}
.area-card:hover .area-card-arrow{opacity:1;transform:translateX(4px);}

/* ═══ PILL BUTTONS — universal CTA system ═══════════════════════════════ */
/* Base pill — overridden per variant below */
.hero-pill-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 22px;
  border-radius: 999px;
  border: none;
  height: 48px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
.hero-pill-btn:hover { transform: translateY(-2px); }
.hero-pill-btn:active { transform: translateY(1px) scale(0.98); transition-duration: 0.08s; }

/* Call Now — solid blue */
.hero-pill-call {
  background: #1a56db;
  color: #fff;
  box-shadow: 0 3px 14px rgba(26,86,219,0.38);
}
.hero-pill-call:hover { background: #1447c0; box-shadow: 0 6px 22px rgba(26,86,219,0.48); }
.hero-pill-call:active { background: #0f3a9e; }

/* Book Now — solid green */
.hero-pill-book {
  background: #16a34a;
  color: #fff;
  box-shadow: 0 3px 14px rgba(22,163,74,0.38);
}
.hero-pill-book:hover { background: #15803d; box-shadow: 0 6px 22px rgba(22,163,74,0.48); }
.hero-pill-book:active { background: #166534; }

/* Text span — centred, inherits color */
.hero-pill-text {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: inherit;
  font-weight: 700;
  color: inherit;
  letter-spacing: 0.01em;
}

/* Icon — raw SVG, no circle, no background */
.hero-pill-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}
.hero-pill-icon svg { width: 16px; height: 16px; }

/* Force icon stroke/fill white on solid buttons */
.hero-pill-call .hero-pill-icon svg { stroke: #fff; }
.hero-pill-book .hero-pill-icon svg path { fill: #fff; }

/* mobile hero-ctas-mobile overrides removed — base pill handles all */

/* ===== CARD PILL BUTTONS (smaller fit for service cards) ===== */
/* card-pill-btn overrides handled in service-card section above */

/* ===== BRANDS MARQUEE STRIP ===== */
.brands-section { overflow: hidden; }

/* ── Brand Marquee ───────────────────────────────────────────────────────── */
.brands-marquee-wrap {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: 12px 0;
}
.brands-marquee-wrap::before,
.brands-marquee-wrap::after {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  width: 100px;
  z-index: 2;
  pointer-events: none;
}
.brands-marquee-wrap::before { left: 0; background: linear-gradient(to right, #f8fafc 0%, transparent 100%); }
.brands-marquee-wrap::after  { right: 0; background: linear-gradient(to left, #f8fafc 0%, transparent 100%); }

.brands-marquee-track {
  display: flex;
  align-items: center;
  gap: 16px;
  width: max-content;
  animation: brands-scroll 30s linear infinite;
}
.brands-marquee-track:hover { animation-play-state: paused; }

@keyframes brands-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* Brand pill */
.brand-static-pill {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px 28px;
  border-radius: 999px;
  background: #fff;
  border: 1.5px solid #e2e8f0;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  transition: transform 0.22s cubic-bezier(0.34,1.56,0.64,1), box-shadow 0.22s ease, border-color 0.2s;
  min-width: 140px;
  height: 64px;
  flex-shrink: 0;
  white-space: nowrap;
}
.brand-static-pill:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.11);
  border-color: #1a56db;
}

.brand-static-img {
  height: 30px;
  width: auto;
  max-width: 110px;
  object-fit: contain;
  display: block;
  filter: none;
  transition: filter 0.2s;
}
.brand-static-pill:hover .brand-static-img {
  filter: none;
}

/* + More pill */
.brand-more-pill {
  background: #1a56db !important;
  border-color: #1a56db !important;
  gap: 8px;
  min-width: unset;
  padding: 14px 24px;
}
.brand-more-pill:hover {
  background: #1447c0 !important;
  border-color: #1447c0 !important;
}
.brand-more-icon {
  font-size: 1.3rem;
  font-weight: 800;
  color: #fff;
  line-height: 1;
}
.brand-more-text {
  font-size: 0.88rem;
  font-weight: 700;
  color: #fff;
}

/* ── Expertise page brand name pills ─────────────────────────────────────── */
.brands-name-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}
.brand-name-pill {
  padding: 10px 22px;
  border-radius: 999px;
  background: #fff;
  border: 1.5px solid #e2e8f0;
  font-size: 0.95rem;
  font-weight: 700;
  color: #1e293b;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
  transition: transform 0.2s cubic-bezier(0.34,1.56,0.64,1), box-shadow 0.2s, border-color 0.2s, background 0.2s, color 0.2s;
  cursor: default;
}
.brand-name-pill:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(26,86,219,0.12);
  border-color: #1a56db;
  background: #EEF4FF;
  color: #1a56db;
}
.booking-overlay{
  position:fixed;inset:0;z-index:9999;
  background:rgba(0,0,0,0.55);
  backdrop-filter:blur(4px);
  display:flex;align-items:center;justify-content:center;
  padding:16px;
  opacity:0;pointer-events:none;
  transition:opacity 0.22s ease;
}
.booking-overlay.open{opacity:1;pointer-events:all;}

.booking-modal{
  background:#fff;
  border-radius:20px;
  width:100%;max-width:440px;
  box-shadow:0 24px 64px rgba(0,0,0,0.22);
  overflow:hidden;
  transform:translateY(20px) scale(0.97);
  transition:transform 0.25s cubic-bezier(0.34,1.56,0.64,1);
  max-height:90vh;
  overflow-y:auto;
}
.booking-overlay.open .booking-modal{transform:translateY(0) scale(1);}

.booking-modal-head{
  background:linear-gradient(135deg,#1a56db 0%,#1447c0 100%);
  padding:22px 24px 18px;
  display:flex;align-items:flex-start;justify-content:space-between;
  gap:12px;
}
.booking-modal-head h2{
  font-size:1.15rem;font-weight:800;color:#fff;
  line-height:1.3;margin:0;
}
.booking-modal-head p{
  font-size:0.8rem;color:rgba(255,255,255,0.78);margin:4px 0 0;
}
.booking-modal-close{
  background:rgba(255,255,255,0.18);border:none;
  width:32px;height:32px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;flex-shrink:0;
  transition:background 0.18s;color:#fff;font-size:1.1rem;
}
.booking-modal-close:hover{background:rgba(255,255,255,0.32);}

.booking-modal-body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:14px;}

.bm-field{display:flex;flex-direction:column;gap:5px;}
.bm-field label{
  font-size:0.78rem;font-weight:700;color:#374151;
  letter-spacing:0.04em;text-transform:uppercase;
}
.bm-field input,
.bm-field select,
.bm-field textarea{
  width:100%;
  padding:11px 14px;
  border:1.5px solid #e5e7eb;
  border-radius:10px;
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:0.9rem;
  color:#111;
  background:#fafafa;
  outline:none;
  transition:border-color 0.18s,box-shadow 0.18s;
  box-sizing:border-box;
}
.bm-field input:focus,
.bm-field select:focus,
.bm-field textarea:focus{
  border-color:#1a56db;
  box-shadow:0 0 0 3px rgba(26,86,219,0.12);
  background:#fff;
}
.bm-field textarea{resize:vertical;min-height:72px;}
.bm-field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;}

.bm-submit{
  width:100%;height:48px;
  background:#16a34a;color:#fff;
  border:none;border-radius:999px;
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:0.95rem;font-weight:800;
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:8px;
  margin-top:4px;
  transition:background 0.18s,transform 0.18s;
  box-shadow:0 3px 14px rgba(22,163,74,0.38);
}
.bm-submit:hover{background:#15803d;transform:translateY(-2px);}
.bm-submit:active{background:#166534;transform:translateY(1px);}

@media(max-width:480px){
  .booking-modal-head{padding:18px 18px 14px;}
  .booking-modal-body{padding:18px 18px 20px;gap:12px;}
}

/* ── Terms & Conditions Page ──────────────────────────────────────────────── */
.terms-wrap {
  max-width: 780px;
  margin: 0 auto;
}
.terms-meta {
  font-size: 0.85rem;
  color: #64748b;
  margin-bottom: 40px;
  padding-bottom: 20px;
  border-bottom: 1px solid #e2e8f0;
}
.terms-section {
  margin-bottom: 40px;
}
.terms-section h2 {
  font-size: 1.15rem;
  font-weight: 700;
  color: #1e293b;
  margin-bottom: 12px;
}
.terms-section p {
  color: #475569;
  line-height: 1.8;
  margin-bottom: 12px;
  font-size: 0.97rem;
}
.terms-contact {
  margin-top: 48px;
  padding: 24px 28px;
  background: #EEF4FF;
  border-radius: 14px;
  border-left: 4px solid #1a56db;
  color: #1e293b;
  font-size: 0.97rem;
  line-height: 1.7;
}
.terms-contact a {
  color: #1a56db;
  font-weight: 600;
  text-decoration: none;
}
.terms-contact a:hover { text-decoration: underline; }

/* ── SEO & Accessibility fixes ─────────────────────────────────────────────── */
/* Footer h3 headings (previously h4 — fixed for proper heading hierarchy) */
.footer-col h3 {
  font-size: 0.88rem;
  font-weight: 700;
  color: rgba(255,255,255,0.55);
  text-transform: uppercase;
  letter-spacing: 0.07em;
  margin-bottom: 16px;
}
address.footer-col { font-style: normal; }

/* Scrolled header shadow enhancement */
.header.scrolled { box-shadow: 0 4px 20px rgba(0,0,0,0.12); }

/* Emergency bar p tags (previously divs — fixed for semantics) */
.emergency-title { font-size: 1.05rem; font-weight: 700; color: #fff; display: flex; align-items: center; gap: 10px; margin-bottom: 4px; }
.emergency-sub { font-size: 0.9rem; opacity: 0.85; color: #fff; margin: 0; }

/* Blockquote reviews */
.review-text { font-style: italic; color: var(--gray-700); line-height: 1.7; margin: 12px 0; font-size: 0.97rem; }

/* Booking overlay open state (uses class instead of inline display:none) */
.booking-overlay { display: flex !important; opacity: 0; pointer-events: none; transition: opacity 0.22s ease; }
.booking-overlay.open { opacity: 1; pointer-events: all; }

/* Mobile hero heading — styled to look like h1 but aria-hidden so only real h1 counts */
.hero-mobile-h1 {
  font-size: clamp(1.35rem, 6vw, 1.7rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.18;
  color: #fff;
  margin-bottom: 20px;
  text-shadow: 0 1px 8px rgba(0,0,0,0.4);
}
.hero-mobile-h1 .highlight { color: #fff !important; text-shadow: 0 1px 8px rgba(0,0,0,0.4); }

/* ── Hero Slider ── */
.hero-slider{position:relative;width:100%;height:100%;}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 0.9s ease;}
.hero-slide.active{opacity:1;z-index:1;}
.hero-slider-dots{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:10;}
.slider-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,0.45);border:none;cursor:pointer;padding:0;transition:background 0.3s,transform 0.3s;}
.slider-dot.active{background:#fff;transform:scale(1.25);}

/* Other areas section on area pages */
.current-area{background:var(--blue-light);color:var(--blue);font-weight:700;pointer-events:none;cursor:default;}
.current-area .area-arrow{opacity:1;}
