/* ================================================
   SONU PET TRANSPORT — Premium Redesign 2025
   Glassmorphism + 3D + Scroll Animations
   Orange & White Theme
   ================================================ */

@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700;800&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&display=swap');

/* ── 1. DESIGN TOKENS ─────────────────────────── */
:root {
  --primary:       #F97316;
  --primary-d:     #EA580C;
  --primary-xd:    #C2410C;
  --primary-lt:    #FFF7ED;
  --primary-glow:  rgba(249,115,22,.35);
  --dark:          #070707;
  --dark-2:        #111111;
  --dark-3:        #1c1c1c;
  --dark-4:        #2a2a2a;
  --white:         #ffffff;
  --off-white:     #FAFAFA;
  --muted:         #6B7280;
  --muted-lt:      #9CA3AF;
  --body-c:        #374151;
  --border:        rgba(0,0,0,.08);
  --border-lt:     rgba(0,0,0,.05);

  /* Glassmorphism */
  --glass:         rgba(255,255,255,.07);
  --glass-b:       rgba(255,255,255,.14);
  --glass-hover:   rgba(255,255,255,.12);
  --dg:            rgba(255,255,255,.05);
  --dgb:           rgba(255,255,255,.1);

  /* Light glass (on white bg) */
  --lg:            rgba(255,255,255,.85);
  --lgb:           rgba(255,255,255,1);

  /* Shadows */
  --sh-xs:   0 2px 8px rgba(0,0,0,.06);
  --sh-sm:   0 4px 16px rgba(0,0,0,.08);
  --sh:      0 8px 32px rgba(0,0,0,.10);
  --sh-lg:   0 20px 60px rgba(0,0,0,.14);
  --sh-xl:   0 32px 80px rgba(0,0,0,.18);
  --sh-o:    0 12px 48px rgba(249,115,22,.35);
  --sh-card: 0 4px 24px rgba(0,0,0,.07),0 1px 3px rgba(0,0,0,.04);

  /* Typography */
  --fh: 'Space Grotesk', sans-serif;
  --fb: 'DM Sans', sans-serif;

  /* Layout */
  --hh:   80px;
  --r:    14px;
  --r-lg: 22px;
  --r-xl: 32px;
  --rf:   999px;

  /* Animation */
  --ease:   cubic-bezier(.23,1,.32,1);
  --easeb:  cubic-bezier(.34,1.56,.64,1);
  --t:      .4s;
  --ts:     .7s;
}

/* ── 2. RESET & BASE ──────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background:var(--dark);overflow-x:hidden}
body{
  font-family:var(--fb);
  background:var(--dark);
  color:var(--body-c);
  line-height:1.6;
  overflow-x:hidden;
  margin:0;padding:0;
}
body.no-scroll{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{text-decoration:none;color:inherit}
button{cursor:pointer;font-family:var(--fb);border:none;background:none}
ul,ol{list-style:none}
input,textarea,select{font-family:var(--fb)}

.container{
  max-width:1240px;
  margin:0 auto;
  padding:0 24px;
}

/* ── 3. KEYFRAMES ─────────────────────────────── */
@keyframes fadeInUp{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes scaleIn{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes floatSlow{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-8px) rotate(3deg)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}
@keyframes glow{0%,100%{box-shadow:0 0 20px var(--primary-glow)}50%{box-shadow:0 0 40px var(--primary-glow),0 0 80px var(--primary-glow)}}
@keyframes loaderFill{0%{width:0%}100%{width:100%}}
@keyframes loaderPulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 var(--primary-glow)}50%{transform:scale(1.08);box-shadow:0 0 0 20px transparent}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-100%)}}
@keyframes blob{0%,100%{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}33%{border-radius:30% 60% 70% 40%/50% 60% 30% 60%}66%{border-radius:20% 60% 60% 40%/70% 30% 50% 50%}}
@keyframes shimmer{from{background-position:-200% 0}to{background-position:200% 0}}
@keyframes drawLine{from{stroke-dashoffset:1000}to{stroke-dashoffset:0}}

/* ── 4. SCROLL REVEAL ─────────────────────────── */
.reveal{opacity:0;transform:translateY(48px);transition:opacity var(--ts) var(--ease),transform var(--ts) var(--ease)}
.reveal.from-left{transform:translateX(-48px)}
.reveal.from-right{transform:translateX(48px)}
.reveal.scale-in{transform:scale(.92)}
.js-ok .reveal.visible{opacity:1;transform:none}
.delay-1{transition-delay:.1s}
.delay-2{transition-delay:.2s}
.delay-3{transition-delay:.3s}
.delay-4{transition-delay:.4s}
.delay-5{transition-delay:.5s}
.delay-6{transition-delay:.6s}

/* ── 5. LOADING SCREEN ────────────────────────── */
.page-loader{
  position:fixed;inset:0;
  background:var(--dark);
  z-index:99999;
  display:flex;align-items:center;justify-content:center;flex-direction:column;gap:40px;
  transition:opacity .6s ease,visibility .6s;
}
.page-loader.done{opacity:0;visibility:hidden;pointer-events:none}
.loader-inner{display:flex;flex-direction:column;align-items:center;gap:20px}
.loader-icon{
  width:88px;height:88px;
  background:linear-gradient(135deg,var(--primary),var(--primary-xd));
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:38px;color:#fff;
  animation:loaderPulse 1.4s ease-in-out infinite;
  box-shadow:var(--sh-o);
}
.loader-brand{
  font-family:var(--fh);font-size:1.15rem;font-weight:700;
  color:#fff;letter-spacing:.15em;text-transform:uppercase;
  opacity:.85;animation:fadeIn .5s ease .3s both;
}
.loader-tagline{
  font-size:.8rem;color:var(--primary);font-weight:500;
  letter-spacing:.1em;text-transform:uppercase;
  animation:fadeIn .5s ease .5s both;
}
.loader-bar{
  width:220px;height:3px;
  background:rgba(255,255,255,.1);
  border-radius:var(--rf);overflow:hidden;
}
.loader-fill{
  height:100%;
  background:linear-gradient(90deg,var(--primary),var(--primary-d));
  border-radius:var(--rf);
  animation:loaderFill 2.2s var(--ease) forwards;
}
.loader-percent{
  font-family:var(--fh);font-size:2.5rem;font-weight:800;
  color:#fff;letter-spacing:-.02em;
}

/* ── 6. CUSTOM CURSOR (disabled) ────────────────── */
.cursor-dot,.cursor-ring{display:none!important}


/* ── CUSTOM LOGO MARK ─────────────────────────── */
.logo-mark{
  width:44px;height:44px;flex-shrink:0;
  transition:transform var(--t) var(--easeb);
}
.site-logo:hover .logo-mark{transform:rotate(-6deg) scale(1.06)}
.logo-mark img,.logo-mark svg{width:48px;height:48px;display:block}

/* ── 7. HEADER ────────────────────────────────── */
.site-header{
  position:fixed;top:0;left:0;right:0;
  height:var(--hh);z-index:9000;
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  box-shadow:0 1px 0 rgba(0,0,0,.06),var(--sh-sm);
  transition:background var(--t) var(--ease),box-shadow var(--t) var(--ease),backdrop-filter var(--t);
}
.site-header.scrolled{
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);
  box-shadow:0 1px 0 rgba(0,0,0,.08),var(--sh-sm);
}
.site-header.dark-header{
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;-webkit-backdrop-filter:none;
}
.site-header.dark-header.scrolled{
  background:rgba(7,7,7,.88);
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
}
.header-inner{
  height:var(--hh);display:flex;align-items:center;
  justify-content:space-between;gap:24px;
}
/* ══════════════════════════════════════════════════════════════════
   ULTRA-PREMIUM SITE LOGO
   Layout: [Icon] [vertical rule] [Name / thin rule / Tagline]
   ══════════════════════════════════════════════════════════════════ */
.site-logo{
  display:flex;align-items:center;
  gap:0;flex-shrink:0;text-decoration:none;
}

/* ── App icon ── */
.site-logo .hdr-icon{
  height:48px !important;
  width:48px !important;
  min-width:48px;
  object-fit:contain;
  display:block;flex-shrink:0;
  border-radius:12px;
  margin-right:12px;
  box-shadow:
    0 0 0 2px rgba(249,115,22,.25),
    0 6px 20px rgba(249,115,22,.35),
    0 2px 8px  rgba(0,0,0,.22);
  transition:transform .4s cubic-bezier(.34,1.56,.64,1),
             box-shadow .3s ease;
}
.site-logo:hover .hdr-icon{
  transform:scale(1.08) rotate(-5deg);
  box-shadow:
    0 0 0 2.5px var(--primary),
    0 10px 30px rgba(249,115,22,.5),
    0 4px 12px rgba(0,0,0,.3);
}

/* ── Vertical divider rule ── */
.hdr-vdiv{
  width:1.5px;
  height:42px;
  flex-shrink:0;
  margin-right:12px;
  background:linear-gradient(
    180deg,
    transparent 0%,
    var(--primary) 25%,
    var(--primary) 75%,
    transparent 100%
  );
  opacity:.6;
}

/* ── Wordmark ── */
.hdr-wordmark{
  display:flex;flex-direction:column;
  gap:0;line-height:1;
}

/* Brand name line */
.hw-name{
  display:flex;align-items:baseline;
  gap:4px;line-height:1;
  margin-bottom:5px;
}
.hw-sonu{
  font-family:'Playfair Display',Georgia,serif;
  font-size:1.35rem;font-weight:700;font-style:normal;
  color:var(--primary);
  letter-spacing:-.02em;line-height:1;
}
.hw-rest{
  font-family:var(--fh);
  font-size:0.99rem;font-weight:800;
  color:var(--dark);
  letter-spacing:-.025em;line-height:1;
  text-transform:uppercase;
}

