/* ── TOKENS ── */
:root {
  --bg:     #1A496B;
  --bg2:    #225A80;
  --bg3:    #EAF1F6;
  --blue:   #1E5A91;
  --blue2:  #2F79B8;
  --accent: #D7B64A;
  --acc2:   #B8922E;
  --gold2:  #F1D572;
  --white:  #FFFFFF;
  --t1:     rgba(255,255,255,0.94);
  --t2:     rgba(255,255,255,0.70);
  --t3:     rgba(255,255,255,0.42);
  --border: rgba(191,215,235,0.18);
  --glass:  rgba(255,255,255,0.065);
  --paper:  #EAF1F6;
  --paper2: #DDE9F1;
  --ink:    #102A43;
  --ink2:   rgba(16,42,67,0.72);
  --nav-bg: rgba(24,67,100,0.9);
  --nav-open-bg: rgba(24,67,100,0.97);
  --hero-dim: 0.48;
  --hero-sat: 0.74;
  --hero-blue-wash: rgba(20,66,104,0.48);
  --hero-bottom: rgba(8,24,40,0.62);
  --section-wash: rgba(255,255,255,0.035);
  --r:      14px;
  --nav-h:  68px;
  --ease:   cubic-bezier(0.22,1,0.36,1);
}

body.theme-day{
  --bg:     #225B7C;
  --bg2:    #2C6D94;
  --bg3:    #EFF6FA;
  --blue:   #2B6FA6;
  --blue2:  #3B8DCC;
  --white:  #FFFFFF;
  --t1:     rgba(255,255,255,0.94);
  --t2:     rgba(255,255,255,0.74);
  --t3:     rgba(255,255,255,0.48);
  --border: rgba(209,226,240,0.20);
  --glass:  rgba(255,255,255,0.09);
  --nav-bg: rgba(28,78,113,0.92);
  --nav-open-bg: rgba(28,78,113,0.98);
  --hero-dim: 0.62;
  --hero-sat: 0.78;
  --hero-blue-wash: rgba(28,69,102,0.46);
  --hero-bottom: rgba(16,42,67,0.58);
  --section-wash: rgba(255,255,255,0.06);
}

body.theme-night{
  --bg:     #102D45;
  --bg2:    #153C5C;
  --bg3:    #163F66;
  --blue:   #1A5488;
  --blue2:  #2B72AD;
  --nav-bg: rgba(14,42,66,0.92);
  --nav-open-bg: rgba(14,42,66,0.98);
  --hero-dim: 0.54;
  --hero-sat: 0.70;
  --hero-blue-wash: rgba(16,46,76,0.56);
  --hero-bottom: rgba(5,16,28,0.66);
}

/* ── BASE ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:auto;scroll-padding-top:calc(var(--nav-h) + 14px);font-size:16px;-webkit-font-smoothing:antialiased}
body{
  font-family:'Manrope',system-ui,sans-serif;
  background:
    radial-gradient(circle at 12% 0%,var(--section-wash),transparent 34%),
    var(--bg);
  color:var(--t1);
  overflow-x:hidden;
}
body::before{
  content:'';
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:0.18;
  background-image:
    linear-gradient(rgba(255,255,255,0.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,0.05) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(to bottom,transparent,black 18%,black 72%,transparent);
}
a{text-decoration:none;color:inherit}
ul{list-style:none}
button{border:none;background:none;font:inherit;color:inherit;cursor:pointer}
input,textarea,select{font:inherit}
h1,h2,h3,h4,h5,h6,
.logo,
.label,
button,
.btn,
#navLinks li a{
  font-family:'Archivo','Manrope',system-ui,sans-serif;
}
::selection{background:var(--accent);color:white}
:where(a,button,input,select,textarea,[tabindex]):focus{outline:none}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:2px solid var(--gold2);
  outline-offset:4px;
  box-shadow:0 0 0 5px rgba(215,182,74,0.14);
}
.tgl input:focus-visible + .tgl-pill{
  outline:2px solid var(--gold2);
  outline-offset:4px;
  box-shadow:0 0 0 5px rgba(215,182,74,0.14);
}

/* ── SCROLL PROGRESS ── */
#scrollProgress{
  position:fixed;top:0;left:0;right:0;height:2px;z-index:9998;
  background:linear-gradient(to right,var(--blue2),var(--accent));
  transform-origin:left;transform:scaleX(0);
  transition:transform 0.1s linear;
}

/* ── SCROLLBAR ── */
::-webkit-scrollbar{width:6px}
::-webkit-scrollbar-track{background:var(--bg2)}
::-webkit-scrollbar-thumb{background:rgba(215,182,74,0.3);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:var(--accent)}

/* ── CONTAINER ── */
.container{max-width:1140px;margin:0 auto;padding:0 24px}

/* ── UTILS ── */
.grad-text{
  color:var(--gold2);
  text-shadow:0 0 28px rgba(215,182,74,0.14);
}
.reveal{
  opacity:0;
  transform:translateY(34px) scale(0.985);
  transition:opacity 0.78s var(--ease),transform 0.78s var(--ease);
  will-change:opacity,transform;
}
.reveal.visible{opacity:1;transform:translateY(0) scale(1)}

/* ── BUTTONS ── */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:13px 26px;border-radius:10px;
  font-family:'Archivo',sans-serif;font-weight:600;font-size:0.9rem;letter-spacing:0.01em;
  transition:all 0.22s ease;white-space:nowrap;
}
.btn-primary{
  background:linear-gradient(135deg,var(--blue) 0%,var(--blue2) 64%,var(--accent) 160%);
  color:white;
  box-shadow:0 4px 20px rgba(18,61,115,0.35),inset 0 1px 0 rgba(255,255,255,0.12);
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(29,92,158,0.42),0 0 0 1px rgba(215,182,74,0.28),inset 0 1px 0 rgba(255,255,255,0.12)}
.btn-ghost{
  color:var(--t1);border:1px solid var(--border);
  background:var(--glass);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.btn-ghost:hover{border-color:rgba(215,182,74,0.5);color:var(--accent);background:rgba(18,61,115,0.2)}

/* ── NAV ── */
#nav{
  position:fixed;top:0;left:0;right:0;z-index:500;
  height:var(--nav-h);
  background:var(--nav-bg);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  box-shadow:0 1px 0 var(--border);
  transition:background 0.3s,backdrop-filter 0.3s,box-shadow 0.3s;
}
#nav.scrolled{
  background:var(--nav-bg);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  box-shadow:0 1px 0 var(--border);
}
.nav-inner{
  max-width:1280px;margin:0 auto;padding:0 24px;
  height:100%;display:flex;align-items:center;gap:22px;
}
.logo{
  display:flex;
  align-items:center;
  gap:10px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  font-size:1.15rem;
  font-weight:700;
  color:var(--white);
}
.logo-img{
  display:block;
  width:268px;
  height:50px;
  object-fit:contain;
  object-position:left center;
  filter:brightness(1.2) saturate(1.22) drop-shadow(0 0 8px rgba(246,250,253,0.7)) drop-shadow(0 0 16px rgba(246,250,253,0.32)) drop-shadow(0 6px 18px rgba(4,18,31,0.22));
}
.footer-logo-img{
  display:block;
  width:240px;
  height:76px;
  object-fit:contain;
  object-position:left center;
  filter:drop-shadow(0 0 16px rgba(215,182,74,0.12));
}
.logo b{color:var(--accent)}
#navLinks{display:flex;align-items:center;gap:clamp(14px,1.55vw,28px);margin-left:auto}
#navLinks li a{
  position:relative;
  font-size:0.88rem;font-weight:500;color:var(--t2);transition:color 0.2s;letter-spacing:0.01em;
}
#navLinks li a::after{
  content:'';
  position:absolute;left:0;right:0;bottom:-9px;height:2px;
  border-radius:2px;
  background:linear-gradient(90deg,var(--blue2),var(--accent));
  transform:scaleX(0);
  transform-origin:center;
  transition:transform 0.22s var(--ease),opacity 0.22s;
  opacity:0;
}
#navLinks li a:hover,
#navLinks li a.active{color:var(--white)}
#navLinks li a:hover::after,
#navLinks li a.active::after{transform:scaleX(1);opacity:1}
.nav-cta::after{display:none}
.nav-cta{
  background:rgba(18,61,115,0.36)!important;
  color:var(--accent)!important;
  padding:9px 18px;border-radius:8px;
  border:1px solid rgba(215,182,74,0.26)!important;
  font-weight:600!important;
  transition:background 0.2s,border-color 0.2s!important;
}
.nav-cta:hover{background:var(--blue2)!important;color:white!important;border-color:var(--accent)!important}
#burger{display:none;flex-direction:column;gap:5px;padding:6px}
#burger span{width:22px;height:1.8px;background:var(--t2);border-radius:1px;transition:all 0.3s}

/* ── HERO ── */
#hero{
  position:relative;height:100vh;height:100svh;min-height:700px;
  overflow:hidden;
  background:var(--bg2);
  --hero-depth:0;
}

/* Cinematic opening reveal */
.hero-bg{
  position:absolute;inset:0;z-index:0;
  background:var(--bg2);
  animation:cinematicReveal 2.4s cubic-bezier(0.22,1,0.36,1) 0.2s both;
  transform:translate3d(0,calc(var(--hero-depth) * 54px),0) scale(calc(1 + var(--hero-depth) * 0.035));
  transform-origin:center top;
  will-change:transform;
}
@keyframes cinematicReveal{
  from{clip-path:inset(14% 22% round 28px)}
  to{clip-path:inset(0% 0% round 0px)}
}

/* Video background — cinematic crossfade */
.hero-video{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  object-position:center center;
  z-index:1;
  opacity:0;
  transform:scale(1.07);
  filter:brightness(var(--hero-dim)) contrast(1.05) saturate(var(--hero-sat));
  transition:
    opacity 2.8s cubic-bezier(0.4,0,0.2,1),
    transform 12s cubic-bezier(0.0,0,0.2,1);
  will-change:opacity,transform;
}
.hero-video.active{
  opacity:1;
  transform:scale(1.0);
}

/* Cinematic colour-grade overlay */
.hero-grade{
  position:absolute;inset:0;z-index:2;pointer-events:none;
  background:
    linear-gradient(to bottom, var(--hero-blue-wash) 0%, rgba(39,94,138,0.12) 36%, rgba(39,94,138,0.10) 64%, var(--hero-bottom) 100%),
    linear-gradient(to right, rgba(8,27,46,0.62) 0%, rgba(34,91,138,0.25) 44%, rgba(215,182,74,0.06) 86%);
}

