@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@700;800&family=Inter:wght@400;500;600&display=swap');

/* ── TOKENS ──────────────────────────────────────────────────────────────── */
:root{
  --primary:#005B96; --secondary:#00AEEF; --accent:#00C8B3; --cta:#FF6A00;
  --dark:#0D1B2A; --light:#F8FBFF; --white:#FFFFFF; --text:#1A1A1A; --success:#22C55E;
}

/* ── BASE ────────────────────────────────────────────────────────────────── */
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Inter',sans-serif;color:var(--text);background:var(--white);line-height:1.6;}
h1,h2,h3,h4{font-family:'Poppins',sans-serif;font-weight:800;color:var(--dark);line-height:1.2;}
a{color:var(--primary);text-decoration:none;}
img{max-width:100%;display:block;border-radius:10px;}
ul{list-style:none;}
.container{max-width:1180px;margin:0 auto;padding:0 24px;}

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

/* ── ANIMATIONS ─────────────────────────────────────────────────────────── */
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes slideUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes pulseGlow{0%,100%{box-shadow:0 0 0 0 rgba(255,106,0,.45)}50%{box-shadow:0 0 0 10px rgba(255,106,0,0)}}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .55s ease,transform .55s ease;}
.reveal.in-view{opacity:1;transform:translateY(0);}

/* ── EMERGENCY BANNER ────────────────────────────────────────────────────── */
.emergency-banner{background:var(--dark);color:var(--white);text-align:center;font-size:.88rem;padding:8px 16px;line-height:1.5;}
.banner-call{color:var(--accent);font-weight:700;margin-left:6px;}

/* ── STICKY HEADER ───────────────────────────────────────────────────────── */
.site-header{position:sticky;top:0;z-index:200;background:var(--white);box-shadow:0 2px 12px rgba(13,27,42,.07);}
.nav-wrap{max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:13px 24px;gap:14px;flex-wrap:wrap;}
.brand{font-family:'Poppins',sans-serif;font-weight:800;color:var(--primary);font-size:1.1rem;line-height:1.15;flex-shrink:0;}
.brand span{display:block;font-family:'Inter';font-weight:500;font-size:.68rem;color:#647889;letter-spacing:.04em;}
.main-nav{display:flex;gap:20px;align-items:center;flex-wrap:wrap;}
.main-nav > a{font-weight:600;color:var(--dark);font-size:.92rem;}
.main-nav > a:hover{color:var(--primary);}

/* Dropdown */
.dropdown{position:relative;}
.dropdown-menu{display:none;position:absolute;top:calc(100% + 6px);left:0;background:var(--white);
  min-width:270px;box-shadow:0 12px 32px rgba(13,27,42,.14);border-radius:10px;padding:8px 0;z-index:300;border:1px solid #e7eef5;}
.dropdown:hover .dropdown-menu{display:block;}
.dropdown-menu li a{display:block;padding:9px 18px;font-size:.88rem;color:var(--text);}
.dropdown-menu li a:hover{background:var(--light);color:var(--primary);}

/* Header CTA */
.header-call-btn{background:var(--cta);color:var(--white) !important;font-family:'Poppins';font-weight:700;
  font-size:.88rem;padding:11px 18px;border-radius:8px;white-space:nowrap;flex-shrink:0;
  transition:transform .2s ease,box-shadow .2s ease;}
.header-call-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(255,106,0,.3);}

/* Floating mobile CTA */
.floating-call-btn{display:none;position:fixed;bottom:22px;right:22px;width:58px;height:58px;
  border-radius:50%;background:var(--cta);color:var(--white);font-size:1.4rem;align-items:center;
  justify-content:center;z-index:500;box-shadow:0 8px 22px rgba(255,106,0,.45);
  animation:pulseGlow 2.4s ease-in-out infinite;}

/* ── BUTTONS ─────────────────────────────────────────────────────────────── */
.cta-btn{display:inline-block;font-family:'Poppins';font-weight:700;font-size:.95rem;
  background:var(--cta);color:var(--white);padding:13px 24px;border-radius:8px;border:none;
  cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;}
.cta-btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(255,106,0,.3);color:var(--white);}
.cta-btn-lg{font-size:1.05rem;padding:16px 32px;}
.cta-btn-outline{background:transparent;border:2px solid var(--white);color:var(--white) !important;}
.cta-btn-outline:hover{background:rgba(255,255,255,.12);}