/* Thin horizontal rule between name & tagline */
.hw-rule{
  width:100%;height:1px;
  background:linear-gradient(90deg,var(--primary) 0%,rgba(249,115,22,.15) 100%);
  margin-bottom:5px;
}

/* Tagline */
.hw-tag{
  font-family:var(--fh);
  font-size:.48rem;font-weight:700;
  color:var(--muted);
  letter-spacing:.25em;
  text-transform:uppercase;
  white-space:nowrap;
}

/* ── Dark transparent hero header ── */
.dark-header:not(.scrolled) .hw-rest{ color:#fff }
.dark-header:not(.scrolled) .hw-tag { color:rgba(255,255,255,.5) }
.dark-header:not(.scrolled) .hdr-vdiv{ opacity:.8 }

/* ── Scrolled header (dark bg) ── */
.dark-header.scrolled .hw-rest{ color:#fff }
.dark-header.scrolled .hw-tag { color:rgba(255,255,255,.5) }

/* ── Mobile panel (always dark) ── */
.mob-panel .hw-rest{ color:#fff }
.mob-panel .hw-tag { color:rgba(255,255,255,.45) }
.mob-panel .hdr-vdiv{ opacity:.7 }

/* Desktop nav */
.main-nav{display:flex;align-items:center;gap:4px}
.nav-item{position:relative;z-index:1}
.nav-link{
  font-family:var(--fh);font-size:.88rem;font-weight:600;
  color:var(--body-c);padding:8px 14px;border-radius:var(--r);
  display:flex;align-items:center;gap:5px;
  transition:color var(--t),background var(--t);
  white-space:nowrap;
}
.nav-link:hover,.nav-link.active{color:var(--primary);background:var(--primary-lt)}
.dark-header:not(.scrolled) .nav-link{color:rgba(255,255,255,.8)}
.dark-header:not(.scrolled) .nav-link:hover,.dark-header:not(.scrolled) .nav-link.active{color:#fff;background:rgba(255,255,255,.12)}
.dark-header.scrolled .nav-link{color:rgba(255,255,255,.8)}
.dark-header.scrolled .nav-link:hover{color:#fff;background:rgba(255,255,255,.12)}
.chevron{font-size:.6rem;transition:transform var(--t)}
.nav-item:hover .chevron{transform:rotate(180deg)}

/* Dropdown */
.nav-dropdown{
  position:absolute;top:100%;left:50%;
  transform:translateX(-50%) translateY(6px);
  background:#fff;border-radius:var(--r-lg);
  padding:8px 8px 8px;padding-top:14px;
  min-width:220px;
  box-shadow:var(--sh-lg);border:1px solid var(--border-lt);
  opacity:0;visibility:hidden;pointer-events:none;
  z-index:9999;
  transition:opacity .22s var(--ease),transform .22s var(--ease),visibility .22s;
}
.nav-item:hover .nav-dropdown,
.nav-dropdown.dd-open{
  opacity:1;visibility:visible;pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}
.nav-dropdown a{
  display:flex;align-items:center;gap:10px;
  padding:9px 12px;border-radius:var(--r);
  font-size:.84rem;font-weight:500;color:var(--body-c);
  transition:background var(--t),color var(--t);
}
.nav-dropdown a:hover{background:var(--primary-lt);color:var(--primary)}
.nav-dropdown a i{width:16px;color:var(--primary);font-size:.85rem}
.dd-label{
  display:block;font-size:.7rem;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--muted);
  padding:8px 12px 4px;
}
.dd-divider{height:1px;background:var(--border-lt);margin:6px 0}

/* Header right */
.header-right{display:flex;align-items:center;gap:10px}
.hdr-phone{
  font-family:var(--fh);font-size:.82rem;font-weight:700;
  color:var(--primary);padding:8px 14px;
  border:1.5px solid rgba(249,115,22,.25);
  border-radius:var(--rf);
  display:flex;align-items:center;gap:6px;
  transition:all var(--t) var(--easeb);
}
.hdr-phone:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
.dark-header:not(.scrolled) .hdr-phone{border-color:rgba(255,255,255,.2);color:#fff}
.dark-header.scrolled .hdr-phone{color:#fff}
.btn-quote-hdr{
  font-family:var(--fh);font-size:.85rem;font-weight:700;
  background:linear-gradient(135deg,var(--primary),var(--primary-d));
  color:#fff;padding:10px 20px;border-radius:var(--rf);
  display:flex;align-items:center;gap:7px;
  box-shadow:var(--sh-o);
  transition:transform var(--t) var(--easeb),box-shadow var(--t);
  position:relative;overflow:hidden;
}
.btn-quote-hdr::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,var(--primary-d),var(--primary-xd));
  opacity:0;transition:opacity var(--t);
}
.btn-quote-hdr:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 16px 48px rgba(249,115,22,.4)}
.btn-quote-hdr:hover::before{opacity:1}
.btn-quote-hdr span{position:relative;z-index:1}
.btn-quote-hdr i{position:relative;z-index:1}

/* Hamburger */
.hamburger{
  display:none;flex-direction:column;gap:5px;
  width:38px;height:38px;align-items:center;justify-content:center;
  border-radius:var(--r);transition:background var(--t);
}
.hamburger:hover{background:rgba(0,0,0,.06)}
.hamburger span{
  display:block;width:22px;height:2px;
  background:var(--dark);border-radius:2px;
  transition:transform .3s var(--ease),opacity .3s;
}
.dark-header:not(.scrolled) .hamburger span,.dark-header.scrolled .hamburger span{background:#fff}
.hamburger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.is-open span:nth-child(2){opacity:0}
.hamburger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Mobile panel */
.mob-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.5);
  backdrop-filter:blur(4px);z-index:9200;
  opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;
}
.mob-overlay.is-open{opacity:1;visibility:visible}
.mob-panel{
  position:fixed;top:0;right:0;bottom:0;
  width:min(340px,90vw);
  background:var(--dark-2);
  z-index:9300;
  transform:translateX(100%);
  transition:transform .4s var(--ease);
  display:flex;flex-direction:column;
  overflow-y:auto;
}
.mob-panel.is-open{transform:translateX(0)}
.mob-header{
  padding:20px 20px 16px;
  display:flex;align-items:center;justify-content:space-between;
  border-bottom:1px solid var(--dgb);
}
.mob-close{
  width:36px;height:36px;border-radius:50%;
  background:rgba(255,255,255,.08);color:#fff;font-size:14px;
  display:flex;align-items:center;justify-content:center;
  transition:background var(--t);
}
.mob-close:hover{background:rgba(255,255,255,.15)}
.mob-nav{padding:12px 0;flex:1}
.mob-nav-row{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 20px;color:rgba(255,255,255,.85);
  font-family:var(--fh);font-size:.95rem;font-weight:600;
  cursor:pointer;transition:background var(--t),color var(--t);
  border-radius:0;
}
.mob-nav-row:hover,.mob-nav-row.active{background:rgba(249,115,22,.12);color:var(--primary)}
.mob-nav-row .arr{font-size:.7rem;color:var(--muted-lt);transition:transform .3s var(--ease)}
.mob-nav-row.sub-open .arr{transform:rotate(90deg)}
.mob-sub{
  max-height:0;overflow:hidden;
  transition:max-height .35s var(--ease);
  background:rgba(0,0,0,.3);
}
.mob-sub.is-open{max-height:400px}
.mob-sub a{
  display:flex;align-items:center;gap:10px;
  padding:11px 20px 11px 32px;
  font-size:.88rem;color:rgba(255,255,255,.65);
  transition:color var(--t);
}
.mob-sub a:hover{color:var(--primary)}
.mob-sub a i{color:var(--primary);width:14px;font-size:.8rem}
.mob-cta{
  padding:20px;display:flex;flex-direction:column;gap:10px;
  border-top:1px solid var(--dgb);
}
.mob-cta a{
  display:flex;align-items:center;justify-content:center;gap:8px;
  padding:13px;border-radius:var(--r);font-weight:700;font-family:var(--fh);
  font-size:.9rem;transition:transform var(--t) var(--easeb);
}
.mob-cta a:hover{transform:scale(1.02)}
.mob-cta .wa-btn{background:#25D366;color:#fff}
.mob-cta .call-btn{
  background:linear-gradient(135deg,var(--primary),var(--primary-d));
  color:#fff;box-shadow:var(--sh-o);
}


/* Fix: active nav on dark hero */
.dark-header .nav-link.active{background:rgba(255,255,255,.1)!important;color:#fff!important}
.dark-header.scrolled .nav-link.active{background:rgba(255,255,255,.12)!important;color:#fff!important}

/* ── 8. HERO SECTION ──────────────────────────── */
.hero{
  min-height:100vh;
  display:grid;grid-template-columns:1fr 1fr;
  align-items:stretch;
  background:var(--dark);
  position:relative;overflow:hidden;
}
.hero-bg{
  position:absolute;inset:0;
  background:radial-gradient(ellipse 80% 80% at 70% 50%,rgba(249,115,22,.12) 0%,transparent 60%),
             radial-gradient(ellipse 60% 60% at 20% 80%,rgba(249,115,22,.06) 0%,transparent 50%),
             var(--dark);
}
.hero-grid-overlay{
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:60px 60px;
  mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 30%,transparent 80%);
}
.hero-blob{
  position:absolute;width:500px;height:500px;
  background:radial-gradient(circle,rgba(249,115,22,.15),transparent 70%);
  border-radius:50%;top:10%;right:5%;
  animation:blob 8s ease-in-out infinite;
  filter:blur(40px);
}
.hero-blob-2{
  position:absolute;width:300px;height:300px;
  background:radial-gradient(circle,rgba(249,115,22,.08),transparent 70%);
  border-radius:50%;bottom:10%;left:5%;
  animation:blob 12s ease-in-out infinite reverse;
  filter:blur(60px);
}
.hero-left{
  position:relative;z-index:2;
  padding:calc(var(--hh) + 48px) 48px 80px 80px;
  display:flex;flex-direction:column;justify-content:flex-start;
}
.hero-badge{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(249,115,22,.15);border:1px solid rgba(249,115,22,.3);
  color:var(--primary);font-size:.78rem;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;
  padding:7px 14px;border-radius:var(--rf);
  margin-bottom:24px;margin-left:4px;margin-top:20px;
  animation:fadeInUp .6s var(--ease) both;
}
.hero-badge i{font-size:.75rem}
.hero-title{
  font-family:var(--fh);
  font-size:clamp(2.6rem,5vw,4.2rem);
  font-weight:800;line-height:1.1;
  color:#fff;letter-spacing:-.03em;
  margin-bottom:20px;
  animation:fadeInUp .7s var(--ease) .1s both;
}
.hero-title .accent{
  background:linear-gradient(135deg,var(--primary),#FBBF24);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}
.hero-sub{
  font-size:1.05rem;color:rgba(255,255,255,.65);
  line-height:1.7;max-width:460px;margin-bottom:36px;
  animation:fadeInUp .7s var(--ease) .2s both;
}
.hero-btns{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  margin-bottom:48px;
  animation:fadeInUp .7s var(--ease) .3s both;
}
.btn{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--fh);font-weight:700;font-size:.9rem;
  padding:14px 28px;border-radius:var(--rf);
  transition:all var(--t) var(--easeb);cursor:pointer;
  position:relative;overflow:hidden;white-space:nowrap;border:none;
}
.btn-primary{
  background:linear-gradient(135deg,var(--primary),var(--primary-d));
  color:#fff;box-shadow:var(--sh-o);
}
.btn-primary::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,transparent,rgba(255,255,255,.15),transparent);
  transform:translateX(-100%);transition:transform .5s var(--ease);
}
.btn-primary:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 20px 60px rgba(249,115,22,.45)}
.btn-primary:hover::after{transform:translateX(100%)}
.btn-wa{background:#25D366;color:#fff;box-shadow:0 8px 24px rgba(37,211,102,.3)}
.btn-wa:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(37,211,102,.4)}
.btn-ghost{
  background:rgba(255,255,255,.08);color:#fff;
  border:1px solid rgba(255,255,255,.15);
  backdrop-filter:blur(10px);
}
.btn-ghost:hover{background:rgba(255,255,255,.14);transform:translateY(-2px)}
.btn-outline{
  background:transparent;color:var(--primary);
  border:2px solid var(--primary);
}
.btn-outline:hover{background:var(--primary);color:#fff;transform:translateY(-2px)}
.btn-lg{padding:16px 32px;font-size:.95rem}
.btn-sm{padding:9px 18px;font-size:.82rem}
.btn-white{background:#fff;color:var(--dark)}
.btn-white:hover{background:var(--primary-lt);transform:translateY(-2px)}
.btn-outline-white{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.5)}
.btn-outline-white:hover{background:#fff;color:var(--dark);border-color:#fff;transform:translateY(-2px)}

/* Hero trust badges */
.hero-trust{
  display:flex;flex-wrap:wrap;gap:10px;
  animation:fadeInUp .7s var(--ease) .4s both;
}
.ht-item{
  display:flex;align-items:center;gap:7px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  padding:7px 14px;border-radius:var(--rf);
  font-size:.8rem;color:rgba(255,255,255,.75);font-weight:600;
}
.ht-item i{color:#4ADE80;font-size:.75rem}

/* Hero right - 3D canvas */
.hero-right{
  position:relative;z-index:2;
  min-height:600px;
  display:flex;align-items:center;justify-content:center;
  padding:calc(var(--hh) + 40px) 0 40px;
}
#truckCanvas{
  display:block;
  width:100%;height:100%;
  min-height:520px;
  cursor:grab;
}
#truckCanvas:active{cursor:grabbing}
.hero-canvas-label{
  position:absolute;bottom:32px;left:50%;transform:translateX(-50%);
  font-size:.72rem;color:rgba(255,255,255,.35);
  letter-spacing:.1em;text-transform:uppercase;
  white-space:nowrap;
  animation:pulse 2s ease infinite;
}
/* Scroll indicator */
.scroll-indicator{
  position:absolute;bottom:32px;left:0;right:0;
  display:flex;flex-direction:column;align-items:center;gap:8px;
  z-index:2;
  animation:fadeIn 1s var(--ease) 1.5s both;
}
.scroll-indicator span{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.35)}
.scroll-line{
  width:1px;height:48px;background:linear-gradient(to bottom,rgba(255,255,255,.3),transparent);
  animation:float 1.8s ease-in-out infinite;
}

/* ── 9. MARQUEE STRIP ─────────────────────────── */
.marquee-strip{
  background:var(--primary);padding:14px 0;overflow:hidden;
  display:flex;align-items:center;
}
.marquee-track{
  display:flex;gap:0;
  animation:marquee 40s linear infinite;
  width:max-content;flex-shrink:0;
}
.marquee-item{
  display:flex;align-items:center;gap:10px;
  padding:0 32px;font-family:var(--fh);
  font-size:.8rem;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:#fff;white-space:nowrap;
}
.marquee-item i{font-size:.9rem;opacity:.8}
.marquee-sep{color:rgba(255,255,255,.4);margin:0 4px}

/* ── 10. STATS SECTION ────────────────────────── */
.stats-section{
  background:var(--dark);padding:80px 0;
  position:relative;z-index:1;overflow:hidden;
}
.stats-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:2px;
}
.stat-card{
  background:var(--dark-3);
  padding:40px 32px;text-align:center;
  position:relative;
  transition:background var(--t);
}
.stat-card::before{
  content:'';position:absolute;
  bottom:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--primary),var(--primary-d));
  transform:scaleX(0);transform-origin:left;
  transition:transform .5s var(--ease);
}
.stat-card:hover{background:var(--dark-4)}
.stat-card:hover::before{transform:scaleX(1)}
.stat-num{
  font-family:var(--fh);font-size:3rem;font-weight:800;
  color:#fff;letter-spacing:-.04em;line-height:1;
  margin-bottom:8px;
}
.stat-num span{color:var(--primary)}
.stat-label{font-size:.85rem;color:var(--muted-lt);font-weight:500}
.stat-card .stat-icon{
  position:absolute;top:20px;right:20px;
  font-size:2rem;color:rgba(249,115,22,.1);
}