/* Transition flash — brief dark veil between clips */
.hero-flash{
  position:absolute;inset:0;z-index:3;pointer-events:none;
  background:var(--bg);
  opacity:0;
  transition:opacity 0s;
}
.hero-flash.flashing{
  opacity:0.55;
  transition:opacity 0.4s ease-in;
}
.hero-flash.clearing{
  opacity:0;
  transition:opacity 0.7s ease-out;
}

/* Scene layers */
.scene-sky{
  position:absolute;inset:0;
  background:linear-gradient(
    to bottom,
    #010305 0%,
    #041022 22%,
    #0B2140 48%,
    #123A74 62%,
    #102C56 74%,
    #071426 100%
  );
}
.scene-horizon-glow{
  position:absolute;bottom:28%;left:0;right:0;height:220px;
  background:radial-gradient(ellipse 90% 100% at 50% 100%,
    rgba(215,182,74,0.18) 0%,
    rgba(160,128,50,0.08) 38%,
    transparent 68%
  );
}
.scene-mountains-far{
  position:absolute;left:0;right:0;bottom:27%;height:220px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 220'%3E%3Cpath d='M0,220 L0,125 L55,148 L95,72 L150,108 L205,40 L265,90 L310,55 L368,118 L422,24 L478,80 L535,44 L595,108 L655,20 L712,70 L768,40 L828,112 L888,27 L942,74 L1000,50 L1058,120 L1118,34 L1162,80 L1200,54 L1200,220 Z' fill='%230A0F1E'/%3E%3C/svg%3E");
  background-size:1200px 220px;
  background-repeat:repeat-x;
  background-position:bottom left;
  animation:mountainScroll 90s linear infinite;
}
.scene-mountains-near{
  position:absolute;left:0;right:0;bottom:26%;height:150px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 150'%3E%3Cpath d='M0,150 L0,75 L65,50 L130,82 L195,38 L260,64 L325,30 L392,68 L452,40 L520,78 L585,24 L648,58 L712,44 L778,72 L842,35 L900,58 L900,150 Z' fill='%23060A14'/%3E%3C/svg%3E");
  background-size:900px 150px;
  background-repeat:repeat-x;
  background-position:bottom left;
  animation:mountainScroll 45s linear infinite;
}
@keyframes mountainScroll{
  from{background-position-x:0}
  to{background-position-x:-1200px}
}
.scene-road-surface{
  position:absolute;bottom:0;left:0;right:0;height:28%;
  background:linear-gradient(to top,#080808 0%,#0C0E13 55%,#101318 100%);
}
.scene-road-surface::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(to right,transparent 0%,rgba(29,92,158,0.25) 28%,rgba(215,182,74,0.24) 50%,rgba(29,92,158,0.25) 72%,transparent 100%);
}
.scene-lanes{
  position:absolute;bottom:0;left:0;right:0;height:28%;
  overflow:hidden;pointer-events:none;
}
.lane-center{
  position:absolute;left:50%;bottom:-100%;
  transform:translateX(-50%);
  width:100%;height:300%;
  clip-path:polygon(48.8% 0%,51.2% 0%,60% 100%,40% 100%);
  background:repeating-linear-gradient(
    to bottom,
    transparent 0px,
    transparent 24px,
    rgba(255,255,255,0.6) 24px,
    rgba(255,255,255,0.6) 52px,
    transparent 52px,
    transparent 76px
  );
  animation:laneScroll 0.9s linear infinite;
}
@keyframes laneScroll{
  from{transform:translateX(-50%) translateY(0)}
  to{transform:translateX(-50%) translateY(76px)}
}
.scene-atmosphere{
  position:absolute;inset:0;z-index:2;
  background:
    linear-gradient(to right,rgba(7,27,46,0.68) 0%,rgba(21,58,92,0.34) 42%,rgba(21,58,92,0.12) 65%,rgba(21,58,92,0.08) 100%),
    linear-gradient(to bottom,rgba(7,27,46,0.32) 0%,transparent 25%,transparent 65%,var(--hero-bottom) 100%);
}

.hero-content{
  position:absolute;z-index:10;
  bottom:80px;left:0;
  padding:0 64px;
  max-width:640px;
  text-align:left;
  transform:translate3d(0,calc(var(--hero-depth) * -18px),0);
  will-change:transform;
}
.hero-tag{
  display:inline-flex;align-items:center;gap:8px;
  font-size:0.73rem;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--t2);margin-bottom:24px;
  border:1px solid var(--border);padding:7px 16px;border-radius:40px;
  background:rgba(255,255,255,0.02);
}
.tag-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:pulse 2s ease-in-out infinite}
.hero-h1{
  font-size:clamp(2.8rem,6.5vw,5.2rem);font-weight:700;
  color:var(--white);line-height:1.06;margin-bottom:22px;
  letter-spacing:-0.025em;
}
.hero-sub{
  font-family:'Manrope',sans-serif;
  font-size:1rem;color:var(--t2);
  line-height:1.72;margin-bottom:28px;
  max-width:480px;
}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:28px}
.hero-proof{display:flex;gap:10px;flex-wrap:wrap}
.proof-pill{
  display:inline-flex;align-items:center;gap:6px;
  font-size:0.75rem;font-weight:500;color:var(--t3);
  letter-spacing:0.03em;
}
.hero-quote-panel{
  position:absolute;z-index:11;
  right:64px;bottom:76px;
  width:min(360px,calc(100vw - 128px));
  padding:24px;
  border:1px solid rgba(215,182,74,0.18);
  border-radius:var(--r);
  background:
    linear-gradient(145deg,rgba(16,42,67,0.82),rgba(29,92,158,0.38)),
    rgba(4,13,24,0.68);
  box-shadow:0 22px 70px rgba(0,0,0,0.32),inset 0 1px 0 rgba(255,255,255,0.06);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.hero-quote-panel h2{
  font-size:1.35rem;
  line-height:1.18;
  margin-bottom:16px;
  color:var(--white);
}
.quote-panel-list{
  display:grid;
  gap:10px;
  margin-bottom:20px;
}
.quote-panel-list span{
  position:relative;
  padding-left:20px;
  font-family:'Manrope',sans-serif;
  font-size:0.84rem;
  line-height:1.5;
  color:var(--t2);
}
.quote-panel-list span::before{
  content:'';
  position:absolute;left:0;top:0.62em;
  width:7px;height:7px;border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 0 4px rgba(215,182,74,0.12);
}
.quote-panel-actions{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}
.quote-panel-actions .btn{
  padding:11px 18px;
  font-size:0.82rem;
}
.quote-panel-phone{
  font-size:0.88rem;
  font-weight:700;
  color:var(--accent);
}
.hero-scroll-cue{
  position:absolute;
  left:50%;
  bottom:22px;
  z-index:12;
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  color:rgba(255,255,255,0.58);
  font-size:0.66rem;
  font-weight:700;
  letter-spacing:0.16em;
  text-transform:uppercase;
  transition:color 0.2s,transform 0.2s;
  transform:translateX(-50%);
}
.hero-scroll-cue:hover{color:var(--accent);transform:translateX(-50%) translateY(-2px)}
.hero-scroll-cue i{
  width:22px;height:36px;border:1px solid rgba(255,255,255,0.32);
  border-radius:999px;
  position:relative;
}
.hero-scroll-cue i::before{
  content:'';
  position:absolute;top:7px;left:50%;
  width:4px;height:7px;border-radius:999px;
  background:var(--accent);
  transform:translateX(-50%);
  animation:scrollCue 1.7s ease-in-out infinite;
}
@keyframes scrollCue{
  0%,100%{opacity:0;transform:translate(-50%,0)}
  32%{opacity:1}
  72%{opacity:0;transform:translate(-50%,13px)}
}

/* ── GALLERY ── */
#gallery{padding:100px 0;background:var(--bg2)}
.gallery-grid{
  display:grid;
  grid-template-columns:7fr 5fr 5fr;
  grid-template-rows:280px 280px;
  gap:10px;
}
.gphoto{
  border-radius:var(--r);overflow:hidden;position:relative;
  --media-depth:0px;
  background:var(--bg3);
}
.gphoto-tall{grid-row:span 2}
.gphoto-wide{grid-column:span 2}
.gphoto img{
  width:100%;height:100%;object-fit:cover;display:block;
  transform:translate3d(0,var(--media-depth),0) scale(1.06);
  transition:transform 0.6s var(--ease),filter 0.4s;
  filter:brightness(0.82) saturate(0.88);
  will-change:transform;
}
.gphoto:hover img{transform:translate3d(0,var(--media-depth),0) scale(1.1);filter:brightness(0.95) saturate(1)}
.gphoto::after{
  content:'';position:absolute;inset:0;
  border:1px solid var(--border);border-radius:var(--r);pointer-events:none;
}
.gphoto-label{
  position:absolute;bottom:14px;left:16px;
  font-size:0.7rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;
  color:rgba(255,255,255,0.55);
  background:rgba(0,0,0,0.45);backdrop-filter:blur(6px);
  padding:5px 10px;border-radius:20px;
}
.gphoto-error{background:var(--bg3)}
.gphoto-error img{display:none}

/* ── MARQUEE ── */
.marquee-wrap{
  background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  overflow:hidden;padding:13px 0;
}
.marquee-track{display:flex;width:100%;overflow:hidden}
.marquee-inner{
  display:flex;align-items:center;gap:20px;
  white-space:nowrap;
  animation:marquee 28s linear infinite;
  font-size:0.78rem;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:var(--t3);
}
.marquee-inner:hover{animation-play-state:paused}
.mdot{color:var(--accent);opacity:0.5}

/* ── TRUST BAR ── */
#trust{
  padding:34px 0;
  background:
    linear-gradient(180deg,rgba(234,241,246,0.08),rgba(234,241,246,0.02)),
    linear-gradient(180deg,var(--bg) 0%,var(--bg2) 100%);
  border-top:1px solid rgba(255,255,255,0.08);
  border-bottom:1px solid var(--border);
}
.trust-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px;
}
.trust-item{
  min-height:156px;
  padding:21px 18px 20px;
  border:1px solid rgba(215,182,74,0.17);
  border-radius:12px;
  background:
    linear-gradient(180deg,rgba(255,255,255,0.055),rgba(255,255,255,0.02)),
    rgba(16,42,67,0.72);
  position:relative;
  overflow:hidden;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.05);
}
.trust-item::before{
  content:'';
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(215,182,74,0.18),transparent 34%),
    radial-gradient(circle at 100% 0%,rgba(47,121,184,0.18),transparent 44%);
  opacity:0.72;
  pointer-events:none;
}
.trust-item::after{
  content:'Verified';
  position:absolute;
  right:12px;
  top:12px;
  padding:4px 7px;
  border:1px solid rgba(215,182,74,0.28);
  border-radius:999px;
  font-size:0.54rem;
  font-weight:700;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:rgba(241,213,114,0.82);
  background:rgba(8,24,40,0.42);
}
.trust-item-local{grid-column:span 1}
.trust-kicker{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 9px;
  border:1px solid rgba(215,182,74,0.22);
  border-radius:999px;
  font-size:0.65rem;
  font-weight:700;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:12px;
  position:relative;
}
.trust-item strong{
  display:block;
  font-size:1.1rem;
  color:var(--white);
  margin-bottom:8px;
  position:relative;
  line-height:1.2;
}
.trust-item strong a,
.trust-item p a{
  text-decoration:underline;
  text-decoration-color:rgba(215,182,74,0.46);
  text-underline-offset:4px;
  transition:color 0.2s,text-decoration-color 0.2s;
}
.trust-item strong a:hover,
.trust-item p a:hover{
  color:var(--gold2);
  text-decoration-color:var(--gold2);
}
.trust-item p{
  font-family:'Manrope',sans-serif;
  font-size:0.82rem;
  line-height:1.6;
  color:var(--t2);
  position:relative;
}

