/* ============================================================
   Homepage-specific styles
   ============================================================ */

/* ============================================================
   HERO (re-styled from original, integrated into page flow)
   ============================================================ */
.hero{
  position:relative;
  min-height:760px;
  padding:120px 40px 80px;
  overflow:hidden;
  isolation:isolate;
  display:flex; flex-direction:column; align-items:center;
  text-align:center;
}
.hero .mesh{
  position:absolute; inset:-10%; z-index:0;
  filter:blur(60px) saturate(115%);
  opacity:.9;
}
.hero .mesh::before, .hero .mesh::after, .hero .mesh > i{
  content:""; position:absolute; display:block;
  border-radius:50%; mix-blend-mode:screen;
  will-change:transform, opacity;
}
.hero .mesh::before{
  width:780px; height:780px;
  left:-8%; top:-12%;
  background:radial-gradient(circle at 50% 50%, #0c6ba8 0%, rgba(12,107,168,0) 60%);  /* deep blue */
  animation:meshA 18s ease-in-out infinite alternate;
}
.hero .mesh::after{
  width:900px; height:900px;
  right:-10%; bottom:-16%;
  background:radial-gradient(circle at 50% 50%, #0a4f8c 0%, rgba(10,79,140,0) 62%);  /* deeper blue */
  animation:meshB 22s ease-in-out infinite alternate;
}
.hero .mesh > i.b1{
  width:620px; height:620px;
  left:18%; top:36%;
  background:radial-gradient(circle at 50% 50%, #0f7ea3 0%, rgba(15,126,163,0) 60%);  /* teal-blue mid */
  animation:meshC 16s ease-in-out infinite alternate;
}
.hero .mesh > i.b2{
  width:520px; height:520px;
  right:14%; top:8%;
  background:radial-gradient(circle at 50% 50%, #15a8c9 0%, rgba(21,168,201,0) 60%);  /* aqua-blue */
  animation:meshD 20s ease-in-out infinite alternate;
}
.hero .mesh > i.b3{
  width:380px; height:380px;
  left:42%; bottom:-6%;
  background:radial-gradient(circle at 50% 50%, #1e5aaa 0%, rgba(30,90,170,0) 60%);  /* royal-deep */
  animation:meshE 24s ease-in-out infinite alternate;
}
@keyframes meshA{0%{transform:translate(0,0) scale(1)} 100%{transform:translate(120px,80px) scale(1.15)}}
@keyframes meshB{0%{transform:translate(0,0) scale(1)} 100%{transform:translate(-140px,-60px) scale(1.1)}}
@keyframes meshC{0%{transform:translate(0,0) scale(1)} 100%{transform:translate(-80px,60px) scale(1.25)}}
@keyframes meshD{0%{transform:translate(0,0) scale(1)} 100%{transform:translate(60px,120px) scale(1.05)}}
@keyframes meshE{0%{transform:translate(0,0) scale(.95)} 100%{transform:translate(40px,-40px) scale(1.2)}}
.hero .grid{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background-image:
    linear-gradient(var(--rule) 1px, transparent 1px),
    linear-gradient(90deg, var(--rule) 1px, transparent 1px);
  background-size:80px 80px, 80px 80px;
  mask-image:radial-gradient(80% 60% at 50% 55%, #000 30%, transparent 80%);
  -webkit-mask-image:radial-gradient(80% 60% at 50% 55%, #000 30%, transparent 80%);
  opacity:.55;
}
.hero .vignette{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    radial-gradient(120% 80% at 50% 55%, rgba(0,0,0,0) 0%, rgba(0,0,0,.55) 70%, rgba(0,0,0,.85) 100%);
}
.hero .hero-inner{position:relative; z-index:10; width:100%; max-width:1200px}

.hero .eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  padding:7px 14px 7px 8px;
  border-radius:999px;
  border:1px solid rgba(94,234,212,.25);
  background:rgba(94,234,212,.05);
  color:var(--ink);
  font-family:'Geist Mono',monospace;
  font-size:12px; letter-spacing:.04em;
  box-shadow:0 0 22px rgba(94,234,212,.10);
  margin-bottom:30px;
}
.hero .eyebrow .ekg{width:60px; height:16px; overflow:visible}
.hero .eyebrow .ekg path{
  fill:none; stroke:var(--teal-hi); stroke-width:1.5;
  stroke-linecap:round; stroke-linejoin:round;
  filter:drop-shadow(0 0 4px var(--glow-teal));
  stroke-dasharray:200; stroke-dashoffset:200;
  animation:ekg var(--beat) cubic-bezier(.4,0,.6,1) infinite;
}
@keyframes ekg{
  0%{stroke-dashoffset:200}
  35%{stroke-dashoffset:0}
  70%{stroke-dashoffset:-200; opacity:.2}
  100%{stroke-dashoffset:-200; opacity:0}
}
.hero .eyebrow .dot{
  width:8px; height:8px; border-radius:50%;
  background:var(--neon);
  box-shadow:0 0 12px var(--glow-neon), 0 0 24px var(--glow-neon);
  animation:heartbeatGlow var(--beat) cubic-bezier(.4,0,.6,1) infinite;
}

.hero h1{
  font-family:'Geist',sans-serif;
  font-weight:600;
  font-size:64px;
  line-height:1.04;
  letter-spacing:-0.03em;
  max-width:1180px;
  text-wrap:balance;
  margin:0 auto;
  color:#eafff8;
  text-shadow:0 0 24px rgba(94,234,212,.12), 0 0 64px rgba(34,211,238,.08);
}
.hero h1 .type-wrap{
  display:inline-block; position:relative;
  animation:heartbeatGlow var(--beat) cubic-bezier(.4,0,.6,1) infinite;
}
.hero h1 .caret{
  display:inline-block; width:2px; height:.9em;
  background:var(--teal-hi);
  margin-left:6px; vertical-align:-8px;
  box-shadow:0 0 10px var(--glow-teal), 0 0 22px var(--glow-teal);
  animation:caret 1.05s steps(2,end) infinite;
}
@keyframes caret{50%{opacity:0}}
.hero h1 .accent{
  background:linear-gradient(180deg, #c7f0ff 0%, #5bd6ff 50%, #22a8e8 100%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:
    drop-shadow(0 0 14px rgba(56,189,248,.55))
    drop-shadow(0 0 32px rgba(34,168,232,.45))
    drop-shadow(0 0 64px rgba(14,116,184,.35));
  animation:taglineNeon var(--beat) cubic-bezier(.4,0,.6,1) infinite;
}
@keyframes taglineNeon{
  0%,38%,100%{filter:
    drop-shadow(0 0 14px rgba(56,189,248,.55))
    drop-shadow(0 0 32px rgba(34,168,232,.45))
    drop-shadow(0 0 64px rgba(14,116,184,.35));}
  8%{filter:
    drop-shadow(0 0 16px rgba(56,189,248,.70))
    drop-shadow(0 0 40px rgba(34,168,232,.55))
    drop-shadow(0 0 80px rgba(14,116,184,.45));}
  26%{filter:
    drop-shadow(0 0 20px rgba(56,189,248,.90))
    drop-shadow(0 0 56px rgba(34,168,232,.75))
    drop-shadow(0 0 110px rgba(14,116,184,.60));}
}
.hero .ekg-line{
  position:relative;
  width:min(880px, 78%);
  height:80px;
  margin:24px auto 0;
  overflow:hidden;
  mask-image:linear-gradient(90deg, transparent 0%, #000 10%, #000 90%, transparent 100%);
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 10%, #000 90%, transparent 100%);
}
.hero .ekg-line svg{width:100%; height:100%; overflow:visible}
.hero .ekg-line .ekg-base{stroke:rgba(94,234,212,.18); stroke-width:1; fill:none}
.hero .ekg-line .ekg-trace{
  fill:none; stroke:#5eead4; stroke-width:2;
  stroke-linecap:round; stroke-linejoin:round;
  filter:drop-shadow(0 0 4px var(--glow-teal)) drop-shadow(0 0 12px var(--glow-teal)) drop-shadow(0 0 22px rgba(52,245,184,.45));
}
.hero .ekg-line .ekg-scroller{animation:ekgScroll 6.4s linear infinite}
.hero .ekg-line .ekg-scroller-2{animation-delay:-3.2s}
.hero .ekg-line .ekg-dot{
  fill:#b8ffd9;
  filter:drop-shadow(0 0 6px var(--glow-teal)) drop-shadow(0 0 14px var(--glow-neon));
  animation:ekgDotSweep 6.4s linear infinite, heartbeatGlow var(--beat) cubic-bezier(.4,0,.6,1) infinite;
}
.hero p.subhead{
  margin:14px auto 0; max-width:740px;
  font-size:18px; line-height:1.55;
  color:var(--ink-soft);
}
.hero p.subhead em{color:var(--ink); font-style:normal}
.hero .ctas{
  display:flex; gap:14px; margin-top:34px;
  justify-content:center; flex-wrap:wrap;
}

@media (max-width:880px){
  .hero{padding:64px 20px 56px; min-height:auto}
  .hero h1{font-size:38px}
  .hero .ekg-line{height:60px}
  .hero p.subhead{font-size:15px; margin-top:18px}
  .hero .ctas{flex-direction:column; width:100%; gap:10px}
  .hero .ctas .btn{width:100%; justify-content:center}
}

/* ============================================================
   CREDIBILITY BAND
   ============================================================ */
.cred{
  position:relative; z-index:5;
  padding:48px 40px;
  background:linear-gradient(180deg, rgba(6,24,39,.0) 0%, rgba(8,38,60,.6) 50%, rgba(6,24,39,.0) 100%);
  border-block:1px solid rgba(94,234,212,.10);
}
.cred .row{
  max-width:var(--maxw); margin:0 auto;
  display:grid; grid-template-columns:repeat(5,1fr); gap:24px;
  align-items:center;
}
.cred .stat{
  text-align:center;
  border-right:1px solid rgba(94,234,212,.10);
  padding:6px 8px;
}
.cred .stat:last-child{border-right:0}
.cred .stat .n{
  font-family:'Geist',sans-serif;
  font-weight:600; font-size:38px;
  line-height:1;
  color:var(--teal-hi);
  letter-spacing:-0.02em;
  filter:drop-shadow(0 0 8px var(--glow-teal));
}
.cred .stat .l{
  margin-top:6px;
  font-family:'Geist Mono',monospace;
  font-size:10.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink-dim);
  line-height:1.4;
}
@media (max-width:880px){
  .cred{padding:32px 16px}
  .cred .row{grid-template-columns:repeat(2,1fr); gap:24px 8px}
  .cred .stat{border-right:0; padding:8px 4px}
  .cred .stat:nth-child(odd){border-right:1px solid rgba(94,234,212,.10)}
  .cred .stat:last-child{grid-column:span 2}
  .cred .stat .n{font-size:30px}
}

/* ============================================================
   PULSE + ROI CALCULATOR
   ============================================================ */
.pulse-section{
  position:relative;
  padding:120px 40px;
  background:
    radial-gradient(60% 50% at 30% 10%, rgba(15,163,123,.10), transparent 60%),
    radial-gradient(50% 40% at 80% 90%, rgba(34,184,163,.08), transparent 60%);
}
.pulse-section .inner{max-width:var(--maxw); margin:0 auto; position:relative; z-index:2}
.pulse-section .layout{
  display:grid; gap:64px;
  grid-template-columns:1.05fr 1fr;
  align-items:center;
}
.pulse-section .copy h2{
  font-family:'Geist',sans-serif; font-weight:600;
  font-size:52px; line-height:1.05; letter-spacing:-.025em;
  color:#eafff8;
  text-wrap:balance;
}
.pulse-section .copy h2 .accent-teal{
  background:linear-gradient(180deg, #eafff8 0%, #9af7e0 50%, #5eead4 100%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 12px var(--glow-teal));
}
.pulse-section .copy p{
  margin-top:18px; color:var(--ink-dim); font-size:17px; line-height:1.6; max-width:560px;
}
.pulse-section .copy p em{color:var(--ink); font-style:normal}
.pulse-section .copy ul.bullets{
  list-style:none; margin-top:24px; display:flex; flex-direction:column; gap:12px;
}
.pulse-section .copy ul.bullets li{
  display:flex; gap:12px; align-items:flex-start;
  color:var(--ink-soft); font-size:15px;
}
.pulse-section .copy ul.bullets li::before{
  content:""; flex:0 0 6px; width:6px; height:6px; border-radius:50%;
  background:var(--neon); margin-top:8px;
  box-shadow:0 0 8px var(--glow-neon);
}

/* Calculator card */
.roi-card{
  position:relative;
  padding:32px 32px 28px;
  background:linear-gradient(180deg, rgba(8,30,52,.85) 0%, rgba(6,22,40,.85) 100%);
  border:1px solid rgba(94,234,212,.20);
  border-radius:18px;
  backdrop-filter:blur(8px);
  box-shadow:
    0 30px 80px rgba(0,0,0,.55),
    0 0 0 1px rgba(255,255,255,.02) inset,
    0 0 40px rgba(94,234,212,.10);
}
.roi-card::before{
  content:""; position:absolute; inset:-1px; border-radius:inherit;
  background:linear-gradient(135deg, rgba(94,234,212,.35) 0%, transparent 40%, transparent 60%, rgba(52,245,184,.25) 100%);
  z-index:-1; opacity:.6;
  mask:linear-gradient(#000,#000) content-box, linear-gradient(#000,#000);
  -webkit-mask:linear-gradient(#000,#000) content-box, linear-gradient(#000,#000);
  -webkit-mask-composite:xor; mask-composite:exclude;
  padding:1px;
}
.roi-card .roi-head{
  display:flex; align-items:center; gap:10px;
  margin-bottom:6px;
  font-family:'Geist Mono',monospace;
  font-size:10.5px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--teal-hi);
}
.roi-card .roi-head::before{
  content:""; width:7px; height:7px; border-radius:50%;
  background:var(--neon); box-shadow:0 0 8px var(--glow-neon);
  animation:heartbeatGlow var(--beat) cubic-bezier(.4,0,.6,1) infinite;
}
.roi-card h3{
  font-family:'Geist',sans-serif; font-weight:600;
  font-size:22px; line-height:1.2; letter-spacing:-.015em;
  color:#eafff8; margin-bottom:18px;
}

.roi-row{margin-top:14px}
.roi-row .roi-label{
  display:flex; justify-content:space-between; align-items:baseline;
  font-size:12px; color:var(--ink-dim);
  font-family:'Geist Mono',monospace; letter-spacing:.06em; text-transform:uppercase;
  margin-bottom:6px;
}
.roi-row .roi-label .roi-value{
  font-family:'Geist',sans-serif; text-transform:none;
  font-size:15px; color:var(--ink); letter-spacing:0;
  font-variant-numeric:tabular-nums; font-weight:500;
}
.roi-row input[type="range"]{
  -webkit-appearance:none; appearance:none;
  width:100%; height:6px;
  background:linear-gradient(to right, var(--teal) 0%, var(--teal) var(--fill,50%), rgba(94,234,212,.12) var(--fill,50%), rgba(94,234,212,.12) 100%);
  border-radius:999px; outline:none;
  cursor:pointer;
}
.roi-row input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none; appearance:none;
  width:18px; height:18px; border-radius:50%;
  background:#eafff8;
  border:2px solid var(--teal-hi);
  box-shadow:0 0 0 3px rgba(94,234,212,.25), 0 0 12px var(--glow-teal);
  cursor:grab; transition:transform .15s;
}
.roi-row input[type="range"]::-webkit-slider-thumb:active{cursor:grabbing; transform:scale(1.15)}
.roi-row input[type="range"]::-moz-range-thumb{
  width:18px; height:18px; border-radius:50%;
  background:#eafff8; border:2px solid var(--teal-hi);
  box-shadow:0 0 0 3px rgba(94,234,212,.25), 0 0 12px var(--glow-teal);
  cursor:grab;
}
.roi-row input[type="range"]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--neon), 0 0 12px var(--glow-neon)}

.roi-locked{
  margin-top:18px; padding:10px 14px;
  display:flex; align-items:center; gap:10px;
  border-radius:10px;
  background:rgba(94,234,212,.06);
  border:1px solid rgba(94,234,212,.18);
  font-size:12px; color:var(--ink-soft); line-height:1.4;
}
.roi-locked .lock-ico{
  flex:0 0 14px; width:14px; height:14px; color:var(--teal-hi);
  filter:drop-shadow(0 0 4px var(--glow-teal));
}
.roi-locked b{color:var(--teal-hi); font-weight:600}

.roi-result{
  margin-top:24px; padding:22px 22px 20px;
  border-radius:14px;
  background:
    radial-gradient(80% 100% at 50% 0%, rgba(52,245,184,.20) 0%, transparent 60%),
    linear-gradient(180deg, rgba(8,30,55,.85) 0%, rgba(5,22,42,.85) 100%);
  border:1px solid rgba(52,245,184,.35);
  text-align:center;
  box-shadow:0 0 40px rgba(52,245,184,.20) inset;
  animation:heartbeatGlow calc(var(--beat) * 2) cubic-bezier(.4,0,.6,1) infinite;
}
.roi-result .label{
  font-family:'Geist Mono',monospace; font-size:10.5px;
  letter-spacing:.16em; text-transform:uppercase;
  color:var(--teal-hi); margin-bottom:6px;
}
.roi-result .big{
  font-family:'Geist',sans-serif; font-weight:600;
  font-size:56px; line-height:1; letter-spacing:-.03em;
  color:#eafff8;
  font-variant-numeric:tabular-nums;
  text-shadow:0 0 18px var(--glow-neon), 0 0 40px var(--glow-neon);
}
.roi-result .sub{
  margin-top:8px; font-size:13.5px; color:var(--ink-dim);
}
.roi-result .annual{
  margin-top:14px; padding-top:14px;
  border-top:1px dashed rgba(94,234,212,.20);
  font-size:13px; color:var(--ink-soft);
}
.roi-result .annual b{
  color:var(--teal-hi); font-weight:600;
  font-variant-numeric:tabular-nums;
  filter:drop-shadow(0 0 6px var(--glow-teal));
}

.roi-cta{
  margin-top:22px;
  display:flex; gap:10px; flex-wrap:wrap;
}
.roi-disclaim{
  margin-top:14px;
  font-size:11px; color:var(--ink-faint); line-height:1.5;
  font-family:'Geist Mono',monospace; letter-spacing:.04em;
}

@media (max-width:880px){
  .pulse-section{padding:72px 20px}
  .pulse-section .layout{grid-template-columns:1fr; gap:40px}
  .pulse-section .copy h2{font-size:34px}
  .roi-card{padding:24px 20px 22px}
  .roi-result .big{font-size:42px}
}

/* ============================================================
   ECOSYSTEM features
   ============================================================ */
.ecosystem{position:relative}
.eco-grid{
  margin-top:48px;
  display:grid; gap:18px;
  grid-template-columns:repeat(3,1fr);
}
.eco-card{
  position:relative;
  padding:24px 22px 22px;
  background:linear-gradient(180deg, rgba(8,24,42,.6) 0%, rgba(5,18,32,.6) 100%);
  border:1px solid rgba(94,234,212,.12);
  border-radius:14px;
  transition:transform .2s, border-color .2s, box-shadow .2s;
  overflow:hidden;
  isolation:isolate;
}
.eco-card:hover{
  transform:translateY(-2px);
  border-color:rgba(94,234,212,.35);
  box-shadow:0 12px 40px rgba(0,0,0,.4), 0 0 24px rgba(94,234,212,.15);
}
.eco-card .ico{
  width:38px; height:38px;
  display:grid; place-items:center;
  border-radius:10px;
  background:rgba(94,234,212,.08);
  border:1px solid rgba(94,234,212,.22);
  margin-bottom:16px;
  filter:drop-shadow(0 0 8px var(--glow-teal));
}
.eco-card .ico svg{width:18px; height:18px}
.eco-card .ico svg path, .eco-card .ico svg circle, .eco-card .ico svg line, .eco-card .ico svg rect, .eco-card .ico svg polyline, .eco-card .ico svg polygon{
  stroke:var(--teal-hi); stroke-width:1.6; fill:none;
  stroke-linecap:round; stroke-linejoin:round;
}
.eco-card h3{
  font-size:17px; font-weight:600; color:#eafff8;
  margin-bottom:8px; letter-spacing:-.005em;
}
.eco-card p{font-size:13.5px; color:var(--ink-dim); line-height:1.55}
.eco-card .tag{
  position:absolute; top:14px; right:14px;
  font-family:'Geist Mono',monospace;
  font-size:9px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--neon); padding:3px 8px;
  background:rgba(52,245,184,.08);
  border:1px solid rgba(52,245,184,.30);
  border-radius:999px;
}
@media (max-width:880px){
  .eco-grid{grid-template-columns:1fr; gap:14px}
}

/* ============================================================
   SEO / VDP differentiator
   ============================================================ */
.seo-section{position:relative}
.seo-layout{
  margin-top:48px;
  display:grid; gap:32px;
  grid-template-columns:1fr 1fr;
}
.seo-card{
  padding:28px 26px;
  border-radius:14px;
  position:relative;
  font-family:'Geist Mono',monospace;
}
.seo-card.them{
  background:linear-gradient(180deg, rgba(40,15,15,.5) 0%, rgba(20,8,8,.5) 100%);
  border:1px solid rgba(220,80,80,.18);
}
.seo-card.us{
  background:linear-gradient(180deg, rgba(8,38,55,.6) 0%, rgba(5,22,42,.6) 100%);
  border:1px solid rgba(94,234,212,.30);
  box-shadow:0 0 32px rgba(94,234,212,.12);
}
.seo-card .seo-label{
  font-size:10.5px; letter-spacing:.16em; text-transform:uppercase;
  margin-bottom:14px;
}
.seo-card.them .seo-label{color:#f6a8a8}
.seo-card.us .seo-label{color:var(--neon-hi); filter:drop-shadow(0 0 6px var(--glow-neon))}
.seo-card .seo-url{
  display:block;
  padding:14px 16px;
  background:rgba(0,0,0,.4);
  border-radius:8px;
  font-size:13px; line-height:1.5;
  word-break:break-all;
  border:1px dashed rgba(255,255,255,.10);
}
.seo-card.them .seo-url{color:#f6a8a8}
.seo-card.us .seo-url{color:var(--teal-hi); border-color:rgba(94,234,212,.25)}
.seo-card .seo-note{
  margin-top:14px;
  font-family:'Geist',sans-serif;
  font-size:13.5px; line-height:1.55;
  color:var(--ink-dim);
}
.seo-card.us .seo-note{color:var(--ink-soft)}
.seo-card .seo-tag{
  display:inline-block;
  margin-top:14px;
  padding:4px 10px;
  border-radius:999px;
  font-family:'Geist Mono',monospace;
  font-size:9.5px; letter-spacing:.14em; text-transform:uppercase;
}
.seo-card.them .seo-tag{
  color:#f6a8a8; background:rgba(220,80,80,.10); border:1px solid rgba(220,80,80,.25);
}
.seo-card.us .seo-tag{
  color:var(--neon); background:rgba(52,245,184,.08); border:1px solid rgba(52,245,184,.30);
}

.seo-bottom{
  margin-top:28px; padding:22px 24px;
  border-radius:12px;
  background:rgba(94,234,212,.04);
  border:1px solid rgba(94,234,212,.14);
  display:flex; gap:20px; align-items:center;
  font-size:14.5px; line-height:1.55; color:var(--ink-soft);
}
.seo-bottom b{color:var(--teal-hi); font-weight:600}
.seo-bottom .seo-stat{
  flex:0 0 140px; text-align:center;
  border-right:1px solid rgba(94,234,212,.12);
  padding-right:20px;
}
.seo-bottom .seo-stat .n{
  font-family:'Geist',sans-serif; font-weight:600;
  font-size:34px; line-height:1; color:var(--teal-hi);
  filter:drop-shadow(0 0 8px var(--glow-teal));
}
.seo-bottom .seo-stat .l{
  margin-top:4px; font-family:'Geist Mono',monospace;
  font-size:10px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink-dim);
}
@media (max-width:880px){
  .seo-layout{grid-template-columns:1fr}
  .seo-bottom{flex-direction:column; align-items:flex-start; gap:16px}
  .seo-bottom .seo-stat{border-right:0; border-bottom:1px solid rgba(94,234,212,.12); padding:0 0 14px; flex:none; width:100%; text-align:left}
}

/* ============================================================
   SERVICES — primary + legacy
   ============================================================ */
.services{position:relative}
.services-tier{
  display:flex; align-items:center; gap:12px;
  margin:48px 0 22px;
  font-family:'Geist Mono',monospace;
  font-size:11px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--ink-dim);
}
.services-tier::after{
  content:""; flex:1; height:1px;
  background:linear-gradient(90deg, rgba(94,234,212,.25), transparent);
}
.services-tier.legacy::after{
  background:linear-gradient(90deg, rgba(94,234,212,.10), transparent);
}
.svc-grid{
  display:grid; gap:14px;
  grid-template-columns:repeat(3,1fr);
}
.svc-grid.legacy{grid-template-columns:repeat(4,1fr)}
.svc{
  padding:20px 20px 18px;
  background:rgba(255,255,255,.025);
  border:1px solid rgba(94,234,212,.10);
  border-radius:12px;
  transition:all .2s;
  display:flex; flex-direction:column; gap:6px;
}
.svc:hover{
  border-color:rgba(94,234,212,.30);
  background:rgba(94,234,212,.04);
  transform:translateY(-1px);
}
.svc.legacy{
  background:rgba(255,255,255,.015);
  border-color:rgba(94,234,212,.06);
}
.svc.legacy:hover{border-color:rgba(94,234,212,.15)}
  .svc h4{
    font-size:15px; font-weight:600; color:#eafff8;
    letter-spacing:-.005em; transition:color 0.2s;
  }
  .svc.legacy h4{color:var(--ink-soft); font-weight:500}
  .svc p{font-size:13px; color:var(--ink-dim); line-height:1.5; padding-bottom:12px;}
  .svc .svc-tag{
    font-family:'Geist Mono',monospace;
    font-size:9.5px; letter-spacing:.14em; text-transform:uppercase;
    color:var(--neon); margin-top:2px;
  }
  .svc.legacy .svc-tag{color:var(--ink-faint)}
  
  a.svc{
    text-decoration:none;
    position:relative;
  }
  a.svc:hover h4{color:var(--accent-teal)}
  .svc-cta{
    position:absolute;
    bottom:14px; right:14px;
    font-size:11px; font-weight:600;
    color:var(--ink-dim);
    transition:color 0.2s;
  }
  a.svc:hover .svc-cta{color:var(--accent-teal)}

  @media (max-width:880px){
  .svc-grid, .svc-grid.legacy{grid-template-columns:1fr 1fr; gap:10px}
  .svc{padding:14px 14px 12px}
  .svc h4{font-size:13.5px}
  .svc p{font-size:12px}
}

/* ============================================================
   TEAM
   ============================================================ */
.team-grid{
  margin-top:48px;
  display:grid; gap:20px;
  grid-template-columns:repeat(5,1fr);
}
.team-card{
  padding:22px 18px 20px;
  background:linear-gradient(180deg, rgba(8,24,42,.5) 0%, rgba(6,18,32,.5) 100%);
  border:1px solid rgba(94,234,212,.12);
  border-radius:14px;
  transition:all .2s;
  text-align:center;
}
.team-card:hover{
  transform:translateY(-2px);
  border-color:rgba(94,234,212,.30);
  box-shadow:0 12px 32px rgba(0,0,0,.4), 0 0 24px rgba(94,234,212,.12);
}
.team-card .avatar{
  width:64px; height:64px;
  margin:0 auto 14px;
  border-radius:50%;
  display:grid; place-items:center;
  background:radial-gradient(120% 120% at 30% 25%, rgba(94,234,212,.25), rgba(0,0,0,0)),
             linear-gradient(180deg, rgba(94,234,212,.12), rgba(34,184,163,.12));
  border:1px solid rgba(94,234,212,.30);
  font-family:'Geist',sans-serif; font-weight:600; font-size:22px;
  color:#eafff8; letter-spacing:-.01em;
  box-shadow:0 0 18px rgba(94,234,212,.20);
}
.team-card .name{
  font-size:15px; font-weight:600; color:#eafff8;
  letter-spacing:-.005em; line-height:1.3;
}
.team-card .role{
  margin-top:6px;
  font-family:'Geist Mono',monospace;
  font-size:10px; letter-spacing:.10em; text-transform:uppercase;
  color:var(--teal-hi); line-height:1.5;
}
.team-card .credentials{
  margin-top:10px;
  font-size:11.5px; color:var(--ink-dim); line-height:1.5;
}
@media (max-width:1024px){.team-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.team-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:380px){.team-grid{grid-template-columns:1fr}}

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.testi-grid{
  margin-top:48px;
  display:grid; gap:20px;
  grid-template-columns:repeat(2,1fr);
}
.testi{
  position:relative;
  padding:30px 28px 26px;
  background:linear-gradient(180deg, rgba(8,24,42,.55) 0%, rgba(6,18,32,.55) 100%);
  border:1px solid rgba(94,234,212,.14);
  border-radius:16px;
  display:flex; flex-direction:column; gap:18px;
}
.testi .badge{
  position:absolute; top:-12px; right:24px;
  display:inline-flex; align-items:center; gap:8px;
  padding:5px 12px 5px 10px;
  border-radius:999px;
  background:linear-gradient(180deg, rgba(8,32,55,1) 0%, rgba(5,22,42,1) 100%);
  border:1px solid rgba(52,245,184,.35);
  font-family:'Geist Mono',monospace;
  font-size:10.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--neon-hi);
  filter:drop-shadow(0 0 8px var(--glow-neon));
}
.testi .badge::before{
  content:""; width:6px; height:6px; border-radius:50%;
  background:var(--neon); box-shadow:0 0 6px var(--glow-neon);
  animation:heartbeatGlow var(--beat) cubic-bezier(.4,0,.6,1) infinite;
}
.testi .quote-mark{
  font-family:'Instrument Serif',serif;
  font-size:64px; line-height:0; color:var(--teal-hi);
  margin-top:24px; opacity:.4;
  filter:drop-shadow(0 0 8px var(--glow-teal));
}
.testi .quote{
  font-size:15.5px; line-height:1.6; color:var(--ink-soft);
  font-style:italic;
}
.testi .quote em{color:var(--ink); font-style:italic; background:linear-gradient(180deg, transparent 60%, rgba(94,234,212,.12) 60%)}
.testi .who{
  display:flex; align-items:center; justify-content:space-between;
  padding-top:18px; border-top:1px solid rgba(94,234,212,.10);
  font-size:13.5px;
}
.testi .who .name{color:var(--ink); font-weight:500}
.testi .who .title{color:var(--ink-dim); font-size:12px; margin-top:2px}
.testi .who .ph{
  font-family:'Geist Mono',monospace; font-size:10.5px;
  letter-spacing:.14em; text-transform:uppercase; color:var(--ink-faint);
}
@media (max-width:880px){
  .testi-grid{grid-template-columns:1fr; gap:14px}
  .testi{padding:24px 20px}
}

/* ============================================================
   Q&A ACCORDION
   ============================================================ */
.qa-list{
  margin-top:40px;
  display:flex; flex-direction:column; gap:8px;
}
.qa{
  border:1px solid rgba(94,234,212,.12);
  border-radius:12px;
  background:rgba(255,255,255,.02);
  overflow:hidden;
  transition:border-color .2s, background .2s;
}
.qa[open]{
  border-color:rgba(94,234,212,.32);
  background:rgba(94,234,212,.03);
}
.qa summary{
  list-style:none;
  cursor:pointer;
  padding:22px 24px;
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  font-size:16.5px; font-weight:500; color:var(--ink);
  letter-spacing:-.005em;
  transition:color .15s;
}
.qa summary::-webkit-details-marker{display:none}
.qa summary:hover{color:var(--teal-hi)}
.qa summary .q-icon{
  flex:0 0 24px; width:24px; height:24px;
  display:grid; place-items:center;
  border:1px solid rgba(94,234,212,.30);
  border-radius:50%;
  color:var(--teal-hi);
  font-size:14px; font-weight:300;
  transition:transform .25s cubic-bezier(.2,.7,.2,1);
}
.qa[open] summary .q-icon{transform:rotate(45deg)}
.qa .answer{
  padding:0 24px 26px 24px;
  font-size:14.5px; line-height:1.65;
  color:var(--ink-dim);
  text-wrap:pretty;
}
.qa .answer p + p{margin-top:12px}
.qa .answer em{color:var(--ink); font-style:normal; font-weight:500}
@media (max-width:880px){
  .qa summary{padding:18px 18px; font-size:14.5px; gap:14px}
  .qa .answer{padding:0 18px 22px 18px; font-size:13.5px}
}

/* ============================================================
   TERRITORY / FINAL CTA
   ============================================================ */
.territory{
  position:relative;
  padding:120px 40px 100px;
  overflow:hidden;
  background:
    radial-gradient(60% 50% at 20% 20%, rgba(34,168,232,.10), transparent 60%),
    radial-gradient(60% 50% at 80% 80%, rgba(52,245,184,.10), transparent 60%);
}
.territory .inner{max-width:var(--maxw); margin:0 auto; position:relative; z-index:2}
.territory .layout{
  display:grid; gap:64px;
  grid-template-columns:1fr 1.05fr;
  align-items:center;
}
.territory .copy h2{
  font-family:'Geist',sans-serif; font-weight:600;
  font-size:52px; line-height:1.05; letter-spacing:-.025em;
  color:#eafff8; text-wrap:balance;
}
.territory .copy h2 .accent{
  background:linear-gradient(180deg, #c7f0ff 0%, #5bd6ff 50%, #22a8e8 100%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 14px rgba(56,189,248,.40));
}
.territory .copy p{margin-top:20px; color:var(--ink-soft); font-size:17px; line-height:1.6}
.territory .copy p em{color:var(--ink); font-style:normal}

/* US/Canada map placeholder */
.map-wrap{
  position:relative;
  aspect-ratio:1.5/1;
  border-radius:18px;
  border:1px solid rgba(94,234,212,.16);
  background:radial-gradient(80% 80% at 50% 50%, rgba(8,30,55,.5) 0%, rgba(6,24,39,.6) 100%);
  padding:24px;
  overflow:hidden;
}
.map-wrap svg{width:100%; height:100%}
.map-wrap .map-overlay{
  position:absolute; top:18px; left:18px;
  display:flex; gap:10px; align-items:center;
  font-family:'Geist Mono',monospace;
  font-size:10px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--ink-dim);
}
.map-wrap .map-overlay .l-claimed,
.map-wrap .map-overlay .l-open{
  display:inline-flex; align-items:center; gap:6px;
}
.map-wrap .map-overlay .l-claimed::before,
.map-wrap .map-overlay .l-open::before{
  content:""; width:8px; height:8px; border-radius:50%;
}
.map-wrap .map-overlay .l-claimed::before{
  background:var(--teal); box-shadow:0 0 6px var(--glow-teal);
}
.map-wrap .map-overlay .l-open::before{
  background:var(--neon); box-shadow:0 0 8px var(--glow-neon);
  animation:heartbeatGlow var(--beat) cubic-bezier(.4,0,.6,1) infinite;
}
.map-wrap .country{
  fill:rgba(94,234,212,.04);
  stroke:rgba(94,234,212,.30);
  stroke-width:1;
}
.map-wrap .pin-claimed{fill:var(--teal); filter:drop-shadow(0 0 4px var(--glow-teal))}
.map-wrap .pin-open{
  fill:var(--neon);
  filter:drop-shadow(0 0 6px var(--glow-neon));
  animation:heartbeatGlow var(--beat) cubic-bezier(.4,0,.6,1) infinite;
}
.map-wrap .pin-ring{
  fill:none; stroke:var(--neon); stroke-width:1;
  opacity:.5;
  transform-origin:center;
  transform-box:fill-box;
  animation:pinRing 2.2s ease-out infinite;
}
@keyframes pinRing{
  0%{transform:scale(.4); opacity:.6}
  100%{transform:scale(2.2); opacity:0}
}

/* Cluster halo for the 5-location MS+FL dealer */
.map-wrap .pin-cluster-halo{
  fill:rgba(94,234,212,.06);
  stroke:rgba(94,234,212,.40);
  stroke-width:1;
  stroke-dasharray:3 3;
}

/* City labels */
.map-wrap .pin-label{
  fill:var(--ink-soft);
  font-family:'Geist Mono', monospace;
  font-size:10px;
  font-weight:500;
  letter-spacing:.04em;
  pointer-events:none;
  paint-order:stroke;
  stroke:rgba(6,24,39,.92);
  stroke-width:3;
  stroke-linejoin:round;
}
.map-wrap .pin-label-left{text-anchor:end}
.map-wrap .pin-label-cluster{
  fill:var(--teal-hi);
  font-size:10.5px;
  font-weight:600;
}
.map-wrap .pin-label-sub{
  fill:var(--ink-dim);
  font-size:9.5px;
  font-weight:400;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.map-wrap .pin-label-below{
  fill:var(--ink-dim);
}

/* Tweak map-wrap to give labels room and use a wider aspect ratio */
.map-wrap{aspect-ratio:1.65/1}
@media (max-width:880px){
  .map-wrap{aspect-ratio:1.4/1}
  .map-wrap .pin-label{font-size:8px}
  .map-wrap .pin-label-cluster{font-size:9px}
  .map-wrap .pin-label-sub{font-size:7.5px}
}

/* The big CTA */
.big-cta{
  position:relative;
  padding:80px 40px 100px;
  background:
    radial-gradient(60% 80% at 50% 50%, rgba(52,245,184,.16) 0%, transparent 60%),
    linear-gradient(180deg, rgba(6,24,39,1) 0%, rgba(4,16,28,1) 100%);
  text-align:center;
  border-top:1px solid rgba(94,234,212,.18);
  border-bottom:1px solid rgba(94,234,212,.18);
  overflow:hidden;
}
.big-cta .inner{max-width:1100px; margin:0 auto; position:relative; z-index:2}
.big-cta h2{
  font-family:'Geist',sans-serif; font-weight:700;
  font-size:64px; line-height:1.02; letter-spacing:-.035em;
  color:#eafff8;
  text-shadow:0 0 24px rgba(94,234,212,.20), 0 0 80px rgba(52,245,184,.15);
}
.big-cta h2 .accent{
  background:linear-gradient(180deg, #eafff8 0%, #9af7e0 50%, #34f5b8 100%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 18px var(--glow-neon));
  display:block;
  animation:heartbeatGlow var(--beat) cubic-bezier(.4,0,.6,1) infinite;
}
.big-cta p{
  margin:22px auto 0; max-width:680px;
  color:var(--ink-soft); font-size:17px; line-height:1.55;
}
.big-cta .ctas{
  margin-top:38px;
  display:flex; gap:14px; justify-content:center; flex-wrap:wrap;
}
@media (max-width:880px){
  .big-cta{padding:56px 20px 64px}
  .big-cta h2{font-size:38px}
  .big-cta .ctas{flex-direction:column; gap:10px; width:100%}
  .big-cta .ctas .btn{width:100%; justify-content:center}
}

/* ============================================================
   CONTACT FORM
   ============================================================ */
.contact{position:relative}
.contact-layout{
  margin-top:40px;
  display:grid; gap:48px;
  grid-template-columns:1fr 1.15fr;
}
.contact-info{
  padding:32px 30px;
  background:rgba(94,234,212,.03);
  border:1px solid rgba(94,234,212,.14);
  border-radius:16px;
}
.contact-info h3{
  font-size:18px; font-weight:600; color:#eafff8;
  margin-bottom:18px; letter-spacing:-.005em;
}
.contact-info .ci-row{
  display:flex; gap:14px;
  padding:14px 0; align-items:flex-start;
  border-bottom:1px dashed rgba(94,234,212,.10);
}
.contact-info .ci-row:last-child{border-bottom:0}
.contact-info .ci-row .ci-ico{
  flex:0 0 36px; width:36px; height:36px;
  display:grid; place-items:center;
  border-radius:10px;
  background:rgba(94,234,212,.06);
  border:1px solid rgba(94,234,212,.22);
}
.contact-info .ci-row .ci-ico svg{width:16px; height:16px}
.contact-info .ci-row .ci-ico svg path, .contact-info .ci-row .ci-ico svg circle, .contact-info .ci-row .ci-ico svg rect{
  stroke:var(--teal-hi); stroke-width:1.6; fill:none;
}
.contact-info .ci-row .ci-text{flex:1; min-width:0}
.contact-info .ci-row .ci-label{
  font-family:'Geist Mono',monospace;
  font-size:10px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink-dim); margin-bottom:3px;
}
.contact-info .ci-row .ci-value{
  font-size:14.5px; color:var(--ink); line-height:1.4;
}
.contact-info .ci-row .ci-value a{
  color:var(--teal-hi); transition:filter .15s;
}
.contact-info .ci-row .ci-value a:hover{filter:drop-shadow(0 0 6px var(--glow-teal))}

.contact-form{
  padding:32px 32px 28px;
  background:linear-gradient(180deg, rgba(8,30,52,.5) 0%, rgba(6,22,40,.5) 100%);
  border:1px solid rgba(94,234,212,.18);
  border-radius:16px;
}
.contact-form .field-row{
  display:grid; grid-template-columns:1fr 1fr; gap:14px;
  margin-bottom:14px;
}
.contact-form .field{display:flex; flex-direction:column; gap:6px; margin-bottom:14px}
.contact-form .field label{
  font-family:'Geist Mono',monospace;
  font-size:10.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink-dim);
}
.contact-form input,
.contact-form textarea,
.contact-form select{
  padding:12px 14px;
  background:rgba(0,0,0,.35);
  border:1px solid rgba(94,234,212,.18);
  border-radius:8px;
  color:#eafff8; font-size:14.5px;
  transition:border-color .15s, box-shadow .15s, background .15s;
  font-family:inherit;
  resize:vertical;
}
.contact-form input::placeholder,
.contact-form textarea::placeholder{color:var(--ink-faint)}
.contact-form input:focus,
.contact-form textarea:focus,
.contact-form select:focus{
  outline:none;
  border-color:rgba(94,234,212,.55);
  box-shadow:0 0 0 3px rgba(94,234,212,.12);
  background:rgba(0,0,0,.45);
}
.contact-form .submit-row{
  margin-top:6px; display:flex; gap:14px; align-items:center; flex-wrap:wrap;
}
.contact-form .submit-row small{
  font-size:11.5px; color:var(--ink-faint); line-height:1.4;
}
@media (max-width:880px){
  .contact-layout{grid-template-columns:1fr; gap:24px}
  .contact-form{padding:24px 22px 22px}
  .contact-form .field-row{grid-template-columns:1fr}
}

/* D3 Dynamic Map Styles */
#d3-map-container svg {
  overflow: visible;
}
.region {
  stroke: rgba(94,234,212,.30);
  stroke-width: 0.5px;
  stroke-linejoin: round;
  transition: all 0.3s ease;
}
.state-open {
  fill: rgba(94,234,212,.03);
}
.state-open:hover {
  fill: rgba(94,234,212,.1);
}
.state-claimed {
  fill: rgba(94,234,212,.06);
}
.exclusivity-zone {
  fill: rgba(94,234,212,.15);
  stroke: rgba(94,234,212,.5);
  stroke-width: 1px;
  animation: heartbeatGlow 3s cubic-bezier(.4,0,.6,1) infinite;
}
.client-pin {
  fill: #fff;
  stroke: var(--accent-teal);
  stroke-width: 2px;
}
.client-cities-list {
  margin-top: 24px;
  padding: 24px;
  background: rgba(255,255,255,.02);
  border: 1px solid var(--ink-faint);
  border-radius: 8px;
}
.client-cities-list h4 {
  margin-top: 0;
  color: var(--ink-text);
  margin-bottom: 16px;
}


/* ============================================================
   HIGH-TECH RV FLEET ANIMATIONS
   ============================================================ */
.rv-wrapper {
  position: absolute;
  z-index: 5;
  pointer-events: none;
  opacity: 0; /* Handled by animation */
}
.rv-wrapper svg {
  stroke: var(--aqua);
  stroke-width: 2px;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
  filter: drop-shadow(0 0 8px var(--glow-aqua)) drop-shadow(0 0 16px var(--glow-aqua));
  width: 100%;
}
.rv-wrapper svg circle {
  stroke: #fde047; /* Yellowish glow for wheels */
  filter: drop-shadow(0 0 6px rgba(253,224,71,0.6));
}

@keyframes driveOffLeft {
  0%   { left: 40%; opacity: 0; }
  10%  { opacity: 0.7; }
  90%  { opacity: 0.7; }
  100% { left: -15%; opacity: 0; }
}

@keyframes driveOffRight {
  0%   { right: 40%; opacity: 0; }
  10%  { opacity: 0.7; }
  90%  { opacity: 0.7; }
  100% { right: -15%; opacity: 0; }
}

.rv-w1 { /* Fifth Wheel */
  top: 15%;
  width: 140px;
  transform: scaleX(-1) skewX(-12deg);
  animation: driveOffLeft 12s linear infinite;
}
.rv-w2 { /* Travel Trailer */
  top: 25%;
  width: 120px;
  transform: scaleX(-1) skewX(-12deg);
  animation: driveOffLeft 10s linear infinite;
  animation-delay: -5s;
}
.rv-w3 { /* Class A */
  top: 12%;
  width: 160px;
  transform: skewX(-12deg);
  animation: driveOffRight 14s linear infinite;
}
.rv-w4 { /* Toy Hauler */
  top: 28%;
  width: 170px;
  transform: skewX(-12deg);
  animation: driveOffRight 16s linear infinite;
  animation-delay: -7s;
}

@media (max-width: 1200px) { .rv-wrapper { display: none; } }
