/* =========================================
   Maidora Cleaning Services — PREMIUM EDITION
   Pink / Blue / Teal / White
   Animations, glows, particles, premium feel
   ========================================= */

:root{
  --pink:#E8B8C0;
  --pink-light:#F7E5E8;
  --pink-glow:rgba(232,184,192,0.28);
  --blue:#56B6FF;
  --blue-light:#EAF6FF;
  --blue-glow:rgba(86,182,255,0.18);
  --teal:#DFAAB2;
  --teal-light:#FAEEF0;
  --teal-glow:rgba(223,170,178,0.18);
  --navy:#0f1720;
  --white:#ffffff;
  --offwhite:#FFF8F6;
  --text:#1b1b1f;
  --muted:#6E6260;
  --border:rgba(13,27,42,0.10);
  --shadow:0 20px 60px rgba(13,27,42,0.15);
  --shadow-hover:0 30px 80px rgba(13,27,42,0.20);
  --radius:24px;
  --radius-sm:16px;
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }

body{
  margin:0;
  font-family:'Segoe UI',system-ui,-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;
  color:var(--text);
  background:var(--white);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

/* ===== PARTICLE BACKGROUND ===== */
.particles-bg{
  position:fixed;
  top:0; left:0; right:0; bottom:0;
  pointer-events:none;
  z-index:0;
  overflow:hidden;
}
.particle{
  position:absolute;
  border-radius:50%;
  opacity:0.4;
  animation:float-particle 15s infinite ease-in-out;
}
.particle:nth-child(1){ width:80px; height:80px; background:var(--pink-light); top:10%; left:10%; animation-delay:0s; }
.particle:nth-child(2){ width:60px; height:60px; background:var(--blue-light); top:20%; right:15%; animation-delay:2s; }
.particle:nth-child(3){ width:100px; height:100px; background:var(--teal-light); top:60%; left:5%; animation-delay:4s; }
.particle:nth-child(4){ width:50px; height:50px; background:var(--pink-light); top:40%; right:25%; animation-delay:6s; }
.particle:nth-child(5){ width:70px; height:70px; background:var(--blue-light); top:80%; left:30%; animation-delay:8s; }
.particle:nth-child(6){ width:90px; height:90px; background:var(--teal-light); top:15%; left:60%; animation-delay:10s; }
.particle:nth-child(7){ width:40px; height:40px; background:var(--pink-light); top:70%; right:10%; animation-delay:12s; }
.particle:nth-child(8){ width:65px; height:65px; background:var(--blue-light); top:50%; left:45%; animation-delay:14s; }

@keyframes float-particle{
  0%,100%{ transform:translate(0,0) scale(1); opacity:0.3; }
  25%{ transform:translate(30px,-30px) scale(1.1); opacity:0.5; }
  50%{ transform:translate(-20px,20px) scale(0.9); opacity:0.4; }
  75%{ transform:translate(20px,10px) scale(1.05); opacity:0.35; }
}

/* ===== GLOW ORBS ===== */
.glow-orb{
  position:absolute;
  border-radius:50%;
  filter:blur(80px);
  opacity:0.5;
  animation:glow-pulse 8s infinite ease-in-out;
}
.glow-orb.pink{ background:var(--pink); }
.glow-orb.blue{ background:var(--blue); }
.glow-orb.teal{ background:var(--teal); }

@keyframes glow-pulse{
  0%,100%{ opacity:0.3; transform:scale(1); }
  50%{ opacity:0.6; transform:scale(1.2); }
}

/* ===== SCROLL REVEAL ===== */
.reveal{
  opacity:0;
  transform:translateY(60px);
  transition:all 0.8s cubic-bezier(0.16,1,0.3,1);
}
.reveal.visible{
  opacity:1;
  transform:translateY(0);
}
.reveal-delay-1{ transition-delay:0.1s; }
.reveal-delay-2{ transition-delay:0.2s; }
.reveal-delay-3{ transition-delay:0.3s; }
.reveal-delay-4{ transition-delay:0.4s; }

/* ===== SHIMMER TEXT ===== */
.shimmer-text{
  background:linear-gradient(90deg,var(--pink),var(--blue),var(--teal),var(--pink));
  background-size:300% 100%;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  animation:shimmer 4s infinite linear;
}
@keyframes shimmer{
  0%{ background-position:0% 50%; }
  100%{ background-position:300% 50%; }
}

/* ===== FLOATING ANIMATION ===== */
.float-animation{
  animation:float-y 3s ease-in-out infinite;
}
@keyframes float-y{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-15px); }
}

/* ===== PULSE GLOW ===== */
.pulse-glow{
  animation:pulse-glow 2s infinite;
}
@keyframes pulse-glow{
  0%,100%{ box-shadow:0 0 20px var(--pink-glow); }
  50%{ box-shadow:0 0 40px var(--pink-glow),0 0 60px var(--blue-glow); }
}

/* ===== BOUNCE IN ===== */
.bounce-in{
  animation:bounce-in 0.8s cubic-bezier(0.68,-0.55,0.265,1.55);
}
@keyframes bounce-in{
  0%{ transform:scale(0.3); opacity:0; }
  50%{ transform:scale(1.05); }
  70%{ transform:scale(0.9); }
  100%{ transform:scale(1); opacity:1; }
}

/* ===== SLIDE IN LEFT/RIGHT ===== */
.slide-left{
  opacity:0;
  transform:translateX(-100px);
  transition:all 0.8s cubic-bezier(0.16,1,0.3,1);
}
.slide-left.visible{
  opacity:1;
  transform:translateX(0);
}
.slide-right{
  opacity:0;
  transform:translateX(100px);
  transition:all 0.8s cubic-bezier(0.16,1,0.3,1);
}
.slide-right.visible{
  opacity:1;
  transform:translateX(0);
}

/* ===== SCALE IN ===== */
.scale-in{
  opacity:0;
  transform:scale(0.8);
  transition:all 0.6s cubic-bezier(0.16,1,0.3,1);
}
.scale-in.visible{
  opacity:1;
  transform:scale(1);
}

/* ===== ROTATE IN ===== */
.rotate-in{
  opacity:0;
  transform:rotate(-10deg) scale(0.9);
  transition:all 0.7s cubic-bezier(0.16,1,0.3,1);
}
.rotate-in.visible{
  opacity:1;
  transform:rotate(0) scale(1);
}

/* ===== TYPING CURSOR ===== */
.typing-cursor::after{
  content:'|';
  animation:blink 1s infinite;
  color:var(--pink);
  font-weight:100;
}
@keyframes blink{
  0%,100%{ opacity:1; }
  50%{ opacity:0; }
}

/* ===== COUNTER ANIMATION ===== */
.counter-number{
  font-variant-numeric:tabular-nums;
}

/* ===== GRADIENT BORDER ===== */
.gradient-border{
  position:relative;
  background:var(--white);
  border-radius:var(--radius);
}
.gradient-border::before{
  content:'';
  position:absolute;
  inset:-2px;
  border-radius:calc(var(--radius) + 2px);
  background:linear-gradient(135deg,var(--pink),var(--blue),var(--teal),var(--pink));
  background-size:300% 300%;
  animation:border-glow 4s infinite linear;
  z-index:-1;
}
@keyframes border-glow{
  0%{ background-position:0% 50%; }
  50%{ background-position:100% 50%; }
  100%{ background-position:0% 50%; }
}

/* ===== MAGNETIC BUTTON ===== */
.magnetic-btn{
  position:relative;
  overflow:hidden;
  transition:all 0.3s cubic-bezier(0.16,1,0.3,1);
}
.magnetic-btn::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,var(--pink),var(--blue));
  opacity:0;
  transition:opacity 0.3s;
  z-index:-1;
}
.magnetic-btn:hover::before{
  opacity:1;
}
.magnetic-btn:hover{
  transform:translateY(-4px) scale(1.02);
  box-shadow:0 20px 40px var(--pink-glow);
}

/* ===== WAVE DIVIDER ===== */
.wave-divider{
  position:absolute;
  bottom:0;
  left:0;
  width:100%;
  overflow:hidden;
  line-height:0;
}
.wave-divider svg{
  position:relative;
  display:block;
  width:calc(100% + 1.3px);
  height:120px;
}

/* =========================================
   BASE LAYOUT
   ========================================= */

.container{ width:min(1200px,92vw); margin-inline:auto; position:relative; z-index:1; }
.skip-link{
  position:absolute; left:-999px; top:auto;
  width:1px; height:1px; overflow:hidden;
}
.skip-link:focus{
  left:16px; top:16px; width:auto; height:auto;
  background:#fff; padding:10px 12px; border-radius:10px;
  border:1px solid var(--border); z-index:9999;
}

/* ===== HEADER ===== */
.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  -webkit-backdrop-filter:blur(20px);
  backdrop-filter:blur(20px);
  background:rgba(255,255,255,0.85);
  border-bottom:1px solid rgba(232,184,192,0.1);
  transition:all 0.3s ease;
}
.site-header.scrolled{
  background:rgba(255,255,255,0.95);
  box-shadow:0 10px 40px rgba(232,184,192,0.1);
}

.header-inner{
  padding:16px 0 12px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
}

.brand{ width:100%; display:flex; justify-content:center; align-items:center; }
.brand-link{ display:block; position:relative; }

.brand-link::after{
  content:'';
  position:absolute;
  inset:-10px;
  background:radial-gradient(circle,rgba(232,184,192,0.15),transparent 70%);
  opacity:0;
  transition:opacity 0.5s;
  pointer-events:none;
  border-radius:50%;
}
.brand-link:hover::after{
  opacity:1;
}

.logo-video, .logo-image{
  display:none;
  max-width:280px;
  height:auto;
  margin:0 auto;
  transition:transform 0.5s cubic-bezier(0.16,1,0.3,1);
}
.brand-link:hover .logo-video,
.brand-link:hover .logo-image{
  transform:scale(1.05);
}

body.home .logo-video{ display:block; }
body:not(.home) .logo-image{ display:block; }

@media (max-width:768px){
  body.home .logo-video{ max-width:220px; }
  body:not(.home) .logo-image{ max-width:180px; }
}

/* ===== NAVIGATION ===== */
.nav-wrap{ width:100%; display:flex; justify-content:center; }
.nav{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
  padding:0;
  margin:0;
  list-style:none;
}

.nav a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:12px 20px;
  border-radius:999px;
  border:1px solid transparent;
  background:rgba(255,255,255,0.6);
  font-weight:700;
  font-size:14px;
  letter-spacing:0.3px;
  color:var(--navy);
  position:relative;
  overflow:hidden;
  transition:all 0.3s cubic-bezier(0.16,1,0.3,1);
}

.nav a::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,var(--pink),var(--blue));
  opacity:0;
  transition:opacity 0.3s;
  z-index:-1;
  border-radius:999px;
}

.nav a:hover{
  color:#fff;
  transform:translateY(-3px);
  box-shadow:0 10px 30px rgba(232,184,192,0.25);
  border-color:transparent;
}
.nav a:hover::before{
  opacity:1;
}

.nav a[aria-current="page"]{
  background:linear-gradient(135deg,var(--pink),var(--blue));
  color:#fff;
  box-shadow:0 8px 25px rgba(232,184,192,0.3);
}

.nav a::after{
  content:'';
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--teal);
  opacity:0;
  transition:all 0.3s;
  box-shadow:0 0 10px var(--teal-glow);
}
.nav a:hover::after,
.nav a[aria-current="page"]::after{
  opacity:1;
}

/* ===== HERO SECTION (PREMIUM) ===== */
.hero-section{
  position:relative;
  padding:80px 0 120px;
  overflow:hidden;
  background:linear-gradient(180deg,var(--white) 0%,var(--offwhite) 100%);
}

.hero-section .glow-orb.pink{
  width:400px; height:400px;
  top:-100px; right:-100px;
  filter:blur(100px);
}
.hero-section .glow-orb.blue{
  width:300px; height:300px;
  bottom:-50px; left:-50px;
  filter:blur(80px);
  animation-delay:2s;
}

.hero-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center;
}

.hero-badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 24px;
  background:rgba(255,255,255,0.9);
  border:1px solid var(--pink-light);
  border-radius:999px;
  font-size:14px;
  font-weight:700;
  color:var(--pink);
  margin-bottom:28px;
  box-shadow:0 8px 25px rgba(232,184,192,0.15);
  animation:bounce-in 0.8s cubic-bezier(0.68,-0.55,0.265,1.55) 0.3s both;
}
.hero-badge i{
  color:#f1c40f;
  animation:star-spin 2s infinite;
}
@keyframes star-spin{
  0%,100%{ transform:rotate(0deg) scale(1); }
  50%{ transform:rotate(180deg) scale(1.2); }
}

.hero-title{
  font-size:clamp(36px,5vw,56px);
  font-weight:800;
  line-height:1.1;
  margin-bottom:20px;
  color:var(--navy);
}
.hero-title .shimmer-text{
  display:inline;
}

.hero-subtitle{
  font-size:18px;
  line-height:1.7;
  color:var(--muted);
  margin-bottom:36px;
  max-width:500px;
}

.hero-trust-row{
  display:flex;
  gap:20px;
  margin-bottom:40px;
  flex-wrap:wrap;
}
.hero-trust-item{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 18px;
  background:rgba(255,255,255,0.9);
  border-radius:12px;
  border:1px solid var(--blue-light);
  font-size:14px;
  font-weight:700;
  color:var(--navy);
  transition:all 0.3s;
}
.hero-trust-item:hover{
  transform:translateY(-3px);
  box-shadow:0 10px 30px rgba(86,182,255,0.15);
  border-color:var(--blue);
}
.hero-trust-item i{
  font-size:18px;
  color:var(--blue);
}

.hero-buttons{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
}

/* Premium buttons */
.btn-premium{
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:18px 36px;
  border-radius:999px;
  font-weight:800;
  font-size:16px;
  text-decoration:none;
  border:none;
  cursor:pointer;
  position:relative;
  overflow:hidden;
  transition:all 0.4s cubic-bezier(0.16,1,0.3,1);
  z-index:1;
}
.btn-premium::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,var(--pink),var(--blue),var(--teal));
  background-size:200% 200%;
  animation:gradient-shift 3s infinite;
  z-index:-1;
  transition:all 0.4s;
}
@keyframes gradient-shift{
  0%{ background-position:0% 50%; }
  50%{ background-position:100% 50%; }
  100%{ background-position:0% 50%; }
}
.btn-premium:hover{
  transform:translateY(-4px) scale(1.02);
  box-shadow:0 20px 50px rgba(232,184,192,0.35),0 0 80px rgba(86,182,255,0.15);
}
.btn-premium:hover::before{
  filter:brightness(1.1);
}
.btn-premium.white{
  background:#fff;
  color:var(--navy);
  border:2px solid var(--border);
}
.btn-premium.white::before{
  display:none;
}
.btn-premium.white:hover{
  border-color:var(--pink);
  color:var(--pink);
  box-shadow:0 15px 40px rgba(232,184,192,0.2);
}
.btn-premium i{
  transition:transform 0.3s;
}
.btn-premium:hover i{
  transform:translateX(4px);
}

/* Hero image side */
.hero-visual{
  position:relative;
  display:flex;
  justify-content:center;
  align-items:center;
}
.hero-visual-main{
  width:100%;
  max-width:480px;
  aspect-ratio:1;
  background:linear-gradient(135deg,var(--pink),var(--blue),var(--teal));
  border-radius:var(--radius);
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden;
  box-shadow:0 30px 80px rgba(232,184,192,0.25),0 0 100px rgba(86,182,255,0.15);
  animation:float-y 4s ease-in-out infinite;
}
.hero-visual-main::before{
  content:'\f54f';
  font-family:'Font Awesome 6 Free';
  font-weight:900;
  font-size:180px;
  color:rgba(255,255,255,0.2);
}

