/* ===================================================================
   LEGACY WATER RESTORATION — Inner Pages
   About / Services / Areas We Serve / Contact
   Extends style.css — uses the same design tokens
=================================================================== */

/* ---------- Breadcrumb / Page hero ---------- */
.page-hero{
  position:relative;background:var(--gradient-brand);color:#fff;overflow:hidden;
  padding:6.5rem 0 5.5rem;
}
[data-theme="dark"] .page-hero{background:linear-gradient(150deg,#040F1C 0%,#0A2440 55%,#0D4C58 100%);}
.page-hero .droplets{z-index:0;}
.breadcrumb{
  display:inline-flex;align-items:center;gap:.5rem;font-size:.82rem;font-weight:600;color:rgba(233,244,248,.75);
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);padding:.45rem .9rem;border-radius:var(--radius-pill);
  margin-bottom:1.4rem;position:relative;z-index:1;
}
.breadcrumb a{color:rgba(233,244,248,.75);transition:color .2s;}
.breadcrumb a:hover{color:#fff;}
.breadcrumb svg{width:12px;height:12px;flex:none;opacity:.6;}
.page-hero h1{position:relative;z-index:1;font-size:clamp(2.2rem,4.6vw,3.4rem);font-weight:650;line-height:1.12;color:#fff;max-width:820px;}
.page-hero p{position:relative;z-index:1;margin-top:1.15rem;font-size:1.08rem;color:rgba(233,244,248,.86);max-width:620px;}
.page-hero-stats{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:2.2rem;margin-top:2.2rem;}
.page-hero-stats div strong{display:block;font-family:var(--font-display);font-size:1.6rem;font-weight:700;color:#fff;}
.page-hero-stats div span{font-size:.78rem;color:rgba(233,244,248,.7);text-transform:uppercase;letter-spacing:.06em;}
.page-hero-blob{position:absolute;border-radius:50%;filter:blur(30px);pointer-events:none;}
.page-hero-blob.b1{width:380px;height:380px;background:radial-gradient(circle,rgba(43,160,250,.35),transparent 65%);top:-120px;right:-60px;animation:float-slow 9s ease-in-out infinite;}
.page-hero-blob.b2{width:260px;height:260px;background:radial-gradient(circle,rgba(143,211,255,.25),transparent 65%);bottom:-100px;left:10%;animation:float-slow 7.5s ease-in-out infinite 1s;}

/* ---------- Generic split section (image / copy) ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center;}
@media(max-width:900px){.split{grid-template-columns:1fr;gap:2.4rem;}}
.split-reverse .split-media{order:2;}
.split-reverse .split-copy{order:1;}
@media(max-width:900px){.split-reverse .split-media,.split-reverse .split-copy{order:0;}}
.split-copy h2{font-size:clamp(1.7rem,3vw,2.3rem);font-weight:650;line-height:1.18;margin-bottom:1rem;}
.split-copy p{margin-bottom:1rem;}
.split-media{position:relative;}
.split-media img{width:100%;border-radius:var(--radius-lg);object-fit:cover;aspect-ratio:4/3.4;}
.split-media-badge{
  position:absolute;bottom:-1.2rem;left:-1.2rem;background:var(--surface);border:1px solid var(--border);
  border-radius:16px;padding:1rem 1.2rem;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:.75rem;max-width:250px;
}
.split-media-badge svg{width:30px;height:30px;color:var(--accent);flex:none;}
.split-media-badge strong{display:block;font-family:var(--font-display);font-size:.9rem;}
.split-media-badge span{font-size:.76rem;color:var(--text-muted);}
@media(max-width:575px){.split-media-badge{left:.4rem;bottom:-1rem;padding:.75rem .9rem;}}

/* ---------- Mission / Vision dual cards ---------- */
.dual-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;}
@media(max-width:767px){.dual-cards{grid-template-columns:1fr;}}
.dual-card{
  position:relative;overflow:hidden;border-radius:var(--radius-lg);padding:2.4rem 2.1rem;isolation:isolate;
}
.dual-card.tone-dark{background:var(--gradient-brand);color:#fff;}
.dual-card.tone-light{background:var(--surface);border:1px solid var(--border);}
.dual-card .dual-icon{
  width:56px;height:56px;border-radius:16px;display:grid;place-items:center;margin-bottom:1.3rem;
  background:rgba(255,255,255,.14);color:#fff;
}
.dual-card.tone-light .dual-icon{background:rgba(15,132,238,.12);color:var(--teal-600);}
[data-theme="dark"] .dual-card.tone-light .dual-icon{color:var(--accent-2);}
.dual-card .dual-icon svg{width:28px;height:28px;}
.dual-card h3{font-size:1.3rem;font-weight:650;margin-bottom:.7rem;}
.dual-card.tone-dark h3{color:#fff;}
.dual-card p{font-size:.96rem;line-height:1.75;}
.dual-card.tone-dark p{color:rgba(233,244,248,.85);}
.dual-card-ring{position:absolute;width:220px;height:220px;border-radius:50%;border:1px solid rgba(255,255,255,.14);right:-60px;bottom:-70px;z-index:-1;}

/* ---------- Values grid (icon tiles, distinct from why-card) ---------- */
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem;}
@media(max-width:991px){.values-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.values-grid{grid-template-columns:1fr;}}
.value-tile{
  text-align:center;padding:2rem 1.3rem;border-radius:var(--radius-md);background:var(--surface-alt);
  transition:transform .4s var(--ease),background .35s,box-shadow .35s;
}
.value-tile:hover{transform:translateY(-6px);background:var(--gradient-accent);box-shadow:var(--shadow-md);}
.value-tile .v-icon{
  width:60px;height:60px;border-radius:50%;background:var(--surface);color:var(--teal-600);display:grid;place-items:center;
  margin:0 auto 1.1rem;transition:background .35s,color .35s;box-shadow:var(--shadow-sm);
}
[data-theme="dark"] .value-tile .v-icon{color:var(--accent-2);}
.value-tile:hover .v-icon{background:rgba(255,255,255,.9);color:#0B6FE0;}
.value-tile .v-icon svg{width:26px;height:26px;}
.value-tile h3{font-size:1rem;font-weight:600;margin-bottom:.5rem;}
.value-tile:hover h3,.value-tile:hover p{color:#04222b;}
.value-tile p{font-size:.85rem;}

/* ---------- Alternating feature rows (differentiators) ---------- */
.feature-rows{display:flex;flex-direction:column;gap:0;}
.feature-row{
  display:grid;grid-template-columns:64px 1fr auto;gap:1.5rem;align-items:center;
  padding:1.7rem 0;border-bottom:1px solid var(--border);
}
.feature-row:first-child{border-top:1px solid var(--border);}
.feature-row .fr-num{
  width:56px;height:56px;border-radius:16px;background:var(--surface-alt);color:var(--accent);
  display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:1.1rem;
}
.feature-row .fr-copy h3{font-size:1.05rem;font-weight:600;margin-bottom:.35rem;}
.feature-row .fr-copy p{font-size:.9rem;margin:0;}
.feature-row .fr-tag{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);white-space:nowrap;}
@media(max-width:640px){
  .feature-row{grid-template-columns:48px 1fr;}
  .feature-row .fr-tag{display:none;}
}

/* ---------- Certification / trust badge strip ---------- */
.cert-strip{
  display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;padding:2.4rem;border-radius:var(--radius-lg);
  background:var(--surface-alt);border:1px solid var(--border);
}
.cert-chip{
  display:flex;align-items:center;gap:.7rem;background:var(--surface);border:1px solid var(--border);border-radius:14px;
  padding:.9rem 1.2rem;
}
.cert-chip svg{width:26px;height:26px;color:var(--accent);flex:none;}
.cert-chip strong{display:block;font-size:.86rem;font-family:var(--font-display);font-weight:600;}
.cert-chip span{font-size:.72rem;color:var(--text-muted);}

/* ---------- Equipment / technology showcase ---------- */
.tech-showcase{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;}
@media(max-width:900px){.tech-showcase{grid-template-columns:1fr;}}
.tech-card{
  position:relative;border-radius:var(--radius-md);overflow:hidden;aspect-ratio:16/10;isolation:isolate;
}
.tech-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease);}
.tech-card:hover img{transform:scale(1.06);}
.tech-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,15,38,.88),rgba(4,15,38,.05) 60%);}
.tech-card-copy{position:absolute;left:0;right:0;bottom:0;padding:1.3rem 1.4rem;z-index:1;}
.tech-card-copy strong{display:block;color:#fff;font-family:var(--font-display);font-size:1rem;margin-bottom:.25rem;}
.tech-card-copy span{color:rgba(233,244,248,.8);font-size:.82rem;}
.tech-card.span-2{grid-column:1/-1;aspect-ratio:16/7;}
@media(max-width:900px){.tech-card.span-2{grid-column:auto;aspect-ratio:16/10;}}

/* ---------- Community / local commitment ---------- */
.commitment-section{position:relative;overflow:hidden;border-radius:var(--radius-lg);background:var(--gradient-brand);color:#fff;padding:3.4rem;}
[data-theme="dark"] .commitment-section{background:linear-gradient(120deg,#08121F,#0A2C3A);}
.commitment-section .commitment-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:2.4rem;align-items:center;position:relative;z-index:1;}
@media(max-width:900px){.commitment-section .commitment-grid{grid-template-columns:1fr;}}
.commitment-section h2{color:#fff;font-size:clamp(1.6rem,3vw,2.15rem);}
.commitment-section p{color:rgba(233,244,248,.85);margin-top:.9rem;}
.commitment-points{display:flex;flex-direction:column;gap:.9rem;margin-top:1.5rem;}
.commitment-points li{display:flex;gap:.7rem;align-items:flex-start;font-size:.92rem;color:rgba(233,244,248,.92);list-style:none;}
.commitment-points svg{width:20px;height:20px;color:var(--cyan-300);flex:none;margin-top:.1rem;}
.commitment-stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.commitment-stats div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:1.3rem;text-align:center;backdrop-filter:blur(6px);}
.commitment-stats strong{display:block;font-family:var(--font-display);font-size:1.7rem;font-weight:700;}
.commitment-stats span{font-size:.74rem;color:rgba(233,244,248,.75);}
.commitment-ripples{position:absolute;left:-80px;bottom:-80px;width:320px;height:320px;pointer-events:none;}

/* ---------- Section eyebrow reuse handled by style.css (.eyebrow, .section-head) ---------- */

/* ==================== SERVICES PAGE ==================== */

/* Quick-nav bento grid */
.svc-nav-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;}
@media(max-width:991px){.svc-nav-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.svc-nav-grid{grid-template-columns:1fr;}}
.svc-nav-item{
  display:flex;align-items:center;gap:.8rem;background:var(--surface);border:1px solid var(--border);border-radius:14px;
  padding:1rem 1.1rem;transition:border-color .3s,transform .3s,background .3s;
}
.svc-nav-item:hover{border-color:var(--accent);transform:translateY(-3px);background:var(--surface-alt);}
.svc-nav-item .num{font-family:var(--font-display);font-weight:700;font-size:.86rem;color:#04222b;flex:none;width:34px;height:34px;border-radius:11px;background:var(--gradient-accent);display:grid;place-items:center;transition:transform .3s var(--ease);}
.svc-nav-item:hover .num{transform:rotate(-8deg) scale(1.08);}
.svc-nav-item span.label{font-size:.88rem;font-weight:600;}

/* Detail section shared scaffolding uses .split / .split-reverse already defined */
.svc-detail{scroll-margin-top:110px;}
.svc-feature-list{display:grid;grid-template-columns:1fr 1fr;gap:.7rem 1.4rem;margin-top:1.3rem;}
@media(max-width:480px){.svc-feature-list{grid-template-columns:1fr;}}
.svc-feature-list li{display:flex;gap:.55rem;align-items:flex-start;font-size:.9rem;list-style:none;color:var(--text-primary);}
.svc-feature-list svg{width:17px;height:17px;color:var(--accent);flex:none;margin-top:.15rem;}

/* Stat highlight band (used for e.g. Structural Drying) */
.svc-stat-band{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;}
@media(max-width:767px){.svc-stat-band{grid-template-columns:1fr 1fr;}}
.svc-stat{text-align:center;padding:1.8rem 1rem;border-radius:var(--radius-md);background:var(--surface-alt);}
.svc-stat strong{display:block;font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--accent);}
.svc-stat span{font-size:.82rem;color:var(--text-muted);}

/* Numbered mini-process (not a timeline visual — independent cards) */
.svc-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;}
@media(max-width:900px){.svc-steps{grid-template-columns:1fr 1fr;}}
@media(max-width:480px){.svc-steps{grid-template-columns:1fr;}}
.svc-step-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.6rem 1.4rem;position:relative;}
.svc-step-card .step-num{
  font-family:var(--font-display);font-weight:700;font-size:1.6rem;color:var(--border-strong);margin-bottom:.6rem;
}
.svc-step-card h3{font-size:.98rem;font-weight:600;margin-bottom:.4rem;}
.svc-step-card p{font-size:.85rem;}