/* ── ESTIMATE TRUST MODULE ── */
#estimate-trust{
  padding:38px 0 46px;
  background:
    linear-gradient(180deg,var(--bg2),rgba(234,241,246,0.11)),
    var(--bg);
  border-bottom:1px solid var(--border);
}
.estimate-trust-wrap{
  display:grid;
  grid-template-columns:minmax(0,0.9fr) minmax(360px,1.1fr);
  gap:22px;
  align-items:stretch;
  padding:24px;
  border:1px solid rgba(215,182,74,0.16);
  border-radius:14px;
  background:
    radial-gradient(circle at 4% 18%,rgba(215,182,74,0.09),transparent 28%),
    linear-gradient(135deg,rgba(16,42,67,0.9),rgba(27,78,120,0.38));
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.045);
}
.estimate-trust-copy{
  align-self:center;
  max-width:500px;
}
.estimate-trust-copy h2{
  font-size:clamp(1.45rem,2.6vw,2.2rem);
  line-height:1.1;
  margin-bottom:10px;
  color:var(--white);
}
.estimate-trust-copy p:not(.label){
  font-family:'Manrope',sans-serif;
  font-size:0.92rem;
  line-height:1.66;
  color:var(--t2);
}
.estimate-trust-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px 18px;
  margin-top:20px;
}
.estimate-trust-phone{
  font-weight:800;
  color:var(--gold2);
  text-decoration:underline;
  text-decoration-color:rgba(215,182,74,0.35);
  text-underline-offset:5px;
}
.estimate-trust-panel{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  padding:8px;
  border-radius:12px;
  background:rgba(7,22,36,0.34);
  border:1px solid rgba(191,215,235,0.16);
  transition:transform 0.25s var(--ease),border-color 0.25s,background 0.25s;
}
.estimate-trust-panel:hover{
  transform:translateY(-3px);
  border-color:rgba(215,182,74,0.26);
  background:rgba(7,22,36,0.44);
}
.estimate-panel-row{
  min-height:76px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:10px;
  padding:14px;
  border-radius:9px;
  background:rgba(255,255,255,0.055);
}
.estimate-panel-route{grid-column:span 2}
.estimate-panel-row b{
  font-size:0.7rem;
  letter-spacing:0.13em;
  text-transform:uppercase;
  color:var(--accent);
}
.estimate-panel-row em{
  font-style:normal;
  font-size:0.86rem;
  line-height:1.35;
  color:var(--t1);
}
.estimate-panel-note{
  grid-column:span 2;
  padding:10px 14px 12px;
  border-top:1px solid rgba(215,182,74,0.14);
  font-size:0.8rem;
  line-height:1.45;
  color:var(--t2);
}

/* ── PROMISE ── */
#promise{
  padding:58px 0;
  background:
    linear-gradient(180deg,rgba(234,241,246,0.1),rgba(234,241,246,0.035)),
    var(--bg2);
  border-bottom:1px solid var(--border);
}
.promise-grid{
  display:grid;
  grid-template-columns:0.82fr 1.18fr;
  gap:34px;
  align-items:stretch;
}
.promise-copy{
  padding:8px 0;
}
.promise-copy h2{
  font-size:clamp(1.45rem,2.6vw,2.25rem);
  line-height:1.12;
  margin-bottom:14px;
}
.promise-copy p:not(.label){
  font-family:'Manrope',sans-serif;
  font-size:0.94rem;
  line-height:1.72;
  color:var(--t2);
}
.promise-items{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.promise-item{
  padding:22px 20px;
  border:1px solid rgba(215,182,74,0.13);
  border-radius:var(--r);
  background:
    linear-gradient(145deg,rgba(18,61,115,0.32),rgba(255,255,255,0.025)),
    var(--glass);
}
.promise-item strong{
  display:block;
  font-size:0.96rem;
  line-height:1.25;
  margin-bottom:10px;
  color:var(--white);
}
.promise-item span{
  display:block;
  font-family:'Manrope',sans-serif;
  font-size:0.82rem;
  line-height:1.62;
  color:var(--t2);
}

/* ── QUOTE CLARITY ── */
#quote-clarity{
  padding:74px 0;
  background:
    radial-gradient(circle at 88% 10%,rgba(215,182,74,0.09),transparent 32%),
    linear-gradient(180deg,rgba(234,241,246,0.08),rgba(234,241,246,0.02)),
    var(--bg);
  border-bottom:1px solid var(--border);
}
.quote-clarity-head{
  max-width:680px;
  margin-bottom:34px;
}
.quote-clarity-head h2{
  font-size:clamp(1.7rem,3.2vw,2.65rem);
  line-height:1.12;
  margin-bottom:14px;
}
.quote-clarity-head p:not(.label){
  font-family:'Manrope',sans-serif;
  font-size:0.96rem;
  line-height:1.72;
  color:var(--t2);
}
.quote-flow{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.quote-flow-card{
  min-height:190px;
  padding:25px 22px;
  border:1px solid rgba(215,182,74,0.14);
  border-radius:var(--r);
  background:
    linear-gradient(145deg,rgba(18,61,115,0.38),rgba(255,255,255,0.025)),
    var(--glass);
  position:relative;
  overflow:hidden;
}
.quote-flow-card::before{
  content:'';
  position:absolute;inset:0;
  background:radial-gradient(circle at 100% 0%,rgba(215,182,74,0.1),transparent 40%);
  pointer-events:none;
}
.quote-flow-card span,
.quote-flow-card h3,
.quote-flow-card p{position:relative}
.quote-flow-card span{
  display:block;
  font-size:0.68rem;
  font-weight:700;
  letter-spacing:0.16em;
  color:var(--accent);
  margin-bottom:18px;
}
.quote-flow-card h3{
  font-size:1.02rem;
  color:var(--white);
  margin-bottom:10px;
}
.quote-flow-card p{
  font-family:'Manrope',sans-serif;
  font-size:0.86rem;
  line-height:1.68;
  color:var(--t2);
}
.cost-factors{
  margin-top:16px;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px;
  padding:18px;
  border:1px solid var(--border);
  border-radius:var(--r);
  background:rgba(255,255,255,0.035);
}
.cost-factors strong{
  margin-right:4px;
  color:var(--white);
  font-size:0.88rem;
}
.cost-factors span{
  display:inline-flex;
  align-items:center;
  min-height:31px;
  padding:6px 11px;
  border-radius:999px;
  border:1px solid rgba(215,182,74,0.16);
  color:var(--t2);
  font-size:0.78rem;
  font-weight:600;
}

/* ── INTERACTIVE MOVE PLAN ── */
.move-plan-section{
  position:relative;
  min-height:400vh;
  background:
    linear-gradient(180deg,rgba(35,92,128,0.98),rgba(22,63,96,0.98));
  border-top:1px solid rgba(255,255,255,0.08);
  border-bottom:1px solid rgba(255,255,255,0.08);
  overflow:clip;
}
.move-plan-sticky{
  position:sticky;
  top:0;
  min-height:100svh;
  padding:calc(var(--nav-h) + 30px) max(28px,calc((100vw - 1180px)/2)) 42px;
  display:grid;
  place-items:center;
  overflow:hidden;
  isolation:isolate;
}
.move-plan-sticky::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 86% 42%,rgba(215,182,74,0.11),transparent 30%),
    linear-gradient(110deg,rgba(36,91,126,0.98),rgba(52,117,154,0.72) 48%,rgba(20,57,86,0.96));
  pointer-events:none;
  opacity:calc(0.94 - var(--journey-progress,0) * 0.12);
}
.move-plan-sticky::after{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(to bottom,rgba(5,20,33,0.08),rgba(5,20,33,0) 22%,rgba(5,20,33,0.22) 96%);
  pointer-events:none;
  z-index:3;
}
.move-plan-heading{
  position:absolute;
  z-index:5;
  top:calc(var(--nav-h) + 30px);
  left:50%;
  width:min(560px,calc(100% - 48px));
  transform:translateX(-50%);
  text-align:center;
  pointer-events:none;
}
.move-plan-heading h2{
  font-size:clamp(1.55rem,2.7vw,2.65rem);
  line-height:1.08;
  letter-spacing:0;
  color:var(--white);
}
.move-plan-heading .label{
  margin-bottom:9px;
}
.move-plan-copy{
  position:absolute;
  inset:0;
  z-index:6;
  display:grid;
  place-items:center;
  pointer-events:auto;
}
.move-plan-copy-stack{
  position:absolute;
  inset:0;
  pointer-events:none;
}
.move-plan-copy p:not(.label){
  font-family:'Manrope',sans-serif;
  color:rgba(234,241,246,0.82);
  line-height:1.55;
}
.move-plan-copy-state{
  position:absolute;
  width:min(315px,25vw);
  min-height:136px;
  padding:22px 22px 20px;
  border:1px solid rgba(215,182,74,0.22);
  border-radius:12px;
  background:
    linear-gradient(145deg,rgba(16,86,113,0.96),rgba(17,63,94,0.94));
  box-shadow:0 28px 72px rgba(4,18,31,0.35), inset 0 1px 0 rgba(255,255,255,0.1);
  opacity:0;
  visibility:hidden;
  text-shadow:none;
  pointer-events:none;
  transition:opacity 0.5s cubic-bezier(0.16,1,0.3,1),transform 0.5s cubic-bezier(0.16,1,0.3,1);
}
.move-plan-copy-state strong{
  display:block;
  margin-bottom:10px;
  color:var(--gold2);
  font-size:clamp(1.05rem,1.25vw,1.35rem);
  line-height:1;
  letter-spacing:0;
}
.move-plan-copy-state[data-step-copy="0"]{
  left:max(28px,calc((100vw - 1180px)/2));
  top:calc(var(--nav-h) + 118px);
  transform:translate(-18px,18px);
}
.move-plan-copy-state[data-step-copy="1"]{
  right:max(28px,calc((100vw - 1180px)/2));
  bottom:92px;
  transform:translate(18px,18px);
}
.move-plan-copy-state[data-step-copy="2"]{
  left:max(28px,calc((100vw - 1180px)/2));
  bottom:92px;
  transform:translate(-18px,18px);
}
.move-plan-copy-state[data-step-copy="3"]{
  right:max(28px,calc((100vw - 1180px)/2));
  top:calc(var(--nav-h) + 118px);
  transform:translate(18px,18px);
}
.move-plan-copy-state.active{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}
.move-plan-copy > .btn{
  position:absolute;
  z-index:5;
  left:50%;
  bottom:42px;
  transform:translateX(-50%);
  pointer-events:auto;
}
.move-plan-stage{
  position:relative;
  z-index:2;
  width:min(620px,52vw);
  aspect-ratio:16/10;
  min-height:0;
  border-radius:30px;
  border:1px solid rgba(215,182,74,0.14);
  background:rgba(230,241,247,0.08);
  box-shadow:none;
  overflow:hidden;
}
.move-plan-stage::before{
  content:'';
  position:absolute;
  left:50%;
  top:51%;
  width:calc(100% + 34px);
  aspect-ratio:16/9;
  border-radius:28px;
  background:
    linear-gradient(to bottom,rgba(255,255,255,0.09),rgba(255,255,255,0.02)),
    linear-gradient(135deg,rgba(49,130,206,0.22),rgba(215,182,74,0.08));
  transform:
    translate(-50%,-50%)
    scale(calc(0.96 + var(--journey-progress,0) * 0.08));
  box-shadow:0 34px 110px rgba(5,18,31,0.46),inset 0 1px 0 rgba(255,255,255,0.12);
  transition:transform 0.12s linear;
}
.plan-light{
  position:absolute;
  left:50%;
  top:47%;
  width:120%;
  height:44vh;
  transform:
    translate(-50%,-50%)
    skewX(calc((var(--journey-progress,0) - 0.5) * -7deg));
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.16),transparent);
  opacity:0.34;
  filter:blur(28px);
}
.plan-truck{
  position:absolute;
  z-index:2;
  width:100%;
  height:100%;
  max-width:none;
  aspect-ratio:16/10;
  object-fit:cover;
  display:block;
  border-radius:26px;
  left:50%;
  top:50%;
  transform:
    translate(-50%,-50%)
    scale(calc(0.96 + var(--journey-progress,0) * 0.08))
    rotate(calc((var(--journey-progress,0) - 0.5) * 0.65deg));
  filter:brightness(0.9) saturate(1.04) contrast(1.03);
  box-shadow:0 28px 88px rgba(5,18,31,0.5);
  transition:transform 0.12s linear,filter 0.35s ease;
}
/* ── LABEL / SECTION HEADING ── */
.label{
  font-size:0.72rem;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--accent);margin-bottom:12px;display:block;
}
.section-head{margin-bottom:56px}
.section-head.reveal{text-align:center}
.section-head h2{font-size:clamp(1.9rem,3.8vw,3rem);font-weight:700;line-height:1.12;letter-spacing:-0.02em;margin-bottom:14px}
.section-head .desc{font-family:'Manrope',sans-serif;font-size:1rem;color:var(--t2);line-height:1.7;max-width:520px}
.section-head.reveal .desc{margin:0 auto}