/* Floating cards */
.float-card{
  position:absolute;
  background:rgba(255,255,255,0.95);
  padding:20px 24px;
  border-radius:var(--radius-sm);
  box-shadow:var(--shadow);
  display:flex;
  align-items:center;
  gap:14px;
  backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,0.5);
  animation:float-y 3s ease-in-out infinite;
}
.float-card.card-1{
  top:20px;
  right:-20px;
  animation-delay:0s;
}
.float-card.card-2{
  bottom:40px;
  left:-30px;
  animation-delay:1.5s;
}
.float-card-icon{
  width:48px;
  height:48px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  color:#fff;
}
.float-card-icon.pink-bg{ background:linear-gradient(135deg,var(--pink),var(--pink-light)); }
.float-card-icon.blue-bg{ background:linear-gradient(135deg,var(--blue),var(--blue-light)); }
.float-card-text h4{
  font-size:15px;
  margin-bottom:2px;
  color:var(--navy);
}
.float-card-text p{
  font-size:13px;
  color:var(--muted);
}

/* ===== STATS BAR ===== */
.stats-section{
  position:relative;
  padding:60px 0;
  background:linear-gradient(135deg,var(--navy),#1b263b);
  overflow:hidden;
}
.stats-section::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 20% 50%,rgba(232,184,192,0.15),transparent 50%),
    radial-gradient(circle at 80% 50%,rgba(86,182,255,0.15),transparent 50%),
    radial-gradient(circle at 50% 50%,rgba(223,170,178,0.1),transparent 50%);
}
.stats-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:30px;
  position:relative;
  z-index:1;
}
.stat-item{
  text-align:center;
  padding:20px;
  border-radius:var(--radius-sm);
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.1);
  transition:all 0.4s;
}
.stat-item:hover{
  background:rgba(255,255,255,0.1);
  transform:translateY(-5px);
  border-color:rgba(232,184,192,0.3);
  box-shadow:0 20px 40px rgba(232,184,192,0.2);
}
.stat-number{
  font-size:42px;
  font-weight:800;
  background:linear-gradient(135deg,var(--pink),var(--blue),var(--teal));
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  margin-bottom:8px;
}
.stat-label{
  font-size:14px;
  color:rgba(255,255,255,0.7);
  font-weight:600;
}

/* ===== SECTION HEADERS ===== */
.section-header{
  text-align:center;
  max-width:700px;
  margin:0 auto 60px;
}
.section-label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 24px;
  background:linear-gradient(135deg,rgba(232,184,192,0.1),rgba(86,182,255,0.1));
  border:1px solid rgba(232,184,192,0.2);
  border-radius:999px;
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:1.5px;
  color:var(--pink);
  margin-bottom:20px;
}
.section-label i{
  color:var(--teal);
}
.section-title{
  font-size:clamp(32px,4vw,44px);
  font-weight:800;
  margin-bottom:16px;
  color:var(--navy);
}
.section-subtitle{
  font-size:18px;
  color:var(--muted);
  line-height:1.7;
}

/* ===== SERVICE CARDS (PREMIUM) ===== */
.services-section{
  padding:100px 0;
  position:relative;
}
.services-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

.service-card-premium{
  background:var(--white);
  border-radius:var(--radius);
  padding:40px 32px;
  border:1px solid var(--border);
  position:relative;
  overflow:hidden;
  transition:all 0.5s cubic-bezier(0.16,1,0.3,1);
  z-index:1;
}
.service-card-premium::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:4px;
  background:linear-gradient(90deg,var(--pink),var(--blue),var(--teal));
  transform:scaleX(0);
  transition:transform 0.5s cubic-bezier(0.16,1,0.3,1);
}
.service-card-premium::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(232,184,192,0.03),rgba(86,182,255,0.03));
  opacity:0;
  transition:opacity 0.5s;
  z-index:-1;
}
.service-card-premium:hover{
  transform:translateY(-12px);
  box-shadow:var(--shadow-hover);
  border-color:rgba(232,184,192,0.2);
}
.service-card-premium:hover::before{
  transform:scaleX(1);
}
.service-card-premium:hover::after{
  opacity:1;
}

.service-icon-premium{
  width:72px;
  height:72px;
  border-radius:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:30px;
  margin-bottom:24px;
  position:relative;
  transition:all 0.4s;
}
.service-icon-premium.pink{ background:linear-gradient(135deg,rgba(232,184,192,0.1),rgba(232,184,192,0.05)); color:var(--pink); }
.service-icon-premium.blue{ background:linear-gradient(135deg,rgba(86,182,255,0.1),rgba(86,182,255,0.05)); color:var(--blue); }
.service-icon-premium.teal{ background:linear-gradient(135deg,rgba(223,170,178,0.1),rgba(223,170,178,0.05)); color:var(--teal); }