/* Accordion detail (leak repair) reuses .faq-item / .faq-q / .faq-a from style.css */

/* Insurance / claims split with steps */
.insurance-steps{display:flex;flex-direction:column;gap:1.1rem;margin-top:1.4rem;}
.insurance-step{display:flex;gap:1rem;align-items:flex-start;}
.insurance-step .is-num{
  flex:none;width:34px;height:34px;border-radius:50%;background:var(--gradient-accent);color:#04222b;
  display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:.9rem;
}
.insurance-step strong{display:block;font-size:.94rem;margin-bottom:.15rem;}
.insurance-step p{font-size:.86rem;margin:0;}

/* ==================== AREAS WE SERVE PAGE ==================== */
.city-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;}
@media(max-width:900px){.city-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:575px){.city-grid{grid-template-columns:1fr;}}
.city-card{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.7rem 1.5rem;
  transition:transform .35s var(--ease),box-shadow .35s;position:relative;overflow:hidden;
}
.city-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);}
.city-card .city-icon{width:46px;height:46px;border-radius:12px;background:rgba(15,132,238,.12);color:var(--teal-600);display:grid;place-items:center;margin-bottom:1rem;}
[data-theme="dark"] .city-card .city-icon{color:var(--accent-2);}
.city-card .city-icon svg{width:22px;height:22px;}
.city-card h3{font-size:1.02rem;font-weight:650;margin-bottom:.4rem;}
.city-card p{font-size:.86rem;margin-bottom:.9rem;}
.city-card .city-eta{display:inline-flex;align-items:center;gap:.4rem;font-size:.76rem;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.04em;}
.city-card .city-eta svg{width:14px;height:14px;}