/* ── SERVICES ── */
#services{
  padding:110px 0;
  background:
    linear-gradient(180deg,rgba(234,241,246,0.1),rgba(234,241,246,0.045)),
    var(--bg);
}
.services-grid{
  display:grid;
  grid-template-columns:minmax(0,1.28fr) minmax(220px,0.86fr) minmax(220px,0.86fr);
  grid-auto-rows:minmax(190px,auto);
  gap:14px;
  align-items:stretch;
}
.scard{
  background:rgba(255,255,255,0.038);
  border:1px solid rgba(191,215,235,0.15);
  border-radius:12px;
  padding:25px 23px;
  transition:transform 0.3s var(--ease),border-color 0.3s,box-shadow 0.3s;
  position:relative;overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height:100%;
}
.scard::before{
  content:'';position:absolute;inset:0;border-radius:12px;
  background:radial-gradient(circle at 0% 0%,rgba(29,92,158,0.15) 0%,rgba(215,182,74,0.06) 45%,transparent 68%);
  opacity:0;transition:opacity 0.3s;
}
.scard:hover{transform:translateY(-6px);border-color:rgba(215,182,74,0.24);box-shadow:0 12px 40px rgba(0,0,0,0.3),0 0 0 1px rgba(29,92,158,0.16)}
.scard:hover::before{opacity:1}
.scard:first-child{
  grid-row:span 2;
  padding:34px 30px;
  background:
    linear-gradient(145deg,rgba(47,121,184,0.22),rgba(215,182,74,0.06)),
    rgba(255,255,255,0.046);
}
.scard:nth-child(2){grid-column:span 2}
.scard:nth-child(2),
.scard:nth-child(4){
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  column-gap:18px;
  align-content:start;
}
.scard:nth-child(2) .scard-icon,
.scard:nth-child(4) .scard-icon{
  grid-row:span 4;
}
.scard:nth-child(2) p,
.scard:nth-child(4) p{
  max-width:62ch;
}
.scard-icon{
  width:42px;height:42px;border-radius:9px;
  background:linear-gradient(135deg,rgba(18,61,115,0.72),rgba(215,182,74,0.09));
  display:flex;align-items:center;justify-content:center;
  margin-bottom:18px;
  transition:background 0.3s;
}
.scard:hover .scard-icon{background:linear-gradient(135deg,rgba(29,92,158,0.78),rgba(215,182,74,0.16))}
.scard-icon svg{width:20px;height:20px;color:var(--accent)}
.scard:first-child .scard-icon{width:52px;height:52px}
.scard:first-child .scard-icon svg{width:24px;height:24px}
.scard h3{font-size:1rem;font-weight:600;margin-bottom:10px;color:var(--white);position:relative}
.scard:first-child h3{font-size:clamp(1.35rem,2.4vw,1.9rem);line-height:1.05;margin-bottom:14px}
.scard p{font-family:'Manrope',sans-serif;font-size:0.88rem;color:var(--t2);line-height:1.68}
.scard:first-child p{font-size:0.96rem;line-height:1.72}
.scard-tag{margin-top:18px;font-size:0.7rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--t3);position:relative}
.learn-link{
  display:inline-flex;
  margin-top:auto;
  padding-top:18px;
  font-size:0.82rem;
  font-weight:700;
  color:var(--accent);
  position:relative;
}
.learn-link:hover{color:var(--gold2)}