.service-card-premium:hover .service-icon-premium{
  transform:scale(1.15) rotate(5deg);
  box-shadow:0 15px 35px rgba(232,184,192,0.2);
}
.service-card-premium:hover .service-icon-premium.pink{ background:linear-gradient(135deg,var(--pink),var(--pink-light)); color:#fff; }
.service-card-premium:hover .service-icon-premium.blue{ background:linear-gradient(135deg,var(--blue),var(--blue-light)); color:#fff; }
.service-card-premium:hover .service-icon-premium.teal{ background:linear-gradient(135deg,var(--teal),var(--teal-light)); color:#fff; }

.service-card-premium h3{
  font-size:22px;
  margin-bottom:12px;
  color:var(--navy);
}
.service-card-premium p{
  color:var(--muted);
  font-size:15px;
  line-height:1.7;
  margin-bottom:20px;
}
.service-link-premium{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--pink);
  font-weight:800;
  text-decoration:none;
  font-size:15px;
  transition:all 0.3s;
}
.service-link-premium:hover{
  gap:14px;
  color:var(--blue);
}

/* ===== HOW IT WORKS (PREMIUM) ===== */
.how-section{
  padding:100px 0;
  background:linear-gradient(180deg,var(--offwhite),var(--white));
  position:relative;
}
.steps-grid-premium{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:40px;
  position:relative;
}
.steps-grid-premium::before{
  content:'';
  position:absolute;
  top:60px;
  left:15%;
  right:15%;
  height:3px;
  background:linear-gradient(90deg,var(--pink),var(--blue),var(--teal),var(--pink));
  background-size:300% 100%;
  animation:shimmer 3s infinite linear;
  border-radius:3px;
}

.step-card-premium{
  text-align:center;
  position:relative;
  z-index:1;
}
.step-number-premium{
  width:90px;
  height:90px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:32px;
  font-weight:800;
  margin:0 auto 28px;
  position:relative;
  background:var(--white);
  border:3px solid var(--pink);
  color:var(--pink);
  box-shadow:0 10px 30px rgba(232,184,192,0.2);
  transition:all 0.4s;
}
.step-card-premium:hover .step-number-premium{
  transform:scale(1.15);
  background:linear-gradient(135deg,var(--pink),var(--blue));
  color:#fff;
  border-color:transparent;
  box-shadow:0 15px 40px rgba(232,184,192,0.3);
}
.step-card-premium h3{
  font-size:24px;
  margin-bottom:12px;
  color:var(--navy);
}
.step-card-premium p{
  color:var(--muted);
  font-size:16px;
  line-height:1.7;
}

/* ===== QUOTE SECTION (PREMIUM) ===== */
.quote-section-premium{
  padding:100px 0;
  background:linear-gradient(135deg,var(--navy),#1b263b);
  position:relative;
  overflow:hidden;
}
.quote-section-premium .glow-orb.pink{
  width:500px; height:500px;
  top:-200px; right:-100px;
  filter:blur(120px);
}
.quote-section-premium .glow-orb.teal{
  width:400px; height:400px;
  bottom:-150px; left:-100px;
  filter:blur(100px);
  animation-delay:3s;
}

.quote-grid-premium{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center;
  position:relative;
  z-index:1;
}

.quote-form-premium{
  background:rgba(255,255,255,0.95);
  padding:48px;
  border-radius:var(--radius);
  box-shadow:0 30px 80px rgba(0,0,0,0.3);
  backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,0.2);
}

.form-group-premium{
  margin-bottom:20px;
}
.form-group-premium label{
  display:block;
  font-weight:700;
  font-size:14px;
  margin-bottom:8px;
  color:var(--navy);
}
.form-group-premium input,
.form-group-premium select,
.form-group-premium textarea{
  width:100%;
  padding:14px 18px;
  border:2px solid var(--border);
  border-radius:14px;
  font-size:15px;
  font-family:inherit;
  transition:all 0.3s;
  outline:none;
  background:var(--white);
}
.form-group-premium input:focus,
.form-group-premium select:focus,
.form-group-premium textarea:focus{
  border-color:var(--pink);
  box-shadow:0 0 0 4px rgba(232,184,192,0.1),0 0 20px rgba(232,184,192,0.1);
}
.form-group-premium textarea{
  resize:vertical;
  min-height:120px;
}
.form-row-premium{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.quote-info-premium h3{
  color:#fff;
  font-size:32px;
  margin-bottom:20px;
}
.quote-info-premium > p{
  color:rgba(255,255,255,0.8);
  font-size:17px;
  margin-bottom:36px;
  line-height:1.7;
}
.quote-benefits-premium{
  list-style:none;
}
.quote-benefits-premium li{
  display:flex;
  align-items:center;
  gap:14px;
  color:#fff;
  font-size:16px;
  margin-bottom:18px;
  padding:12px 16px;
  background:rgba(255,255,255,0.05);
  border-radius:12px;
  border:1px solid rgba(255,255,255,0.1);
  transition:all 0.3s;
}
.quote-benefits-premium li:hover{
  background:rgba(255,255,255,0.1);
  transform:translateX(8px);
  border-color:rgba(232,184,192,0.3);
}
.quote-benefits-premium li i{
  width:36px;
  height:36px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  background:linear-gradient(135deg,var(--pink),var(--blue));
  color:#fff;
  flex-shrink:0;
}

/* ===== TESTIMONIALS (PREMIUM) ===== */
.testimonials-section{
  padding:100px 0;
  position:relative;
}
.testimonials-grid-premium{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.testimonial-card-premium{
  background:var(--white);
  padding:40px 32px;
  border-radius:var(--radius);
  border:1px solid var(--border);
  position:relative;
  overflow:hidden;
  transition:all 0.5s;
}
.testimonial-card-premium::before{
  content:'"';
  position:absolute;
  top:10px;
  right:24px;
  font-size:100px;
  color:var(--pink-light);
  opacity:0.5;
  line-height:1;
  font-family:Georgia,serif;
  transition:all 0.4s;
}
.testimonial-card-premium:hover::before{
  transform:scale(1.2) rotate(10deg);
  opacity:0.8;
}
.testimonial-card-premium:hover{
  transform:translateY(-8px);
  box-shadow:var(--shadow-hover);
  border-color:rgba(232,184,192,0.2);
}

.stars-premium{
  display:flex;
  gap:4px;
  margin-bottom:16px;
}
.stars-premium i{
  color:#f1c40f;
  font-size:16px;
  animation:star-pop 0.5s ease-out;
}
@keyframes star-pop{
  0%{ transform:scale(0); }
  100%{ transform:scale(1); }
}

.testimonial-text-premium{
  font-size:15px;
  color:var(--text);
  margin-bottom:24px;
  line-height:1.8;
  font-style:italic;
}

.testimonial-author-premium{
  display:flex;
  align-items:center;
  gap:14px;
}
.author-avatar-premium{
  width:52px;
  height:52px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-weight:800;
  font-size:18px;
  background:linear-gradient(135deg,var(--pink),var(--blue));
  box-shadow:0 8px 20px rgba(232,184,192,0.25);
}
.author-info-premium h4{
  font-size:16px;
  margin-bottom:2px;
  color:var(--navy);
}
.author-info-premium p{
  font-size:13px;
  color:var(--muted);
}

/* ===== FAQ (PREMIUM) ===== */
.faq-section-premium{
  padding:100px 0;
  background:linear-gradient(180deg,var(--white),var(--offwhite));
  position:relative;
}
.faq-grid-premium{
  max-width:850px;
  margin:0 auto;
}
.faq-item-premium{
  background:var(--white);
  border-radius:var(--radius-sm);
  margin-bottom:14px;
  box-shadow:0 8px 25px rgba(13,27,42,0.06);
  overflow:hidden;
  border:1px solid var(--border);
  transition:all 0.3s;
}
.faq-item-premium:hover{
  box-shadow:0 12px 35px rgba(13,27,42,0.1);
  border-color:rgba(232,184,192,0.15);
}
.faq-question-premium{
  padding:24px 32px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  cursor:pointer;
  font-weight:800;
  font-size:17px;
  color:var(--navy);
  transition:all 0.3s;
  position:relative;
}
.faq-question-premium::before{
  content:'';
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:linear-gradient(180deg,var(--pink),var(--blue));
  transform:scaleY(0);
  transition:transform 0.3s;
}
.faq-question-premium:hover::before,
.faq-item-premium.active .faq-question-premium::before{
  transform:scaleY(1);
}
.faq-question-premium:hover{
  background:rgba(232,184,192,0.02);
  color:var(--pink);
}
.faq-question-premium i{
  color:var(--pink);
  transition:all 0.4s cubic-bezier(0.68,-0.55,0.265,1.55);
  font-size:18px;
}
.faq-item-premium.active .faq-question-premium i{
  transform:rotate(180deg);
  color:var(--blue);
}
.faq-answer-premium{
  max-height:0;
  overflow:hidden;
  transition:max-height 0.5s cubic-bezier(0.16,1,0.3,1);
}
.faq-item-premium.active .faq-answer-premium{
  max-height:400px;
}
.faq-answer-premium p{
  padding:0 32px 28px;
  color:var(--muted);
  font-size:15px;
  line-height:1.8;
}

/* ===== CONTACT (PREMIUM) ===== */
.contact-section-premium{
  padding:100px 0;
  position:relative;
}
.contact-grid-premium{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
}
.contact-info-premium h3{
  font-size:32px;
  margin-bottom:16px;
  color:var(--navy);
}
.contact-info-premium > p{
  color:var(--muted);
  margin-bottom:36px;
  font-size:17px;
  line-height:1.7;
}
.contact-details-premium{
  display:flex;
  flex-direction:column;
  gap:20px;
}
.contact-item-premium{
  display:flex;
  align-items:flex-start;
  gap:18px;
  padding:20px;
  background:var(--white);
  border-radius:var(--radius-sm);
  border:1px solid var(--border);
  transition:all 0.4s;
}
.contact-item-premium:hover{
  transform:translateX(8px);
  box-shadow:var(--shadow);
  border-color:rgba(232,184,192,0.2);
}
.contact-icon-premium{
  width:52px;
  height:52px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  flex-shrink:0;
  transition:all 0.4s;
}
.contact-icon-premium.pink{ background:linear-gradient(135deg,rgba(232,184,192,0.1),rgba(232,184,192,0.05)); color:var(--pink); }
.contact-icon-premium.blue{ background:linear-gradient(135deg,rgba(86,182,255,0.1),rgba(86,182,255,0.05)); color:var(--blue); }
.contact-icon-premium.teal{ background:linear-gradient(135deg,rgba(223,170,178,0.1),rgba(223,170,178,0.05)); color:var(--teal); }

.contact-item-premium:hover .contact-icon-premium{
  transform:scale(1.1) rotate(5deg);
}
.contact-item-premium:hover .contact-icon-premium.pink{ background:linear-gradient(135deg,var(--pink),var(--pink-light)); color:#fff; }
.contact-item-premium:hover .contact-icon-premium.blue{ background:linear-gradient(135deg,var(--blue),var(--blue-light)); color:#fff; }
.contact-item-premium:hover .contact-icon-premium.teal{ background:linear-gradient(135deg,var(--teal),var(--teal-light)); color:#fff; }

.contact-item-premium h4{
  font-size:17px;
  margin-bottom:4px;
  color:var(--navy);
}
.contact-item-premium p,
.contact-item-premium a{
  color:var(--muted);
  font-size:15px;
  text-decoration:none;
  transition:color 0.3s;
}
.contact-item-premium a:hover{
  color:var(--pink);
}

.contact-map-premium{
  background:linear-gradient(135deg,var(--offwhite),var(--white));
  border-radius:var(--radius);
  min-height:450px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:20px;
  color:var(--muted);
  border:2px dashed var(--border);
  transition:all 0.4s;
}
.contact-map-premium:hover{
  border-color:var(--pink);
  background:linear-gradient(135deg,rgba(232,184,192,0.03),rgba(86,182,255,0.03));
}
.contact-map-premium i{
  font-size:64px;
  background:linear-gradient(135deg,var(--pink),var(--blue),var(--teal));
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}

/* ===== FOOTER (PREMIUM) ===== */
.footer-premium{
  background:linear-gradient(135deg,var(--navy),#0f1e2e);
  color:#fff;
  padding:80px 0 30px;
  position:relative;
  overflow:hidden;
}
.footer-premium::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 20% 0%,rgba(232,184,192,0.1),transparent 50%),
    radial-gradient(circle at 80% 100%,rgba(86,182,255,0.1),transparent 50%);
}
.footer-grid-premium{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:50px;
  margin-bottom:50px;
  position:relative;
  z-index:1;
}
.footer-brand-premium p{
  color:rgba(255,255,255,0.7);
  margin-top:16px;
  font-size:15px;
  line-height:1.7;
}
.footer-links-premium h4{
  font-size:16px;
  margin-bottom:24px;
  color:#fff;
  position:relative;
  display:inline-block;
}
.footer-links-premium h4::after{
  content:'';
  position:absolute;
  bottom:-8px;
  left:0;
  width:30px;
  height:3px;
  background:linear-gradient(90deg,var(--pink),var(--blue));
  border-radius:3px;
}
.footer-links-premium ul{
  list-style:none;
}
.footer-links-premium li{
  margin-bottom:12px;
}
.footer-links-premium a{
  color:rgba(255,255,255,0.65);
  text-decoration:none;
  font-size:14px;
  transition:all 0.3s;
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.footer-links-premium a::before{
  content:'>';
  color:var(--pink);
  opacity:0;
  transition:all 0.3s;
  transform:translateX(-10px);
}
.footer-links-premium a:hover{
  color:#fff;
  padding-left:4px;
}
.footer-links-premium a:hover::before{
  opacity:1;
  transform:translateX(0);
}

.footer-bottom-premium{
  border-top:1px solid rgba(255,255,255,0.1);
  padding-top:30px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:20px;
  position:relative;
  z-index:1;
}
.footer-bottom-premium p{
  color:rgba(255,255,255,0.5);
  font-size:14px;
}

.social-links-premium{
  display:flex;
  gap:14px;
}
.social-links-premium a{
  width:44px;
  height:44px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  text-decoration:none;
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.15);
  transition:all 0.4s cubic-bezier(0.16,1,0.3,1);
  position:relative;
  overflow:hidden;
}
.social-links-premium a::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,var(--pink),var(--blue));
  opacity:0;
  transition:opacity 0.3s;
  border-radius:50%;
}
.social-links-premium a:hover{
  transform:translateY(-5px) scale(1.1);
  border-color:transparent;
  box-shadow:0 10px 30px rgba(232,184,192,0.3);
}
.social-links-premium a:hover::before{
  opacity:1;
}
.social-links-premium a i{
  position:relative;
  z-index:1;
}

/* ===== MOBILE CTA BAR ===== */
.mobile-cta-premium{
  display:none;
  position:fixed;
  bottom:0;
  left:0;
  right:0;
  background:rgba(255,255,255,0.95);
  padding:14px 24px;
  box-shadow:0 -10px 40px rgba(13,27,42,0.15);
  z-index:999;
  gap:14px;
  backdrop-filter:blur(20px);
  border-top:1px solid var(--pink-light);
}
.mobile-cta-premium .btn-premium{
  flex:1;
  justify-content:center;
  padding:14px 20px;
  font-size:14px;
}

/* ===== INNER PAGES ===== */
.inner-hero{
  padding:60px 0 40px;
  text-align:center;
  position:relative;
  background:linear-gradient(180deg,var(--white),var(--offwhite));
}
.inner-hero .glow-orb.pink{
  width:300px; height:300px;
  top:-100px; left:50%;
  transform:translateX(-50%);
  filter:blur(100px);
  opacity:0.3;
}
.inner-hero h1{
  font-size:clamp(32px,4vw,48px);
  font-weight:800;
  margin-bottom:16px;
  color:var(--navy);
}
.inner-hero .lead{
  max-width:700px;
  margin:0 auto;
  color:var(--muted);
  font-size:17px;
  line-height:1.7;
}

.inner-content{
  padding:40px 0 80px;
}

/* Cards for inner pages */
.card-premium{
  background:var(--white);
  border-radius:var(--radius-sm);
  padding:28px;
  border:1px solid var(--border);
  box-shadow:0 8px 25px rgba(13,27,42,0.06);
  transition:all 0.4s;
}
.card-premium:hover{
  transform:translateY(-5px);
  box-shadow:var(--shadow);
  border-color:rgba(232,184,192,0.15);
}
.card-premium h2{
  font-size:22px;
  margin-bottom:12px;
  color:var(--navy);
}
.card-premium h3{
  font-size:18px;
  margin-bottom:10px;
  color:var(--navy);
}
.card-premium p,
.card-premium li{
  color:var(--muted);
  line-height:1.7;
}
.card-premium ul{
  padding-left:20px;
}
.card-premium li{
  margin-bottom:8px;
}

.grid-premium{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:20px;
  margin-top:30px;
}
.grid-premium .span-4{ grid-column:span 4; }
.grid-premium .span-6{ grid-column:span 6; }
.grid-premium .span-12{ grid-column:span 12; }

@media (max-width:860px){
  .grid-premium .span-4,
  .grid-premium .span-6{ grid-column:span 12; }
}

/* Trust badges */
.trust-badges{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-content:center;
  margin:20px 0;
}
.trust-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 18px;
  background:rgba(255,255,255,0.9);
  border:1px solid var(--border);
  border-radius:999px;
  font-size:13px;
  font-weight:700;
  color:var(--navy);
  transition:all 0.3s;
}
.trust-badge:hover{
  transform:translateY(-3px);
  box-shadow:0 10px 25px rgba(232,184,192,0.15);
  border-color:var(--pink-light);
}
.trust-badge i{
  color:var(--teal);
}
.trust-badge.pink-accent i{ color:var(--pink); }
.trust-badge.blue-accent i{ color:var(--blue); }

/* CTA row */
.cta-row-premium{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  justify-content:center;
  margin-top:24px;
}

/* Pricing cards */
.pricing-card{
  background:var(--white);
  border-radius:var(--radius-sm);
  padding:32px;
  border:1px solid var(--border);
  text-align:center;
  transition:all 0.5s;
  position:relative;
  overflow:hidden;
}
.pricing-card::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:4px;
  background:linear-gradient(90deg,var(--pink),var(--blue));
  transform:scaleX(0);
  transition:transform 0.5s;
}
.pricing-card:hover::before{
  transform:scaleX(1);
}
.pricing-card:hover{
  transform:translateY(-10px);
  box-shadow:var(--shadow-hover);
  border-color:rgba(232,184,192,0.2);
}
.pricing-card h3{
  font-size:20px;
  margin-bottom:8px;
  color:var(--navy);
}
.pricing-card .price{
  font-size:36px;
  font-weight:800;
  background:linear-gradient(135deg,var(--pink),var(--blue));
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  margin:16px 0;
}
.pricing-card ul{
  list-style:none;
  padding:0;
  margin:20px 0;
}
.pricing-card li{
  padding:8px 0;
  color:var(--muted);
  border-bottom:1px solid var(--border);
}
.pricing-card li:last-child{
  border-bottom:none;
}

/* Booking embed */
.booking-embed-premium{
  width:100%;
  border-radius:var(--radius);
  overflow:hidden;
  border:2px solid var(--border);
  background:var(--white);
  box-shadow:var(--shadow);
  transition:all 0.4s;
}
.booking-embed-premium:hover{
  border-color:var(--pink);
  box-shadow:0 20px 50px rgba(232,184,192,0.15);
}
.booking-iframe-premium{
  width:100%;
  height:820px;
  border:0;
  display:block;
}
@media (max-width:600px){
  .booking-iframe-premium{ height:980px; }
}
@media (max-width:380px){
  .booking-iframe-premium{ height:1100px; }
}

/* Details/summary styling */
details{
  background:var(--white);
  border-radius:var(--radius-sm);
  border:1px solid var(--border);
  margin-bottom:12px;
  overflow:hidden;
  transition:all 0.3s;
}
details:hover{
  border-color:rgba(232,184,192,0.2);
  box-shadow:0 8px 25px rgba(13,27,42,0.06);
}
details summary{
  padding:18px 24px;
  font-weight:800;
  color:var(--navy);
  cursor:pointer;
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  transition:all 0.3s;
}
details summary::after{
  content:'+';
  font-size:24px;
  color:var(--pink);
  transition:all 0.3s;
}
details[open] summary::after{
  content:'-';
  color:var(--blue);
}
details summary:hover{
  background:rgba(232,184,192,0.02);
  color:var(--pink);
}
details > p,
details > div{
  padding:0 24px 20px;
  color:var(--muted);
  line-height:1.7;
}

/* Portfolio carousel */
.portfolio-wrap{ padding:40px 0 60px; }
.portfolio-head{ text-align:center; max-width:980px; margin:0 auto 20px; padding:0 16px; }
.portfolio-head h1{ margin:0 0 8px; color:var(--navy); font-size:clamp(32px,4vw,44px); }
.portfolio-head p{ margin:0; color:var(--muted); }

.ba-carousel{ max-width:980px; margin:20px auto 0; padding:0 16px; }
.ba-frame{
  position:relative;
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  overflow:hidden;
}
.ba-stage{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  background:var(--offwhite);
}
.ba-stage::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:0;
  background:
    radial-gradient(circle at 20% 30%,rgba(232,184,192,.2),transparent 35%),
    radial-gradient(circle at 75% 40%,rgba(86,182,255,.18),transparent 38%),
    radial-gradient(circle at 45% 70%,rgba(255,255,255,.3),transparent 42%);
  transition:opacity .35s ease;
}
.ba-stage.is-transitioning::after{ opacity:1; }

.ba-slide{
  position:absolute;
  inset:0;
  border:0;
  padding:0;
  background:transparent;
  cursor:zoom-in;
  opacity:0;
  transition:opacity .6s ease;
}
.ba-slide.is-active{ opacity:1; }
.ba-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.ba-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:48px;
  height:48px;
  border-radius:999px;
  border:1px solid rgba(13,27,42,.15);
  background:rgba(255,255,255,.92);
  color:var(--navy);
  font-size:22px;
  font-weight:800;
  cursor:pointer;
  z-index:10;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 30px rgba(0,0,0,.15);
  transition:all 0.3s;
}
.ba-nav:hover{
  background:linear-gradient(135deg,var(--pink),var(--blue));
  color:#fff;
  border-color:transparent;
  transform:translateY(-50%) scale(1.1);
  box-shadow:0 15px 40px rgba(232,184,192,.3);
}
.ba-prev{ left:12px; }
.ba-next{ right:12px; }

.ba-dots{
  display:flex;
  justify-content:center;
  gap:10px;
  padding:14px 12px 16px;
  background:#fff;
  border-top:1px solid rgba(13,27,42,.08);
}
.ba-dots button{
  width:10px;
  height:10px;
  border-radius:999px;
  border:0;
  background:rgba(13,27,42,.2);
  cursor:pointer;
  transition:all 0.3s;
}
.ba-dots button.is-active{
  background:linear-gradient(135deg,var(--pink),var(--blue));
  width:30px;
  box-shadow:0 0 15px rgba(232,184,192,.3);
}

.ba-hint{ text-align:center; color:var(--muted); font-size:.95rem; margin:12px 0 0; }

/* Lightbox */
.lightbox{
  position:fixed;
  inset:0;
  background:rgba(13,27,42,.6);
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  z-index:9999;
  backdrop-filter:blur(10px);
}
.lightbox.is-open{ display:flex; }
.lightbox-inner{
  width:min(980px,100%);
  background:#fff;
  border-radius:var(--radius);
  overflow:hidden;
  border:1px solid rgba(13,27,42,.15);
  box-shadow:0 30px 80px rgba(0,0,0,.3);
  position:relative;
}
.lightbox-img{ width:100%; height:auto; display:block; }
.lightbox-close{
  position:absolute;
  top:14px;
  right:14px;
  border:1px solid rgba(13,27,42,.15);
  background:#fff;
  border-radius:999px;
  padding:10px 14px;
  cursor:pointer;
  font-size:18px;
  transition:all 0.3s;
  box-shadow:0 5px 15px rgba(0,0,0,.1);
}
.lightbox-close:hover{
  background:linear-gradient(135deg,var(--pink),var(--blue));
  color:#fff;
  border-color:transparent;
  transform:scale(1.1);
}

/* ===== FORM WIZARD (CONTACT) ===== */
.form-steps{ max-width:760px; margin:0 auto; }
.form-head h1{ margin:0 0 8px; font-size:clamp(28px,4vw,40px); }
.form-head p{ margin:0 0 20px; color:var(--muted); font-size:16px; }

.tms-form{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:32px;
  box-shadow:var(--shadow);
  position:relative;
  overflow:hidden;
}
.tms-form::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:4px;
  background:linear-gradient(90deg,var(--pink),var(--blue),var(--teal));
}

.progress{
  font-size:14px;
  color:var(--muted);
  margin:0 0 16px;
  font-weight:700;
}
.progress span{
  color:var(--pink);
}

.error{
  color:#b00020;
  margin:12px 0;
  padding:12px 16px;
  background:rgba(176,0,32,0.05);
  border-radius:12px;
  border:1px solid rgba(176,0,32,0.15);
  font-weight:700;
  display:none;
}

.step{ display:none; }
.step.is-active{ display:block; animation:fadeSlide 0.4s ease; }
@keyframes fadeSlide{
  from{ opacity:0; transform:translateX(20px); }
  to{ opacity:1; transform:translateX(0); }
}

.field{ margin:18px 0; }
.field label{
  display:block;
  margin-bottom:8px;
  font-weight:800;
  color:var(--navy);
  font-size:14px;
}
.field label .hint{
  display:block;
  font-weight:600;
  color:var(--muted);
  margin-top:4px;
  font-size:13px;
}

.tms-form input,
.tms-form select,
.tms-form textarea{
  width:100%;
  padding:14px 16px;
  border-radius:14px;
  border:2px solid var(--border);
  background:#fff;
  font-size:15px;
  font-family:inherit;
  transition:all 0.3s;
  outline:none;
}
.tms-form input:focus,
.tms-form select:focus,
.tms-form textarea:focus{
  border-color:var(--pink);
  box-shadow:0 0 0 4px rgba(232,184,192,0.1),0 0 20px rgba(232,184,192,0.1);
}
.tms-form textarea{ min-height:120px; resize:vertical; }

.step-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:24px;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:14px 24px;
  border-radius:999px;
  border:2px solid var(--border);
  background:#fff;
  color:var(--navy);
  font-weight:800;
  font-size:15px;
  cursor:pointer;
  text-decoration:none;
  transition:all 0.4s cubic-bezier(0.16,1,0.3,1);
}
.btn:hover{
  transform:translateY(-3px);
  box-shadow:0 10px 30px rgba(232,184,192,0.15);
  border-color:var(--pink);
}
.btn.primary{
  background:linear-gradient(135deg,var(--pink),var(--blue));
  color:#fff;
  border-color:transparent;
  box-shadow:0 10px 30px rgba(232,184,192,0.25);
}
.btn.primary:hover{
  box-shadow:0 15px 40px rgba(232,184,192,0.35);
  transform:translateY(-3px) scale(1.02);
}
.btn:disabled{
  opacity:0.65;
  cursor:not-allowed;
}