.spotlight-section{position:relative;border-radius:var(--radius-lg);overflow:hidden;background:var(--surface-alt);padding:0;}
.spotlight-grid{display:grid;grid-template-columns:1fr 1fr;}
@media(max-width:900px){.spotlight-grid{grid-template-columns:1fr;}}
.spotlight-media{position:relative;min-height:320px;}
.spotlight-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}
.spotlight-copy{padding:3rem 3rem;}
@media(max-width:575px){.spotlight-copy{padding:2rem 1.4rem;}}
.spotlight-copy h2{font-size:clamp(1.6rem,3vw,2.1rem);margin-bottom:1rem;}
.spotlight-chips{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.4rem;}
.spotlight-chip{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);padding:.45rem .95rem;font-size:.78rem;font-weight:600;color:var(--text-primary);}

.response-band{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;}
@media(max-width:767px){.response-band{grid-template-columns:1fr 1fr;}}
.response-item{text-align:center;padding:2rem 1.2rem;border-radius:var(--radius-md);border:1px dashed var(--border-strong);}
.response-item .r-icon{width:52px;height:52px;border-radius:50%;background:var(--gradient-accent);color:#04222b;display:grid;place-items:center;margin:0 auto 1rem;}
.response-item .r-icon svg{width:24px;height:24px;}
.response-item strong{display:block;font-family:var(--font-display);font-size:1.05rem;margin-bottom:.3rem;}
.response-item p{font-size:.84rem;margin:0;}

/* ==================== CONTACT PAGE ==================== */
.contact-methods{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;}
@media(max-width:900px){.contact-methods{grid-template-columns:1fr 1fr;}}
@media(max-width:480px){.contact-methods{grid-template-columns:1fr;}}
.contact-method{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.8rem 1.4rem;text-align:center;
  transition:transform .35s var(--ease),box-shadow .35s,border-color .3s;
}
.contact-method:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:transparent;}
.contact-method .cm-icon{width:54px;height:54px;border-radius:50%;background:var(--gradient-accent);color:#04222b;display:grid;place-items:center;margin:0 auto 1.1rem;}
.contact-method .cm-icon svg{width:24px;height:24px;}
.contact-method h3{font-size:.95rem;font-weight:650;margin-bottom:.4rem;}
.contact-method a,.contact-method p{font-size:.86rem;color:var(--text-secondary);}
.contact-method a{color:var(--accent);font-weight:600;}

.contact-wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:2.6rem;align-items:start;}
@media(max-width:991px){.contact-wrap{grid-template-columns:1fr;}}
.contact-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2.2rem;box-shadow:var(--shadow-sm);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
@media(max-width:575px){.form-row{grid-template-columns:1fr;}}
.form-group{margin-bottom:1.1rem;}
.form-group label{display:block;font-size:.84rem;font-weight:600;margin-bottom:.4rem;color:var(--text-primary);}
.form-group input,.form-group select,.form-group textarea{
  width:100%;padding:.8rem 1rem;border-radius:12px;border:1px solid var(--border-strong);background:var(--bg);
  color:var(--text-primary);font-family:var(--font-body);font-size:.92rem;transition:border-color .25s,box-shadow .25s;
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{
  outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(15,132,238,.15);
}
.form-group textarea{resize:vertical;min-height:120px;}
.form-note{font-size:.78rem;color:var(--text-muted);margin-top:.8rem;}
.form-success{display:none;text-align:center;padding:2.4rem 1rem;}
.form-success.show{display:block;}
.form-success .fs-icon{width:64px;height:64px;border-radius:50%;background:var(--gradient-accent);color:#04222b;display:grid;place-items:center;margin:0 auto 1.2rem;}
.form-success .fs-icon svg{width:30px;height:30px;}
.form-success h3{font-size:1.2rem;margin-bottom:.5rem;}

.contact-sidebar{display:flex;flex-direction:column;gap:1.2rem;}
.sidebar-card{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.6rem 1.5rem;}
.sidebar-card h4{font-family:var(--font-display);font-size:1rem;margin-bottom:.9rem;}
.sidebar-hours{display:flex;justify-content:space-between;font-size:.86rem;padding:.5rem 0;border-bottom:1px solid var(--border);}
.sidebar-hours:last-child{border-bottom:none;}
.sidebar-hours span:first-child{color:var(--text-secondary);}
.sidebar-hours span:last-child{font-weight:600;}
.sidebar-emergency{background:var(--gradient-brand);color:#fff;border-radius:var(--radius-md);padding:1.6rem 1.5rem;text-align:center;}
[data-theme="dark"] .sidebar-emergency{background:linear-gradient(120deg,#08121F,#0A2C3A);}
.sidebar-emergency strong{display:block;font-family:var(--font-display);font-size:1.05rem;margin-bottom:.5rem;}
.sidebar-emergency p{color:rgba(233,244,248,.82);font-size:.84rem;margin-bottom:1.1rem;}

.map-section{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-sm);}
.map-section iframe{width:100%;height:420px;border:0;display:block;filter:grayscale(.15) contrast(1.05);}

/* ---------- Shared: numbered process step icon animation ---------- */
@keyframes pulse-ring{0%{box-shadow:0 0 0 0 rgba(15,132,238,.35);}70%{box-shadow:0 0 0 14px rgba(15,132,238,0);}100%{box-shadow:0 0 0 0 rgba(15,132,238,0);}}
.pulse-ring{animation:pulse-ring 2.4s infinite;}

/* ---------- Responsive nav-cta safety on inner pages ---------- */
@media(max-width:359px){.page-hero{padding:5.5rem 0 4rem;}}

/* ==================================================================
   HERO 2.0 — split layout with illustration (replaces plain centered hero)
================================================================== */
.page-hero{padding:0;overflow:visible;}
.hero-v2{
  position:relative;background:var(--gradient-brand);color:#fff;overflow:hidden;
  padding:6rem 0 5.5rem;
}
[data-theme="dark"] .hero-v2{background:linear-gradient(150deg,#040F1C 0%,#0A2440 55%,#0D4C58 100%);}
.hero-v2 .dot-grid{
  position:absolute;inset:0;opacity:.35;z-index:0;
  background-image:radial-gradient(rgba(255,255,255,.35) 1px,transparent 1px);
  background-size:26px 26px;
  -webkit-mask-image:radial-gradient(ellipse 60% 60% at 30% 40%,#000 40%,transparent 78%);
  mask-image:radial-gradient(ellipse 60% 60% at 30% 40%,#000 40%,transparent 78%);
}
.hero-v2-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:2.5rem;align-items:center;}
@media(max-width:991px){.hero-v2-grid{grid-template-columns:1fr;text-align:center;}}
.hero-v2 h1{font-size:clamp(2.1rem,4.4vw,3.15rem);font-weight:650;line-height:1.12;color:#fff;}
.hero-v2 p.lede{margin-top:1.1rem;font-size:1.05rem;color:rgba(233,244,248,.86);max-width:560px;}
@media(max-width:991px){.hero-v2 p.lede{margin-inline:auto;}}
.hero-v2-badges{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:2rem;}
@media(max-width:991px){.hero-v2-badges{justify-content:center;}}
.hero-v2-badges div strong{display:block;font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:#fff;}
.hero-v2-badges div span{font-size:.75rem;color:rgba(233,244,248,.7);text-transform:uppercase;letter-spacing:.06em;}
.hero-v2-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem;}
@media(max-width:991px){.hero-v2-actions{justify-content:center;}}

/* illustration stage */
.hero-illustration{position:relative;height:420px;display:flex;align-items:center;justify-content:center;}
@media(max-width:991px){.hero-illustration{height:320px;margin-top:1rem;}}
@media(max-width:480px){.hero-illustration{height:260px;}}
.hero-illustration .orbit-ring{position:absolute;border:1.5px dashed rgba(255,255,255,.22);border-radius:50%;}
.hero-illustration .orbit-ring.r1{width:340px;height:340px;animation:spin-slow 40s linear infinite;}
.hero-illustration .orbit-ring.r2{width:410px;height:410px;animation:spin-slow-rev 55s linear infinite;}
@media(max-width:480px){.hero-illustration .orbit-ring.r1{width:220px;height:220px;}.hero-illustration .orbit-ring.r2{width:270px;height:270px;}}
@keyframes spin-slow{from{transform:rotate(0);}to{transform:rotate(360deg);}}
@keyframes spin-slow-rev{from{transform:rotate(360deg);}to{transform:rotate(0);}}
.hero-illustration .glow{position:absolute;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(43,160,250,.4),transparent 68%);filter:blur(6px);animation:float-slow 8s ease-in-out infinite;}
.hero-illustration svg.hero-art{position:relative;z-index:1;width:280px;height:auto;filter:drop-shadow(0 18px 40px rgba(2,10,28,.45));}
@media(max-width:480px){.hero-illustration svg.hero-art{width:200px;}}
.hero-illustration .hero-float{position:absolute;z-index:2;}
.hero-illustration .hero-float.hf1{top:6%;left:-4%;}
.hero-illustration .hero-float.hf2{bottom:8%;right:-6%;animation-delay:1.2s;}
@media(max-width:480px){.hero-illustration .hero-float{padding:.55rem .7rem;transform:scale(.82);}
  .hero-illustration .hero-float.hf1{left:-10%;}
  .hero-illustration .hero-float.hf2{right:-10%;}}
.hero-illustration .mini-drop{position:absolute;width:8px;height:11px;background:var(--cyan-300);border-radius:50% 50% 50% 0;transform:rotate(45deg);opacity:.7;animation:rise linear infinite;}

/* wave divider under hero */
.hero-wave-div{position:relative;line-height:0;color:var(--bg);z-index:1;}
.hero-wave-div svg{width:100%;height:auto;display:block;}

/* ==================================================================
   STORY COLLAGE — modern layered photo composition (About: Our Story)
================================================================== */
.story-section{position:relative;overflow:hidden;}
.story-section .deco-blob{position:absolute;border-radius:50%;filter:blur(50px);pointer-events:none;z-index:0;}
.story-section .deco-blob.d1{width:340px;height:340px;background:radial-gradient(circle,rgba(15,132,238,.18),transparent 70%);top:-60px;left:-100px;}
.story-section .deco-blob.d2{width:260px;height:260px;background:radial-gradient(circle,rgba(143,211,255,.22),transparent 70%);bottom:-60px;right:-60px;}
.story-grid{position:relative;z-index:1;display:grid;grid-template-columns:.95fr 1.05fr;gap:3.5rem;align-items:center;}
@media(max-width:900px){.story-grid{grid-template-columns:1fr;gap:3rem;}}

.story-collage{position:relative;padding:1.5rem 2.2rem 2.2rem 0;}
@media(max-width:575px){.story-collage{padding:1rem 1.2rem 1.6rem 0;}}
.story-collage .ring-deco{position:absolute;top:-24px;left:-24px;width:140px;height:140px;border:2px dashed var(--border-strong);border-radius:50%;z-index:0;}
.story-img-main{position:relative;z-index:1;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/4.4;box-shadow:var(--shadow-lg);}
.story-img-main img{width:100%;height:100%;object-fit:cover;}
.story-img-accent{
  position:absolute;right:-1.6rem;bottom:-2rem;width:46%;aspect-ratio:4/3.3;border-radius:var(--radius-md);
  overflow:hidden;border:5px solid var(--surface);box-shadow:var(--shadow-lg);z-index:2;
}
.story-img-accent img{width:100%;height:100%;object-fit:cover;}
@media(max-width:575px){.story-img-accent{right:-.6rem;bottom:-1.6rem;width:48%;}}
.story-badge-float{
  position:absolute;left:-1.2rem;top:1.2rem;z-index:3;background:var(--surface);border-radius:16px;
  padding:.85rem 1.1rem;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:.7rem;
}
.story-badge-float svg{width:26px;height:26px;color:var(--accent);flex:none;}
.story-badge-float strong{display:block;font-family:var(--font-display);font-size:.88rem;}
.story-badge-float span{font-size:.72rem;color:var(--text-muted);}
@media(max-width:575px){.story-badge-float{left:-.4rem;padding:.65rem .85rem;}}

.story-copy .eyebrow{margin-bottom:1rem;}
.story-copy h2{font-size:clamp(1.7rem,3.2vw,2.35rem);font-weight:650;line-height:1.2;margin-bottom:1.2rem;}
.story-quote{
  position:relative;margin:1.5rem 0;padding:1.2rem 1.4rem;border-left:3px solid var(--accent);
  background:var(--surface-alt);border-radius:0 14px 14px 0;font-family:var(--font-display);
  font-size:1.02rem;font-weight:600;color:var(--text-primary);line-height:1.55;
}
.story-stats-row{display:flex;flex-wrap:wrap;gap:1.8rem;margin-top:1.8rem;padding-top:1.6rem;border-top:1px solid var(--border);}
.story-stats-row div strong{display:block;font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--accent);}
.story-stats-row div span{font-size:.78rem;color:var(--text-muted);}

/* ==================================================================
   SERVICE DETAIL 2.0 — ghost numerals, icon badges, richer cards
================================================================== */
.svc-detail{position:relative;overflow:hidden;}
.svc-ghost-num{
  position:absolute;top:-2rem;font-family:var(--font-display);font-weight:800;font-size:11rem;line-height:1;
  color:var(--text-primary);opacity:.04;z-index:0;user-select:none;pointer-events:none;letter-spacing:-.04em;
}
.svc-ghost-num.right{right:-1rem;}
.svc-ghost-num.left{left:-1rem;}
.svc-detail .split,.svc-detail .section-head{position:relative;z-index:1;}
.svc-icon-badge{
  width:58px;height:58px;border-radius:16px;background:var(--gradient-accent);display:grid;place-items:center;
  margin-bottom:1.2rem;box-shadow:0 10px 24px rgba(15,132,238,.3);
}
.svc-icon-badge svg{width:28px;height:28px;color:#04222b;}
.svc-feature-list li{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:.7rem .9rem;transition:border-color .25s,transform .25s;}
.svc-feature-list li:hover{border-color:var(--accent);transform:translateX(3px);}
.svc-feature-list svg{background:rgba(15,132,238,.12);border-radius:50%;padding:3px;width:20px;height:20px;color:var(--teal-600);}
[data-theme="dark"] .svc-feature-list svg{color:var(--accent-2);}

.svc-step-card{transition:transform .35s var(--ease),box-shadow .35s,border-color .3s;}
.svc-step-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:var(--accent);}
.svc-step-card .step-num{background:var(--gradient-accent);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.svc-step-card{position:relative;}
.svc-step-card::before{content:"";position:absolute;top:1.2rem;right:1.2rem;width:8px;height:8px;border-radius:50%;background:var(--accent);opacity:.35;}

.svc-stat{position:relative;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s;}
.svc-stat:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}
.svc-stat::before{content:"";position:absolute;inset:0;background:var(--gradient-accent);opacity:0;transition:opacity .35s;}
.svc-stat:hover::before{opacity:1;}
.svc-stat strong,.svc-stat span{position:relative;z-index:1;transition:color .3s;}
.svc-stat:hover strong,.svc-stat:hover span{color:#04222b;}

/* leak repair accordion visual accent */
.leak-visual{position:relative;background:var(--gradient-brand);border-radius:var(--radius-lg);padding:2.4rem;color:#fff;overflow:hidden;height:100%;display:flex;flex-direction:column;justify-content:center;}
[data-theme="dark"] .leak-visual{background:linear-gradient(120deg,#08121F,#0A2C3A);}
.leak-visual .lv-ring{position:absolute;border:1px dashed rgba(255,255,255,.18);border-radius:50%;}
.leak-visual .lv-ring.a{width:220px;height:220px;top:-60px;right:-60px;}
.leak-visual .lv-ring.b{width:150px;height:150px;bottom:-40px;left:-30px;}
.leak-visual .lv-icon{width:64px;height:64px;border-radius:18px;background:rgba(255,255,255,.12);display:grid;place-items:center;margin-bottom:1.3rem;position:relative;z-index:1;}
.leak-visual .lv-icon svg{width:30px;height:30px;color:#8FD3FF;}
.leak-visual h3{position:relative;z-index:1;color:#fff;font-size:1.3rem;margin-bottom:.7rem;}
.leak-visual p{position:relative;z-index:1;color:rgba(233,244,248,.82);font-size:.92rem;}

/* insurance icon accent */
.insurance-step{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1.1rem 1.2rem;transition:border-color .25s,transform .25s;}
.insurance-step:hover{border-color:var(--accent);transform:translateX(4px);}

/* ==================================================================
   AREAS 2.0 — richer city cards, glow map, spotlight polish
================================================================== */
.city-card{position:relative;isolation:isolate;}
.city-card::before{content:"";position:absolute;inset:0;border-radius:var(--radius-md);padding:1px;background:var(--gradient-accent);opacity:0;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;transition:opacity .3s;z-index:-1;}
.city-card:hover::before{opacity:1;}
.city-card .city-icon{transition:transform .35s var(--ease),background .3s,color .3s;}
.city-card:hover .city-icon{background:var(--gradient-accent);color:#04222b;transform:rotate(-8deg) scale(1.08);}
[data-theme="dark"] .city-card:hover .city-icon{color:#04222b;}
.city-card .city-num{position:absolute;top:1.3rem;right:1.4rem;font-family:var(--font-display);font-weight:800;font-size:1.6rem;color:var(--border-strong);}

.areas-map{position:relative;}
.areas-map::before{content:"";position:absolute;inset:-20px;background:radial-gradient(circle,rgba(15,132,238,.1),transparent 70%);z-index:-1;border-radius:50%;}

.spotlight-section{position:relative;}
.spotlight-section::before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;height:4px;background:var(--gradient-accent);z-index:2;}
.spotlight-chip{transition:transform .25s,background .25s,color .25s;cursor:default;}
.spotlight-chip:hover{background:var(--gradient-accent);color:#04222b;transform:translateY(-2px);border-color:transparent;}

.response-item{position:relative;transition:transform .3s var(--ease),border-color .3s;}
.response-item:hover{transform:translateY(-5px);border-color:var(--accent);border-style:solid;}
.response-item .r-icon{transition:transform .35s var(--ease);}
.response-item:hover .r-icon{transform:scale(1.1) rotate(-6deg);}

/* ==================================================================
   CONTACT 2.0 — richer form container, icon-labelled fields
================================================================== */
.contact-form{position:relative;overflow:hidden;}
.contact-form::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:var(--gradient-accent);}
.contact-form .form-deco{position:absolute;top:-40px;right:-40px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(15,132,238,.12),transparent 70%);pointer-events:none;}
.form-group label{display:flex;align-items:center;gap:.4rem;}
.form-group label svg{width:14px;height:14px;color:var(--accent);}
.form-group input,.form-group select,.form-group textarea{background:var(--surface-alt);}
.contact-method{position:relative;overflow:hidden;}
.contact-method::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--gradient-accent);transform:scaleX(0);transition:transform .35s var(--ease);}
.contact-method:hover::after{transform:scaleX(1);}
.sidebar-card{position:relative;overflow:hidden;}
.sidebar-emergency{position:relative;overflow:hidden;}
.sidebar-emergency::before{content:"";position:absolute;width:140px;height:140px;border-radius:50%;border:1px dashed rgba(255,255,255,.2);top:-50px;right:-50px;}

/* ==================================================================
   SERVICES 2.0 — smaller framed media + abstract illustration panels
================================================================== */
.media-frame{
  position:relative;padding:1.6rem;border-radius:var(--radius-lg);
  background:linear-gradient(150deg,var(--surface-alt),var(--surface));
}
.media-frame::before{
  content:"";position:absolute;inset:0;border-radius:var(--radius-lg);opacity:.5;z-index:0;
  background-image:radial-gradient(var(--border-strong) 1px,transparent 1px);background-size:16px 16px;
  -webkit-mask-image:linear-gradient(160deg,#000,transparent 55%);mask-image:linear-gradient(160deg,#000,transparent 55%);
}
.media-frame .frame-blob{position:absolute;width:180px;height:180px;border-radius:50%;filter:blur(40px);z-index:0;}
.media-frame .frame-blob.fb1{background:radial-gradient(circle,rgba(15,132,238,.28),transparent 70%);top:-40px;right:-40px;}
.media-frame .frame-blob.fb2{background:radial-gradient(circle,rgba(143,211,255,.3),transparent 70%);bottom:-30px;left:-30px;}
.media-frame-img{position:relative;z-index:1;border-radius:var(--radius-md);overflow:hidden;aspect-ratio:4/3.1;box-shadow:var(--shadow-lg);max-width:390px;margin-inline:auto;}
.media-frame-img img{width:100%;height:100%;object-fit:cover;}
.media-frame-tag{
  position:relative;z-index:1;margin-top:-1.6rem;margin-inline:auto;width:fit-content;background:var(--surface);
  border-radius:var(--radius-pill);padding:.55rem 1.1rem;box-shadow:var(--shadow-md);display:flex;align-items:center;gap:.5rem;
  font-size:.78rem;font-weight:700;color:var(--text-primary);transform:translateY(50%);
}
.media-frame-tag svg{width:15px;height:15px;color:var(--accent);}

/* Abstract illustration panel — replaces photos on select service sections */
.abstract-panel{
  position:relative;border-radius:var(--radius-lg);overflow:hidden;background:var(--gradient-brand);
  min-height:360px;display:flex;align-items:center;justify-content:center;isolation:isolate;
}
[data-theme="dark"] .abstract-panel{background:linear-gradient(135deg,#08121F,#0A2C3A);}
.abstract-panel .ap-blob{position:absolute;border-radius:50%;filter:blur(2px);opacity:.5;}
.abstract-panel .ap-blob.a1{width:260px;height:260px;background:radial-gradient(circle,rgba(43,160,250,.5),transparent 70%);top:-70px;left:-60px;animation:float-slow 8s ease-in-out infinite;}
.abstract-panel .ap-blob.a2{width:180px;height:180px;background:radial-gradient(circle,rgba(143,211,255,.4),transparent 70%);bottom:-50px;right:-30px;animation:float-slow 7s ease-in-out infinite 1s;}
.abstract-panel .ap-grid{position:absolute;inset:0;opacity:.25;
  background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);
  background-size:34px 34px;}
.abstract-panel .ap-ring{position:absolute;border:1.5px dashed rgba(255,255,255,.25);border-radius:50%;}
.abstract-panel .ap-ring.ar1{width:230px;height:230px;animation:spin-slow 30s linear infinite;}
.abstract-panel .ap-ring.ar2{width:290px;height:290px;animation:spin-slow-rev 42s linear infinite;}
.abstract-panel .ap-core{
  position:relative;z-index:2;width:118px;height:118px;border-radius:32px;background:rgba(255,255,255,.12);
  backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.22);display:grid;place-items:center;
  box-shadow:0 20px 50px rgba(2,10,28,.4);
}
.abstract-panel .ap-core svg{width:56px;height:56px;color:#fff;}
.abstract-panel .ap-chip{
  position:absolute;z-index:2;background:var(--surface);color:var(--text-primary);border-radius:14px;
  padding:.65rem .9rem;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:.55rem;font-size:.78rem;font-weight:700;
  animation:float-slow 6s ease-in-out infinite;
}
.abstract-panel .ap-chip svg{width:18px;height:18px;color:var(--accent);}
.abstract-panel .ap-chip.c1{top:12%;left:8%;}
.abstract-panel .ap-chip.c2{bottom:14%;right:7%;animation-delay:1s;}
@media(max-width:575px){.abstract-panel{min-height:300px;}.abstract-panel .ap-core{width:92px;height:92px;border-radius:26px;}.abstract-panel .ap-core svg{width:42px;height:42px;}.abstract-panel .ap-chip{padding:.5rem .7rem;font-size:.7rem;}}

/* ==================================================================
   AREAS 3.0 — decorative depth for coverage map + spotlight
================================================================== */
#coverage-map{position:relative;overflow:hidden;}
#coverage-map .cm-blob{position:absolute;border-radius:50%;filter:blur(60px);pointer-events:none;z-index:0;}
#coverage-map .cm-blob.cb1{width:320px;height:320px;background:radial-gradient(circle,rgba(15,132,238,.12),transparent 70%);top:-80px;right:-60px;}
#coverage-map .cm-blob.cb2{width:240px;height:240px;background:radial-gradient(circle,rgba(143,211,255,.16),transparent 70%);bottom:-60px;left:-40px;}
#coverage-map .areas-grid{position:relative;z-index:1;}
.areas-map svg circle:first-of-type{animation:radar-pulse 3.5s ease-out infinite;transform-origin:center;}
@keyframes radar-pulse{0%{opacity:.5;}50%{opacity:.15;}100%{opacity:.5;}}

.spotlight-section{background:var(--surface);}
.spotlight-media::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(9,25,55,.55),transparent 55%);}
@media(max-width:900px){.spotlight-media::after{background:linear-gradient(0deg,rgba(9,25,55,.6),transparent 45%);}}
.spotlight-copy{position:relative;}
.spotlight-copy::before{
  content:"";position:absolute;top:1.6rem;right:1.6rem;width:70px;height:70px;
  background-image:radial-gradient(var(--border-strong) 1.6px,transparent 1.6px);background-size:10px 10px;opacity:.6;
}
@media(max-width:575px){.spotlight-copy::before{display:none;}}

/* ==================================================================
   SHARED — link cards, chips, warning-sign tiles (service & area inner pages)
================================================================== */
.chip-row{display:flex;flex-wrap:wrap;gap:.6rem;}
.chip-row .chip{
  display:inline-flex;align-items:center;gap:.4rem;background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-pill);padding:.55rem 1rem;font-size:.82rem;font-weight:600;color:var(--text-primary);
  transition:transform .25s,background .25s,color .25s,border-color .25s;
}
.chip-row .chip:hover{background:var(--gradient-accent);color:#04222b;border-color:transparent;transform:translateY(-2px);}
.chip-row .chip svg{width:14px;height:14px;color:var(--accent);flex:none;transition:color .25s;}
.chip-row .chip:hover svg{color:#04222b;}

.link-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;}
@media(max-width:900px){.link-card-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:575px){.link-card-grid{grid-template-columns:1fr;}}
.link-card{
  display:flex;flex-direction:column;gap:.6rem;background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-md);padding:1.5rem 1.4rem;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s;
  position:relative;overflow:hidden;
}
.link-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:transparent;}
.link-card::before{content:"";position:absolute;inset:0;background:var(--gradient-accent);opacity:0;transition:opacity .35s;z-index:0;}
.link-card:hover::before{opacity:1;}
.link-card>*{position:relative;z-index:1;}
.link-card .lc-icon{width:44px;height:44px;border-radius:12px;background:rgba(15,132,238,.12);color:var(--teal-600);display:grid;place-items:center;transition:background .3s,color .3s;}
[data-theme="dark"] .link-card .lc-icon{color:var(--accent-2);}
.link-card:hover .lc-icon{background:rgba(255,255,255,.22);color:#04222b;}
.link-card .lc-icon svg{width:21px;height:21px;}
.link-card strong{font-family:var(--font-display);font-size:.98rem;font-weight:650;transition:color .3s;}
.link-card:hover strong{color:#04222b;}
.link-card span{font-size:.83rem;color:var(--text-muted);transition:color .3s;}
.link-card:hover span{color:rgba(4,34,43,.75);}
.link-card .lc-arrow{margin-top:.2rem;display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:700;color:var(--accent);transition:color .3s;}
.link-card:hover .lc-arrow{color:#04222b;}
.link-card .lc-arrow svg{width:13px;height:13px;transition:transform .25s;}
.link-card:hover .lc-arrow svg{transform:translateX(3px);}

.sign-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;}
@media(max-width:900px){.sign-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:575px){.sign-grid{grid-template-columns:1fr;}}
.sign-tile{display:flex;gap:.9rem;align-items:flex-start;background:var(--surface-alt);border-radius:14px;padding:1.2rem 1.3rem;}
.sign-tile .st-icon{flex:none;width:38px;height:38px;border-radius:10px;background:var(--surface);color:var(--amber-500);display:grid;place-items:center;box-shadow:var(--shadow-sm);}
.sign-tile .st-icon svg{width:19px;height:19px;}
.sign-tile strong{display:block;font-size:.92rem;margin-bottom:.2rem;}
.sign-tile p{font-size:.83rem;margin:0;}

.local-cause-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;}
@media(max-width:640px){.local-cause-grid{grid-template-columns:1fr;}}
.local-cause-card{display:flex;gap:1rem;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1.3rem;}
.local-cause-card .lcc-icon{flex:none;width:44px;height:44px;border-radius:50%;background:rgba(15,132,238,.12);color:var(--teal-600);display:grid;place-items:center;}
[data-theme="dark"] .local-cause-card .lcc-icon{color:var(--accent-2);}
.local-cause-card .lcc-icon svg{width:21px;height:21px;}
.local-cause-card strong{display:block;font-size:.94rem;margin-bottom:.3rem;}
.local-cause-card p{font-size:.85rem;margin:0;}

/* mini stat pills used inline in intro sections */
.inline-stats{display:flex;flex-wrap:wrap;gap:1.6rem;margin-top:1.4rem;}
.inline-stats div strong{display:block;font-family:var(--font-display);font-weight:700;font-size:1.3rem;color:var(--accent);}
.inline-stats div span{font-size:.76rem;color:var(--text-muted);}