/* ── 11. ABOUT SECTION ────────────────────────── */
.about-section{padding:100px 0;background:var(--off-white)}
.content-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;
}
.content-img{
  position:relative;border-radius:var(--r-xl);overflow:hidden;
  box-shadow:var(--sh-xl);
}
.content-img img{width:100%;height:auto;object-fit:contain;display:block;border-radius:var(--r-xl)}
.img-badge{
  position:absolute;bottom:24px;left:24px;
  background:rgba(7,7,7,.8);backdrop-filter:blur(12px);
  color:#fff;padding:12px 18px;border-radius:var(--r);
  font-size:.82rem;font-weight:700;
  display:flex;align-items:center;gap:8px;
  border:1px solid rgba(255,255,255,.1);
}
.img-badge i{color:var(--primary)}
.img-badge-tr{
  position:absolute;top:24px;right:24px;
  background:var(--primary);color:#fff;
  padding:10px 16px;border-radius:var(--r);
  font-size:.8rem;font-weight:800;font-family:var(--fh);
  box-shadow:var(--sh-o);
}
.section-label{
  display:inline-flex;align-items:center;gap:7px;
  font-size:.75rem;font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;color:var(--primary);margin-bottom:12px;
}
.section-label::before{
  content:'';width:24px;height:2px;
  background:var(--primary);border-radius:2px;
}
.section-title{
  font-family:var(--fh);
  font-size:clamp(1.9rem,3.5vw,2.8rem);
  font-weight:800;line-height:1.2;
  letter-spacing:-.025em;color:var(--dark);
  margin-bottom:16px;
}
.section-title span{
  background:linear-gradient(135deg,var(--primary),var(--primary-d));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}
.section-desc{color:var(--muted);font-size:.95rem;line-height:1.7;margin-bottom:0}
.content-text p{color:var(--body-c);font-size:.97rem;line-height:1.75;margin-bottom:14px}
.about-feats{display:flex;flex-direction:column;gap:12px;margin:24px 0 32px}
.ab-feat{
  display:flex;align-items:center;gap:12px;
  background:#fff;border:1px solid var(--border-lt);
  padding:12px 16px;border-radius:var(--r);
  transition:border-color var(--t),box-shadow var(--t);
}
.ab-feat:hover{border-color:rgba(249,115,22,.3);box-shadow:var(--sh-sm)}
.ab-feat i{
  width:32px;height:32px;background:var(--primary-lt);
  border-radius:8px;display:flex;align-items:center;justify-content:center;
  color:var(--primary);font-size:.85rem;flex-shrink:0;
}
.ab-feat span{font-size:.88rem;font-weight:600;color:var(--dark)}