/* ── DETAIL PAGES ── */
.detail-page #nav{background:var(--nav-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 1px 0 var(--border)}
.page-hero{
  min-height:520px;
  padding:150px 0 78px;
  background:
    linear-gradient(to bottom,rgba(8,24,40,0.58),var(--bg)),
    url("../images/img4.jpg") center/cover;
  position:relative;
  overflow:hidden;
}
.page-hero::before{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 28%,rgba(66,153,225,0.2),transparent 34%),
    linear-gradient(115deg,rgba(6,16,30,0.92),rgba(6,16,30,0.56) 52%,rgba(6,16,30,0.82));
}
.page-hero::after{
  content:'';
  position:absolute;
  left:0;right:0;bottom:-1px;
  height:112px;
  pointer-events:none;
  background:linear-gradient(to bottom,rgba(6,16,30,0),var(--bg));
}
.page-hero .container{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,0.92fr) minmax(280px,0.48fr);
  gap:54px;
  align-items:end;
}
.pricing-page .page-hero{
  background:
    linear-gradient(to bottom,rgba(8,24,40,0.42),var(--bg)),
    url("../images/img5.jpg") center/cover;
}
.pricing-page .page-hero::before{
  background:
    radial-gradient(circle at 72% 30%,rgba(215,182,74,0.25),transparent 28%),
    linear-gradient(115deg,rgba(6,16,30,0.94),rgba(10,37,64,0.68) 48%,rgba(6,16,30,0.88));
}
.resources-page .page-hero{
  background:
    linear-gradient(to bottom,rgba(8,24,40,0.42),var(--bg)),
    url("../images/img2.jpg") center/cover;
}
.resources-page .page-hero::before{
  background:
    radial-gradient(circle at 16% 30%,rgba(215,182,74,0.18),transparent 28%),
    radial-gradient(circle at 80% 18%,rgba(90,181,220,0.22),transparent 30%),
    linear-gradient(115deg,rgba(6,16,30,0.9),rgba(15,45,66,0.58) 50%,rgba(6,16,30,0.86));
}
.checklist-page .page-hero{background-image:linear-gradient(to bottom,rgba(8,24,40,0.42),var(--bg)),url("../images/img1.jpg")}
.moving-day-page .page-hero{background-image:linear-gradient(to bottom,rgba(8,24,40,0.42),var(--bg)),url("../images/img7.jpg")}
.questions-page .page-hero{background-image:linear-gradient(to bottom,rgba(8,24,40,0.42),var(--bg)),url("../images/about.jpg")}
.rights-page .page-hero{background-image:linear-gradient(to bottom,rgba(8,24,40,0.42),var(--bg)),url("../images/img8.jpg")}
.packing-guide-page .page-hero{background-image:linear-gradient(to bottom,rgba(8,24,40,0.42),var(--bg)),url("../images/img9.jpg")}
.local-page .page-hero{background-image:linear-gradient(to bottom,rgba(8,24,40,0.46),var(--bg)),url("../images/img4.jpg")}
.long-distance-page .page-hero{background-image:linear-gradient(to bottom,rgba(8,24,40,0.46),var(--bg)),url("../images/img5.jpg")}
.commercial-page .page-hero{background-image:linear-gradient(to bottom,rgba(8,24,40,0.46),var(--bg)),url("../images/img7.jpg")}
.packing-page .page-hero{background-image:linear-gradient(to bottom,rgba(8,24,40,0.46),var(--bg)),url("../images/img9.jpg")}
.storage-page .page-hero{background-image:linear-gradient(to bottom,rgba(8,24,40,0.46),var(--bg)),url("../images/img8.jpg")}
.commercial-page .page-hero::before,
.storage-page .page-hero::before{
  background:
    radial-gradient(circle at 74% 28%,rgba(66,153,225,0.22),transparent 30%),
    linear-gradient(115deg,rgba(6,16,30,0.93),rgba(9,34,58,0.64) 50%,rgba(6,16,30,0.88));
}
.packing-page .page-hero::before,
.packing-guide-page .page-hero::before{
  background:
    radial-gradient(circle at 72% 24%,rgba(215,182,74,0.24),transparent 28%),
    linear-gradient(115deg,rgba(6,16,30,0.92),rgba(20,49,68,0.62) 52%,rgba(6,16,30,0.88));
}
.page-kicker{
  display:inline-flex;
  margin-bottom:18px;
  color:var(--accent);
  font-size:0.72rem;
  font-weight:700;
  letter-spacing:0.16em;
  text-transform:uppercase;
}
.page-hero h1{
  max-width:760px;
  font-size:clamp(2.35rem,5vw,4.7rem);
  line-height:0.98;
  letter-spacing:0;
  margin-bottom:20px;
}
.page-hero p{
  max-width:650px;
  font-family:'Manrope',sans-serif;
  color:var(--t2);
  font-size:1.02rem;
  line-height:1.72;
}
.page-hero-card{
  background:rgba(8,24,40,0.78);
  border:1px solid rgba(215,182,74,0.2);
  border-radius:var(--r);
  padding:24px;
  box-shadow:0 20px 60px rgba(0,0,0,0.25);
}
.resources-page .page-hero-card{background:rgba(11,31,48,0.84);border-color:rgba(90,181,220,0.22)}
.pricing-page .page-hero-card{background:rgba(10,28,44,0.86);border-color:rgba(215,182,74,0.3)}
.page-hero-card strong{display:block;font-size:1.05rem;margin-bottom:10px}
.page-hero-card span{display:block;font-family:'Manrope',sans-serif;color:var(--t2);font-size:0.9rem;line-height:1.6;margin-bottom:16px}
.page-section{padding:88px 0;background:var(--bg)}
.page-section.alt{background:var(--bg2)}
.pricing-page .page-section.alt{background:linear-gradient(135deg,#071524,#102E49)}
.resources-page .page-section.alt{background:linear-gradient(135deg,#081828,#0E3044)}
.page-grid{display:grid;grid-template-columns:0.76fr 1.24fr;gap:52px;align-items:start}
.page-copy h2{font-size:clamp(1.8rem,3.4vw,2.7rem);line-height:1.08;margin-bottom:16px}
.page-copy p{font-family:'Manrope',sans-serif;color:var(--t2);line-height:1.72;font-size:0.96rem}
.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.info-card{
  min-height:170px;
  padding:24px;
  border:1px solid var(--border);
  border-radius:var(--r);
  background:var(--glass);
}
.pricing-page .info-card{background:linear-gradient(145deg,rgba(255,255,255,0.075),rgba(215,182,74,0.045));border-color:rgba(215,182,74,0.18)}
.resources-page .info-card{background:linear-gradient(145deg,rgba(255,255,255,0.068),rgba(90,181,220,0.045));border-color:rgba(90,181,220,0.16)}
.info-card strong{display:block;margin-bottom:10px;font-size:1rem;color:var(--white)}
.info-card p,.info-card li{font-family:'Manrope',sans-serif;color:var(--t2);font-size:0.88rem;line-height:1.62}
.info-card ul{display:grid;gap:7px;list-style:disc;margin-left:18px}
.info-card[href]{transition:transform 0.25s var(--ease),border-color 0.25s,background 0.25s}
.info-card[href]:hover{transform:translateY(-4px);border-color:rgba(215,182,74,0.28);background:rgba(255,255,255,0.09)}
.resource-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:28px}
.check-list{display:grid;gap:12px}
.check-list li{
  padding:14px 16px;
  border:1px solid var(--border);
  border-radius:10px;
  background:rgba(255,255,255,0.045);
  font-family:'Manrope',sans-serif;
  color:var(--t2);
  line-height:1.55;
}
.resources-page .check-list li{border-color:rgba(90,181,220,0.15);background:rgba(255,255,255,0.055)}
.pricing-page .check-list li{border-color:rgba(215,182,74,0.16);background:rgba(215,182,74,0.045)}
.page-cta{
  padding:74px 0;
  background:linear-gradient(135deg,var(--bg2),var(--bg3));
  border-top:1px solid var(--border);
}
.page-cta-box{
  display:flex;
  justify-content:space-between;
  gap:32px;
  align-items:center;
}
.page-cta h2{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.1;margin-bottom:10px}
.page-cta p{font-family:'Manrope',sans-serif;color:var(--t2);line-height:1.68;max-width:660px}
.page-cta-actions{display:flex;gap:12px;flex-wrap:wrap}

/* ── ABOUT ── */
#about{padding:110px 0;background:var(--bg2)}
.about-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;
}
.about-img{position:relative;border-radius:var(--r);overflow:hidden}
.about-img img{width:100%;height:480px;object-fit:cover;display:block;filter:brightness(0.9) saturate(0.92)}
.about-video-card{
  min-height:480px;
  background:var(--bg);
  box-shadow:0 24px 70px rgba(0,0,0,0.2),inset 0 0 0 1px rgba(255,255,255,0.04);
  --media-depth:0px;
}
.about-video-main{
  width:100%;height:480px;display:block;
  object-fit:cover;object-position:center center;
  filter:brightness(0.88) saturate(0.96);
  transform:translate3d(0,var(--media-depth),0) scale(1.06);
  transform-origin:center;
  will-change:transform;
}
.about-video-card::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(to bottom,rgba(7,27,46,0.02),rgba(7,27,46,0.18)),
    linear-gradient(to right,rgba(7,27,46,0.2),transparent 55%);
}
.about-video-inset{
  position:absolute;right:18px;bottom:18px;z-index:2;
  width:42%;aspect-ratio:16/10;
  object-fit:cover;object-position:center center;
  border-radius:14px;
  border:1px solid rgba(215,182,74,0.32);
  box-shadow:0 18px 40px rgba(0,0,0,0.38);
  filter:brightness(0.92) saturate(0.98);
}
.about-img-badge{
  position:absolute;bottom:20px;left:20px;z-index:3;
  display:flex;align-items:center;gap:8px;
  background:rgba(4,8,16,0.85);backdrop-filter:blur(10px);
  border:1px solid var(--border);border-radius:40px;
  padding:8px 16px;font-size:0.72rem;font-weight:500;letter-spacing:0.04em;color:var(--t2);
}
.about-copy{display:flex;flex-direction:column;align-items:flex-start;gap:0}
.about-copy h2{font-size:clamp(1.8rem,3.2vw,2.8rem);font-weight:700;line-height:1.12;letter-spacing:-0.02em;margin-bottom:20px}
.about-p{font-family:'Manrope',sans-serif;font-size:0.96rem;color:var(--t2);line-height:1.75;margin-bottom:16px}
.about-pillars{display:flex;flex-direction:column;gap:10px;margin:20px 0 28px}
.pillar{display:flex;align-items:center;gap:10px;font-size:0.88rem;font-weight:500;color:var(--t2)}
.pillar svg{flex-shrink:0}

/* ── SERVICE AREAS ── */
#areas{
  padding:82px 0;
  background:
    linear-gradient(180deg,var(--bg2),var(--bg));
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.areas-wrap{
  display:grid;
  grid-template-columns:0.78fr 1.22fr;
  gap:48px;
  align-items:center;
}
.areas-copy h2{
  font-size:clamp(1.7rem,3vw,2.55rem);
  line-height:1.12;
  margin-bottom:16px;
}
.areas-copy p:not(.label){
  font-family:'Manrope',sans-serif;
  font-size:0.94rem;
  line-height:1.72;
  color:var(--t2);
  margin-bottom:24px;
}
.areas-list{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.areas-list span{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:9px 15px;
  border:1px solid rgba(215,182,74,0.16);
  border-radius:999px;
  background:rgba(255,255,255,0.045);
  color:var(--t2);
  font-size:0.86rem;
  font-weight:600;
}

/* ── WHY US ── */
#why{padding:100px 0;background:var(--bg)}
.why-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.wcard{
  background:var(--glass);border:1px solid var(--border);
  border-radius:var(--r);padding:28px 22px;
  transition:transform 0.3s var(--ease),border-color 0.3s,box-shadow 0.3s;
}
.wcard:hover{transform:translateY(-5px);border-color:rgba(215,182,74,0.2);box-shadow:0 10px 32px rgba(0,0,0,0.3)}
.wcard-num{font-size:0.65rem;font-weight:700;letter-spacing:0.15em;color:var(--accent);margin-bottom:14px}
.wcard h3{font-size:0.92rem;font-weight:600;color:var(--white);margin-bottom:10px;line-height:1.3}
.wcard p{font-family:'Manrope',sans-serif;font-size:0.82rem;color:var(--t2);line-height:1.65}

/* ── STATS ── */
#stats{
  background:var(--bg2);
  border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  padding:60px 0;
}
.stats-row{display:flex;align-items:center;justify-content:center;gap:0}
.big-stat{flex:1;text-align:center;display:flex;flex-direction:column;gap:6px}
.big-num{
  font-size:clamp(2.2rem,4vw,3.4rem);font-weight:700;
  color:var(--white);line-height:1;letter-spacing:-0.03em;
}
.big-label{font-size:0.73rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--t3)}
.vline{width:1px;height:56px;background:var(--border);flex-shrink:0;margin:0 8px}

