/* =========================================================
   LIGHT CYBER THEME — 2026 refresh
   ========================================================= */
:root {
  --bg: #f4f8fd;
  --bg-2: #eef5fc;
  --panel: rgba(255,255,255,.86);
  --panel-strong: #ffffff;
  --panel-soft: #f6faff;
  --line: rgba(19, 123, 199, .14);
  --line-strong: rgba(0, 158, 218, .38);
  --cyan: #009ed8;
  --cyan-2: #1479da;
  --mint: #05ad84;
  --violet: #615ce8;
  --magenta: #b34fd0;
  --text: #11253b;
  --muted: #60758b;
  --muted-2: #8193a5;
  --shadow: 0 24px 65px rgba(45, 82, 120, .13);
  --glow: 0 0 24px rgba(0, 158, 216, .12);
}

html { background: var(--bg); }
body {
  color: var(--text);
  background:
    radial-gradient(circle at 8% 10%, rgba(0,158,216,.09), transparent 27%),
    radial-gradient(circle at 91% 30%, rgba(97,92,232,.07), transparent 28%),
    linear-gradient(180deg, #f9fcff 0%, #f2f7fc 100%);
}
body::before {
  opacity: .025;
  background: repeating-linear-gradient(to bottom, #173d60 0, #173d60 1px, transparent 1px, transparent 5px);
  mix-blend-mode: multiply;
}

/* light glass header */
.site-header {
  color: #142b43;
  border-bottom-color: rgba(15,114,179,.12);
  background: rgba(250,253,255,.84);
  box-shadow: 0 8px 34px rgba(31,76,116,.06);
}
.site-header.is-scrolled, .solid-header {
  background: rgba(250,253,255,.96);
  box-shadow: 0 12px 35px rgba(35,72,105,.10);
}
.brand-text strong { color: #132b43; }
.brand-text small { color: #008fca; }
.main-nav > a { color: #536b81; }
.main-nav > a:hover { color: #0a75b7; }
.nav-phone {
  color: #103552;
  border-color: rgba(0,145,202,.26);
  background: linear-gradient(135deg, rgba(0,158,216,.08), rgba(97,92,232,.05));
  box-shadow: 0 8px 22px rgba(21,104,160,.07);
}
.nav-phone:hover { background: #fff; border-color: #009ed8; }
.nav-toggle { border-color: rgba(0,145,202,.22); background: rgba(0,158,216,.06); }

/* bright hero with one dark tech console */
.hero {
  color: #122a42;
  background: linear-gradient(135deg, #fbfdff 0%, #f1f8ff 52%, #f7f5ff 100%);
  border-bottom-color: rgba(15,114,179,.10);
}
.hero::before { color: rgba(0,126,180,.22); }
.hero-bg::before {
  background-image:
    linear-gradient(rgba(0,145,202,.10) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,145,202,.10) 1px, transparent 1px);
  opacity: .42;
}
.hero-bg::after {
  background:
    radial-gradient(circle at 78% 38%, rgba(0,158,216,.15), transparent 23%),
    radial-gradient(circle at 86% 53%, rgba(97,92,232,.10), transparent 31%),
    linear-gradient(115deg, rgba(255,255,255,.96) 0%, rgba(243,249,255,.93) 48%, rgba(248,246,255,.95) 100%);
}
.hero h1 { color: #102a43; }
.hero h1 em {
  background: linear-gradient(90deg, #007fc3 0%, #00a5d8 50%, #615ce8 100%);
  -webkit-background-clip: text;
  background-clip: text;
  filter: none;
}
.hero-lead { color: #5c7187; }
.hero-points { color: #62788e; }
.button-primary { color: #fff; background: linear-gradient(135deg, #008fc8, #2d87e5); box-shadow: 0 14px 30px rgba(0,131,191,.20); }
.button-primary:hover { box-shadow: 0 17px 34px rgba(0,131,191,.28); }
.button-secondary { color: #29435c; border-color: rgba(50,87,128,.18); background: rgba(255,255,255,.72); }
.button-secondary:hover { border-color: #615ce8; background: #fff; }
.scroll-hint { border-color: rgba(0,145,202,.28); }

/* keep the dashboard dark for contrast, but soften it */
.tech-card {
  border-color: rgba(0,158,216,.26);
  background: linear-gradient(145deg, rgba(20,43,68,.97), rgba(10,26,44,.98));
  box-shadow: 0 32px 72px rgba(35,69,101,.20), inset 0 0 55px rgba(49,230,255,.025);
}
.hero-visual::before, .hero-visual::after { border-color: rgba(0,158,216,.14); }

/* section surfaces */
.section::before {
  opacity: .28;
  background-image:
    linear-gradient(rgba(0,145,202,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,145,202,.035) 1px, transparent 1px);
}
.section-services,
.process-section {
  background: linear-gradient(180deg, #f7fbff, #eef6fd);
  border-bottom: 1px solid rgba(20,112,174,.08);
}
.section-heading h2,
.audience-copy h2,
.trust-grid h2,
.contact-copy h2 { color: #112a43; }
.section-heading > p,
.audience-copy > p:not(.eyebrow),
.trust-copy > p { color: #62788e; }
.eyebrow, .eyebrow-dark { color: #6e8599; }

/* same visual weight as all other section titles */
.section-services .section-heading {
  grid-template-columns: minmax(0, 1.42fr) minmax(260px, .58fr);
  gap: 42px;
}
.section-services .section-heading h2 {
  font-size: clamp(2.05rem, 4vw, 3.55rem);
  white-space: normal;
}

.service-card {
  color: #17314a;
  border-color: rgba(17,120,188,.12);
  background: rgba(255,255,255,.88);
  box-shadow: 0 18px 45px rgba(42,81,118,.08), inset 0 0 32px rgba(0,158,216,.018);
}
.service-card:hover {
  border-color: rgba(0,158,216,.40);
  box-shadow: 0 22px 50px rgba(42,81,118,.13), 0 0 30px rgba(0,158,216,.04);
}
.service-card p { color: #63788d; }
.service-icon { color: #008fc8; border-color: rgba(0,143,200,.20); background: rgba(0,158,216,.055); }

.audience-section,
.trust-section { background: #ffffff; border-bottom-color: rgba(20,112,174,.08); }
.business-section {
  color: #17314a;
  background: linear-gradient(180deg, #eff7ff, #f7fbff);
}
.business-section .audience-copy > p:not(.eyebrow) { color: #60768d; }
.check-list li,
.check-list-light li { color: #425d74; }
.audience-visual {
  border-color: rgba(0,139,195,.12);
  background: linear-gradient(145deg, #f4f9fe, #eaf4fd);
  box-shadow: 0 24px 60px rgba(40,80,118,.09);
}
.business-visual { background: radial-gradient(circle at 50% 45%, rgba(97,92,232,.09), transparent 45%), #eef6fd; }

.process-grid li {
  border-color: rgba(0,137,193,.12);
  background: rgba(255,255,255,.90);
  box-shadow: 0 16px 38px rgba(45,82,120,.07);
}
.process-grid li:hover { border-color: rgba(97,92,232,.28); box-shadow: 0 20px 44px rgba(45,82,120,.11); }
.process-grid h3 { color: #183149; }
.process-grid p { color: #667b90; }
.process-icon { color: #008fc8; border-color: rgba(0,143,200,.18); background: rgba(0,158,216,.05); }
.trust-tags span { color: #4f687e; border-color: rgba(0,143,200,.12); background: #f7fbff; }

/* contact becomes a bright cyber callout */
.contact-section {
  color: #17314a;
  background: linear-gradient(120deg, #eef8ff 0%, #f9fcff 52%, #f4f1ff 100%);
  border-color: rgba(0,139,195,.10);
}
.contact-section::before {
  opacity: .42;
  background-image:
    linear-gradient(rgba(0,139,195,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,139,195,.055) 1px, transparent 1px);
}
.contact-glow { background: radial-gradient(circle, rgba(97,92,232,.10), transparent 65%); }
.contact-copy p:last-child { color: #61778d; }
.contact-card {
  border-color: rgba(0,139,195,.15);
  background: rgba(255,255,255,.86);
  box-shadow: 0 14px 34px rgba(43,80,115,.07);
}
.contact-card:hover { background: #fff; border-color: rgba(0,158,216,.42); box-shadow: 0 18px 38px rgba(43,80,115,.11); }
.contact-card small { color: #7b8fa2; }
.contact-card strong { color: #183149; }
.contact-icon { border-color: rgba(0,143,200,.18); background: rgba(0,158,216,.055); }

/* dark footer only as a visual anchor */
.site-footer { background: #0f2438; color: #9cb0c1; }
.footer-column h3 { color: #f6fbff; }
.footer-bottom { border-top-color: rgba(255,255,255,.08); }

/* legal pages follow the light theme */
.legal-page { background: #f4f8fd; }
.legal-content { border-color: rgba(0,139,195,.13); background: #fff; box-shadow: 0 24px 60px rgba(45,82,120,.10); }
.legal-content h1, .legal-content h2 { color: #17314a; }
.legal-lead, .legal-content p { color: #60768c; }
.legal-phone { color: #17314a; }
.error-page { color: #17314a; background: radial-gradient(circle at 50% 30%, rgba(0,158,216,.10), #f4f8fd 62%); }
.error-card > p:not(.error-code) { color: #60768c; }

@media (max-width: 840px) {
  .site-header { background: rgba(250,253,255,.97); }
  .main-nav { background: rgba(248,252,255,.99); box-shadow: -16px 20px 40px rgba(31,74,110,.10); }
  .main-nav > a { color: #39536b; border-bottom-color: rgba(0,139,195,.10); }
  .section-services .section-heading h2 { font-size: clamp(2.05rem, 6.4vw, 3.15rem); }
}

@media (max-width: 580px) {
  .mobile-contact-bar { border-top-color: rgba(0,139,195,.16); background: rgba(248,252,255,.98); box-shadow: 0 -8px 24px rgba(31,74,110,.08); }
  .mobile-contact-bar a { color: #29465e; }
  .mobile-contact-bar a + a { border-left-color: rgba(0,139,195,.11); }
  .section-services .section-heading h2 { font-size: clamp(2rem, 10vw, 2.8rem); }
}


/* Unified light page surface */
:root { --page-surface: #f4f8fd; }
body,
.hero,
.section-services,
.audience-section,
.business-section,
.process-section,
.trust-section,
.contact-section,
.site-footer,
.legal-page {
  background-color: var(--page-surface);
}
.hero,
.section-services,
.audience-section,
.business-section,
.process-section,
.trust-section,
.contact-section,
.site-footer {
  background-image: none;
}
.hero-bg::after {
  background:
    radial-gradient(circle at 78% 38%, rgba(0,158,216,.12), transparent 24%),
    radial-gradient(circle at 86% 53%, rgba(97,92,232,.07), transparent 31%),
    linear-gradient(180deg, rgba(244,248,253,.12), rgba(244,248,253,.12));
}
.section-services,
.audience-section,
.business-section,
.process-section,
.trust-section,
.contact-section,
.site-footer { border-color: rgba(20,112,174,.08); }
.site-footer {
  color: #60758b;
  border-top: 1px solid rgba(20,112,174,.10);
}
.footer-column h3 { color: #17314a; }
.footer-bottom { border-top-color: rgba(20,112,174,.10); }
.footer-column a:hover, .footer-bottom a:hover { color: #007fc3; }

.theme-toggle {
  color: #17314a;
  border-color: rgba(0,145,202,.22);
  background: rgba(255,255,255,.72);
  box-shadow: 0 8px 22px rgba(21,104,160,.05);
}
.theme-toggle:hover {
  color: #0a75b7;
  border-color: #009ed8;
  background: #fff;
  box-shadow: 0 10px 25px rgba(21,104,160,.10);
}
.theme-toggle svg { stroke: #615ce8; }

/* same heading size in both themes */
.section-services .section-heading h2 {
  font-size: clamp(2.05rem, 4vw, 3.55rem);
  white-space: normal;
}


/* V6 light-theme additions */
.coverage-box {
  border-color: rgba(0,143,200,.16);
  border-left-color: var(--cyan);
  background: rgba(0,158,216,.045);
}
.coverage-box strong { color: #17314a; }
.coverage-box span { color: #506a82; }
.coverage-box small { color: #71879a; }
.service-facts > div {
  border-color: rgba(0,139,195,.14);
  background: rgba(255,255,255,.72);
}
.service-facts small { color: #71879a; }
.service-facts strong { color: #17314a; }
.service-facts span { color: #60768c; }

/* V7 merged panels */
.audience-combined-section,
.audience-combined-section .audience-half,
.trust-embedded,
.combined-contact-section .site-footer {
  background: transparent !important;
}
.trust-embedded { border-top-color: rgba(20,112,174,.10); }
.combined-contact-section .site-footer { border-top-color: rgba(20,112,174,.10); }


/* V9: coverage map page */
.coverage-map-card {
  background: linear-gradient(145deg, #17324c, #0d2236);
  border-color: rgba(0,158,216,.30);
}
.coverage-map-head h2 { color: #f6fbff; }
.coverage-map-wrap { background: radial-gradient(circle at 74% 25%, rgba(0,158,216,.16), transparent 32%); }
.coverage-seo-copy,
.coverage-facts > div,
.coverage-localities span { background: rgba(255,255,255,.78); }