/* ── HERO — FLEX LAYOUT (no grid; prevents 2-col bleed on single-child pages) */
.hero{position:relative;color:var(--white);padding:90px 0;
  background:var(--dark) center/cover no-repeat;}
.hero .container{display:flex;align-items:center;gap:48px;}
/* Pages with BOTH hero-copy + hero-media get side-by-side layout */
.hero .container.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;}
/* Single-copy heroes: full width */
.hero .container.hero-single{display:block;}
.hero-eyebrow{display:inline-block;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.28);
  padding:6px 14px;border-radius:30px;font-size:.78rem;font-weight:700;letter-spacing:.05em;margin-bottom:16px;}
.hero h1{font-size:2.5rem;color:var(--white);margin-bottom:16px;}
.hero p.lead{font-size:1.05rem;color:#d6eaf8;margin-bottom:26px;max-width:620px;}
.hero-cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:24px;}
.hero-stats{display:flex;gap:28px;flex-wrap:wrap;margin-top:8px;}
.hero-stats > div{font-family:'Poppins';font-weight:800;font-size:1.55rem;color:var(--accent);}
.hero-stats small{display:block;font-family:'Inter';font-weight:500;font-size:.72rem;color:#b8d8ee;}
.hero-media{flex:1;min-width:0;}
.hero-media img{border-radius:14px;box-shadow:0 24px 52px rgba(0,0,0,.35);}

/* ── SECTIONS ────────────────────────────────────────────────────────────── */
section{padding:72px 0;}
.section-head{text-align:center;max-width:700px;margin:0 auto 44px;}
.eyebrow{display:inline-block;color:var(--secondary);font-weight:700;font-size:.76rem;
  letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px;}
.section-head h2{font-size:2rem;margin-bottom:14px;}
.section-head p{color:#4a5568;}
.bg-light{background:var(--light);}
.bg-dark{background:var(--dark);color:var(--white);}
.bg-dark h2,.bg-dark h3{color:var(--white);}

/* ── GENERIC GRIDS ───────────────────────────────────────────────────────── */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:32px;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}

/* ── ICON BOXES (generic) ────────────────────────────────────────────────── */
.icon-box{background:var(--white);border:1px solid #e7eef5;border-radius:14px;padding:28px 24px;
  overflow:hidden;transition:transform .25s ease,box-shadow .25s ease;}
.icon-box:hover{transform:translateY(-6px);box-shadow:0 18px 36px rgba(13,27,42,.1);}
.icon-circle{width:52px;height:52px;min-width:52px;border-radius:12px;background:rgba(0,91,150,.1);
  color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:1.4rem;
  margin-bottom:16px;overflow:hidden;flex-shrink:0;}
.icon-box h3{font-size:1.08rem;margin-bottom:8px;}
.icon-box p{font-size:.9rem;color:#4a5568;}

/* ── SERVICE CARDS (index grid) ──────────────────────────────────────────── */
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.svc-card{background:var(--white);border:1px solid #e7eef5;border-radius:14px;padding:22px 18px;
  display:flex;flex-direction:column;gap:10px;min-height:0;overflow:hidden;
  transition:transform .25s ease,box-shadow .25s ease;}
.svc-card:hover{transform:translateY(-5px);box-shadow:0 16px 32px rgba(13,27,42,.1);border-color:transparent;}
.svc-card .card-icon{width:46px;height:46px;min-width:46px;min-height:46px;border-radius:10px;
  background:rgba(0,91,150,.08);display:flex;align-items:center;justify-content:center;
  font-size:1.25rem;overflow:hidden;flex-shrink:0;}
.svc-card h3{font-size:.95rem;line-height:1.3;color:var(--dark);margin:0;}
.svc-card p{font-size:.82rem;color:#4a5568;line-height:1.55;margin:0;overflow:hidden;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;flex:1;}
.svc-card .card-link{font-size:.82rem;font-weight:700;color:var(--primary);margin-top:auto;flex-shrink:0;}
.svc-card .card-link:hover{color:var(--cta);}

/* ── CLUSTER HEADERS ─────────────────────────────────────────────────────── */
.cluster-head{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:12px;
  border-bottom:2px solid #e7eef5;}
.cluster-head h2{font-size:1.2rem;color:var(--primary);margin:0;}

/* ── PROCESS STEPS ───────────────────────────────────────────────────────── */
.process-list{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.process-item{padding-top:6px;}
.process-num{font-family:'Poppins';font-weight:800;font-size:2rem;color:var(--secondary);opacity:.45;line-height:1;}
.process-item h3{font-size:1rem;margin:8px 0 6px;}
.process-item p{font-size:.88rem;color:#4a5568;}

/* ── COUNTERS ────────────────────────────────────────────────────────────── */
.counter-row{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center;}
.counter-item .num{font-family:'Poppins';font-weight:800;font-size:2.3rem;color:var(--accent);}
.counter-item small{display:block;color:#cfe5f1;font-size:.83rem;margin-top:4px;}

/* ── AREA CHIPS ──────────────────────────────────────────────────────────── */
.area-chip-grid{display:flex;flex-wrap:wrap;gap:10px;}
.area-chip{background:var(--light);border:1px solid #d8e8f2;padding:8px 16px;border-radius:30px;
  font-size:.86rem;font-weight:600;color:var(--dark);transition:background .2s,color .2s;}
.area-chip:hover{background:var(--primary);color:var(--white);border-color:transparent;}

/* ── PRICING ─────────────────────────────────────────────────────────────── */
.price-card{background:var(--white);border:1px solid #e7eef5;border-radius:16px;padding:30px 24px;text-align:center;overflow:hidden;}
.price-card.featured{border-color:var(--cta);box-shadow:0 18px 36px rgba(255,106,0,.1);transform:scale(1.03);}
.price-card h3{font-size:1.15rem;margin-bottom:6px;}
.price-card .price{font-family:'Poppins';font-weight:800;font-size:1.75rem;color:var(--primary);margin:10px 0;}
.price-card ul{margin:16px 0;text-align:left;}
.price-card ul li{padding:6px 0;font-size:.9rem;color:#4a5568;border-bottom:1px dashed #e7eef5;}

/* ── FAQ ─────────────────────────────────────────────────────────────────── */
.faq-section{padding:72px 0;}
.faq-list{max-width:800px;margin:0 auto;}
.faq-item{border-bottom:1px solid #e7eef5;}
.faq-q{width:100%;text-align:left;background:none;border:none;padding:17px 4px;font-family:'Poppins';
  font-weight:700;font-size:.97rem;color:var(--dark);display:flex;justify-content:space-between;
  align-items:center;cursor:pointer;gap:16px;}
.faq-q span{transition:transform .2s ease;color:var(--cta);font-size:1.2rem;flex-shrink:0;}
.faq-item.open .faq-q span{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.faq-a p{padding:0 4px 16px;color:#4a5568;font-size:.92rem;line-height:1.7;}
.faq-item.open .faq-a{max-height:400px;}

/* ── EMERGENCY CTA BAND ──────────────────────────────────────────────────── */
.emergency-cta{background:linear-gradient(120deg,var(--primary),var(--dark));color:var(--white);padding:72px 0;text-align:center;}
.emergency-cta h2{color:var(--white);font-size:1.85rem;margin-bottom:10px;}
.emergency-cta p{color:#cfe5f1;max-width:580px;margin:0 auto 26px;}
.cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* ── CONTACT FORM ────────────────────────────────────────────────────────── */
.contact-form-section{padding:72px 0;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
.form-points li{padding:6px 0;color:#4a5568;font-size:.9rem;}
.emergency-form{background:var(--white);border:1px solid #e7eef5;border-radius:16px;padding:28px;
  box-shadow:0 18px 40px rgba(13,27,42,.08);display:flex;flex-direction:column;gap:14px;}
.emergency-form label{font-size:.85rem;font-weight:600;color:var(--dark);display:flex;flex-direction:column;gap:6px;}
.emergency-form input,.emergency-form select,.emergency-form textarea{font-family:'Inter';font-size:.92rem;
  padding:11px 13px;border:1px solid #d8e3ec;border-radius:8px;color:var(--text);background:var(--white);}
.emergency-form input:focus,.emergency-form select:focus,.emergency-form textarea:focus{outline:2px solid var(--secondary);border-color:var(--secondary);}

/* ── COVERAGE MAP ────────────────────────────────────────────────────────── */
.coverage-map{border-radius:14px;overflow:hidden;border:1px solid #e7eef5;}
.coverage-map iframe{width:100%;height:380px;border:0;display:block;}

/* ── BREADCRUMB ──────────────────────────────────────────────────────────── */
.breadcrumb{font-size:.83rem;color:#647889;padding:14px 0;}
.breadcrumb a{color:#647889;}
.breadcrumb a:hover{color:var(--primary);}
.breadcrumb span{color:var(--dark);font-weight:600;}

/* ── BLOG CARDS ──────────────────────────────────────────────────────────── */
.blog-card{background:var(--white);border:1px solid #e7eef5;border-radius:14px;overflow:hidden;}
.blog-card .blog-body{padding:20px;}
.blog-card h3{font-size:1rem;margin-bottom:8px;}
.blog-meta{font-size:.76rem;color:#7f97a8;margin-bottom:10px;}

/* ── FOOTER ──────────────────────────────────────────────────────────────── */
.site-footer{background:var(--dark);color:#cfe5f1;padding:60px 0 0;}
.footer-grid{max-width:1180px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;}
.footer-col h3{color:var(--white);font-size:1.15rem;margin-bottom:14px;}
.footer-col h4{color:var(--white);font-size:.9rem;margin-bottom:14px;letter-spacing:.04em;text-transform:uppercase;}
.footer-col p{font-size:.86rem;margin-bottom:10px;color:#a9c2d3;line-height:1.6;}
.footer-col ul li{margin-bottom:8px;}
.footer-col ul li a{color:#a9c2d3;font-size:.86rem;}
.footer-col ul li a:hover{color:var(--accent);}
.footer-col .cta-btn{margin-top:12px;font-size:.86rem;padding:11px 18px;}
.footer-bottom{margin-top:40px;border-top:1px solid rgba(255,255,255,.08);padding:20px 24px;text-align:center;font-size:.78rem;color:#7f97a8;}

/* ── RELATED SERVICE LINKS ───────────────────────────────────────────────── */
.rel-link-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.rel-link-card{background:var(--light);border:1px solid #e7eef5;border-radius:10px;padding:18px 16px;
  display:flex;flex-direction:column;gap:8px;transition:border-color .2s,box-shadow .2s;overflow:hidden;}
.rel-link-card:hover{border-color:var(--primary);box-shadow:0 8px 20px rgba(0,91,150,.1);}
.rel-link-card h3{font-size:.9rem;color:var(--dark);line-height:1.3;margin:0;}
.rel-link-card a{font-size:.82rem;font-weight:700;color:var(--primary);}

/* ── RESPONSIVE ──────────────────────────────────────────────────────────── */
@media(max-width:1024px){
  .svc-grid{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:980px){
  .hero h1{font-size:2rem;}
  .hero .container,.hero .container.hero-grid{display:block;}
  .hero-media{margin-top:28px;}
  .grid-2,.form-grid{grid-template-columns:1fr;}
  .grid-3,.process-list,.counter-row{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .svc-grid{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:680px){
  .svc-grid,.grid-3,.grid-4,.process-list,.counter-row{grid-template-columns:repeat(2,1fr);}
  .rel-link-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:760px){
  .main-nav{display:none;}
  .floating-call-btn{display:flex;}
  .hero h1{font-size:1.8rem;}
  .footer-grid{grid-template-columns:1fr;}
}
@media(max-width:420px){
  .svc-grid,.grid-3,.grid-4{grid-template-columns:1fr;}
  .rel-link-grid{grid-template-columns:1fr;}
}

/* ── VIDEO INTRO SECTION ─────────────────────────────────────────────────── */
.video-intro-section{background:var(--dark);padding:80px 0;position:relative;overflow:hidden;}
.video-intro-section::before{content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 0%,rgba(0,91,150,.28) 0%,transparent 70%);pointer-events:none;}
.video-intro-wrap{display:grid;grid-template-columns:1fr 1.6fr;gap:52px;align-items:center;}
.video-intro-copy .eyebrow{color:var(--secondary);}
.video-intro-copy h2{color:var(--white);font-size:2rem;margin:10px 0 16px;}
.video-intro-copy p{color:#a9c2d3;font-size:1rem;line-height:1.7;margin-bottom:22px;}
.video-intro-bullets{display:grid;gap:12px;margin-bottom:28px;}
.video-intro-bullet{display:flex;align-items:center;gap:12px;color:#cfe5f1;font-size:.92rem;}
.video-intro-bullet-icon{width:34px;height:34px;min-width:34px;border-radius:9px;
  background:rgba(0,200,179,.12);border:1px solid rgba(0,200,179,.25);
  display:flex;align-items:center;justify-content:center;font-size:1rem;}
.video-intro-cta{display:inline-flex;align-items:center;gap:8px;background:var(--cta);
  color:#fff;font-family:'Poppins',sans-serif;font-weight:700;font-size:.92rem;
  padding:13px 24px;border-radius:8px;transition:transform .2s,box-shadow .2s;}
.video-intro-cta:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(255,106,0,.35);color:#fff;}
.video-frame-outer{position:relative;border-radius:18px;overflow:hidden;
  box-shadow:0 40px 80px rgba(0,0,0,.55),0 0 0 1px rgba(0,174,239,.18);
  background:#000;}
.video-frame-outer::before{content:'';display:block;padding-top:56.25%;}
.video-frame-outer iframe{position:absolute;inset:0;width:100%;height:100%;border:none;border-radius:18px;}
.video-overlay{position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;cursor:pointer;
  background:linear-gradient(135deg,rgba(13,27,42,.72),rgba(0,91,150,.55));
  border-radius:18px;transition:background .3s;}
.video-overlay:hover{background:linear-gradient(135deg,rgba(13,27,42,.5),rgba(0,91,150,.38));}
.video-play-btn{width:74px;height:74px;border-radius:50%;
  background:var(--cta);display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 0 0 rgba(255,106,0,.5);
  animation:videoPlayPulse 2.2s ease-in-out infinite;transition:transform .2s;}
.video-overlay:hover .video-play-btn{transform:scale(1.1);}
.video-play-btn svg{width:28px;height:28px;fill:#fff;margin-left:4px;}
.video-overlay-label{margin-top:18px;color:#fff;font-family:'Poppins',sans-serif;
  font-weight:700;font-size:.92rem;letter-spacing:.04em;
  background:rgba(13,27,42,.65);padding:7px 18px;border-radius:30px;
  border:1px solid rgba(255,255,255,.18);}
.video-overlay-sub{margin-top:6px;color:rgba(255,255,255,.65);font-size:.78rem;text-align:center;}
.video-scan{position:absolute;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,rgba(0,200,179,.7),rgba(0,200,179,1),rgba(0,200,179,.7),transparent);
  animation:scanBeam 5s ease-in-out infinite;pointer-events:none;z-index:5;}
.video-badge-live{position:absolute;top:16px;left:16px;z-index:6;
  background:rgba(13,27,42,.88);backdrop-filter:blur(8px);
  border:1px solid rgba(255,68,68,.4);border-radius:8px;
  padding:6px 12px;font-family:'Poppins',sans-serif;font-weight:700;
  font-size:.72rem;color:#fff;display:flex;align-items:center;gap:6px;}
.video-badge-live .vdot{width:7px;height:7px;border-radius:50%;
  background:#ff4444;animation:blinkDot 1.2s ease-in-out infinite;}
.video-trust-strip{display:flex;gap:24px;flex-wrap:wrap;margin-top:20px;padding-top:20px;
  border-top:1px solid rgba(255,255,255,.08);}
.video-trust-item{display:flex;align-items:center;gap:8px;color:#7f97a8;font-size:.82rem;}
.video-trust-item span{color:var(--accent);font-size:1rem;}
@keyframes videoPlayPulse{0%,100%{box-shadow:0 0 0 0 rgba(255,106,0,.5)}
  50%{box-shadow:0 0 0 16px rgba(255,106,0,0)}}
@media(max-width:900px){
  .video-intro-wrap{grid-template-columns:1fr;}
  .video-intro-copy h2{font-size:1.6rem;}
}

/* ── Restoration Photo Gallery ─────────────────────────────────────── */
.photo-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:28px;}
.photo-gallery-item{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:4/3;
  box-shadow:0 8px 24px rgba(13,27,42,.1);}
.photo-gallery-item img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .35s ease;}
.photo-gallery-item:hover img{transform:scale(1.06);}
.photo-gallery-caption{position:absolute;left:0;right:0;bottom:0;padding:10px 12px 8px;
  background:linear-gradient(0deg,rgba(13,27,42,.88),rgba(13,27,42,0));
  color:#fff;font-size:.8rem;font-weight:600;line-height:1.3;}
@media(max-width:980px){.photo-gallery-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.photo-gallery-grid{grid-template-columns:1fr;}}