/* ── PROCESS ── */
#process{padding:110px 0;background:var(--bg)}
#process .section-head{text-align:left;margin-bottom:64px}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;position:relative}
.process-grid::before{
  content:'';position:absolute;top:28px;left:calc(100%/6);right:calc(100%/6);height:1px;
  background:linear-gradient(to right,transparent,var(--accent),transparent);
  opacity:0.2;
}
.pstep{padding:0 32px 0 0;position:relative}
.pstep-num{
  font-size:3.6rem;font-weight:700;color:var(--accent);
  opacity:0.18;line-height:1;margin-bottom:12px;letter-spacing:-0.04em;
}
.pstep h3{font-size:1.05rem;font-weight:600;margin-bottom:10px;color:var(--white)}
.pstep p{font-family:'Manrope',sans-serif;font-size:0.88rem;color:var(--t2);line-height:1.7}
.quote-reassurance{
  margin-top:58px;
  display:grid;
  grid-template-columns:0.85fr 1.55fr;
  gap:28px;
  align-items:stretch;
  padding:30px;
  border:1px solid rgba(215,182,74,0.14);
  border-radius:var(--r);
  background:
    linear-gradient(135deg,rgba(18,61,115,0.38),rgba(215,182,74,0.055)),
    rgba(255,255,255,0.025);
  box-shadow:0 18px 54px rgba(0,0,0,0.18);
  position:relative;
  overflow:hidden;
}
.quote-reassurance::before{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 92% 0%,rgba(215,182,74,0.13),transparent 36%);
  pointer-events:none;
}
.quote-copy,
.quote-detail-grid{position:relative}
.quote-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding-right:6px;
}
.quote-copy h3{
  font-size:clamp(1.25rem,2vw,1.6rem);
  line-height:1.2;
  color:var(--white);
  margin-bottom:12px;
}
.quote-copy p:not(.label){
  font-family:'Manrope',sans-serif;
  font-size:0.9rem;
  line-height:1.72;
  color:var(--t2);
}
.quote-detail-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.quote-detail{
  min-height:174px;
  padding:20px 18px;
  border:1px solid rgba(215,182,74,0.12);
  border-radius:12px;
  background:rgba(5,16,31,0.52);
}
.quote-detail span{
  display:block;
  font-size:0.68rem;
  font-weight:700;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:12px;
}
.quote-detail p{
  font-family:'Manrope',sans-serif;
  font-size:0.82rem;
  line-height:1.64;
  color:var(--t2);
}

/* ── REVIEWS ── */
#reviews{padding:110px 0;background:var(--bg2)}
#reviews .section-head{text-align:left}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:48px}
.rcard{
  background:linear-gradient(145deg,rgba(255,255,255,0.075),rgba(255,255,255,0.04));
  border:1px solid rgba(215,182,74,0.16);border-radius:var(--r);
  padding:28px 24px;display:flex;flex-direction:column;gap:14px;
  transition:transform 0.3s var(--ease),box-shadow 0.3s;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.04);
}
.rcard:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,0.25)}
.rcard-top{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}
.avatar{
  width:42px;height:42px;border-radius:50%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-size:0.8rem;font-weight:700;color:white;
  background:hsl(var(--hue),55%,38%);
  letter-spacing:0.04em;
}
.rcard-meta{flex:1}
.rcard-meta strong{display:block;font-size:0.92rem;font-weight:600;color:var(--white);margin-bottom:2px}
.rcard-meta span{font-size:0.75rem;color:var(--t3)}
.stars{display:flex;gap:2px;margin-left:auto}
.stars svg{width:12px;height:12px}
.rcard p{font-family:'Manrope',sans-serif;font-size:0.875rem;color:var(--t2);line-height:1.68}
.rcard-badge{
  display:inline-flex;align-items:center;gap:5px;
  font-size:0.68rem;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--t3);margin-top:auto;
}
.rcard-badge::before{content:'';width:5px;height:5px;border-radius:50%;background:rgba(74,222,128,0.7);display:inline-block}

/* Certs */
.certs{
  display:flex;gap:32px;flex-wrap:wrap;
  padding:28px 32px;
  background:linear-gradient(135deg,rgba(18,61,115,0.26),rgba(215,182,74,0.045));
  border:1px solid rgba(215,182,74,0.1);
  border-radius:var(--r);
}

/* ── FAQ ── */
#faq{padding:105px 0;background:linear-gradient(180deg,var(--bg2) 0%,var(--bg) 100%)}
.faq-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.faq-card{
  min-height:220px;
  padding:28px 24px;
  border:1px solid var(--border);
  border-radius:var(--r);
  background:
    linear-gradient(145deg,rgba(18,61,115,0.32),rgba(255,255,255,0.025)),
    var(--glass);
  position:relative;
  overflow:hidden;
  transition:transform 0.3s var(--ease),border-color 0.3s,box-shadow 0.3s;
}
.faq-card::before{
  content:'';
  position:absolute;
  inset:auto -20% -45% -20%;
  height:120px;
  background:radial-gradient(ellipse at center,rgba(215,182,74,0.12),transparent 68%);
  pointer-events:none;
}
.faq-card:hover{
  transform:translateY(-5px);
  border-color:rgba(215,182,74,0.24);
  box-shadow:0 12px 36px rgba(0,0,0,0.28);
}
.faq-card span{
  display:block;
  font-size:0.65rem;
  font-weight:700;
  letter-spacing:0.16em;
  color:var(--accent);
  margin-bottom:16px;
}
.faq-card h3{
  font-size:1rem;
  line-height:1.35;
  color:var(--white);
  margin-bottom:10px;
}
.faq-card p{
  font-family:'Manrope',sans-serif;
  font-size:0.85rem;
  line-height:1.68;
  color:var(--t2);
}
.cert-badge{display:flex;align-items:center;gap:14px;flex:1;min-width:200px}
.cert-badge svg{flex-shrink:0}
.cert-badge strong{display:block;font-size:0.88rem;font-weight:600;color:var(--white)}
.cert-badge span{font-size:0.73rem;color:var(--t3)}

/* ── ESTIMATE FORM ── */
#estimate{padding:110px 0;background:var(--bg)}
.form-wrap{
  display:grid;grid-template-columns:1fr 1.5fr;gap:64px;align-items:start;
}
.form-left h2{font-size:clamp(1.8rem,3vw,2.6rem);font-weight:700;line-height:1.12;letter-spacing:-0.02em;margin-bottom:14px}
.form-left .desc{font-family:'Manrope',sans-serif;font-size:0.93rem;color:var(--t2);line-height:1.72;margin-bottom:28px}
.estimate-mini{
  margin:-10px 0 24px;
  padding:16px 18px;
  border:1px solid rgba(215,182,74,0.14);
  border-radius:var(--r);
  background:rgba(255,255,255,0.035);
}
.estimate-mini span{
  display:block;
  font-size:0.68rem;
  font-weight:700;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:7px;
}
.estimate-mini p{
  font-family:'Manrope',sans-serif;
  font-size:0.82rem;
  line-height:1.62;
  color:var(--t2);
}
.contact-items{display:flex;flex-direction:column;gap:14px}
.contact-item{display:flex;align-items:flex-start;gap:11px;font-family:'Manrope',sans-serif;font-size:0.88rem;color:var(--t2)}
.contact-item svg{flex-shrink:0;margin-top:2px;color:var(--accent)}
.contact-item a{color:var(--t2);transition:color 0.2s}
.contact-item a:hover{color:var(--accent)}