/* ── 12. SERVICES SECTION ─────────────────────── */
.services-section{padding:100px 0;background:#fff}
.section-head{text-align:center;max-width:620px;margin:0 auto 56px}
.services-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
}
.service-card{
  background:#fff;border-radius:var(--r-lg);
  border:1px solid var(--border);
  overflow:hidden;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .3s;
  transform-style:preserve-3d;
  cursor:default;
}
.service-card:hover{
  transform:translateY(-8px) rotateX(2deg);
  box-shadow:0 32px 80px rgba(0,0,0,.12),0 0 0 1px rgba(249,115,22,.15);
  border-color:rgba(249,115,22,.2);
}
.sc-img{height:200px;overflow:hidden;position:relative}
.sc-img img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .6s var(--ease);
}
.service-card:hover .sc-img img{transform:scale(1.08)}
.sc-img-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.5),transparent 60%);
}
.sc-body{padding:24px}
.sc-icon{
  width:46px;height:46px;
  background:linear-gradient(135deg,var(--primary),var(--primary-d));
  border-radius:12px;display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:1.1rem;margin-bottom:14px;
  box-shadow:0 6px 20px rgba(249,115,22,.3);
  transition:transform var(--t) var(--easeb);
}
.service-card:hover .sc-icon{transform:scale(1.1) rotate(-5deg)}
.sc-body h3{
  font-family:var(--fh);font-size:1.05rem;font-weight:700;
  color:var(--dark);margin-bottom:8px;letter-spacing:-.01em;
}
.sc-body p{font-size:.87rem;color:var(--muted);line-height:1.6;margin-bottom:18px}
.sc-link{
  display:inline-flex;align-items:center;gap:6px;
  font-size:.82rem;font-weight:700;color:var(--primary);
  font-family:var(--fh);letter-spacing:.02em;
  transition:gap var(--t) var(--easeb);
}
.service-card:hover .sc-link{gap:10px}

/* ── 13. HOW IT WORKS ─────────────────────────── */
.steps-section{padding:100px 0;background:var(--off-white)}
.steps-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:0;position:relative;
}
.steps-grid::before{
  content:'';position:absolute;
  top:44px;left:calc(12.5%);right:calc(12.5%);
  height:2px;
  background:linear-gradient(90deg,var(--primary),var(--primary-d),var(--primary));
  background-size:200% 100%;
  animation:shimmer 3s linear infinite;
  z-index:0;
}
.step-card{
  text-align:center;padding:0 20px 0;
  position:relative;z-index:1;
}
.step-num-wrap{
  position:relative;display:flex;align-items:center;
  justify-content:center;margin-bottom:24px;
}
.step-num{
  width:88px;height:88px;
  background:linear-gradient(135deg,var(--primary),var(--primary-d));
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--fh);font-size:1.6rem;font-weight:800;color:#fff;
  box-shadow:var(--sh-o);
  position:relative;z-index:1;
  transition:transform var(--t) var(--easeb),box-shadow var(--t);
}
.step-card:hover .step-num{
  transform:scale(1.1);
  box-shadow:0 20px 60px rgba(249,115,22,.45);
}
.step-num-ring{
  position:absolute;width:100px;height:100px;
  border:2px dashed rgba(249,115,22,.3);
  border-radius:50%;animation:spin 12s linear infinite;
}
.step-card h4{
  font-family:var(--fh);font-size:1rem;font-weight:700;
  color:var(--dark);margin-bottom:10px;
}
.step-card p{font-size:.87rem;color:var(--muted);line-height:1.6}

/* ── 14. WHY CHOOSE ───────────────────────────── */
.why-section{
  padding:100px 0;
  background:linear-gradient(135deg,var(--dark) 0%,#1a0a00 50%,var(--dark) 100%);
  position:relative;overflow:hidden;
}
.why-section::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 80% 80% at 50% 50%,rgba(249,115,22,.08) 0%,transparent 70%);
}
.why-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
  position:relative;z-index:1;
}
.why-card{
  background:var(--glass);
  border:1px solid var(--glass-b);
  border-radius:var(--r-lg);padding:32px 28px;
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  transition:all .4s var(--ease);
  position:relative;overflow:hidden;
}
.why-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--primary),var(--primary-d));
  transform:scaleX(0);transform-origin:left;
  transition:transform .4s var(--ease);
}
.why-card:hover{
  background:var(--glass-hover);
  border-color:rgba(249,115,22,.3);
  transform:translateY(-6px);
  box-shadow:0 24px 60px rgba(0,0,0,.3);
}
.why-card:hover::before{transform:scaleX(1)}
.wc-icon{
  width:54px;height:54px;
  background:linear-gradient(135deg,rgba(249,115,22,.2),rgba(249,115,22,.1));
  border:1px solid rgba(249,115,22,.3);
  border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  font-size:1.3rem;color:var(--primary);
  margin-bottom:18px;
  transition:transform var(--t) var(--easeb);
}
.why-card:hover .wc-icon{transform:scale(1.12) rotate(-6deg)}
.why-card h4{
  font-family:var(--fh);font-size:1rem;font-weight:700;
  color:#fff;margin-bottom:10px;
}
.why-card p{font-size:.87rem;color:rgba(255,255,255,.55);line-height:1.6}

/* ── 15. HOME GALLERY ─────────────────────────── */
.hg-section{
  padding:100px 0 0;
  background:var(--off-white);
  overflow:hidden;
}

/* Horizontal scroll track */
.hg-scroll-outer{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  padding:0 0 40px;
  /* fade edges to hint at scrollability */
  -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 4%,#000 96%,transparent 100%);
  mask-image:linear-gradient(to right,transparent 0%,#000 4%,#000 96%,transparent 100%);
}
/* hide scrollbar visually but keep it functional */
.hg-scroll-outer::-webkit-scrollbar{height:6px}
.hg-scroll-outer::-webkit-scrollbar-track{background:rgba(0,0,0,.05);border-radius:3px}
.hg-scroll-outer::-webkit-scrollbar-thumb{background:var(--primary);border-radius:3px}
.hg-scroll-outer{scrollbar-width:thin;scrollbar-color:var(--primary) rgba(0,0,0,.05)}

.hg-track{
  display:flex;
  gap:16px;
  padding:0 max(24px,calc((100vw - 1240px)/2));  /* align with container */
  width:max-content;
}

.hg-card{
  position:relative;
  width:320px;
  height:240px;
  flex-shrink:0;
  border-radius:var(--r-lg);
  overflow:hidden;
  cursor:pointer;
  background:var(--dark-3);
  box-shadow:var(--sh-card);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.hg-card:hover{
  transform:translateY(-6px) scale(1.02);
  box-shadow:var(--sh-lg);
}
.hg-card img{
  width:100%;height:100%;
  object-fit:cover;
  display:block;
  transition:transform .5s var(--ease);
  pointer-events:none;
}
.hg-card:hover img{transform:scale(1.08)}
.hg-card-ov{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.6) 0%,transparent 55%);
  display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity .3s;
}
.hg-card:hover .hg-card-ov{opacity:1}
.hg-card-ov i{
  font-size:1.6rem;color:#fff;
  background:rgba(255,255,255,.15);
  backdrop-filter:blur(6px);
  width:56px;height:56px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  border:2px solid rgba(255,255,255,.4);
  transform:scale(.8);transition:transform .3s var(--easeb);
}
.hg-card:hover .hg-card-ov i{transform:scale(1)}

/* ── HOME GALLERY LIGHTBOX ────────────────────── */
.hg-lightbox{
  display:none;
  position:fixed;
  top:0;left:0;width:100%;height:100%;
  background:rgba(0,0,0,.96);
  z-index:999990;
  align-items:center;justify-content:center;
}
.hg-lightbox.open{display:flex}

#hgLbImg{
  max-width:90vw;
  max-height:85vh;
  width:auto;height:auto;
  object-fit:contain;
  border-radius:12px;
  box-shadow:0 8px 40px rgba(0,0,0,.6);
  user-select:none;
  -webkit-user-drag:none;
}

.hg-lb-close{
  position:absolute;top:20px;right:20px;
  width:44px;height:44px;border-radius:50%;
  background:rgba(255,255,255,.12);color:#fff;font-size:1rem;
  border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s;z-index:2;
}
.hg-lb-close:hover{background:var(--primary)}

.hg-lb-prev,
.hg-lb-next{
  position:absolute;top:50%;transform:translateY(-50%);
  width:52px;height:52px;border-radius:50%;
  background:rgba(255,255,255,.12);color:#fff;font-size:1.1rem;
  border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s,transform .2s var(--easeb);z-index:2;
}
.hg-lb-prev{left:20px}
.hg-lb-next{right:20px}
.hg-lb-prev:hover{background:var(--primary);transform:translateY(-50%) scale(1.08)}
.hg-lb-next:hover{background:var(--primary);transform:translateY(-50%) scale(1.08)}

.hg-lb-counter{
  position:absolute;bottom:24px;left:50%;transform:translateX(-50%);
  background:rgba(0,0,0,.5);color:#fff;
  font-family:var(--fh);font-size:.82rem;font-weight:600;
  padding:6px 16px;border-radius:var(--rf);
  backdrop-filter:blur(8px);
  letter-spacing:.06em;
}

/* Mobile tweaks */
@media(max-width:768px){
  .hg-card{width:260px;height:195px}
  .hg-lb-prev{left:8px}
  .hg-lb-next{right:8px}
  .hg-lb-prev,.hg-lb-next{width:40px;height:40px;font-size:.95rem}
}
@media(max-width:480px){
  .hg-card{width:220px;height:165px}
  #hgLbImg{max-width:98vw;max-height:80vh;border-radius:8px}
}