.checkline{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  font-weight:700;
}
.checkline input[type="checkbox"]{
  width:18px !important;
  height:18px !important;
  margin:0 !important;
}

.sr-only{
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  overflow:hidden;
}

/* ===== RESPONSIVE ===== */
@media (max-width:1024px){
  .hero-grid{ grid-template-columns:1fr; text-align:center; }
  .hero-visual{ display:none; }
  .services-grid{ grid-template-columns:repeat(2,1fr); }
  .testimonials-grid-premium{ grid-template-columns:repeat(2,1fr); }
  .stats-grid{ grid-template-columns:repeat(2,1fr); }
  .quote-grid-premium{ grid-template-columns:1fr; }
  .contact-grid-premium{ grid-template-columns:1fr; }
  .footer-grid-premium{ grid-template-columns:repeat(2,1fr); }
}

@media (max-width:768px){
  .services-grid,
  .testimonials-grid-premium,
  .steps-grid-premium,
  .stats-grid{ grid-template-columns:1fr; }
  .steps-grid-premium::before{ display:none; }
  .footer-grid-premium{ grid-template-columns:1fr; }
  .hero-section{ padding:60px 0 80px; }
  .quote-form-premium{ padding:32px 24px; }
  .form-row-premium{ grid-template-columns:1fr; }
  .mobile-cta-premium{ display:flex; }
  body{ padding-bottom:80px; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  *{ animation:none !important; transition:none !important; }
}


/* ===== V6 conversion feature fixes ===== */
.notice-success,.notice-error{padding:16px 18px;border-radius:18px;margin:0 0 24px;font-weight:800}.notice-success{background:rgba(223,170,178,.11);border:1px solid rgba(223,170,178,.25);color:#05796f}.notice-error{background:rgba(232,184,192,.1);border:1px solid rgba(232,184,192,.25);color:#b6134e}
.filter-bar{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin:0 0 34px}.filter-btn{border:1px solid var(--border);background:#fff;border-radius:999px;padding:11px 18px;font-weight:900;color:var(--navy);cursor:pointer;box-shadow:0 12px 28px rgba(13,27,42,.08);transition:.25s ease}.filter-btn.active,.filter-btn:hover{background:linear-gradient(135deg,var(--teal),var(--blue));color:#fff;transform:translateY(-2px)}
.results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.result-card h2{margin-bottom:14px}.result-card p{color:var(--muted);line-height:1.65;margin-top:14px}.ba-slider{position:relative;overflow:hidden;border-radius:22px;min-height:310px;background:linear-gradient(135deg,#f8fbff,#fff2f7);box-shadow:inset 0 0 0 1px var(--border)}.ba-slider>img,.ba-after img{display:block;width:100%;height:310px;object-fit:cover}.ba-after{position:absolute;left:0;top:0;bottom:0;width:50%;overflow:hidden;border-right:3px solid #fff;box-shadow:12px 0 24px rgba(13,27,42,.16)}.ba-after img{width:100%;max-width:none}.ba-slider input[type=range]{position:absolute;left:0;right:0;bottom:18px;width:calc(100% - 44px);margin:0 22px;accent-color:var(--pink);z-index:5}.ba-tag{position:absolute;top:14px;padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.88);backdrop-filter:blur(10px);font-size:12px;font-weight:900;text-transform:uppercase;color:var(--navy);z-index:4}.ba-tag.before{left:14px}.ba-tag.after{right:14px;background:linear-gradient(135deg,var(--teal),var(--blue));color:#fff}
.review-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.review-form-grid .full{grid-column:1/-1}.review-form-grid label{display:block;font-weight:900;color:var(--navy);margin-bottom:8px}.review-form-grid input,.review-form-grid select,.review-form-grid textarea,.calculator-grid select{width:100%;border:1px solid var(--border);border-radius:16px;padding:14px 16px;font:inherit;background:#fff;color:var(--text);box-shadow:0 10px 24px rgba(13,27,42,.05)}.star-picker{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:3px}.star-picker input{display:none}.star-picker label{font-size:34px;color:#d8dee8;cursor:pointer;line-height:1}.star-picker input:checked~label,.star-picker label:hover,.star-picker label:hover~label{color:#ffc107}.dynamic-reviews{grid-template-columns:repeat(3,minmax(0,1fr))}.review-card-live{min-height:230px}.review-stars{letter-spacing:2px;color:#ffc107;font-size:20px}.review-message{font-size:16px;line-height:1.7;margin:12px 0 16px;font-style:italic}.review-meta{color:var(--muted)}.review-photo-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.review-photo-row img{width:88px;height:88px;object-fit:cover;border-radius:16px;border:1px solid var(--border);box-shadow:0 8px 18px rgba(13,27,42,.12)}.moderation-card{border:1px solid var(--border);border-radius:20px;padding:18px;margin-top:18px;background:#fff}.admin-actions{display:flex;gap:12px;margin-top:14px;flex-wrap:wrap}
.quote-calculator-premium{max-width:980px;margin:0 auto}.calculator-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.calculator-grid label{font-weight:900;color:var(--navy)}.calculator-grid select{margin-top:8px}.quote-result-box{margin-top:20px;padding:18px 20px;border-radius:20px;background:linear-gradient(135deg,rgba(223,170,178,.12),rgba(86,182,255,.1),rgba(232,184,192,.08));border:1px solid var(--border);font-size:18px;color:var(--navy)}.quote-result-box strong{font-size:26px;color:var(--teal)}.quote-result-box small{display:block;color:var(--muted);font-size:13px;margin-top:4px}
.coverage-layout-fixed{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:28px;align-items:stretch}.coverage-map-fixed{position:relative;min-height:560px;overflow:hidden;background:radial-gradient(circle at 50% 50%,rgba(178,223,219,.55),rgba(255,255,255,.88) 48%,rgba(248,187,208,.22) 100%)}.coverage-map-fixed:before,.coverage-map-fixed:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;border:8px solid rgba(223,170,178,.18)}.coverage-map-fixed:before{width:360px;height:360px}.coverage-map-fixed:after{width:520px;height:520px;border-color:rgba(86,182,255,.09)}.map-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:138px;height:138px;border-radius:50%;background:#fff;box-shadow:0 18px 50px rgba(13,27,42,.12);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--navy);font-weight:1000;z-index:2}.map-core small{color:var(--muted);font-size:12px}.map-pin-fixed{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);border:0;border-radius:999px;background:linear-gradient(135deg,var(--teal),var(--blue));color:#fff;padding:13px 19px;font-weight:1000;font-size:16px;box-shadow:0 18px 44px rgba(86,182,255,.22);cursor:pointer;z-index:3;transition:.22s ease;white-space:nowrap}.map-pin-fixed:hover,.map-pin-fixed.active{transform:translate(-50%,-50%) scale(1.08);background:linear-gradient(135deg,var(--pink),var(--blue))}.coverage-panel-fixed{display:flex;flex-direction:column;justify-content:center}.coverage-panel-fixed h2{font-size:32px;margin:12px 0}.coverage-panel-fixed p{color:var(--muted);line-height:1.7}.coverage-list{margin:18px 0 24px;padding-left:20px;color:var(--text);line-height:1.8;font-weight:700}
@media(max-width:980px){.results-grid,.dynamic-reviews,.coverage-layout-fixed{grid-template-columns:1fr}.calculator-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.coverage-map-fixed{min-height:480px}.ba-slider,.ba-slider>img,.ba-after img{min-height:260px;height:260px}}
@media(max-width:640px){.review-form-grid,.calculator-grid{grid-template-columns:1fr}.coverage-map-fixed{min-height:520px;padding:12px}.coverage-map-fixed:before{width:250px;height:250px}.coverage-map-fixed:after{width:360px;height:360px}.map-pin-fixed{font-size:13px;padding:10px 13px}.results-grid{gap:18px}.ba-slider,.ba-slider>img,.ba-after img{height:230px;min-height:230px}.dynamic-reviews{grid-template-columns:1fr}}



/* =========================================================
   V8 TRUST, BRAND & REVENUE INTEGRATION
   ========================================================= */

.v8-hero-portrait{
  position:relative;
  width:min(460px,100%);
  margin-inline:auto;
  border-radius:34px;
  padding:14px;
  background:linear-gradient(135deg,rgba(232,184,192,.22),rgba(86,182,255,.18),rgba(223,170,178,.18));
  box-shadow:0 34px 95px rgba(13,27,42,.18),0 0 90px rgba(232,184,192,.16);
  animation:float-y 4s ease-in-out infinite;
}
.v8-hero-portrait img{
  display:block;
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  border-radius:26px;
  background:#fff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.5);
}
.v8-portrait-badge{
  position:absolute;
  left:22px;
  right:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:13px 15px;
  border-radius:999px;
  background:rgba(255,255,255,.9);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
  color:var(--navy);
  font-weight:900;
  font-size:14px;
  box-shadow:0 18px 40px rgba(13,27,42,.14);
}
.v8-portrait-badge i{color:var(--pink);}
.v8-portrait-badge.top{top:32px;}
.v8-portrait-badge.bottom{bottom:32px;}
.v8-trust-section{
  padding:34px 0 70px;
  background:linear-gradient(180deg,var(--offwhite),#fff);
  position:relative;
  z-index:2;
}
.v8-trust-strip{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  margin-bottom:24px;
}
.v8-trust-strip div{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:15px 12px;
  border-radius:18px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(13,27,42,.08);
  box-shadow:0 15px 38px rgba(13,27,42,.08);
  color:var(--navy);
  font-weight:900;
  text-align:center;
}
.v8-trust-strip i{color:var(--teal);}
.v8-stats-grid{
  margin-top:0;
}
.v8-meet-section{
  padding:96px 0;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 15% 15%,rgba(248,187,208,.35),transparent 34%),
    radial-gradient(circle at 85% 30%,rgba(187,222,251,.45),transparent 32%),
    #fff;
}
.v8-meet-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:52px;
  align-items:center;
}
.v8-meet-image{
  position:relative;
  padding:14px;
  border-radius:34px;
  background:linear-gradient(135deg,var(--pink),var(--blue),var(--teal));
  box-shadow:0 30px 80px rgba(13,27,42,.16);
}
.v8-meet-image img{
  display:block;
  width:100%;
  border-radius:24px;
  aspect-ratio:4/5;
  object-fit:cover;
}
.v8-meet-copy .section-title{
  text-align:left;
}
.v8-proof-list{
  display:grid;
  gap:13px;
  margin:28px 0;
}
.v8-proof-list div{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:14px 16px;
  border-radius:16px;
  background:rgba(255,255,255,.8);
  border:1px solid var(--border);
  box-shadow:0 12px 30px rgba(13,27,42,.06);
  font-weight:800;
}
.v8-proof-list i{color:var(--teal);margin-top:3px;}
.v8-quote-section .quote-form-premium{
  min-height:auto;
}
.v8-calc-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.v8-quote-output{
  margin-top:20px;
  padding:22px;
  border-radius:22px;
  background:linear-gradient(135deg,rgba(223,170,178,.14),rgba(86,182,255,.12));
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
  font-size:18px;
  line-height:1.55;
}
.v8-quote-output strong{
  display:block;
  font-size:32px;
  line-height:1.15;
  margin-top:4px;
  color:#fff;
}
.v8-quote-output small{
  display:block;
  margin-top:8px;
  color:rgba(255,255,255,.82);
  font-size:13px;
}
.v8-quote-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:18px;
}
.v8-reviews-home .review-card-live{
  min-height:250px;
}
.v8-centre-cta{
  display:flex;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
  margin-top:34px;
}
.v8-featured-results{
  padding:92px 0;
  background:linear-gradient(180deg,#fff,var(--offwhite));
}
.v8-home-results{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

/* Areas rebuild */
.v8-area-layout{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:28px;
  align-items:stretch;
}
.v8-area-map{
  min-height:560px;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 50%,rgba(223,170,178,.22),transparent 18%),
    radial-gradient(circle at 50% 50%,rgba(86,182,255,.15),transparent 38%),
    linear-gradient(135deg,#f9fcff,#fff5fa);
}
.v8-map-rings,
.v8-map-rings:before,
.v8-map-rings:after{
  position:absolute;
  content:'';
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  border:1px dashed rgba(13,27,42,.12);
}
.v8-map-rings{width:210px;height:210px;}
.v8-map-rings:before{width:360px;height:360px;}
.v8-map-rings:after{width:500px;height:500px;}
.v8-map-centre{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:128px;
  height:128px;
  border-radius:50%;
  display:grid;
  place-items:center;
  align-content:center;
  background:linear-gradient(135deg,var(--pink),var(--blue));
  color:#fff;
  box-shadow:0 20px 55px rgba(86,182,255,.28);
  z-index:3;
}
.v8-map-centre strong{font-size:28px;}
.v8-map-centre span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.7px;}
.v8-area-pin{
  position:absolute;
  left:var(--x);
  top:var(--y);
  transform:translate(-50%,-50%);
  border:0;
  border-radius:999px;
  padding:12px 16px;
  background:#fff;
  color:var(--navy);
  font-weight:900;
  box-shadow:0 15px 35px rgba(13,27,42,.14);
  cursor:pointer;
  transition:.25s ease;
  z-index:5;
}
.v8-area-pin:hover,
.v8-area-pin.active{
  transform:translate(-50%,-50%) scale(1.07);
  color:#fff;
  background:linear-gradient(135deg,var(--teal),var(--blue));
}
.v8-area-panel{
  align-self:stretch;
}
.v8-area-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.v8-area-card i{
  color:var(--pink);
  font-size:24px;
  margin-bottom:12px;
}
.v8-area-card h3{margin-bottom:10px;}
.v8-area-card p{color:var(--muted);line-height:1.65;margin-bottom:14px;}
.v8-area-card a{font-weight:900;color:var(--blue);text-decoration:none;}

/* Sticky actions */
.v8-sticky-actions{
  position:fixed;
  right:18px;
  bottom:18px;
  display:grid;
  gap:10px;
  z-index:9999;
}
.v8-sticky-actions a{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-width:122px;
  padding:13px 16px;
  border-radius:999px;
  color:#fff;
  text-decoration:none;
  font-weight:900;
  box-shadow:0 18px 46px rgba(13,27,42,.22);
}
.v8-sticky-quote{background:linear-gradient(135deg,var(--pink),var(--blue));}
.v8-sticky-whatsapp{background:linear-gradient(135deg,#25D366,var(--teal));}
.v8-sticky-actions i{font-size:18px;}

@media (max-width:980px){
  .v8-trust-strip{grid-template-columns:repeat(2,minmax(0,1fr));}
  .v8-meet-grid,
  .v8-area-layout{grid-template-columns:1fr;}
  .v8-area-cards{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (max-width:640px){
  .v8-hero-portrait{max-width:300px;}
  .v8-portrait-badge{font-size:12px;left:12px;right:12px;padding:10px;}
  .v8-trust-strip,
  .v8-calc-grid,
  .v8-home-results,
  .v8-area-cards{grid-template-columns:1fr;}
  .v8-meet-section,
  .v8-featured-results{padding:58px 0;}
  .v8-meet-copy .section-title{text-align:center;}
  .v8-proof-list div{font-size:14px;}
  .v8-quote-actions{display:grid;}
  .v8-area-map{min-height:auto;padding:22px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .v8-map-rings,.v8-map-centre{display:none;}
  .v8-area-pin{
    position:relative;
    left:auto;
    top:auto;
    transform:none !important;
    width:100%;
  }
  .v8-sticky-actions{
    left:10px;
    right:10px;
    bottom:10px;
    grid-template-columns:1fr 1fr;
  }
  .v8-sticky-actions a{
    min-width:0;
    padding:12px 10px;
    font-size:13px;
  }
  body{padding-bottom:74px;}
}



/* =========================================================
   V9 REAL MAP PASS
   ========================================================= */
.v9-map-shell{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
  gap:28px;
  align-items:stretch;
}
.v9-map-card{
  position:relative;
  padding:0;
  overflow:hidden;
  min-height:560px;
  background:linear-gradient(135deg,#f8fcff,#fff4fa);
}
.v9-map-frame{
  position:absolute;
  inset:0;
}
.v9-map-frame iframe{
  width:100%;
  height:100%;
  border:0;
  filter:saturate(1.08) contrast(1.02);
}
.v9-map-overlay{
  position:absolute;
  left:24px;
  right:24px;
  bottom:24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 20px;
  border-radius:22px;
  background:rgba(255,255,255,.92);
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
  box-shadow:0 18px 50px rgba(13,27,42,.18);
  border:1px solid rgba(255,255,255,.55);
}
.v9-map-overlay span{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:900;
  color:var(--navy);
}
.v9-map-overlay i{color:var(--pink);}
.v9-map-overlay strong{
  color:var(--teal);
}
.v9-area-panel{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.v9-postcode-check{
  margin-top:26px;
  padding:22px;
  border-radius:22px;
  background:linear-gradient(135deg,rgba(232,184,192,.10),rgba(86,182,255,.11));
  border:1px solid var(--border);
}
.v9-postcode-check h3{
  margin-bottom:8px;
  color:var(--navy);
}
.v9-postcode-check p{
  color:var(--muted);
  line-height:1.6;
  margin-bottom:16px;
}
.v9-area-selector{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
  margin:30px 0 0;
}
.v9-area-chip{
  border:1px solid rgba(13,27,42,.08);
  background:#fff;
  color:var(--navy);
  border-radius:999px;
  padding:12px 18px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 14px 34px rgba(13,27,42,.09);
  transition:.25s ease;
}
.v9-area-chip:hover,
.v9-area-chip.active{
  color:#fff;
  transform:translateY(-2px);
  background:linear-gradient(135deg,var(--teal),var(--blue));
}
.v8-area-card.active{
  border-color:rgba(223,170,178,.35);
  box-shadow:0 26px 70px rgba(223,170,178,.14);
}
@media(max-width:980px){
  .v9-map-shell{
    grid-template-columns:1fr;
  }
  .v9-map-card{
    min-height:430px;
  }
}
@media(max-width:640px){
  .v9-map-card{
    min-height:360px;
    border-radius:22px;
  }
  .v9-map-overlay{
    left:12px;
    right:12px;
    bottom:12px;
    display:block;
    text-align:center;
    padding:14px;
  }
  .v9-map-overlay span{
    justify-content:center;
    margin-bottom:5px;
  }
  .v9-area-selector{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .v9-area-chip{
    width:100%;
    padding:11px 10px;
    font-size:13px;
  }
}


/* =========================================================
   V11 FORCE CORRECTED LOGO + PHOTO ASSETS
   ========================================================= */
.logo-video{display:none!important;}
.logo-image,
.logo-image-v11,
body.home .logo-image,
body:not(.home) .logo-image{
  display:block!important;
  width:auto!important;
  max-width:220px!important;
  max-height:122px!important;
  object-fit:contain!important;
}
.brand-link{display:inline-flex!important;align-items:center;justify-content:center;}
.v8-hero-portrait img,
.v8-meet-image img{
  object-position:center top!important;
}
@media(max-width:768px){
  .logo-image,
  .logo-image-v11,
  body.home .logo-image,
  body:not(.home) .logo-image{
    max-width:170px!important;
    max-height:96px!important;
  }
}



/* =========================================================
   V12 HEADER & NAVIGATION POLISH
   ========================================================= */
.site-header-v12{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(255,255,255,.92);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(13,27,42,.08);
  box-shadow:0 10px 32px rgba(13,27,42,.06);
}
.header-inner-v12{
  min-height:92px;
  padding:12px 0;
  display:grid!important;
  grid-template-columns:220px minmax(0,1fr) 150px;
  align-items:center;
  gap:22px;
}
.brand-v12{
  width:auto!important;
  justify-content:flex-start!important;
}
.brand-link-v12{
  display:inline-flex!important;
  align-items:center;
  justify-content:flex-start;
  line-height:0;
}
.logo-image-v12,
.logo-image-v11.logo-image-v12,
body.home .logo-image-v12,
body:not(.home) .logo-image-v12{
  display:block!important;
  width:auto!important;
  max-width:190px!important;
  max-height:78px!important;
  object-fit:contain!important;
  margin:0!important;
}
.nav-wrap-v12{
  width:100%!important;
  justify-content:center!important;
  min-width:0;
}
.nav-v12{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center;
  justify-content:center;
  gap:7px!important;
  width:100%;
  overflow:visible;
}
.nav-v12 a{
  padding:10px 12px!important;
  font-size:13px!important;
  line-height:1!important;
  white-space:nowrap;
  background:transparent!important;
  border-radius:999px;
}
.nav-v12 a:hover,
.nav-v12 a[aria-current="page"]{
  background:linear-gradient(135deg,var(--pink),var(--blue))!important;
  color:#fff!important;
  transform:translateY(-2px);
}
.nav-v12 a::after{display:none!important;}
.header-cta-v12{
  display:flex;
  justify-content:flex-end;
}
.header-book-v12{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-width:136px;
  padding:13px 16px;
  border-radius:999px;
  color:#fff;
  text-decoration:none;
  font-weight:900;
  font-size:13px;
  background:linear-gradient(135deg,var(--pink),var(--blue));
  box-shadow:0 16px 36px rgba(232,184,192,.20);
  transition:.25s ease;
}
.header-book-v12:hover{
  transform:translateY(-2px);
  box-shadow:0 20px 45px rgba(86,182,255,.24);
}

/* Stop older header rules from forcing centred stacked header on desktop */
.site-header-v12 .header-inner{
  flex-direction:initial!important;
}
.site-header-v12 .brand{
  display:flex!important;
}

/* Tablet: two-row layout, still professional */
@media(max-width:1100px){
  .header-inner-v12{
    grid-template-columns:180px 1fr;
    grid-template-areas:
      "brand cta"
      "nav nav";
    min-height:auto;
    gap:10px 16px;
  }
  .brand-v12{grid-area:brand;}
  .nav-wrap-v12{grid-area:nav;}
  .header-cta-v12{grid-area:cta;}
  .logo-image-v12,
  .logo-image-v11.logo-image-v12,
  body.home .logo-image-v12,
  body:not(.home) .logo-image-v12{
    max-width:165px!important;
    max-height:70px!important;
  }
  .nav-v12{
    flex-wrap:wrap!important;
    justify-content:center;
  }
}

/* Mobile: logo left, CTA right, nav clean 2-column below */
@media(max-width:768px){
  .site-header-v12{
    position:relative;
  }
  .header-inner-v12{
    width:100%;
    grid-template-columns:1fr auto;
    grid-template-areas:
      "brand cta"
      "nav nav";
    padding:10px 0 12px;
    gap:10px 12px;
  }
  .brand-v12{
    justify-content:flex-start!important;
  }
  .logo-image-v12,
  .logo-image-v11.logo-image-v12,
  body.home .logo-image-v12,
  body:not(.home) .logo-image-v12{
    max-width:138px!important;
    max-height:64px!important;
  }
  .header-book-v12{
    min-width:auto;
    padding:11px 13px;
    font-size:12px;
  }
  .header-book-v12 span{
    display:none;
  }
  .nav-v12{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px!important;
    max-width:360px;
    margin-inline:auto;
  }
  .nav-v12 a{
    width:100%;
    justify-content:center;
    text-align:center;
    padding:10px 8px!important;
    font-size:11px!important;
    background:rgba(255,255,255,.72)!important;
    border:1px solid rgba(13,27,42,.08);
    box-shadow:0 8px 20px rgba(13,27,42,.05);
  }
}

@media(max-width:380px){
  .logo-image-v12,
  .logo-image-v11.logo-image-v12,
  body.home .logo-image-v12,
  body:not(.home) .logo-image-v12{
    max-width:118px!important;
  }
  .nav-v12{
    max-width:320px;
  }
  .nav-v12 a{
    font-size:10px!important;
    padding:9px 6px!important;
  }
}



/* =========================================================
   V13 HEADER LOGO REAL SIZE FIX
   Fixes tiny logo caused by transparent logo padding + older header rules.
   ========================================================= */

.site-header-v13{
  position:sticky!important;
  top:0!important;
  z-index:1000!important;
  background:rgba(255,255,255,.94)!important;
  -webkit-backdrop-filter:blur(18px)!important;
  backdrop-filter:blur(18px)!important;
  border-bottom:1px solid rgba(13,27,42,.08)!important;
  box-shadow:0 10px 34px rgba(13,27,42,.07)!important;
}

.site-header-v13 .header-inner-v13{
  width:min(1240px,92vw)!important;
  margin:0 auto!important;
  min-height:104px!important;
  padding:10px 0!important;
  display:grid!important;
  grid-template-columns:260px minmax(0,1fr) 150px!important;
  align-items:center!important;
  gap:24px!important;
}

.site-header-v13 .brand-link-v13{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:260px!important;
  max-width:260px!important;
  text-decoration:none!important;
  line-height:0!important;
}

.site-header-v13 img.logo-image-v13{
  display:block!important;
  width:240px!important;
  max-width:240px!important;
  height:auto!important;
  max-height:92px!important;
  object-fit:contain!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
}

.site-header-v13 .nav-wrap-v13{
  min-width:0!important;
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

.site-header-v13 .nav-v13{
  list-style:none!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  margin:0!important;
  padding:0!important;
}

.site-header-v13 .nav-v13 a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:10px 11px!important;
  border-radius:999px!important;
  color:var(--navy)!important;
  text-decoration:none!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1!important;
  white-space:nowrap!important;
  background:transparent!important;
  border:1px solid transparent!important;
  transition:.22s ease!important;
}

.site-header-v13 .nav-v13 a:hover,
.site-header-v13 .nav-v13 a[aria-current="page"]{
  color:#fff!important;
  background:linear-gradient(135deg,var(--pink),var(--blue))!important;
  box-shadow:0 12px 28px rgba(232,184,192,.18)!important;
  transform:translateY(-2px)!important;
}

.site-header-v13 .header-book-v13{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  min-width:140px!important;
  padding:13px 16px!important;
  border-radius:999px!important;
  color:#fff!important;
  background:linear-gradient(135deg,var(--pink),var(--blue))!important;
  box-shadow:0 16px 36px rgba(232,184,192,.22)!important;
  text-decoration:none!important;
  font-size:13px!important;
  font-weight:900!important;
  transition:.22s ease!important;
}

.site-header-v13 .header-book-v13:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 20px 46px rgba(86,182,255,.25)!important;
}

/* Neutralise old logo/header classes if cached markup appears */
.site-header-v13 .logo-video,
.site-header-v13 video{
  display:none!important;
}

@media(max-width:1100px){
  .site-header-v13 .header-inner-v13{
    grid-template-columns:220px 1fr 132px!important;
    width:min(1100px,94vw)!important;
    gap:14px!important;
  }
  .site-header-v13 .brand-link-v13{
    width:220px!important;
    max-width:220px!important;
  }
  .site-header-v13 img.logo-image-v13{
    width:205px!important;
    max-width:205px!important;
    max-height:82px!important;
  }
  .site-header-v13 .nav-v13{
    gap:5px!important;
  }
  .site-header-v13 .nav-v13 a{
    font-size:12px!important;
    padding:9px 8px!important;
  }
  .site-header-v13 .header-book-v13{
    min-width:126px!important;
    padding:12px 13px!important;
  }
}

@media(max-width:820px){
  .site-header-v13{
    position:relative!important;
  }
  .site-header-v13 .header-inner-v13{
    grid-template-columns:1fr auto!important;
    grid-template-areas:
      "logo book"
      "nav nav"!important;
    min-height:auto!important;
    padding:10px 0 13px!important;
    gap:10px 12px!important;
  }
  .site-header-v13 .brand-link-v13{
    grid-area:logo!important;
    width:auto!important;
    max-width:none!important;
  }
  .site-header-v13 img.logo-image-v13{
    width:170px!important;
    max-width:170px!important;
    max-height:74px!important;
  }
  .site-header-v13 .header-book-v13{
    grid-area:book!important;
    min-width:auto!important;
    width:46px!important;
    height:46px!important;
    padding:0!important;
    border-radius:50%!important;
  }
  .site-header-v13 .header-book-v13 span{
    display:none!important;
  }
  .site-header-v13 .nav-wrap-v13{
    grid-area:nav!important;
  }
  .site-header-v13 .nav-v13{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
    max-width:380px!important;
    margin:0 auto!important;
  }
  .site-header-v13 .nav-v13 a{
    width:100%!important;
    padding:10px 8px!important;
    font-size:11px!important;
    background:rgba(255,255,255,.78)!important;
    border:1px solid rgba(13,27,42,.08)!important;
    box-shadow:0 8px 20px rgba(13,27,42,.05)!important;
  }
}

@media(max-width:380px){
  .site-header-v13 img.logo-image-v13{
    width:148px!important;
    max-width:148px!important;
  }
  .site-header-v13 .nav-v13{
    max-width:330px!important;
  }
  .site-header-v13 .nav-v13 a{
    font-size:10px!important;
    padding:9px 6px!important;
  }
}


/* =========================================================
   V15 TRUST & CONVERSION STATS FIX
   ========================================================= */
.v15-stats-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:20px!important;
  margin-top:26px!important;
}
.v15-stat-item{
  padding:28px 20px!important;
  min-height:190px!important;
  border-radius:28px!important;
  background:rgba(255,255,255,.96)!important;
  border:1px solid rgba(232,184,192,.14)!important;
  box-shadow:0 24px 70px rgba(13,27,42,.10)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  gap:10px!important;
  transition:.25s ease!important;
}
.v15-stat-item:hover{
  transform:translateY(-4px)!important;
  box-shadow:0 30px 85px rgba(86,182,255,.16)!important;
}
.v15-stat-icon{
  width:54px!important;
  height:54px!important;
  border-radius:18px!important;
  display:grid!important;
  place-items:center!important;
  color:#fff!important;
  background:linear-gradient(135deg,var(--pink),var(--blue),var(--teal))!important;
  box-shadow:0 16px 38px rgba(86,182,255,.22)!important;
}
.v15-stat-icon i{font-size:22px!important;}
.v15-stat-item .stat-number{
  font-size:clamp(34px,4vw,50px)!important;
  line-height:1!important;
  font-weight:900!important;
  background:linear-gradient(135deg,var(--pink),var(--blue),var(--teal))!important;
  -webkit-background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  background-clip:text!important;
  margin:0!important;
}
.v15-stat-item .stat-label{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  color:var(--navy)!important;
  font-size:14px!important;
  line-height:1.35!important;
  font-weight:900!important;
  max-width:190px!important;
  min-height:38px!important;
}
@media(max-width:980px){.v15-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:560px){
  .v15-stats-grid{grid-template-columns:1fr!important;gap:14px!important;}
  .v15-stat-item{min-height:150px!important;padding:22px 16px!important;}
  .v15-stat-item .stat-number{font-size:40px!important;}
}



/* =========================================================
   V16 STABILISATION + SEO + LOGO HEADER PASS
   ========================================================= */
.site-header-v16{
  position:sticky!important;
  top:0!important;
  z-index:1000!important;
  background:rgba(255,255,255,.96)!important;
  -webkit-backdrop-filter:blur(18px)!important;
  backdrop-filter:blur(18px)!important;
  border-bottom:1px solid rgba(13,27,42,.08)!important;
  box-shadow:0 12px 34px rgba(13,27,42,.07)!important;
}
.header-inner-v16{
  width:min(1240px,92vw)!important;
  margin-inline:auto!important;
  min-height:118px!important;
  display:grid!important;
  grid-template-columns:320px minmax(0,1fr) 152px!important;
  align-items:center!important;
  gap:28px!important;
  padding:12px 0!important;
}
.brand-link-v16{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  line-height:0!important;
  text-decoration:none!important;
}
.logo-image-v16{
  display:block!important;
  width:300px!important;
  max-width:300px!important;
  height:auto!important;
  max-height:105px!important;
  object-fit:contain!important;
  object-position:left center!important;
  margin:0!important;
  padding:0!important;
}
.nav-wrap-v16{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.nav-v16{
  list-style:none!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
}
.nav-v16 a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:10px 13px!important;
  border-radius:999px!important;
  text-decoration:none!important;
  color:var(--navy)!important;
  font-weight:900!important;
  font-size:13px!important;
  line-height:1!important;
  white-space:nowrap!important;
  transition:.22s ease!important;
}
.nav-v16 a:hover,
.nav-v16 a[aria-current="page"]{
  color:#fff!important;
  background:linear-gradient(135deg,var(--pink),var(--blue))!important;
  box-shadow:0 14px 32px rgba(232,184,192,.18)!important;
  transform:translateY(-2px)!important;
}
.header-book-v16{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  min-width:142px!important;
  padding:14px 18px!important;
  border-radius:999px!important;
  color:#fff!important;
  text-decoration:none!important;
  font-weight:900!important;
  font-size:13px!important;
  background:linear-gradient(135deg,var(--pink),var(--blue))!important;
  box-shadow:0 18px 40px rgba(232,184,192,.22)!important;
}
.notice-error{
  padding:14px 16px;
  border-radius:16px;
  background:rgba(232,184,192,.10);
  border:1px solid rgba(232,184,192,.25);
  color:#b6134e;
  font-weight:900;
  margin-bottom:18px;
}
@media(max-width:1120px){
  .header-inner-v16{grid-template-columns:240px 1fr 136px!important;gap:16px!important;}
  .logo-image-v16{width:220px!important;max-width:220px!important;max-height:86px!important;}
  .nav-v16{gap:6px!important;}
  .nav-v16 a{font-size:12px!important;padding:9px 8px!important;}
}
@media(max-width:820px){
  .site-header-v16{position:relative!important;}
  .header-inner-v16{
    grid-template-columns:1fr auto!important;
    grid-template-areas:"logo book" "nav nav"!important;
    min-height:auto!important;
    gap:10px 12px!important;
  }
  .brand-link-v16{grid-area:logo!important;}
  .logo-image-v16{width:174px!important;max-width:174px!important;max-height:76px!important;}
  .header-book-v16{grid-area:book!important;min-width:auto!important;width:46px!important;height:46px!important;padding:0!important;border-radius:50%!important;}
  .header-book-v16 span{display:none!important;}
  .nav-wrap-v16{grid-area:nav!important;}
  .nav-v16{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;max-width:380px!important;width:100%!important;margin-inline:auto!important;}
  .nav-v16 a{width:100%!important;font-size:11px!important;padding:10px 8px!important;background:rgba(255,255,255,.78)!important;border:1px solid rgba(13,27,42,.08)!important;box-shadow:0 8px 20px rgba(13,27,42,.05)!important;}
}
@media(max-width:380px){
  .logo-image-v16{width:148px!important;max-width:148px!important;}
  .nav-v16{max-width:330px!important;}
  .nav-v16 a{font-size:10px!important;padding:9px 6px!important;}
}



/* =========================================================
   V17 LEAD GENERATION + PRICING FIX
   ========================================================= */

/* Pricing page fix: prevents thin/squeezed cards */
.v17-pricing-section .container{max-width:1180px!important;}
.v17-pricing-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(260px,1fr))!important;
  gap:26px!important;
  width:100%!important;
  align-items:stretch!important;
}
.v17-price-card{
  width:100%!important;
  min-width:0!important;
  padding:34px 30px!important;
  border-radius:28px!important;
  background:rgba(255,255,255,.98)!important;
  border:1px solid rgba(232,184,192,.16)!important;
  box-shadow:0 24px 70px rgba(13,27,42,.10)!important;
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
  overflow:hidden!important;
}
.v17-price-card.featured{
  border-color:rgba(86,182,255,.28)!important;
  box-shadow:0 28px 82px rgba(86,182,255,.15)!important;
}
.v17-price-icon{
  width:58px;
  height:58px;
  border-radius:18px;
  display:grid;
  place-items:center;
  color:#fff;
  background:linear-gradient(135deg,var(--pink),var(--blue),var(--teal));
  box-shadow:0 16px 38px rgba(86,182,255,.22);
}
.v17-price-card h3{
  font-size:24px!important;
  line-height:1.15!important;
  margin:0!important;
  color:var(--navy)!important;
}
.v17-price-card p{
  color:var(--muted)!important;
  line-height:1.55!important;
  margin:0!important;
}
.v17-price{
  font-size:44px!important;
  line-height:1!important;
  font-weight:900!important;
  margin:6px 0!important;
  background:linear-gradient(135deg,var(--pink),var(--blue),var(--teal));
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}
.v17-price span{
  font-size:17px!important;
  -webkit-text-fill-color:var(--muted)!important;
  color:var(--muted)!important;
}
.v17-price-card ul{
  margin:0!important;
  padding-left:20px!important;
  color:var(--muted)!important;
  line-height:1.65!important;
}
.v17-price-card .btn-premium{
  margin-top:auto!important;
  width:100%!important;
  justify-content:center!important;
}

/* Fast quote */
.v17-fast-quote-section{
  padding:90px 0;
  background:
    radial-gradient(circle at 15% 15%,rgba(248,187,208,.40),transparent 34%),
    radial-gradient(circle at 85% 15%,rgba(187,222,251,.50),transparent 34%),
    linear-gradient(180deg,#fff,var(--offwhite));
}
.v17-fast-quote-card{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:34px;
  align-items:center;
  padding:36px;
  border-radius:34px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(232,184,192,.16);
  box-shadow:0 32px 90px rgba(13,27,42,.12);
}
.v17-fast-quote-copy h2{
  font-size:clamp(32px,4vw,52px);
  line-height:1.05;
  margin:14px 0;
  color:var(--navy);
}
.v17-fast-quote-copy p{
  color:var(--muted);
  font-size:17px;
  line-height:1.7;
}
.v17-fast-trust{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
}
.v17-fast-trust span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--border);
  font-weight:900;
  color:var(--navy);
}
.v17-fast-trust i{color:var(--teal);}
.v17-mini-quote-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  padding:24px;
  border-radius:26px;
  background:linear-gradient(135deg,rgba(232,184,192,.08),rgba(86,182,255,.08));
  border:1px solid var(--border);
}
.v17-mini-quote-form label{
  font-weight:900;
  color:var(--navy);
  font-size:13px;
}
.v17-mini-quote-form .full{grid-column:1/-1;}
.v17-mini-quote-form input,
.v17-mini-quote-form select,
.v17-mini-quote-form textarea{
  width:100%;
  display:block;
  margin-top:7px;
  border:1px solid var(--border);
  border-radius:15px;
  padding:13px 14px;
  font:inherit;
  background:#fff;
}
.v17-mini-quote-form button{
  grid-column:1/-1;
  justify-content:center;
}

/* Add-ons */
.v17-addons{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:16px;
}
.v17-addons label{
  display:flex;
  align-items:center;
  gap:9px;
  padding:12px 14px;
  border-radius:14px;
  background:#fff;
  border:1px solid var(--border);
  font-weight:900;
  color:var(--navy);
}
.v17-addons input{accent-color:var(--pink);}

/* Sticky contact bar */
.v17-sticky-contact{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:9999;
  display:grid;
  gap:10px;
}
.v17-sticky-contact a{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-width:124px;
  padding:13px 16px;
  border-radius:999px;
  color:#fff;
  text-decoration:none;
  font-weight:900;
  box-shadow:0 18px 46px rgba(13,27,42,.22);
}
.v17-sticky-call{background:linear-gradient(135deg,var(--blue),var(--teal));}
.v17-sticky-whatsapp{background:linear-gradient(135deg,#25D366,var(--teal));}
.v17-sticky-quote{background:linear-gradient(135deg,var(--pink),var(--blue));}

@media(max-width:980px){
  .v17-pricing-grid{grid-template-columns:1fr!important;}
  .v17-fast-quote-card{grid-template-columns:1fr;}
}
@media(max-width:640px){
  .v17-fast-quote-section{padding:58px 0;}
  .v17-fast-quote-card{padding:22px;border-radius:26px;}
  .v17-mini-quote-form{grid-template-columns:1fr;padding:18px;}
  .v17-addons{grid-template-columns:1fr;}
  .v17-sticky-contact{
    left:10px;
    right:10px;
    bottom:10px;
    grid-template-columns:repeat(3,1fr);
  }
  .v17-sticky-contact a{
    min-width:0;
    padding:12px 8px;
    font-size:12px;
  }
  body{padding-bottom:76px;}
}



/* =========================================================
   V18 MAIDORA VISUAL REBRAND
   Rose-gold / light pink / black accents / white background.
   Layout preserved; colours and photos refreshed.
   ========================================================= */
body{background:#fffdfc!important;color:#1b1b1f!important;}
.particle:nth-child(1),.particle:nth-child(4),.particle:nth-child(7){background:#f5c9c1!important;}
.particle:nth-child(2),.particle:nth-child(5),.particle:nth-child(8){background:#f0ded8!important;}
.particle:nth-child(3),.particle:nth-child(6){background:#ead8d2!important;}
.glow-orb.pink{background:#d98273!important;}
.glow-orb.blue{background:#f2b8ad!important;}
.glow-orb.teal{background:#DFAAB2!important;opacity:.18!important;}
.shimmer-text,.v15-stat-item .stat-number,.v17-price{
  background:linear-gradient(90deg,#DFAAB2,#d98273,#f0b7a9,#DFAAB2)!important;
  background-size:300% 100%!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;
}
.site-header-v18{position:sticky!important;top:0!important;z-index:1000!important;background:rgba(255,253,252,.96)!important;backdrop-filter:blur(18px)!important;border-bottom:1px solid rgba(217,130,115,.16)!important;box-shadow:0 12px 34px rgba(17,24,39,.07)!important;}
.header-inner-v18{width:min(1240px,92vw)!important;margin-inline:auto!important;min-height:122px!important;display:grid!important;grid-template-columns:330px minmax(0,1fr) 152px!important;align-items:center!important;gap:28px!important;padding:12px 0!important;}
.brand-link-v18{display:flex!important;align-items:center!important;justify-content:flex-start!important;line-height:0!important;}
.logo-image-v18{display:block!important;width:310px!important;max-width:310px!important;height:auto!important;max-height:108px!important;object-fit:contain!important;object-position:left center!important;margin:0!important;padding:0!important;}
.nav-wrap-v18{display:flex!important;align-items:center!important;justify-content:center!important;min-width:0!important;}
.nav-v18{list-style:none!important;margin:0!important;padding:0!important;display:flex!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:center!important;gap:12px!important;}
.nav-v18 a{display:inline-flex!important;padding:10px 14px!important;border-radius:999px!important;color:#DFAAB2!important;text-decoration:none!important;font-weight:900!important;font-size:13px!important;line-height:1!important;transition:.22s ease!important;}
.nav-v18 a:hover,.nav-v18 a[aria-current="page"]{color:#fff!important;background:linear-gradient(135deg,#DFAAB2,#d98273)!important;box-shadow:0 14px 32px rgba(217,130,115,.25)!important;transform:translateY(-2px)!important;}
.header-book-v18,.btn-premium,.v17-sticky-quote,.v17-sticky-call,.v17-sticky-whatsapp{background:linear-gradient(135deg,#DFAAB2,#d98273)!important;color:#fff!important;border-color:transparent!important;}
.header-book-v18{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;min-width:142px!important;padding:14px 18px!important;border-radius:999px!important;text-decoration:none!important;font-weight:900!important;font-size:13px!important;box-shadow:0 18px 40px rgba(217,130,115,.25)!important;}
.v8-hero-portrait,.v8-meet-image{background:linear-gradient(135deg,#DFAAB2,#d98273,#f0b7a9)!important;box-shadow:0 34px 95px rgba(217,130,115,.18),0 0 90px rgba(17,24,39,.10)!important;}
.v8-hero-portrait img,.v8-meet-image img{object-fit:cover!important;object-position:center center!important;}
.v8-portrait-badge{color:#DFAAB2!important;}
.v8-portrait-badge i,.section-label,.trust-badge i,.hero-badge i,.hero-trust-item i,.v8-trust-strip i,.v17-fast-trust i{color:#d98273!important;}
.card-premium,.service-card-premium,.v17-price-card,.v15-stat-item,.v8-trust-strip div,.v17-fast-quote-card,.v17-mini-quote-form,.v9-area-card,.result-card{border-color:rgba(217,130,115,.18)!important;box-shadow:0 24px 70px rgba(17,24,39,.08)!important;}
.v15-stat-icon,.v17-price-icon,.service-icon-premium,.v8-map-centre{background:linear-gradient(135deg,#DFAAB2,#d98273,#f0b7a9)!important;}
.btn-premium.white{background:#fff!important;color:#DFAAB2!important;border:1px solid rgba(217,130,115,.35)!important;}
.btn-premium.white:hover{background:#DFAAB2!important;color:#fff!important;}
.v17-price span{-webkit-text-fill-color:#7b6f6c!important;color:#7b6f6c!important;}
.v17-price-card.featured{border-color:rgba(217,130,115,.35)!important;box-shadow:0 28px 82px rgba(217,130,115,.18)!important;}
.quote-section-premium,.footer-premium{background:linear-gradient(135deg,#fffdfb,#fff8f6)!important;}
.v17-fast-quote-section,.v8-meet-section,.v8-featured-results{background:radial-gradient(circle at 15% 15%,rgba(246,217,212,.55),transparent 34%),radial-gradient(circle at 85% 30%,rgba(240,222,216,.60),transparent 34%),linear-gradient(180deg,#fffdfc,#fbf3f0)!important;}
.footer-links-premium h4::after,.section-label::before,.section-label::after{background:#d98273!important;}
@media(max-width:1120px){.header-inner-v18{grid-template-columns:240px 1fr 136px!important;gap:16px!important}.logo-image-v18{width:225px!important;max-width:225px!important;max-height:86px!important}.nav-v18{gap:6px!important}.nav-v18 a{font-size:12px!important;padding:9px 8px!important}}
@media(max-width:820px){.site-header-v18{position:relative!important}.header-inner-v18{grid-template-columns:1fr auto!important;grid-template-areas:"logo book" "nav nav"!important;min-height:auto!important;gap:10px 12px!important}.brand-link-v18{grid-area:logo!important}.logo-image-v18{width:178px!important;max-width:178px!important;max-height:76px!important}.header-book-v18{grid-area:book!important;min-width:auto!important;width:46px!important;height:46px!important;padding:0!important;border-radius:50%!important}.header-book-v18 span{display:none!important}.nav-wrap-v18{grid-area:nav!important}.nav-v18{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;max-width:380px!important;width:100%!important;margin-inline:auto!important}.nav-v18 a{width:100%!important;justify-content:center!important;font-size:11px!important;padding:10px 8px!important;background:rgba(255,255,255,.82)!important;border:1px solid rgba(217,130,115,.16)!important;box-shadow:0 8px 20px rgba(17,24,39,.05)!important}}

/* =========================================================
   V20 HERO IMAGE + MAIDORA BRAND ANIMATION LOCK
   Keeps premium motion while forcing Maidora palette only.
   ========================================================= */
:root{
  --rose-gold:#d98273;
  --rose-gold-soft:#f6d9d4;
  --rose-gold-light:#f0b7a9;
  --maidora-blue:#6db7e8;
  --maidora-blue-soft:#e8f5fc;
  --maidora-black:#111111;
  --maidora-charcoal:#1b1b1f;
  --maidora-cream:#fffdfc;
}

body{background:var(--maidora-cream)!important;}

.site-header-v18{
  background:rgba(255,255,255,.98)!important;
  border-bottom:1px solid rgba(217,130,115,.18)!important;
  box-shadow:0 12px 34px rgba(17,17,17,.06)!important;
}
.header-inner-v18{min-height:104px!important;}
.logo-image-v18{
  width:270px!important;
  max-width:270px!important;
  max-height:96px!important;
}
.header-book-v18,
.btn-premium,
.v17-sticky-quote,
.v17-sticky-call,
.v17-sticky-whatsapp{
  background:linear-gradient(135deg,var(--maidora-black),var(--rose-gold),var(--rose-gold-light))!important;
  color:#fff!important;
  border-color:transparent!important;
  box-shadow:0 18px 40px rgba(217,130,115,.24)!important;
}
.btn-premium::before{
  background:linear-gradient(135deg,var(--maidora-black),var(--rose-gold),var(--rose-gold-light),var(--maidora-black))!important;
  background-size:240% 240%!important;
}
.btn-premium.white{
  background:#fff!important;
  color:var(--maidora-black)!important;
  border:1px solid rgba(217,130,115,.36)!important;
  box-shadow:0 14px 34px rgba(17,17,17,.07)!important;
}
.btn-premium.white:hover{
  background:var(--maidora-black)!important;
  color:#fff!important;
}

.nav-v18 a:hover,
.nav-v18 a[aria-current="page"]{
  background:linear-gradient(135deg,var(--maidora-black),var(--rose-gold))!important;
  color:#fff!important;
}

.hero-section{
  padding:70px 0 105px!important;
  background:
    radial-gradient(circle at 8% 15%,rgba(246,217,212,.62),transparent 30%),
    radial-gradient(circle at 88% 12%,rgba(232,245,252,.75),transparent 34%),
    linear-gradient(180deg,#fff 0%,#fffdfc 58%,#fbf3f0 100%)!important;
}
.hero-grid{
  grid-template-columns:minmax(0,.88fr) minmax(520px,1.12fr)!important;
  gap:54px!important;
}
.hero-title{
  max-width:620px!important;
  font-size:clamp(44px,5.8vw,78px)!important;
  letter-spacing:-2.4px!important;
  line-height:.96!important;
  color:var(--maidora-black)!important;
}
.shimmer-text,
.v15-stat-item .stat-number,
.v17-price{
  background:linear-gradient(90deg,var(--maidora-black),var(--rose-gold),var(--maidora-blue),var(--rose-gold),var(--maidora-black))!important;
  background-size:320% 100%!important;
  -webkit-background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  background-clip:text!important;
}
.hero-subtitle{
  max-width:560px!important;
  color:#615653!important;
  font-size:18px!important;
}
.hero-badge{
  color:var(--rose-gold)!important;
  border-color:rgba(217,130,115,.28)!important;
  box-shadow:0 10px 26px rgba(217,130,115,.15)!important;
}
.hero-badge i{color:var(--maidora-blue)!important;}
.hero-trust-item{
  border-color:rgba(217,130,115,.18)!important;
  color:var(--maidora-black)!important;
  box-shadow:0 12px 28px rgba(17,17,17,.055)!important;
}
.hero-trust-item:hover{
  border-color:var(--rose-gold)!important;
  box-shadow:0 18px 38px rgba(217,130,115,.14)!important;
}
.hero-trust-item i{color:var(--rose-gold)!important;}

.maidora-hero-photo-card{
  position:relative;
  width:min(680px,100%);
  margin-inline:auto;
  padding:12px;
  border-radius:38px;
  background:linear-gradient(135deg,rgba(17,17,17,.95),rgba(217,130,115,.95),rgba(109,183,232,.55));
  box-shadow:0 36px 96px rgba(17,17,17,.16),0 0 90px rgba(217,130,115,.14);
  animation:float-y 4.8s ease-in-out infinite;
}
.maidora-hero-photo-card::before{
  content:"";
  position:absolute;
  inset:-14px;
  border-radius:46px;
  background:linear-gradient(135deg,rgba(217,130,115,.22),rgba(109,183,232,.16),rgba(255,255,255,0));
  filter:blur(22px);
  z-index:-1;
}
.maidora-hero-photo-card img{
  display:block;
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
  object-position:center center;
  border-radius:28px;
  background:#fff;
}

/* keep older portrait cards branded where reused */
.v8-hero-portrait,.v8-meet-image{
  background:linear-gradient(135deg,var(--maidora-black),var(--rose-gold),var(--maidora-blue))!important;
}
.v8-portrait-badge{display:none!important;}
.v8-meet-image img{aspect-ratio:16/10!important;object-position:center center!important;}

/* turn previous teal accents into approved black/rose/blue accents */
.service-icon-premium.teal,
.contact-icon-premium.teal,
.v15-stat-icon,
.v17-price-icon,
.service-icon-premium,
.v8-map-centre{
  background:linear-gradient(135deg,var(--maidora-black),var(--rose-gold),var(--maidora-blue))!important;
  color:#fff!important;
}
.section-label,
.v8-trust-strip i,
.v8-proof-list i,
.contact-icon-premium i,
.service-icon-premium i{color:var(--rose-gold)!important;}
.section-label{
  background:linear-gradient(135deg,rgba(217,130,115,.10),rgba(109,183,232,.08))!important;
  border-color:rgba(217,130,115,.20)!important;
}

@media(max-width:1120px){
  .hero-grid{grid-template-columns:1fr!important;gap:38px!important;text-align:left!important;}
  .hero-content{max-width:820px!important;margin-inline:auto!important;text-align:center!important;}
  .hero-subtitle{margin-inline:auto!important;}
  .hero-trust-row,.hero-buttons{justify-content:center!important;}
  .hero-visual{display:flex!important;}
  .maidora-hero-photo-card{width:min(760px,100%)!important;}
}
@media(max-width:820px){
  .header-inner-v18{min-height:auto!important;}
  .logo-image-v18{width:190px!important;max-width:190px!important;max-height:78px!important;}
  .hero-section{padding:44px 0 78px!important;}
  .hero-title{font-size:clamp(38px,12vw,58px)!important;letter-spacing:-1.4px!important;}
  .hero-subtitle{font-size:16px!important;line-height:1.6!important;}
  .maidora-hero-photo-card{padding:8px!important;border-radius:28px!important;}
  .maidora-hero-photo-card img{border-radius:21px!important;aspect-ratio:4/3!important;}
}
@media(max-width:520px){
  .hero-trust-row{gap:10px!important;}
  .hero-trust-item{width:100%!important;justify-content:center!important;}
  .hero-buttons .btn-premium{width:100%!important;justify-content:center!important;}
}

/* =========================================================
   V21 FULL-BLEED MAIDORA HERO IMAGE PASS
   Goal: use the Tia hero image as the full section background,
   keep animated headline/buttons as real HTML, and preserve
   the white header + Maidora colour scheme.
   ========================================================= */
:root{
  --maidora-rose:#d98273;
  --maidora-blush:#f6d9d4;
  --maidora-pink:#d7a2ae;
  --maidora-blue:#49a8ff;
  --maidora-black:#111111;
}

.site-header-v18{
  background:rgba(255,255,255,.97)!important;
  border-bottom:1px solid rgba(217,130,115,.16)!important;
  box-shadow:0 10px 28px rgba(17,17,17,.055)!important;
}

.hero-section{
  min-height:720px!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  overflow:hidden!important;
  background-image:
    linear-gradient(90deg,
      rgba(255,255,255,.96) 0%,
      rgba(255,255,255,.92) 24%,
      rgba(255,255,255,.74) 41%,
      rgba(255,255,255,.20) 58%,
      rgba(255,255,255,.04) 100%),
    url('assets/main-homepage-hero-image.webp?v=21')!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}
.hero-section::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:140px;
  background:linear-gradient(180deg,rgba(255,255,255,0),#fff 86%);
  pointer-events:none;
  z-index:0;
}
.hero-section .container{
  position:relative!important;
  z-index:2!important;
  width:min(1180px,calc(100% - 48px))!important;
}
.hero-grid{
  display:block!important;
  min-height:620px!important;
}
.hero-content{
  width:min(610px,48vw)!important;
  padding:92px 0 86px!important;
  text-align:left!important;
}
.hero-visual,
.maidora-hero-photo-card{
  display:none!important;
}
.hero-badge{
  background:rgba(255,255,255,.88)!important;
  color:var(--maidora-rose)!important;
  border:1px solid rgba(217,130,115,.22)!important;
  box-shadow:0 14px 32px rgba(217,130,115,.12)!important;
  backdrop-filter:blur(12px)!important;
}
.hero-badge i{color:var(--maidora-blue)!important;}
.hero-title{
  max-width:640px!important;
  font-size:clamp(64px,6.8vw,104px)!important;
  line-height:.88!important;
  letter-spacing:-4px!important;
  color:var(--maidora-black)!important;
  margin-bottom:24px!important;
  text-shadow:0 10px 35px rgba(255,255,255,.56)!important;
}
.hero-title .shimmer-text,
.shimmer-text{
  background:linear-gradient(90deg,var(--maidora-black),var(--maidora-rose),var(--maidora-pink),var(--maidora-blue),var(--maidora-rose))!important;
  background-size:300% 100%!important;
  -webkit-background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  background-clip:text!important;
}
.hero-subtitle{
  max-width:560px!important;
  font-size:19px!important;
  line-height:1.72!important;
  color:#5f5552!important;
  text-shadow:0 8px 24px rgba(255,255,255,.85)!important;
}
.hero-trust-row{
  max-width:610px!important;
  gap:12px!important;
  margin-bottom:34px!important;
}
.hero-trust-item{
  background:rgba(255,255,255,.88)!important;
  border:1px solid rgba(217,130,115,.18)!important;
  color:var(--maidora-black)!important;
  box-shadow:0 12px 28px rgba(17,17,17,.06)!important;
  backdrop-filter:blur(12px)!important;
}
.hero-trust-item i{color:var(--maidora-rose)!important;}
.btn-premium::before{
  background:linear-gradient(135deg,var(--maidora-black),var(--maidora-rose),var(--maidora-pink))!important;
  background-size:220% 220%!important;
}
.btn-premium:hover{
  box-shadow:0 22px 54px rgba(217,130,115,.30),0 0 70px rgba(73,168,255,.12)!important;
}
.btn-premium.white{
  background:rgba(255,255,255,.90)!important;
  border:1px solid rgba(217,130,115,.28)!important;
  backdrop-filter:blur(10px)!important;
}
.wave-divider{display:none!important;}

@media(max-width:1180px){
  .hero-section{
    min-height:680px!important;
    background-position:58% center!important;
  }
  .hero-content{width:min(590px,52vw)!important;}
  .hero-title{font-size:clamp(56px,7vw,88px)!important;}
}
@media(max-width:900px){
  .hero-section{
    min-height:auto!important;
    align-items:flex-start!important;
    padding:0!important;
    background-image:
      linear-gradient(180deg,
        rgba(255,255,255,.96) 0%,
        rgba(255,255,255,.91) 42%,
        rgba(255,255,255,.52) 68%,
        rgba(255,255,255,.10) 100%),
      url('assets/main-homepage-hero-image.webp?v=21')!important;
    background-position:62% bottom!important;
  }
  .hero-section .container{width:min(100% - 28px,720px)!important;}
  .hero-grid{min-height:760px!important;}
  .hero-content{
    width:100%!important;
    max-width:640px!important;
    margin:0!important;
    padding:42px 0 360px!important;
    text-align:left!important;
  }
  .hero-title{font-size:clamp(48px,12vw,74px)!important;letter-spacing:-2.4px!important;}
  .hero-subtitle{font-size:17px!important;max-width:560px!important;}
  .hero-trust-row,.hero-buttons{justify-content:flex-start!important;}
}
@media(max-width:560px){
  .hero-section{background-position:65% bottom!important;}
  .hero-grid{min-height:760px!important;}
  .hero-content{padding:34px 0 330px!important;}
  .hero-badge{font-size:12px!important;padding:9px 14px!important;}
  .hero-title{font-size:clamp(42px,15vw,62px)!important;line-height:.92!important;letter-spacing:-1.8px!important;}
  .hero-subtitle{font-size:15.5px!important;line-height:1.6!important;}
  .hero-trust-row{gap:9px!important;}
  .hero-trust-item{width:auto!important;min-width:calc(50% - 6px)!important;justify-content:flex-start!important;font-size:12px!important;padding:10px 12px!important;}
  .hero-buttons .btn-premium{width:100%!important;justify-content:center!important;}
}

/* =========================================================
   V22 HOMEPAGE LIGHT PALETTE + TIA HERO LOCK
   Full site correction: remove muddy brown/rust, use Maidora
   logo rose-gold + blush/champagne, blue only as accent.
   ========================================================= */
:root{
  --maidora-black:#111111;
  --maidora-charcoal:#1f1b1b;
  --maidora-rose:#d49aa1;
  --maidora-rose-deep:#c87980;
  --maidora-light-rose:#e8bbc1;
  --maidora-blush:#f6dde1;
  --maidora-soft-pink:#fbebed;
  --maidora-champagne:#fff8f4;
  --maidora-cream:#fffdfb;
  --maidora-blue:#4fa6ff;
  --maidora-blue-soft:#eaf6ff;
  --maidora-border:rgba(212,154,161,.24);
}

html,body{background:var(--maidora-cream)!important;color:var(--maidora-black)!important;}
body::before{background:linear-gradient(180deg,#fff,var(--maidora-champagne))!important;}
.particles-bg{opacity:.28!important;}
.particle:nth-child(3n+1){background:var(--maidora-light-rose)!important;}
.particle:nth-child(3n+2){background:var(--maidora-blue)!important;}
.particle:nth-child(3n){background:var(--maidora-blush)!important;}
.glow-orb.pink{background:var(--maidora-blush)!important;opacity:.42!important;}
.glow-orb.blue{background:var(--maidora-blue-soft)!important;opacity:.46!important;}
.glow-orb.teal{background:var(--maidora-light-rose)!important;opacity:.22!important;}

.site-header-v18{
  background:rgba(255,255,255,.985)!important;
  border-bottom:1px solid var(--maidora-border)!important;
  box-shadow:0 12px 30px rgba(17,17,17,.045)!important;
}
.nav-v18 a{color:var(--maidora-black)!important;}
.nav-v18 a:hover,.nav-v18 a[aria-current="page"]{
  background:linear-gradient(135deg,var(--maidora-black) 0%,var(--maidora-rose-deep) 58%,var(--maidora-light-rose) 100%)!important;
  color:#fff!important;
  box-shadow:0 14px 30px rgba(200,121,128,.20)!important;
}
.header-book-v18,.btn-premium,.v17-sticky-quote,.v17-sticky-whatsapp{
  background:linear-gradient(135deg,var(--maidora-black) 0%,var(--maidora-rose-deep) 62%,var(--maidora-light-rose) 100%)!important;
  color:#fff!important;
  box-shadow:0 18px 42px rgba(200,121,128,.22)!important;
}
.v17-sticky-call{
  background:#fff!important;
  color:var(--maidora-black)!important;
  border:1px solid var(--maidora-border)!important;
  box-shadow:0 14px 32px rgba(17,17,17,.07)!important;
}
.btn-premium::before{
  background:linear-gradient(135deg,var(--maidora-black),var(--maidora-rose-deep),var(--maidora-light-rose),var(--maidora-blue))!important;
  background-size:260% 260%!important;
}
.btn-premium.white{
  background:rgba(255,255,255,.94)!important;
  color:var(--maidora-black)!important;
  border:1px solid var(--maidora-border)!important;
  box-shadow:0 12px 28px rgba(17,17,17,.055)!important;
}
.btn-premium.white:hover{background:var(--maidora-black)!important;color:#fff!important;}

/* Homepage hero: Tia visible, light premium background, less brown */
.hero-section{
  min-height:720px!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  position:relative!important;
  overflow:hidden!important;
  background-color:#fff!important;
  background-image:
    radial-gradient(circle at 7% 12%,rgba(246,221,225,.72),transparent 26%),
    radial-gradient(circle at 88% 14%,rgba(234,246,255,.58),transparent 24%),
    linear-gradient(90deg,
      rgba(255,255,255,.985) 0%,
      rgba(255,248,244,.965) 24%,
      rgba(255,248,244,.78) 42%,
      rgba(255,255,255,.22) 58%,
      rgba(255,255,255,.02) 100%),
    url('assets/main-homepage-hero-image.webp?v=22')!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}
.hero-section::after{
  content:""!important;
  position:absolute!important;
  inset:auto 0 0 0!important;
  height:150px!important;
  background:linear-gradient(180deg,rgba(255,255,255,0),var(--maidora-cream) 88%)!important;
  z-index:0!important;
  pointer-events:none!important;
}
.hero-section .container{position:relative!important;z-index:2!important;width:min(1180px,calc(100% - 48px))!important;}
.hero-grid{display:block!important;min-height:620px!important;}
.hero-content{width:min(610px,47vw)!important;padding:86px 0 82px!important;text-align:left!important;}
.hero-visual,.maidora-hero-photo-card{display:none!important;}
.hero-badge{
  background:rgba(255,255,255,.92)!important;
  color:var(--maidora-rose-deep)!important;
  border:1px solid var(--maidora-border)!important;
  box-shadow:0 12px 28px rgba(200,121,128,.10)!important;
  backdrop-filter:blur(12px)!important;
}
.hero-badge i{color:var(--maidora-blue)!important;}
.hero-title{
  max-width:640px!important;
  font-size:clamp(62px,6.6vw,100px)!important;
  line-height:.89!important;
  letter-spacing:-3.8px!important;
  color:var(--maidora-black)!important;
  margin-bottom:24px!important;
  text-shadow:0 10px 30px rgba(255,255,255,.66)!important;
}
.hero-title .shimmer-text,.shimmer-text,.v15-stat-item .stat-number,.v17-price{
  background:linear-gradient(90deg,var(--maidora-black),var(--maidora-rose-deep),var(--maidora-light-rose),var(--maidora-blue),var(--maidora-rose-deep))!important;
  background-size:320% 100%!important;
  -webkit-background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  background-clip:text!important;
}
.hero-subtitle{
  max-width:565px!important;
  color:#615756!important;
  font-size:18.5px!important;
  line-height:1.68!important;
  text-shadow:0 8px 22px rgba(255,255,255,.92)!important;
}
.hero-trust-row{max-width:610px!important;gap:12px!important;margin-bottom:32px!important;}
.hero-trust-item{
  background:rgba(255,255,255,.93)!important;
  border:1px solid var(--maidora-border)!important;
  color:var(--maidora-black)!important;
  box-shadow:0 10px 24px rgba(17,17,17,.052)!important;
  backdrop-filter:blur(12px)!important;
}
.hero-trust-item i{color:var(--maidora-rose-deep)!important;}
.hero-trust-item:hover{border-color:rgba(200,121,128,.42)!important;box-shadow:0 16px 32px rgba(200,121,128,.14)!important;}

/* Site-wide lightening: champagne/white cards, rose accents, reduced dark-brown feel */
.v8-trust-section,.v8-meet-section,.v8-featured-results,.v17-fast-quote-section,
.services-preview-premium,.pricing-section,.areas-section,.reviews-section,
.faq-section,.v17-pricing-section,.contact-section-premium{
  background:radial-gradient(circle at 10% 8%,rgba(246,221,225,.55),transparent 32%),linear-gradient(180deg,#fff,var(--maidora-champagne))!important;
}
.card-premium,.service-card-premium,.v17-price-card,.v15-stat-item,.v8-trust-strip div,.v17-fast-quote-card,.v17-mini-quote-form,.v9-area-card,.result-card,.review-card-premium,.faq-item{
  background:rgba(255,255,255,.97)!important;
  border-color:var(--maidora-border)!important;
  box-shadow:0 18px 46px rgba(17,17,17,.055)!important;
}
.section-label{
  background:linear-gradient(135deg,rgba(246,221,225,.78),rgba(234,246,255,.56))!important;
  color:var(--maidora-rose-deep)!important;
  border-color:var(--maidora-border)!important;
}
.section-label::before,.section-label::after,.footer-links-premium h4::after{background:var(--maidora-rose)!important;}
.section-title,h1,h2,h3{color:var(--maidora-black)!important;}
.section-subtitle,.lead,p{color:#655d5b!important;}
.service-icon-premium,.v15-stat-icon,.v17-price-icon,.v8-map-centre,.contact-icon-premium{
  background:linear-gradient(135deg,var(--maidora-black) 0%,var(--maidora-rose-deep) 58%,var(--maidora-light-rose) 100%)!important;
  box-shadow:0 14px 30px rgba(200,121,128,.18)!important;
}
.service-icon-premium.teal,.contact-icon-premium.teal{background:linear-gradient(135deg,var(--maidora-rose-deep),var(--maidora-blue))!important;}
.service-icon-premium i,.v15-stat-icon i,.v17-price-icon i,.v8-map-centre i,.contact-icon-premium i{color:#fff!important;}
.v8-trust-strip{
  background:rgba(255,255,255,.92)!important;
  border-color:var(--maidora-border)!important;
  box-shadow:0 18px 42px rgba(17,17,17,.05)!important;
}
.v8-trust-strip i,.v8-proof-list i,.trust-badge i{color:var(--maidora-rose-deep)!important;}
.quote-section-premium,.footer-premium{
  background:linear-gradient(135deg,#111111 0%,#1a1515 70%,#2b2022 100%)!important;
}
.footer-premium p,.footer-premium a,.footer-premium li{color:rgba(255,255,255,.76)!important;}
.footer-premium h4{color:#fff!important;}

/* Smaller, cleaner stats/cards especially on mobile */
.v15-stats-grid{gap:16px!important;margin-top:22px!important;}
.v15-stat-item{
  min-height:148px!important;
  padding:22px 18px!important;
  border-radius:24px!important;
  gap:8px!important;
}
.v15-stat-icon{width:46px!important;height:46px!important;border-radius:16px!important;}
.v15-stat-icon i{font-size:18px!important;}
.v15-stat-item .stat-number{font-size:clamp(32px,3.4vw,44px)!important;}
.v15-stat-item .stat-label{font-size:13px!important;min-height:auto!important;color:var(--maidora-black)!important;}

@media(max-width:1180px){
  .hero-section{min-height:680px!important;background-position:58% center!important;}
  .hero-content{width:min(580px,52vw)!important;}
  .hero-title{font-size:clamp(54px,7vw,86px)!important;}
}
@media(max-width:900px){
  .hero-section{
    min-height:auto!important;
    align-items:flex-start!important;
    background-image:
      linear-gradient(180deg,
        rgba(255,255,255,.99) 0%,
        rgba(255,248,244,.96) 36%,
        rgba(255,248,244,.58) 61%,
        rgba(255,255,255,.04) 100%),
      url('assets/main-homepage-hero-image.webp?v=22')!important;
    background-position:63% bottom!important;
  }
  .hero-section .container{width:min(100% - 28px,720px)!important;}
  .hero-grid{min-height:760px!important;}
  .hero-content{width:100%!important;max-width:640px!important;margin:0!important;padding:38px 0 370px!important;text-align:left!important;}
  .hero-title{font-size:clamp(46px,12vw,72px)!important;line-height:.92!important;letter-spacing:-2.2px!important;}
  .hero-subtitle{font-size:16.5px!important;max-width:560px!important;}
  .hero-trust-row,.hero-buttons{justify-content:flex-start!important;}
  .v15-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;}
  .v15-stat-item{min-height:132px!important;padding:18px 12px!important;border-radius:22px!important;}
}
@media(max-width:560px){
  .hero-section{background-position:66% bottom!important;}
  .hero-grid{min-height:735px!important;}
  .hero-content{padding:30px 0 315px!important;}
  .hero-badge{font-size:11.5px!important;padding:8px 12px!important;}
  .hero-title{font-size:clamp(40px,14.6vw,60px)!important;line-height:.93!important;letter-spacing:-1.7px!important;margin-bottom:18px!important;}
  .hero-subtitle{font-size:15px!important;line-height:1.55!important;}
  .hero-trust-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;}
  .hero-trust-item{width:100%!important;min-width:0!important;justify-content:flex-start!important;font-size:11.5px!important;padding:10px 10px!important;}
  .hero-buttons{gap:12px!important;}
  .hero-buttons .btn-premium{width:100%!important;justify-content:center!important;min-height:54px!important;}
  .v15-stats-grid{grid-template-columns:1fr!important;gap:12px!important;}
  .v15-stat-item{min-height:112px!important;padding:16px 14px!important;gap:6px!important;}
  .v15-stat-icon{width:42px!important;height:42px!important;border-radius:14px!important;}
  .v15-stat-item .stat-number{font-size:36px!important;}
  .v15-stat-item .stat-label{font-size:12.5px!important;}
}

/* =========================================================
   V23 REAL MAIDORA COLOUR CORRECTION PASS
   Hard override layer: removes the dark/brown rose-gold system
   and locks the site to light rose gold, blush, champagne and blue accents.
   ========================================================= */
:root{
  --pink:#E8B8C0!important;
  --pink-light:#F7E5E8!important;
  --pink-glow:rgba(232,184,192,.30)!important;
  --blue:#56B6FF!important;
  --blue-light:#EAF6FF!important;
  --blue-glow:rgba(86,182,255,.18)!important;
  --teal:#DFAAB2!important;
  --teal-light:#FAEEF0!important;
  --teal-glow:rgba(223,170,178,.18)!important;
  --offwhite:#FFF8F6!important;
  --muted:#6E6260!important;
  --maidora-black:#111111!important;
  --maidora-charcoal:#252020!important;
  --maidora-rose:#E8B8C0!important;
  --maidora-rose-deep:#D99DA7!important;
  --maidora-light-rose:#F1C9CF!important;
  --maidora-blush:#F8E7EA!important;
  --maidora-soft-pink:#FFF1F4!important;
  --maidora-champagne:#FFF8F6!important;
  --maidora-cream:#FFFDFC!important;
  --maidora-blue:#56B6FF!important;
  --maidora-blue-soft:#EAF6FF!important;
  --maidora-border:rgba(232,184,192,.34)!important;
}

html,body{background:#FFFDFC!important;color:#111111!important;}
body::before{background:linear-gradient(180deg,#FFFDFC,#FFF8F6)!important;}

/* Stop old dark rose-gold / charcoal gradients leaking into normal page sections */
.hero-section,
.v8-trust-section,
.v8-meet-section,
.services-preview-premium,
.v8-featured-results,
.v17-fast-quote-section,
.testimonials-section,
.pricing-section,
.areas-section,
.reviews-section,
.faq-section,
.inner-content,
.alt-section{
  background-color:#FFFDFC!important;
}

.v8-trust-section,
.v8-meet-section,
.services-preview-premium,
.v8-featured-results,
.v17-fast-quote-section,
.testimonials-section,
.areas-section,
.reviews-section,
.faq-section{
  background-image:
    radial-gradient(circle at 12% 10%,rgba(248,231,234,.72),transparent 32%),
    radial-gradient(circle at 86% 18%,rgba(234,246,255,.58),transparent 30%),
    linear-gradient(180deg,#FFFDFC 0%,#FFF8F6 100%)!important;
}

/* Instant estimate / why choose: this was the main dark muddy section */
.quote-section-premium{
  background:
    radial-gradient(circle at 16% 10%,rgba(248,231,234,.70),transparent 34%),
    radial-gradient(circle at 84% 18%,rgba(234,246,255,.55),transparent 30%),
    linear-gradient(180deg,#FFFDFC 0%,#FFF8F6 100%)!important;
  color:#111111!important;
}
.quote-section-premium h2,
.quote-section-premium h3,
.quote-section-premium label,
.quote-section-premium p,
.quote-info-premium h3,
.quote-info-premium > p{
  color:#111111!important;
  text-shadow:none!important;
}
.quote-info-premium > p,
.quote-section-premium .section-subtitle{color:#6E6260!important;}
.quote-benefits-premium li{
  background:rgba(255,255,255,.94)!important;
  border:1px solid rgba(232,184,192,.34)!important;
  color:#111111!important;
  box-shadow:0 14px 34px rgba(17,17,17,.055)!important;
}
.quote-benefits-premium li i,
.v8-proof-list i,
.v8-trust-strip i,
.hero-trust-item i,
.trust-badge i{
  background:linear-gradient(135deg,#E8B8C0,#D99DA7)!important;
  color:#fff!important;
}

.card-premium,
.service-card-premium,
.v17-price-card,
.v15-stat-item,
.v8-trust-strip div,
.v8-proof-list div,
.v17-fast-quote-card,
.v17-mini-quote-form,
.v9-area-card,
.result-card,
.review-card-premium,
.faq-item,
.form-group-premium select,
.calculator-grid select,
.review-form-grid input,
.review-form-grid select,
.review-form-grid textarea{
  background:rgba(255,255,255,.97)!important;
  border-color:rgba(232,184,192,.30)!important;
  box-shadow:0 16px 42px rgba(17,17,17,.055)!important;
}

.section-label,
.hero-badge{
  background:linear-gradient(135deg,rgba(248,231,234,.92),rgba(234,246,255,.58))!important;
  color:#C98893!important;
  border-color:rgba(232,184,192,.40)!important;
}
.section-title,h1,h2,h3{color:#111111!important;}
.section-subtitle,.lead,p{color:#6E6260!important;}

.btn-premium::before,
.v8-sticky-quote,
.mobile-cta-premium .mobile-cta-primary,
.nav-cta-v18,
.service-icon-premium,
.v15-stat-icon,
.v17-price-icon,
.contact-icon-premium,
.author-avatar-premium,
.ba-tag.after,
.filter-btn.active,
.filter-btn:hover{
  background:linear-gradient(135deg,#111111 0%,#D99DA7 58%,#E8B8C0 100%)!important;
}
.btn-premium.white::before{background:#fff!important;}

/* Keep blue only as a sparkle/highlight accent, not as the main body colour */
.hero-badge i,
.logo-sparkle,
.fa-star,
.fa-sparkles{color:#56B6FF!important;}

.v8-meet-image{
  background:linear-gradient(135deg,#F1C9CF,#EAF6FF,#FFF8F6)!important;
  box-shadow:0 24px 62px rgba(217,157,167,.18)!important;
}
.v8-meet-image img{object-position:center center!important;}

/* Light rose-gold stats instead of dark/brown gradient tiles */
.v15-stat-icon,
.v15-stat-item .stat-number{
  background:linear-gradient(135deg,#111111,#D99DA7,#E8B8C0)!important;
  -webkit-background-clip:text;
  background-clip:text;
}
.v15-stat-icon{
  -webkit-background-clip:border-box!important;
  background-clip:border-box!important;
}

/* Mobile: keep it bright and readable */
@media(max-width:640px){
  .quote-section-premium{background:linear-gradient(180deg,#FFFDFC,#FFF8F6)!important;}
  .quote-benefits-premium li{background:#fff!important;color:#111!important;}
  .v8-meet-section{padding-top:70px!important;padding-bottom:70px!important;}
}