.estimate-form{display:grid;gap:18px}
.hidden-field{display:none}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.fg{display:flex;flex-direction:column;gap:7px}
.fg-full{grid-column:1/-1}
.fg label{font-size:0.75rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--t3)}
.fg input,
.fg select,
.fg textarea{
  background:rgba(255,255,255,0.04);
  border:1px solid var(--border);
  border-radius:9px;
  padding:12px 15px;
  color:var(--white);
  font-size:0.9rem;
  font-family:'Manrope',sans-serif;
  transition:border-color 0.2s,background 0.2s,box-shadow 0.2s;
  -webkit-appearance:none;
  appearance:none;
}
.fg input::placeholder,.fg textarea::placeholder{color:var(--t3)}
.fg input:focus,.fg select:focus,.fg textarea:focus{
  outline:none;
  border-color:rgba(215,182,74,0.5);
  background:rgba(215,182,74,0.04);
  box-shadow:0 0 0 3px rgba(215,182,74,0.08);
}
.fg input.err,.fg select.err{border-color:rgba(239,68,68,0.6)}
.ferr{font-size:0.72rem;color:#EF4444;min-height:16px}
.fg select option{background:#0D1526;color:white}
.fg textarea{resize:vertical;min-height:88px}
.fg input[type=date]::-webkit-calendar-picker-indicator{filter:invert(0.5);cursor:pointer}

/* Toggle pills */
.toggles{display:flex;flex-wrap:wrap;gap:8px}
.tgl input{display:none}
.tgl-pill{
  display:inline-block;
  padding:7px 14px;border-radius:20px;
  font-size:0.8rem;font-weight:500;
  border:1px solid var(--border);
  color:var(--t2);
  transition:all 0.18s;cursor:pointer;
  background:var(--glass);
}
.tgl input:checked + .tgl-pill{
  background:rgba(215,182,74,0.15);
  border-color:rgba(215,182,74,0.4);
  color:var(--accent);
}
.tgl-pill:hover{border-color:rgba(215,182,74,0.3);color:var(--t1)}

.btn-submit{width:100%;justify-content:center;padding:15px;font-size:0.95rem;margin-top:4px}
.btn-submit:disabled{opacity:0.72;cursor:progress}
.btn-submit svg{transition:transform 0.2s}
.btn-submit:hover svg{transform:translateX(4px)}
.fnote{
  text-align:center;font-family:'Manrope',sans-serif;
  font-size:0.74rem;color:var(--t3);
  display:flex;align-items:center;justify-content:center;gap:5px;
}
.fnote svg{color:rgba(74,222,128,0.6)}
.form-fallback{
  margin-top:-8px;
  text-align:center;
  font-family:'Manrope',sans-serif;
  font-size:0.72rem;
  color:rgba(255,255,255,0.25);
  line-height:1.5;
}

.form-success{
  display:none;text-align:center;padding:56px 24px;
  animation:fadeUp 0.5s var(--ease);
}
.success-icon{
  width:68px;height:68px;background:var(--accent);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 20px;
  animation:popIn 0.4s cubic-bezier(0.16,1,0.3,1);
}
.success-icon svg{width:28px;height:28px}
.form-success h3{font-size:1.5rem;font-weight:700;margin-bottom:8px}
.form-success p{font-family:'Manrope',sans-serif;color:var(--t2);margin-bottom:20px}

/* ── FOOTER ── */
footer{
  background:var(--bg);
  border-top:1px solid var(--border);
  padding:56px 0 28px;
}
.footer-top{display:flex;gap:64px;margin-bottom:48px}
.footer-brand{flex:1}
.footer-brand .logo{display:inline-flex;margin-bottom:14px}
.footer-brand p{font-family:'Manrope',sans-serif;font-size:0.85rem;color:var(--t3);line-height:1.65;margin-bottom:12px;max-width:270px}
.footer-email{font-size:0.85rem;color:var(--accent)}
.footer-cols{display:flex;gap:56px}
.footer-col{display:flex;flex-direction:column;gap:9px}
.footer-col strong{font-size:0.7rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--t3);margin-bottom:4px}
.footer-col a{font-family:'Manrope',sans-serif;font-size:0.85rem;color:rgba(255,255,255,0.28);transition:color 0.2s}
.footer-col a:hover{color:var(--accent)}
.footer-bottom{
  border-top:1px solid var(--border);padding-top:20px;
  display:flex;justify-content:space-between;
  font-family:'Manrope',sans-serif;font-size:0.74rem;color:rgba(255,255,255,0.15);
}

/* ── CHATBOT ── */
.chatbot{position:fixed;bottom:22px;right:22px;z-index:600}
.chat-toggle{
  width:56px;height:56px;border-radius:50%;
  background:linear-gradient(135deg,var(--blue),var(--blue2));color:white;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 24px rgba(215,182,74,0.5);
  transition:transform 0.25s,box-shadow 0.25s;
  position:relative;
}
.chat-toggle:hover{transform:scale(1.08);box-shadow:0 8px 36px rgba(215,182,74,0.65)}
.chat-toggle svg{width:22px;height:22px;transition:opacity 0.18s,transform 0.18s;position:absolute}
.icon-x{opacity:0;transform:rotate(-90deg)}
.chatbot.open .icon-msg{opacity:0;transform:rotate(90deg)}
.chatbot.open .icon-x{opacity:1;transform:rotate(0)}
.chat-badge{
  position:absolute;top:-4px;right:-4px;
  background:#EF4444;color:white;
  width:18px;height:18px;border-radius:50%;
  font-size:0.65rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;
  animation:badge-pulse 2s ease-in-out infinite;
}
.chatbot.open .chat-badge{display:none}

.chat-window{
  position:absolute;bottom:70px;right:0;
  width:340px;
  background:#0D1526;border:1px solid var(--border);
  border-radius:16px;overflow:hidden;
  box-shadow:0 8px 48px rgba(0,0,0,0.4);
  display:flex;flex-direction:column;
  transform:scale(0.88) translateY(16px);transform-origin:bottom right;
  opacity:0;pointer-events:none;
  transition:transform 0.3s cubic-bezier(0.16,1,0.3,1),opacity 0.2s ease;
}
.chatbot.open .chat-window{transform:scale(1) translateY(0);opacity:1;pointer-events:all}

.chat-head{
  display:flex;align-items:center;gap:12px;
  padding:14px 16px;
  background:rgba(255,255,255,0.03);
  border-bottom:1px solid var(--border);
}
.chat-avatar{
  width:96px;height:44px;
  background:transparent;
  border:0;
  border-radius:0;
  display:flex;align-items:center;justify-content:center;
  overflow:visible;
  flex:0 0 auto;
}
.chat-avatar img{
  width:88px;
  height:34px;
  object-fit:contain;
  filter:brightness(1.18) saturate(1.2) drop-shadow(0 0 7px rgba(246,250,253,0.65)) drop-shadow(0 4px 10px rgba(0,0,0,0.22));
}
.chat-head strong{display:block;font-size:0.88rem;font-weight:600;color:var(--white)}
.chat-online{font-size:0.7rem;color:rgba(74,222,128,0.8);letter-spacing:0.04em}
.chat-close{margin-left:auto;color:var(--t3);padding:4px;transition:color 0.2s}
.chat-close:hover{color:var(--white)}

.chat-msgs{
  flex:1;overflow-y:auto;padding:14px;
  display:flex;flex-direction:column;gap:9px;
  max-height:300px;min-height:160px;
  scrollbar-width:thin;scrollbar-color:var(--border) transparent;
}
.cmsg{max-width:88%}
.cmsg-bot{align-self:flex-start}
.cmsg-user{align-self:flex-end}
.cmsg-bot p{background:rgba(255,255,255,0.04);border:1px solid var(--border);border-radius:10px 10px 10px 3px;padding:9px 13px;font-family:'Manrope',sans-serif;font-size:0.83rem;line-height:1.55;color:var(--t1)}
.cmsg-user p{background:var(--accent);border-radius:10px 10px 3px 10px;padding:9px 13px;font-family:'Manrope',sans-serif;font-size:0.83rem;line-height:1.55;color:white}
.cmsg-typing p{display:flex;gap:4px;align-items:center;padding:10px 14px}
.cmsg-typing span{width:5px;height:5px;background:var(--t3);border-radius:50%;animation:typingDot 1.2s ease-in-out infinite}
.cmsg-typing span:nth-child(2){animation-delay:0.2s}
.cmsg-typing span:nth-child(3){animation-delay:0.4s}

.chat-qr{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start}
.qr-btn{
  background:var(--glass);border:1px solid var(--border);border-radius:16px;
  padding:5px 12px;font-size:0.76rem;font-weight:500;color:var(--t2);
  transition:all 0.18s;
}
.qr-btn:hover{border-color:rgba(215,182,74,0.4);color:var(--accent)}

.chat-input-row{
  display:flex;border-top:1px solid var(--border);padding:10px 12px;gap:8px;
}
.chat-input-row input{
  flex:1;background:rgba(255,255,255,0.05);border:1px solid var(--border);
  border-radius:20px;padding:8px 14px;
  font-family:'Manrope',sans-serif;font-size:0.83rem;color:var(--white);
  transition:border-color 0.2s;
}
.chat-input-row input::placeholder{color:var(--t3)}
.chat-input-row input:focus{outline:none;border-color:rgba(215,182,74,0.4)}
.chat-send{
  width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--blue2));
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  transition:background 0.2s;
}
.chat-send:hover{background:var(--acc2)}
.chat-send svg{width:14px;height:14px;stroke:white}