/* ══════════════════════════════════════════════
   HOME VIDEO REELS SECTION
════════════════════════════════════════════════ */
.rv-section{
  padding:80px 0 0;
  background:var(--off-white);
  overflow:hidden;
}
.rv-scroll-outer{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  padding:0 0 40px;
  -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 4%,#000 96%,transparent 100%);
  mask-image:linear-gradient(to right,transparent 0%,#000 4%,#000 96%,transparent 100%);
  scrollbar-width:thin;
  scrollbar-color:var(--primary) rgba(0,0,0,.05);
}
.rv-scroll-outer::-webkit-scrollbar{height:6px}
.rv-scroll-outer::-webkit-scrollbar-track{background:rgba(0,0,0,.05);border-radius:3px}
.rv-scroll-outer::-webkit-scrollbar-thumb{background:var(--primary);border-radius:3px}

.rv-track{
  display:flex;
  gap:16px;
  padding:0 max(24px,calc((100vw - 1240px)/2));
  width:max-content;
}

/* Portrait reel card (≈ 9:16) */
.rv-card{
  position:relative;
  width:180px;
  height:320px;
  flex-shrink:0;
  border-radius:var(--r-lg);
  overflow:hidden;
  cursor:pointer;
  background:#111;
  box-shadow:var(--sh-card);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.rv-card:hover{
  transform:translateY(-6px) scale(1.02);
  box-shadow:var(--sh-lg);
}
.rv-card video{
  width:100%;height:100%;
  object-fit:cover;
  display:block;
  pointer-events:none;
}
.rv-card-ov{
  position:absolute;
  top:0;left:0;width:100%;height:100%;
  background:linear-gradient(to top,rgba(0,0,0,.75) 0%,rgba(0,0,0,.1) 55%,transparent 100%);
  display:flex;align-items:center;justify-content:center;
  transition:background .3s;
}
.rv-card:hover .rv-card-ov{
  background:linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.25) 55%,rgba(0,0,0,.05) 100%);
}
.rv-play-icon{
  width:60px;height:60px;border-radius:50%;
  background:rgba(255,255,255,.18);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  border:2px solid rgba(255,255,255,.5);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:1.3rem;
  padding-left:4px; /* optical center for play triangle */
  transform:scale(.88);
  transition:transform .3s var(--easeb),background .3s,border-color .3s;
}
.rv-card:hover .rv-play-icon{
  transform:scale(1);
  background:var(--primary);
  border-color:var(--primary);
}
.rv-card-label{
  position:absolute;
  bottom:12px;left:0;right:0;
  text-align:center;
  color:rgba(255,255,255,.75);
  font-family:var(--fh);
  font-size:.72rem;
  letter-spacing:.05em;
  text-transform:uppercase;
}

/* ── VIDEO POPUP ─────────────────────────────── */
.rv-popup{
  display:none;
  position:fixed;
  top:0;left:0;width:100%;height:100%;
  background:rgba(0,0,0,.96);
  z-index:999991;
  align-items:center;
  justify-content:center;
}
.rv-popup.open{display:flex}

.rv-popup-inner{
  position:relative;
  height:min(85vh,560px);
  width:auto;
  aspect-ratio:9/16;
  background:#000;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 12px 60px rgba(0,0,0,.8);
}
#rvPopupVideo{
  width:100%;height:100%;
  object-fit:contain;
  display:block;
}

/* Big play overlay inside popup */
.rv-popup-play{
  position:absolute;
  top:0;left:0;width:100%;height:100%;
  display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.3);
  cursor:pointer;
  transition:background .2s;
  z-index:3;
}
.rv-popup-play.hidden{display:none}
.rv-popup-play:hover{background:rgba(0,0,0,.15)}
.rv-popup-play-btn{
  width:82px;height:82px;border-radius:50%;
  background:rgba(255,255,255,.15);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border:3px solid rgba(255,255,255,.6);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:1.9rem;
  padding-left:5px; /* optical center */
  transition:transform .25s var(--easeb),background .25s,border-color .25s;
}
.rv-popup-play:hover .rv-popup-play-btn{
  transform:scale(1.1);
  background:var(--primary);
  border-color:var(--primary);
}

/* Counter pill */
.rv-popup-counter{
  position:absolute;top:16px;left:50%;transform:translateX(-50%);
  background:rgba(0,0,0,.55);color:#fff;
  font-family:var(--fh);font-size:.8rem;font-weight:600;
  padding:5px 14px;border-radius:var(--rf);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  letter-spacing:.06em;
  white-space:nowrap;
  z-index:4;
}

/* Close button */
.rv-popup-close{
  position:absolute;top:12px;right:12px;
  width:40px;height:40px;border-radius:50%;
  background:rgba(255,255,255,.12);color:#fff;
  font-size:.95rem;border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s;z-index:4;
}
.rv-popup-close:hover{background:var(--primary)}

/* Prev / Next inside the popup card */
.rv-popup-prev,
.rv-popup-next{
  position:absolute;top:50%;transform:translateY(-50%);
  width:44px;height:44px;border-radius:50%;
  background:rgba(255,255,255,.12);color:#fff;font-size:1rem;
  border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s,transform .2s;z-index:4;
}
.rv-popup-prev{left:8px}
.rv-popup-next{right:8px}
.rv-popup-prev:hover{background:var(--primary);transform:translateY(-50%) scale(1.08)}
.rv-popup-next:hover{background:var(--primary);transform:translateY(-50%) scale(1.08)}

@media(max-width:768px){
  .rv-card{width:150px;height:267px}
  .rv-popup-inner{height:min(82vh,480px)}
}
@media(max-width:480px){
  .rv-card{width:130px;height:231px}
  .rv-popup-inner{height:min(82vh,420px)}
  .rv-popup-prev,.rv-popup-next{width:36px;height:36px;font-size:.85rem}
}


/* ── Premium Logo ────────────────────────────────────────────── */
.logo-mark {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  transition: transform .4s cubic-bezier(.34,1.56,.64,1);
  filter: drop-shadow(0 4px 12px rgba(249,115,22,.4));
}
.site-logo:hover .logo-mark { transform: scale(1.08) rotate(-5deg); }
.logo-text { display:flex; flex-direction:column; gap:2px; }
.logo-name { display:flex; align-items:center; line-height:1; }
.ln-brand {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.18rem; font-weight: 700; font-style: italic;
  color: var(--primary); letter-spacing: -.01em;
}
.ln-sep { font-size:.65rem; color:var(--muted); padding:0 3px; }
.ln-service {
  font-family: var(--fh); font-size:.78rem; font-weight:600;
  color: var(--dark); letter-spacing:.04em; text-transform:uppercase;
}
.logo-sub {
  font-family: var(--fb); font-size:.58rem; font-weight:500;
  letter-spacing:.14em; text-transform:uppercase; color:var(--muted);
}
.dark-header:not(.scrolled) .ln-service,
.dark-header.scrolled .ln-service { color:rgba(255,255,255,.88); }
.dark-header:not(.scrolled) .ln-sep,
.dark-header.scrolled .ln-sep     { color:rgba(255,255,255,.3); }
.dark-header:not(.scrolled) .logo-sub,
.dark-header.scrolled .logo-sub   { color:rgba(255,255,255,.4); }
.fb-logo .ln-service, .mob-panel .ln-service { color:rgba(255,255,255,.88); }
.fb-logo .ln-sep,     .mob-panel .ln-sep     { color:rgba(255,255,255,.3); }
.fb-logo .logo-sub,   .mob-panel .logo-sub   { color:rgba(255,255,255,.38); }

/* ── Footer logo icon ───────────────────────────────────────────── */
.footer-logo-icon{
  height:52px !important;   /* beats global img{height:auto} */
  width:52px !important;
  min-width:52px;
  object-fit:contain;
  display:block;flex-shrink:0;
  border-radius:12px;
  box-shadow:0 0 0 2px rgba(249,115,22,.35),
             0 4px 16px rgba(249,115,22,.3);
}

/* ── 16. TESTIMONIALS ─────────────────────────── */
.testi-section{padding:100px 0;background:#fff}
.testi-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
}
.testi-card{
  background:var(--off-white);
  border:1px solid var(--border);
  border-radius:var(--r-lg);padding:32px 28px;
  position:relative;
  transition:all .4s var(--ease);
}
.testi-card::before{
  content:'"';position:absolute;top:16px;right:24px;
  font-family:Georgia,serif;font-size:5rem;line-height:1;
  color:rgba(249,115,22,.1);font-weight:900;
}
.testi-card:hover{
  background:#fff;
  transform:translateY(-6px);
  box-shadow:0 24px 60px rgba(0,0,0,.1);
  border-color:rgba(249,115,22,.2);
}
.testi-stars{
  display:flex;gap:3px;margin-bottom:16px;
  color:#F59E0B;font-size:.85rem;
}
.testi-text{
  font-size:.95rem;color:var(--body-c);
  line-height:1.7;margin-bottom:22px;font-style:italic;
}
.testi-author{display:flex;align-items:center;gap:12px}
.ta-avatar{
  width:44px;height:44px;border-radius:50%;
  background:linear-gradient(135deg,var(--primary),var(--primary-d));
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:1rem;flex-shrink:0;
  font-family:var(--fh);font-weight:700;
}
.testi-author strong{
  display:block;font-size:.88rem;font-weight:700;
  color:var(--dark);font-family:var(--fh);
}
.testi-author span{font-size:.78rem;color:var(--muted)}

/* ── 17. FAQ ──────────────────────────────────── */
.faq-section{padding:100px 0;background:var(--off-white)}
.faq-layout{
  display:grid;grid-template-columns:1fr 1.8fr;gap:80px;align-items:start;
}
.faq-left .section-title{margin-bottom:16px}
.faq-left p{color:var(--muted);font-size:.95rem;line-height:1.7;margin-bottom:28px}
.faq-contact-card{display:flex;flex-direction:column;gap:10px}
.fcc-btn{
  display:flex;align-items:center;gap:10px;
  padding:14px 18px;border-radius:var(--r);
  font-size:.9rem;font-weight:700;font-family:var(--fh);
  text-decoration:none;transition:all var(--t) var(--easeb);
}
.fcc-btn:hover{transform:translateY(-2px);box-shadow:var(--sh)}
.fcc-btn.wa{background:#25D366;color:#fff}
.fcc-btn.call{background:var(--dark);color:#fff}
.faq-right{display:flex;flex-direction:column;gap:12px}
.faq-item{
  background:#fff;border:1px solid var(--border);
  border-radius:var(--r-lg);overflow:hidden;
  transition:border-color .3s,box-shadow .3s;
}
.faq-item.active{
  border-color:rgba(249,115,22,.25);
  box-shadow:0 8px 32px rgba(249,115,22,.08);
}
.faq-question{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 22px;cursor:pointer;
  font-family:var(--fh);font-size:.92rem;font-weight:700;
  color:var(--dark);gap:12px;
  transition:color .3s;
}
.faq-item.active .faq-question{color:var(--primary)}
.faq-question .faq-icon{
  width:28px;height:28px;border-radius:50%;
  background:var(--primary-lt);
  display:flex;align-items:center;justify-content:center;
  color:var(--primary);font-size:.7rem;flex-shrink:0;
  transition:background .3s,transform .3s var(--ease);
}
.faq-item.active .faq-icon{background:var(--primary);color:#fff;transform:rotate(45deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s var(--ease)}
.faq-item.active .faq-answer{max-height:400px}
/* padding MUST be on inner <p>, never on .faq-answer itself — prevents height leaking through overflow:hidden */
.faq-answer p{padding:0 22px 18px;font-size:.9rem;color:var(--muted);line-height:1.7}

/* ── 18. CITIES ───────────────────────────────── */
.cities-section{
  padding:80px 0;background:#fff;
}
.cities-grid{
  display:flex;flex-wrap:wrap;gap:10px;justify-content:center;
  margin-top:44px;
}
.city-tag{
  display:flex;align-items:center;gap:7px;
  background:var(--off-white);
  border:1.5px solid var(--border);
  border-radius:var(--rf);padding:9px 20px;
  font-size:.85rem;font-weight:600;color:var(--dark);
  font-family:var(--fh);
  transition:all .25s var(--easeb);cursor:default;
}
.city-tag:hover{
  background:var(--primary);color:#fff;
  border-color:var(--primary);
  transform:scale(1.05) translateY(-2px);
  box-shadow:0 8px 24px rgba(249,115,22,.3);
}
.city-tag i{color:var(--primary);font-size:.75rem;transition:color .25s}
.city-tag:hover i{color:#fff}

/* ── 19. CTA SECTION ──────────────────────────── */
.cta-section{
  padding:100px 0;
  background:linear-gradient(135deg,var(--primary-xd),var(--primary),var(--primary-d));
  position:relative;overflow:hidden;text-align:center;
}
.cta-section::before{
  content:'';position:absolute;inset:0;
  background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
.cta-section h2{
  font-family:var(--fh);font-size:clamp(2rem,4vw,3.2rem);
  font-weight:800;color:#fff;margin-bottom:14px;
  letter-spacing:-.03em;position:relative;z-index:1;
}
.cta-section p{
  font-size:1.05rem;color:rgba(255,255,255,.8);
  margin-bottom:36px;position:relative;z-index:1;
}
.cta-btns{
  display:flex;align-items:center;justify-content:center;gap:14px;
  flex-wrap:wrap;position:relative;z-index:1;
}

/* ── 20. FOOTER ───────────────────────────────── */
.footer{background:var(--dark);color:#fff}
.footer-top{
  padding:72px 0 48px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.footer-grid{
  display:grid;grid-template-columns:1.6fr 1fr 1fr 1.4fr;gap:48px;
}
.fb-logo{margin-bottom:16px}
.fb-desc{
  font-size:.87rem;color:rgba(255,255,255,.45);
  line-height:1.7;max-width:280px;margin-bottom:20px;
}
.fb-socials{display:flex;gap:8px}
.fb-social{
  width:36px;height:36px;border-radius:50%;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,.5);font-size:.85rem;
  transition:all .3s var(--easeb);
}
.fb-social:hover{background:var(--primary);border-color:var(--primary);color:#fff;transform:scale(1.1)}
.fc-col h4{
  font-family:var(--fh);font-size:.82rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;
  color:rgba(255,255,255,.4);margin-bottom:20px;
}
.fc-col ul{display:flex;flex-direction:column;gap:10px}
.fc-col ul a{
  font-size:.88rem;color:rgba(255,255,255,.55);
  display:flex;align-items:center;gap:8px;
  transition:color .25s,gap .25s var(--easeb);
}
.fc-col ul a:hover{color:#fff;gap:12px}
.fc-col ul a i{font-size:.65rem;color:var(--primary)}
.fc-contact{display:flex;flex-direction:column;gap:10px}
.fc-row{
  display:flex;align-items:center;gap:10px;
  font-size:.87rem;color:rgba(255,255,255,.55);
}
.fc-row a{color:rgba(255,255,255,.55);transition:color .25s}
.fc-row a:hover{color:#fff}
.fc-row i{color:var(--primary);width:16px;font-size:.85rem;flex-shrink:0}
.footer-bottom{
  padding:14px 0 14px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
}
.footer-credit{font-size:.75rem;color:rgba(255,255,255,.55);text-align:center;width:100%;margin-top:6px}
.footer-credit a{color:var(--primary);transition:color .2s}
.footer-credit a:hover{color:#FB923C}
.footer-bottom p{font-size:.82rem;color:#fff}
.footer-bottom-links{display:flex;gap:20px}
.footer-bottom-links a{font-size:.82rem;color:#fff;transition:color .25s}
.footer-bottom-links a:hover{color:var(--primary)}

/* ── 21. QUOTE MODAL ──────────────────────────── */
.modal-overlay{
  position:fixed;inset:0;
  background:rgba(0,0,0,.7);backdrop-filter:blur(8px);
  z-index:99990;
  display:flex;align-items:center;justify-content:center;
  padding:20px;
  opacity:0;visibility:hidden;
  transition:opacity .3s,visibility .3s;
}
.modal-overlay.open{opacity:1;visibility:visible}
.quote-modal{
  background:#fff;border-radius:var(--r-xl);
  width:min(640px,100%);max-height:90vh;overflow-y:auto;
  box-shadow:var(--sh-xl);
  transform:scale(.95) translateY(20px);
  transition:transform .35s var(--easeb);
}
.modal-overlay.open .quote-modal{transform:scale(1) translateY(0)}
.modal-header{
  padding:28px 28px 20px;
  display:flex;align-items:flex-start;justify-content:space-between;
  border-bottom:1px solid var(--border);position:sticky;top:0;background:#fff;
  border-radius:var(--r-xl) var(--r-xl) 0 0;z-index:1;
}
.modal-header h3{
  font-family:var(--fh);font-size:1.2rem;font-weight:800;color:var(--dark);
  display:flex;align-items:center;gap:8px;margin-bottom:4px;
}
.modal-header h3 i{color:var(--primary)}
.modal-header p{font-size:.82rem;color:var(--muted)}
.modal-close{
  width:36px;height:36px;border-radius:50%;
  background:var(--off-white);display:flex;align-items:center;justify-content:center;
  color:var(--muted);font-size:.85rem;flex-shrink:0;margin-top:4px;
  transition:background .2s,color .2s;
}
.modal-close:hover{background:var(--dark);color:#fff}
.modal-body{padding:24px 28px 28px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.form-group label{
  font-size:.8rem;font-weight:700;color:var(--dark);
  font-family:var(--fh);letter-spacing:.03em;
}
.form-control{
  padding:12px 16px;border:1.5px solid var(--border);
  border-radius:var(--r);font-size:.92rem;color:var(--dark);
  background:#fff;transition:border-color .25s,box-shadow .25s;
  outline:none;
}
.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(249,115,22,.1)}
textarea.form-control{resize:vertical;min-height:90px}
select.form-control{cursor:pointer}
.btn-submit{
  width:100%;padding:15px;margin-top:6px;
  background:linear-gradient(135deg,#25D366,#1ea952);
  color:#fff;border-radius:var(--r);border:none;cursor:pointer;
  font-family:var(--fh);font-size:.95rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;gap:8px;
  box-shadow:0 8px 24px rgba(37,211,102,.3);
  transition:all var(--t) var(--easeb);
}
.btn-submit:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(37,211,102,.4)}

/* ── 22. FLOATING BTNS ────────────────────────── */
.float-btns{
  position:fixed;bottom:20px;right:20px;
  display:flex;flex-direction:column;gap:10px;
  z-index:9000;align-items:flex-end;
}
.float-quote-btn{
  display:flex;align-items:center;gap:8px;
  background:linear-gradient(135deg,var(--primary),var(--primary-d));
  color:#fff;padding:13px 20px;border-radius:var(--rf);
  font-family:var(--fh);font-size:.85rem;font-weight:700;
  box-shadow:var(--sh-o);border:none;cursor:pointer;
  transition:all var(--t) var(--easeb);
}
.float-quote-btn:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 20px 60px rgba(249,115,22,.4)}
.float-wa{
  width:52px;height:52px;border-radius:50%;
  background:#25D366;color:#fff;font-size:1.4rem;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 24px rgba(37,211,102,.35);
  animation:glow 3s ease-in-out infinite;
  transition:transform var(--t) var(--easeb);
}
.float-wa:hover{transform:scale(1.1)}
.scroll-top-btn{
  position:fixed;bottom:140px;right:24px;
  width:44px;height:44px;border-radius:50%;
  background:var(--dark);color:#fff;font-size:.85rem;
  display:flex;align-items:center;justify-content:center;
  box-shadow:var(--sh);z-index:9000;border:none;cursor:pointer;
  opacity:0;visibility:hidden;
  transition:all .3s var(--easeb);
}
.scroll-top-btn.visible{opacity:1;visibility:visible}
.scroll-top-btn:hover{background:var(--primary);transform:translateY(-3px)}

/* ── 24. PAGE HERO (inner pages) ──────────────── */
.page-hero{
  min-height:420px;position:relative;overflow:hidden;
  display:flex;align-items:center;padding-top:var(--hh);
  background:var(--dark);
}
.page-hero-img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:.25;
}
.page-hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(7,7,7,.9),rgba(249,115,22,.15));
}
.page-hero .container{
  position:relative;z-index:2;padding-top:40px;padding-bottom:56px;
}
.page-hero-label{
  display:inline-flex;align-items:center;gap:7px;
  background:rgba(249,115,22,.15);border:1px solid rgba(249,115,22,.3);
  color:var(--primary);font-size:.78rem;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;
  padding:7px 14px;border-radius:var(--rf);margin-bottom:16px;
}
.page-hero h1{
  font-family:var(--fh);
  font-size:clamp(1.9rem,4vw,3rem);font-weight:800;
  color:#fff;letter-spacing:-.025em;line-height:1.2;
  max-width:700px;margin-bottom:14px;
}
.page-hero p{
  font-size:.97rem;color:rgba(255,255,255,.65);
  max-width:580px;line-height:1.7;margin-bottom:20px;
}
.breadcrumb{
  display:flex;align-items:center;gap:6px;
  font-size:.8rem;color:rgba(255,255,255,.4);
}
.breadcrumb a{color:rgba(255,255,255,.5);transition:color .2s}
.breadcrumb a:hover{color:var(--primary)}
.breadcrumb i{font-size:.55rem}

/* Content section (inner pages) */
.content-section{padding:80px 0;background:#fff}
.feature-list{display:flex;flex-direction:column;gap:12px;margin-top:20px}
.feature-item{
  display:flex;align-items:flex-start;gap:12px;
  background:var(--off-white);border-radius:var(--r);padding:12px 14px;
  border:1px solid var(--border);
}
.feature-item>i{
  color:var(--primary);margin-top:2px;flex-shrink:0;font-size:.9rem;
}
.feature-item p{font-size:.88rem;color:var(--body-c);line-height:1.6}
.feature-item strong{color:var(--dark)}
.info-cards{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
}
.info-card{
  background:var(--off-white);border:1px solid var(--border);
  border-radius:var(--r-lg);padding:28px 22px;text-align:center;
  transition:all .35s var(--ease);
}
.info-card:hover{
  background:#fff;transform:translateY(-4px);
  box-shadow:var(--sh);border-color:rgba(249,115,22,.15);
}
.info-card-icon{
  width:52px;height:52px;border-radius:50%;
  background:linear-gradient(135deg,var(--primary),var(--primary-d));
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:1.2rem;margin:0 auto 14px;
  box-shadow:0 6px 20px rgba(249,115,22,.3);
}
.info-card h4{
  font-family:var(--fh);font-size:.95rem;font-weight:700;
  color:var(--dark);margin-bottom:8px;
}
.info-card p{font-size:.87rem;color:var(--muted);line-height:1.6}

/* ── 25. TRUST STRIP SCROLL (inner pages) ─────── */
.trust-strip{
  background:var(--dark);padding:18px 0;overflow:hidden;
}
.trust-inner{
  display:flex;justify-content:center;gap:40px;align-items:center;flex-wrap:wrap;
}
.trust-item{
  display:flex;align-items:center;gap:8px;
  font-size:.82rem;font-weight:600;color:rgba(255,255,255,.6);
  font-family:var(--fh);
}
.trust-item i{color:var(--primary)}
.trust-sep{color:rgba(255,255,255,.15)}

/* ── 26. CONTACT PAGE ───────────────────── */
.contact-grid{
  display:grid;grid-template-columns:1fr 1.3fr;gap:48px;align-items:start;
}
/* ---- Info cards grid ---- */
.contact-info{
  display:grid;grid-template-columns:1fr 1fr;gap:16px;
  margin-top:28px;
}
.contact-info-card{
  display:flex;align-items:flex-start;gap:14px;
  background:#fff;
  border:1px solid rgba(249,115,22,.12);
  border-radius:16px;
  padding:18px 16px;
  box-shadow:0 2px 16px rgba(0,0,0,.06);
  transition:transform .3s var(--ease),box-shadow .3s,border-color .3s;
}
.contact-info-card:hover{
  transform:translateY(-3px);
  box-shadow:0 8px 28px rgba(249,115,22,.13);
  border-color:rgba(249,115,22,.35);
}
.contact-info-card-icon{
  width:44px;height:44px;flex-shrink:0;
  border-radius:12px;
  background:linear-gradient(135deg,var(--primary),var(--primary-d));
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:1rem;
  box-shadow:0 4px 12px rgba(249,115,22,.3);
}
.contact-info-card h5{
  font-family:var(--fh);font-size:.72rem;font-weight:700;
  color:var(--muted);text-transform:uppercase;letter-spacing:.07em;
  margin-bottom:4px;
}
.contact-info-card p,
.contact-info-card a{
  font-size:.9rem;font-weight:600;color:var(--dark);line-height:1.4;
}
.contact-info-card a:hover{color:var(--primary)}
/* ---- Form box ---- */
.contact-form-wrap{
  background:#fff;border-radius:22px;
  padding:36px 32px;
  box-shadow:0 4px 40px rgba(0,0,0,.08);
  border:1px solid var(--border);
}
.contact-form-wrap h3{
  font-family:var(--fh);font-size:1.25rem;font-weight:800;
  color:var(--dark);margin-bottom:24px;display:flex;align-items:center;gap:10px;
}
.btn-submit{width:100%;justify-content:center;margin-top:8px;padding:16px}

/* ── 27. RESPONSIVE ───────────────────────────── */
@media(max-width:1100px){
  .hero{grid-template-columns:1fr}
  .hero-right{display:none}
  .hero-left{padding:calc(var(--hh) + 32px) 24px 48px;text-align:center}
  .hero-btns{justify-content:center}
  .hero-trust{justify-content:center}
  .hero-sub{margin-left:auto;margin-right:auto}
  .content-grid{grid-template-columns:1fr;gap:40px}
  .content-img{order:-1}
  .footer-grid{grid-template-columns:repeat(2,1fr);gap:32px}
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .why-grid{grid-template-columns:repeat(2,1fr)}
  .steps-grid::before{display:none}
  .steps-grid{grid-template-columns:repeat(2,1fr);gap:24px}
  .faq-layout{grid-template-columns:1fr;gap:40px}
  .testi-grid{grid-template-columns:repeat(2,1fr)}
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:2px}
  .info-cards{grid-template-columns:repeat(2,1fr)}
  .contact-grid{grid-template-columns:1fr}
}
@media(max-width:900px){
  .main-nav,.hdr-phone{display:none}
  .hamburger{display:flex}
}
@media(max-width:768px){
  .services-grid,.why-grid,.testi-grid,.info-cards{grid-template-columns:1fr}
  .steps-grid{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .cta-btns{flex-direction:column;align-items:stretch}
  .cta-btns .btn{justify-content:center}
  .footer-bottom{flex-direction:column;text-align:center;gap:8px}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .btn-quote-hdr .btn-label{display:none}
}
@media(max-width:480px){
  .hero-title{font-size:2.2rem}
  .section-title{font-size:1.7rem}
  .stat-num{font-size:2.4rem}
  .hero-btns{flex-direction:column}
  .hero-btns .btn{justify-content:center}
  .float-quote-btn .btn-label{display:none}
  .float-quote-btn{padding:14px;border-radius:50%;width:52px;height:52px}
  .city-tag{font-size:.8rem;padding:8px 14px}
}

/* ═══════════════════════════════════════════════
   INLINE QUOTE SECTION (every page)
═══════════════════════════════════════════════ */
.iq-section{
  background:linear-gradient(135deg,#fff7f0 0%,#fff1e6 50%,#fef3e8 100%);
  padding:100px 0;
  position:relative;overflow:hidden;
}
.iq-section::before{
  content:'';position:absolute;
  top:-200px;right:-200px;
  width:600px;height:600px;
  background:radial-gradient(circle,rgba(249,115,22,.12) 0%,transparent 70%);
  pointer-events:none;
}
.iq-section::after{
  content:'';position:absolute;
  bottom:-150px;left:-100px;
  width:400px;height:400px;
  background:radial-gradient(circle,rgba(249,115,22,.08) 0%,transparent 70%);
  pointer-events:none;
}
.iq-wrap{
  display:grid;grid-template-columns:1fr 1fr;
  gap:64px;align-items:center;
}
/* Left */
.iq-badge{
  display:inline-flex;align-items:center;gap:7px;
  background:rgba(249,115,22,.12);border:1px solid rgba(249,115,22,.25);
  color:var(--primary-d);font-size:.75rem;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;
  padding:6px 14px;border-radius:var(--rf);margin-bottom:20px;
}
.iq-title{
  font-family:var(--fh);font-size:clamp(2rem,3.5vw,3rem);
  font-weight:800;line-height:1.15;color:#1a1a1a;
  letter-spacing:-.03em;margin-bottom:16px;
}
.iq-title span{
  background:linear-gradient(90deg,#F97316,#EA580C);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.iq-sub{color:#4b5563;font-size:1rem;line-height:1.7;margin-bottom:28px}
.iq-sub strong{color:var(--primary-d)}
.iq-perks{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:36px}
.iq-perks li{
  display:flex;align-items:center;gap:10px;
  color:#374151;font-size:.9rem;font-weight:500;
}
.iq-perks li i{color:#16a34a;font-size:.85rem;flex-shrink:0}
.iq-trust{
  display:flex;gap:28px;flex-wrap:wrap;
  padding-top:28px;border-top:1px solid rgba(0,0,0,.08);
}
.iq-stat span{
  display:block;font-family:var(--fh);
  font-size:1.6rem;font-weight:800;color:var(--primary);
}
.iq-stat small{font-size:.75rem;color:#6b7280;font-weight:500}
/* Right card */
.iq-card{
  background:#fff;
  border:1px solid rgba(249,115,22,.15);
  border-radius:24px;padding:36px;
  box-shadow:0 8px 40px rgba(249,115,22,.1),0 2px 12px rgba(0,0,0,.06);
  position:relative;z-index:1;
}
.iq-card-head{
  display:flex;align-items:center;gap:14px;margin-bottom:28px;
  padding-bottom:20px;border-bottom:1px solid #f3f4f6;
}
.iq-card-head>i{
  width:48px;height:48px;border-radius:14px;flex-shrink:0;
  background:linear-gradient(135deg,var(--primary),var(--primary-d));
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:1.3rem;
}
.iq-card-head h3{font-family:var(--fh);font-weight:700;color:#111;font-size:1.1rem;margin:0 0 3px}
.iq-card-head p{font-size:.8rem;color:#6b7280;margin:0}
/* Form fields */
.iq-form{display:flex;flex-direction:column;gap:14px}
.iq-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.iq-group{display:flex;flex-direction:column;gap:6px}
.iq-group label{
  font-size:.75rem;font-weight:700;color:#6b7280;
  letter-spacing:.04em;text-transform:uppercase;
  display:flex;align-items:center;gap:6px;
}
.iq-group label i{color:var(--primary);font-size:.7rem}
.iq-group input,.iq-group select,.iq-group textarea{
  background:#f9fafb;
  border:1.5px solid #e5e7eb;
  border-radius:10px;padding:11px 14px;
  color:#111;font-size:.9rem;font-family:var(--fb);
  transition:border-color var(--t),background var(--t);
  width:100%;
}
.iq-group input::placeholder,.iq-group textarea::placeholder{color:#9ca3af}
.iq-group select option{background:#fff;color:#111}
.iq-group input:focus,.iq-group select:focus,.iq-group textarea:focus{
  outline:none;border-color:var(--primary);background:#fff7f0;
}
.iq-group textarea{resize:vertical;min-height:80px}
.iq-submit{
  width:100%;padding:15px;border-radius:12px;
  background:linear-gradient(135deg,#25D366,#128C7E);
  color:#fff;font-family:var(--fh);font-size:1rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;gap:10px;
  transition:transform var(--t),box-shadow var(--t);
  box-shadow:0 4px 20px rgba(37,211,102,.3);
  margin-top:4px;
}
.iq-submit:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(37,211,102,.45)}
.iq-submit i{font-size:1.2rem}
/* Responsive */
@media(max-width:900px){
  .iq-wrap{grid-template-columns:1fr;gap:48px}
  .iq-left{text-align:center}
  .iq-perks{align-items:center}
  .iq-trust{justify-content:center}
}
@media(max-width:520px){
  .iq-row{grid-template-columns:1fr}
  .iq-section{padding:70px 0}
  .iq-card{padding:24px 18px}
}

/* ═══════════════════════════════════════════════
   INNER PAGE — MISSING CLASSES FIX
═══════════════════════════════════════════════ */

/* Generic section — light background so text is always readable */
.section{
  padding:80px 0;
  background:#fff;        /* prevents inheriting dark body colour */
}

/* Dark services background — overrides .section */
.services-bg{
  background:var(--dark) !important;
  position:relative;
}
/* Headings / labels on dark services bg */
.services-bg .section-title{color:#fff}
.services-bg .section-title span{
  background:linear-gradient(135deg,var(--primary),var(--primary-d));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}
.services-bg .section-desc{color:rgba(255,255,255,.6)}
.services-bg .section-label{color:var(--primary)}

/* ── CTA section fix ────────────────────────────── */
.cta-section{background:linear-gradient(135deg,var(--primary),var(--primary-d)) !important}

/* ── content-section fix (inner pages) ─────────── */
.content-section{background:#fff}

/* ── page-hero forces no light bg ─────────────── */
.page-hero{background:transparent}


/* ================================================================
   LOCATION / INNER-PAGE UTILITIES
   ================================================================ */

/* Centered text utility */
.text-center{text-align:center}

/* Fade-up animation for inner pages (CSS only, no JS required) */
.animate-fadeup{animation:fadeInUp .65s var(--ease) both}
.animate-fadeup.delay-1{animation-delay:.12s}
.animate-fadeup.delay-2{animation-delay:.24s}
.animate-fadeup.delay-3{animation-delay:.36s}

/* City route cards */
.cities-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-top:40px;
}
.city-card{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--r-lg);
  padding:22px 18px;
  text-align:center;
  transition:transform .3s var(--ease),background .3s;
}
.city-card:hover{
  background:rgba(249,115,22,.12);
  border-color:rgba(249,115,22,.35);
  transform:translateY(-4px);
}
.city-card i{font-size:1.5rem;color:var(--primary);margin-bottom:10px;display:block}
.city-card h5{font-size:.9rem;font-weight:700;color:#fff;margin-bottom:4px}
.city-card span{font-size:.75rem;color:rgba(255,255,255,.55);font-weight:500}
/* White-bg city cards (e.g. on content-section) */
.content-section .city-card h5,
.section:not(.services-bg) .city-card h5{color:var(--dark)}
.content-section .city-card span,
.section:not(.services-bg) .city-card span{color:var(--muted)}


/* ================================================================
   MOBILE RESPONSIVE
   ================================================================ */

/* Mobile menu z-index above header */
.mob-overlay{z-index:9200}
.mob-panel{z-index:9300}

/* Inner page hero offset for fixed header */
.page-hero{padding-top:var(--hh)}

/* body.no-scroll is declared in the base reset section (line ~77) — no duplicate needed here */

/* ── Mobile header logo ── */
@media(max-width:900px){
  .site-header .site-logo .hdr-icon{
    height:43px !important;
    width:43px !important;
    min-width:43px;
    border-radius:10px;
    margin-right:10px;
  }
  .site-header .hdr-vdiv{height:34px;margin-right:10px}
  .site-header .hw-sonu{font-size:1.13rem}
  .site-header .hw-rest{font-size:0.83rem}
  .site-header .hw-tag{font-size:0.41rem;letter-spacing:.2em}
}

/* City cards on white backgrounds also look good */
.content-section .city-card,
.section:not(.services-bg) .city-card{
  background:#fff;
  border:1.5px solid rgba(249,115,22,.18);
}

@media(max-width:900px){
  :root{--hh:64px}
  .hero{grid-template-columns:1fr;min-height:auto}
  .hero-left{padding:calc(var(--hh) + 24px) 20px 48px;text-align:center}
  .hero-right{display:none}
  .hero-btns,.hero-trust{justify-content:center}
  .hero-sub{margin:0 auto}
  .hero-badge{margin-left:auto;margin-right:auto}
  .content-grid{grid-template-columns:1fr;gap:32px}
  .content-img{order:-1}
  .cities-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .iq-wrap{grid-template-columns:1fr;gap:40px}
  .footer-grid{grid-template-columns:repeat(2,1fr);gap:28px}
  .page-hero h1{font-size:1.8rem}
  .page-hero p{font-size:.9rem}
  .testi-grid{grid-template-columns:1fr}
  .why-grid{grid-template-columns:repeat(2,1fr)}
  .services-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:600px){
  :root{--hh:60px}
  .container{padding:0 16px}
  .hero-title{font-size:2rem}
  .hero-left{padding:calc(var(--hh) + 16px) 16px 40px}
  .section-title{font-size:1.5rem}
  .section{padding:52px 0}
  .content-section{padding:52px 0}
  .page-hero h1{font-size:1.45rem}
  .page-hero p{font-size:.85rem}
  .content-grid{gap:20px}
  .cities-grid{grid-template-columns:1fr 1fr;gap:8px}
  .city-card{padding:16px 10px}
  .city-card h5{font-size:.85rem}
  .faq-grid{gap:8px}
  .faq-question{font-size:.88rem;padding:14px 16px}
  .faq-answer p{padding:0 16px 14px;font-size:.85rem}
  .cta-btns{flex-direction:column;align-items:stretch}
  .cta-btns .btn{justify-content:center;width:100%}
  .cta-section h2{font-size:1.4rem}
  .iq-wrap{gap:24px}
  .iq-form{padding:20px 16px}
  .form-row{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr;gap:24px}
  .footer-bottom{flex-direction:column;text-align:center;gap:8px}
  .footer-bottom-links{justify-content:center;flex-wrap:wrap}
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:0}
  .stat-num{font-size:2.2rem}
  .why-grid,.services-grid{grid-template-columns:1fr}
  .info-cards{grid-template-columns:1fr}
  .steps-grid{grid-template-columns:1fr}
}

@media(max-width:380px){
  .hero-title{font-size:1.75rem}
  .btn-quote-hdr{padding:10px 12px}
  .site-logo .logo-sub{display:none}
  .mob-panel{width:100vw}
}