/* ── MOBILE CTA ── */
.mobile-cta{
  display:none;
  position:fixed;
  left:0;right:0;bottom:0;
  width:100vw;
  max-width:100vw;
  z-index:590;
  background:var(--nav-bg);
  border:1px solid var(--border);
  border-width:1px 0 0;
  border-radius:14px 14px 0 0;
  overflow:hidden;
  padding-bottom:env(safe-area-inset-bottom);
  box-shadow:0 12px 34px rgba(0,0,0,0.42);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.mobile-cta a{
  flex:1;
  text-align:center;
  padding:13px 10px;
  font-size:0.86rem;
  font-weight:700;
  color:var(--white);
}
.mobile-cta a:first-child{
  background:linear-gradient(135deg,var(--blue),var(--blue2));
}

/* ── KEYFRAMES ── */
@keyframes spin{
  from{transform:rotate(0deg)}
  to{transform:rotate(360deg)}
}
@keyframes marquee{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
@keyframes pulse{
  0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(215,182,74,0.5)}
  50%{opacity:0.7;box-shadow:0 0 0 5px rgba(215,182,74,0)}
}
@keyframes badge-pulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.25)}
}
@keyframes typingDot{
  0%,60%,100%{transform:translateY(0);opacity:0.35}
  30%{transform:translateY(-4px);opacity:1}
}
@keyframes fadeUp{
  from{opacity:0;transform:translateY(12px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes popIn{
  from{transform:scale(0);opacity:0}
  to{transform:scale(1);opacity:1}
}

/* ── MOVING TIPS ── */
#tips{padding:100px 0;background:var(--bg2)}
.tips-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.tcard{
  background:var(--glass);border:1px solid var(--border);
  border-radius:var(--r);padding:26px 20px;
  transition:transform 0.3s var(--ease),border-color 0.3s,box-shadow 0.3s;
  position:relative;overflow:hidden;
}
.tcard::before{
  content:'';position:absolute;inset:0;border-radius:var(--r);
  background:radial-gradient(circle at 0% 100%,rgba(29,92,158,0.14) 0%,rgba(215,182,74,0.055) 45%,transparent 68%);
  opacity:0;transition:opacity 0.3s;
}
.tcard:hover{transform:translateY(-5px);border-color:rgba(215,182,74,0.2);box-shadow:0 10px 32px rgba(0,0,0,0.3)}
.tcard:hover::before{opacity:1}
.tcard-num{font-size:0.65rem;font-weight:700;letter-spacing:0.15em;color:var(--accent);margin-bottom:12px}
.tcard-icon{
  width:40px;height:40px;border-radius:9px;
  background:linear-gradient(135deg,rgba(18,61,115,0.68),rgba(215,182,74,0.08));
  display:flex;align-items:center;justify-content:center;
  margin-bottom:14px;
  transition:background 0.3s;
}
.tcard:hover .tcard-icon{background:linear-gradient(135deg,rgba(29,92,158,0.75),rgba(215,182,74,0.16))}
.tcard-icon svg{width:18px;height:18px;color:var(--accent)}
.tcard h3{font-size:0.9rem;font-weight:600;color:var(--white);margin-bottom:9px;line-height:1.3}
.tcard p{font-family:'Manrope',sans-serif;font-size:0.82rem;color:var(--t2);line-height:1.65}

/* ── RESPONSIVE ── */
@media(max-width:1120px){
  .logo-img{width:210px;height:48px}
  #navLinks{gap:12px}
  #navLinks li a{font-size:0.82rem}
  .nav-cta{padding:8px 13px}
}

@media(max-width:1000px){
  .hero-quote-panel{display:none}
  .promise-grid{grid-template-columns:1fr}
  .promise-items{grid-template-columns:1fr}
  .estimate-trust-wrap{grid-template-columns:1fr}
  .estimate-trust-panel{grid-template-columns:1fr 1fr}
  .quote-flow{grid-template-columns:1fr}
  .areas-wrap{grid-template-columns:1fr;gap:28px}
  .trust-grid{grid-template-columns:repeat(2,1fr)}
  .faq-grid{grid-template-columns:repeat(2,1fr)}
  .tips-grid{grid-template-columns:repeat(2,1fr)}
  .about-grid{grid-template-columns:1fr;gap:40px}
  .about-img img{height:320px}
  .about-video-card{min-height:320px}
  .about-video-main{height:320px}
  .why-grid{grid-template-columns:repeat(2,1fr)}
  .wcard:last-child{grid-column:span 2}
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .process-grid{grid-template-columns:1fr;gap:40px}
  .process-grid::before{display:none}
  .pstep{padding:0}
  .quote-reassurance{grid-template-columns:1fr;gap:22px}
  .quote-detail-grid{grid-template-columns:1fr}
  .quote-detail{min-height:0}
  .reviews-grid{grid-template-columns:repeat(2,1fr)}
  .form-wrap{grid-template-columns:1fr;gap:40px}
  .page-hero .container,.page-grid{grid-template-columns:1fr}
  .page-hero{padding:128px 0 62px}
  .page-hero-card{max-width:520px}
  .page-cta-box{align-items:flex-start;flex-direction:column}
  .move-plan-sticky{
    padding-left:24px;
    padding-right:24px;
  }
  .plan-truck{width:min(92vw,860px)}
  .stats-row{flex-wrap:wrap}
  .vline{display:none}
  .big-stat{flex:0 0 45%;margin:8px 0}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:240px 240px 240px}
  .gphoto-tall{grid-row:span 1}
  .gphoto-wide{grid-column:span 2}
  .hero-content{max-width:520px}
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .scard:first-child,
  .scard:nth-child(2),
  .scard:nth-child(4){
    grid-column:auto;
    grid-row:auto;
    display:flex;
  }
  .scard:nth-child(2) .scard-icon,
  .scard:nth-child(4) .scard-icon{
    grid-row:auto;
  }
}
@media(max-width:900px){
  #navLinks{display:none}
  #navLinks.open{
    display:flex;flex-direction:column;gap:0;
    position:fixed;top:var(--nav-h);left:0;right:0;
    background:var(--nav-open-bg);backdrop-filter:blur(16px);
    padding:12px;border-bottom:1px solid var(--border);
  }
  #navLinks.open li a{padding:12px 16px;display:block;border-radius:8px}
  #navLinks.open li a::after{display:none}
  #burger{display:flex;margin-left:auto}
}

@media(max-width:680px){
  :root{--nav-h:64px}
  body{padding-bottom:70px}
  #hero{
    min-height:600px;
    height:calc(100svh - 18px);
    --hero-depth:0!important;
  }
  .hero-bg{
    animation:none;
    clip-path:none;
  }
  .trust-grid{grid-template-columns:1fr}
  .faq-grid{grid-template-columns:1fr}
  .trust-item{min-height:0}
  #promise,#quote-clarity,#estimate-trust,#areas{padding:54px 0}
  .promise-item{padding:19px 18px}
  .estimate-trust-wrap{
    padding:17px;
    gap:16px;
  }
  .estimate-trust-copy h2{
    font-size:clamp(1.45rem,7.4vw,1.85rem);
  }
  .estimate-trust-copy p:not(.label){
    font-size:0.82rem;
    line-height:1.55;
  }
  .estimate-trust-panel{grid-template-columns:1fr}
  .estimate-panel-route,
  .estimate-panel-note{grid-column:auto}
  .estimate-panel-row{min-height:0;padding:13px}
  .quote-clarity-head{margin-bottom:24px}
  .quote-clarity-head h2{
    font-size:clamp(1.55rem,7.4vw,1.95rem);
    line-height:1.08;
  }
  .quote-clarity-head p:not(.label){
    font-size:0.82rem;
    line-height:1.55;
  }
  .quote-flow{gap:10px}
  .quote-flow-card{min-height:0;padding:15px 16px}
  .quote-flow-card span{margin-bottom:10px}
  .quote-flow-card h3{
    font-size:0.94rem;
    margin-bottom:7px;
  }
  .quote-flow-card p{
    font-size:0.78rem;
    line-height:1.52;
  }
  .cost-factors{align-items:flex-start;padding:14px}
  .cost-factors strong{width:100%}
  .cost-factors span{
    min-height:29px;
    padding:5px 10px;
    font-size:0.72rem;
  }
  .areas-list{gap:8px}
  .areas-list span{
    min-height:36px;
    padding:8px 12px;
    font-size:0.78rem;
  }
  .move-plan-section{
    min-height:auto;
    background:#173B5A;
  }
  .move-plan-sticky{
    position:relative;
    min-height:auto;
    padding:40px 20px 84px;
    display:flex;
    flex-direction:column;
    gap:22px;
  }
  .move-plan-sticky::after{display:none}
  .move-plan-heading{
    position:relative;
    top:auto;
    left:auto;
    transform:none;
    width:calc(100% - 40px);
    margin:0 auto;
    text-align:left;
    order:1;
  }
  .move-plan-heading .label{
    font-size:0.62rem;
    line-height:1.3;
    margin-bottom:8px;
  }
  .move-plan-heading h2{
    font-size:clamp(1.32rem,7vw,1.7rem);
    line-height:1.08;
  }
  .move-plan-copy{
    position:relative;
    inset:auto;
    z-index:4;
    width:auto;
    min-height:0;
    display:block;
    pointer-events:auto;
    order:3;
  }
  .move-plan-stage{z-index:1}
  .move-plan-copy-stack{
    position:relative;
    inset:auto;
    min-height:0;
    margin:0;
    display:grid;
    gap:10px;
  }
  .move-plan-copy > .btn{
    position:relative;
    left:auto;
    right:auto;
    bottom:auto;
    width:100%;
    justify-content:center;
    transform:none;
    margin-top:16px;
    padding:11px 16px;
    font-size:0.8rem;
  }
  .move-plan-copy-state{
    position:relative;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    width:min(260px,calc(100vw - 40px));
    min-height:0;
    padding:15px 16px;
    border:1px solid rgba(215,182,74,0.2);
    border-radius:12px;
    background:linear-gradient(145deg,rgba(16,86,113,0.98),rgba(17,63,94,0.96));
    box-shadow:0 18px 50px rgba(4,18,31,0.36);
    opacity:1;
    visibility:visible;
    transform:none!important;
  }
  .move-plan-copy-state:nth-child(even){
    justify-self:end;
  }
  .move-plan-copy-state strong{
    font-size:0.98rem;
    margin-bottom:8px;
  }
  .move-plan-copy-state p,
  .move-plan-copy p:not(.label){
    font-size:0.74rem;
    line-height:1.45;
  }
  .move-plan-stage{
    position:relative;
    order:2;
    width:100%;
    max-width:360px;
    aspect-ratio:16/10;
    min-height:0;
    margin:0;
    border-radius:22px;
    overflow:hidden;
  }
  .move-plan-stage::before{display:none}
  .plan-truck{
    width:112%;
    max-width:none;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%) scale(1);
    border-radius:18px;
    filter:brightness(0.9) saturate(1.06);
  }
  .tips-grid{grid-template-columns:1fr}
  .services-grid{grid-template-columns:1fr}
  .info-grid{grid-template-columns:1fr}
  .page-section{padding:60px 0}
  .page-hero h1{font-size:clamp(2rem,11vw,3rem)}
  .reviews-grid{grid-template-columns:1fr}
  .frow{grid-template-columns:1fr}
  .footer-top{flex-direction:column;gap:36px}
  .footer-cols{flex-direction:column;gap:32px}
  .footer-bottom{flex-direction:column;gap:8px;text-align:center}
  .chat-window{width:calc(100vw - 28px);right:-10px}
  .certs{flex-direction:column}
  .hero-content{
    top:calc(var(--nav-h) + 8px);
    bottom:auto;
    padding:0 20px;
    max-width:92%;
  }
  .hero-tag{
    font-size:0.56rem;
    line-height:1.3;
    letter-spacing:0.1em;
    padding:5px 10px;
    margin-bottom:12px;
    max-width:260px;
  }
  .hero-h1{
    font-size:clamp(1.78rem,8vw,2.1rem);
    line-height:1.02;
    margin-bottom:12px;
    letter-spacing:0;
  }
  .hero-sub{
    font-size:0.78rem;
    line-height:1.44;
    max-width:292px;
    margin-bottom:14px;
  }
  .hero-actions{
    gap:8px;
    margin-bottom:12px;
  }
  .hero-actions .btn{
    width:auto;
    min-width:0;
    padding:10px 14px;
    font-size:0.76rem;
  }
  .hero-proof{
    gap:6px 10px;
    max-width:320px;
  }
  .proof-pill{
    font-size:0.6rem;
    color:rgba(255,255,255,0.72);
  }
  .hero-scroll-cue{display:none}
  .hero-content{transform:none;will-change:auto}
  .hero-bg{transform:none;will-change:auto}
  .reveal{opacity:1;transform:none;will-change:auto}
  .why-grid{grid-template-columns:1fr}
  .wcard:last-child{grid-column:span 1}
  .about-grid{grid-template-columns:1fr}
  .about-video-card{min-height:320px}
  .about-video-main{height:320px;transform:none;will-change:auto}
  .about-video-inset{
    right:12px;top:12px;bottom:auto;
    width:42%;
    border-radius:10px;
  }
  .about-img-badge{
    left:12px;bottom:12px;
    padding:7px 12px;
    font-size:0.64rem;
  }
  .gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:200px 200px 200px;gap:8px}
  .gphoto-tall{grid-row:span 1}
  .gphoto-wide{grid-column:span 2}
  .gphoto img{transform:none;will-change:auto}
  .mobile-cta{display:flex}
  .chatbot{
    bottom:90px;
    right:14px;
    transform:scale(0.86);
    transform-origin:bottom right;
  }
  .chat-badge{display:none}
  .logo{padding:0}
  .logo-img{width:178px;height:41px}
  #estimate{padding:72px 0 84px}
  .form-wrap{gap:28px}
  .form-left h2{font-size:1.85rem}
  .form-left .desc{margin-bottom:20px}
  .estimate-mini{margin:-4px 0 20px;padding:14px 15px}
  .estimate-form{gap:14px}
  .frow{gap:14px}
  .fg input,
  .fg select,
  .fg textarea{
    min-height:46px;
    padding:12px 13px;
    font-size:0.95rem;
  }
  .toggles{gap:7px}
  .tgl-pill{padding:8px 12px;font-size:0.78rem}
  .fnote{align-items:flex-start;line-height:1.45}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:0.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:0.001ms!important;
  }
  .reveal{opacity:1;transform:none}
  .hero-scroll-cue i::before{animation:none}
  .hero-bg,
  .hero-content,
  .about-video-main,
  .gphoto img{transform:none!important;will-change:auto!important}
}
