/* ═══════════════════════════════════════════════════════════════
   SKY DESIGN SYSTEM — Niyutsa Technologies
   Sky-blue + white, Instrument Sans + Public Sans. Modern,
   professional healthcare brand. Trust-forward.
   ═══════════════════════════════════════════════════════════════ */
:root {
  /* Sky scale */
  --sky-50:  #F0F9FF;
  --sky-100: #E0F2FE;
  --sky-200: #BAE6FD;
  --sky-300: #7DD3FC;
  --sky-400: #38BDF8;
  --sky-500: #0EA5E9;
  --sky-600: #0369A1;
  --sky-700: #075985;
  --sky-800: #0C4A6E;
  --sky-900: #0C4A6E;
  --sky-950: #082F49;

  /* Neutrals */
  --white:   #FFFFFF;
  --off:     #FAFCFF;
  --ink:     #0F172A;
  --ink-2:   #334155;
  --ink-3:   #64748B;
  --ink-4:   #94A3B8;
  --line:    #E2E8F0;
  --line-sky:#BAE6FD;

  /* Signals */
  --check:   #059669;
  --check-bg:#D1FAE5;

  /* Shadows (sky-tinted) */
  --shadow-sm: 0 1px 2px rgba(2, 132, 199, 0.06);
  --shadow-md: 0 4px 14px rgba(2, 132, 199, 0.08);
  --shadow-lg: 0 20px 40px rgba(2, 132, 199, 0.10);
  --shadow-xl: 0 28px 60px rgba(2, 132, 199, 0.15);

  /* Type */
  --font-display: 'Instrument Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-body:    'Public Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

  /* Container */
  --container:  1200px;
  --container-narrow: 820px;

  /* Radius */
  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 14px;
  --r-xl: 20px;
  --r-pill: 999px;
}

body.sky-page {
  background: var(--white);
  color: var(--ink);
  font-family: var(--font-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.6;
}
.sky-page main { background: var(--white); }

/* ---- Containers ---- */
.sky-wrap { max-width: var(--container); margin: 0 auto; padding: 0 clamp(1.25rem, 3vw, 2rem); width: 100%; }
.sky-wrap-narrow { max-width: var(--container-narrow); margin: 0 auto; padding: 0 clamp(1.25rem, 3vw, 2rem); }

/* ---- Reset generic section rules ---- */
body.sky-page main > section { padding-block: clamp(4rem, 7vw, 7rem); background: initial; }
body.sky-page main > section:first-child { padding-top: clamp(3rem, 6vw, 5rem); }

/* ═══════════════════════════════════════════════════════════════
   HERO
   ═══════════════════════════════════════════════════════════════ */
.sky-hero {
  background:
    radial-gradient(ellipse at 85% 10%, rgba(14, 165, 233, 0.08) 0%, transparent 60%),
    radial-gradient(ellipse at 15% 90%, rgba(2, 132, 199, 0.06) 0%, transparent 55%),
    var(--white) !important;
  padding: clamp(3rem, 7vw, 6.5rem) 0 clamp(2.5rem, 5vw, 4.5rem) !important;
  position: relative;
  overflow: hidden;
}
.sky-hero::before {
  /* subtle grid pattern — very low contrast, adds structure without noise */
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, rgba(2, 132, 199, 0.025) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(2, 132, 199, 0.025) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: radial-gradient(ellipse at center, black 30%, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse at center, black 30%, transparent 75%);
  pointer-events: none;
}
.sky-hero .sky-wrap { position: relative; z-index: 1; }

.sky-hero-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: clamp(2.5rem, 5vw, 4rem);
  align-items: center;
}
@media (max-width: 940px) {
  .sky-hero-grid { grid-template-columns: 1fr; }
}

.sky-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.375rem 0.875rem 0.375rem 0.5rem;
  background: var(--sky-100);
  color: var(--sky-800);
  border: 1px solid var(--sky-200);
  border-radius: var(--r-pill);
  font-family: var(--font-body);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.005em;
  margin-bottom: 1.5rem;
}
.sky-pill-dot {
  display: inline-block;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--sky-500);
  box-shadow: 0 0 0 4px rgba(14, 165, 233, 0.18);
}

.sky-h1 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(2.25rem, 5.5vw, 4.25rem);
  line-height: 1.04;
  letter-spacing: -0.025em;
  color: var(--sky-900);
  margin: 0 0 1.5rem;
  max-width: 18ch;
}
.sky-h1 .accent { color: var(--sky-600); }

.sky-hero-sub {
  font-size: clamp(1.0625rem, 1.3vw, 1.1875rem);
  line-height: 1.6;
  color: var(--ink-2);
  max-width: 56ch;
  margin: 0 0 2rem;
  font-weight: 400;
}

.sky-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.875rem;
  margin-bottom: 2.5rem;
}

/* Primary CTA */
.sky-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  padding: 0.95rem 1.5rem;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 0.9375rem;
  letter-spacing: 0.005em;
  text-decoration: none;
  border-radius: var(--r-md);
  cursor: pointer;
  border: 1px solid transparent;
  transition: all 0.15s ease;
  line-height: 1;
  white-space: nowrap;
  flex-shrink: 0;
  min-height: 44px;
  width: auto;
}
.sky-btn svg { flex-shrink: 0; width: 16px; height: 16px; }
.sky-btn-primary {
  background: var(--sky-600);
  color: var(--white);
  border-color: var(--sky-600);
  box-shadow: var(--shadow-md);
}
.sky-btn-primary:hover {
  background: var(--sky-700);
  border-color: var(--sky-700);
  box-shadow: var(--shadow-lg);
  transform: translateY(-1px);
}
.sky-btn-primary:active { transform: translateY(0); }
.sky-btn-secondary {
  background: var(--white);
  color: var(--sky-700);
  border-color: var(--sky-200);
  box-shadow: var(--shadow-sm);
}
.sky-btn-secondary:hover {
  background: var(--sky-50);
  border-color: var(--sky-300);
}
.sky-btn-ghost {
  background: transparent;
  color: var(--sky-700);
  padding: 0.95rem 0;
  gap: 0.5rem;
}
.sky-btn-ghost:hover { color: var(--sky-800); }

/* Trust row below CTAs */
.sky-hero-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.75rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--line);
  font-size: 0.875rem;
  color: var(--ink-2);
}
.sky-hero-trust-item {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 500;
}
.sky-hero-trust-item svg {
  color: var(--check);
  width: 18px; height: 18px;
  flex-shrink: 0;
}

/* Hero right card */
.sky-hero-card {
  background: var(--white);
  border: 1px solid var(--line-sky);
  border-radius: var(--r-xl);
  padding: 1.75rem;
  box-shadow: var(--shadow-xl);
  position: relative;
}
.sky-hero-card::before {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(135deg, var(--sky-200), transparent 60%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}
.sky-hero-card-eyebrow {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--sky-600);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 0.75rem;
}
.sky-hero-card-title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 1.25rem;
  color: var(--sky-900);
  margin: 0 0 1.25rem;
  letter-spacing: -0.01em;
}
.sky-hero-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-bottom: 1.25rem;
}
.sky-hero-stat {
  background: var(--sky-50);
  border: 1px solid var(--sky-100);
  border-radius: var(--r-md);
  padding: 1rem;
}
.sky-hero-stat-fig {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.5rem;
  color: var(--sky-700);
  line-height: 1;
  margin-bottom: 0.25rem;
  letter-spacing: -0.01em;
  font-variant-numeric: tabular-nums;
}
.sky-hero-stat-label {
  font-size: 0.75rem;
  color: var(--ink-3);
  font-weight: 500;
}
.sky-hero-card-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.65rem; }
.sky-hero-card-list li {
  display: flex;
  align-items: start;
  gap: 0.65rem;
  font-size: 0.9375rem;
  color: var(--ink-2);
  line-height: 1.5;
}
.sky-hero-card-list li svg {
  color: var(--sky-500);
  width: 20px; height: 20px;
  flex-shrink: 0;
  margin-top: 1px;
}

/* ═══════════════════════════════════════════════════════════════
   TRUST BAR
   ═══════════════════════════════════════════════════════════════ */
.sky-trustbar {
  background: var(--sky-50) !important;
  padding: clamp(1.75rem, 3vw, 2.5rem) 0 !important;
  border-top: 1px solid var(--line-sky);
  border-bottom: 1px solid var(--line-sky);
}
.sky-trustbar-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 1.25rem 2rem;
  align-items: center;
}
@media (max-width: 940px) { .sky-trustbar-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px) { .sky-trustbar-grid { grid-template-columns: repeat(2, 1fr); } }
.sky-trust-badge {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  color: var(--sky-900);
}
.sky-trust-icon {
  width: 36px; height: 36px;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--white);
  border: 1px solid var(--sky-200);
  border-radius: var(--r-md);
  color: var(--sky-600);
  box-shadow: var(--shadow-sm);
}
.sky-trust-icon svg { width: 20px; height: 20px; }
.sky-trust-text {
  display: flex;
  flex-direction: column;
  gap: 0;
  line-height: 1.2;
}
.sky-trust-label-top {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.9375rem;
  color: var(--sky-900);
  letter-spacing: -0.005em;
}
.sky-trust-label-bot {
  font-size: 0.75rem;
  color: var(--ink-3);
  font-weight: 500;
  margin-top: 2px;
}

/* ═══════════════════════════════════════════════════════════════
   SECTION HEADS
   ═══════════════════════════════════════════════════════════════ */
.sky-section-head { text-align: center; max-width: 760px; margin: 0 auto clamp(3rem, 5vw, 4rem); }
.sky-section-head.left { text-align: left; margin-left: 0; margin-right: 0; max-width: 760px; }
.sky-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-family: var(--font-body);
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--sky-600);
  letter-spacing: 0.01em;
  margin-bottom: 0.9rem;
}
.sky-eyebrow::before {
  content: "";
  width: 24px; height: 1.5px;
  background: var(--sky-500);
  border-radius: 1px;
}
.sky-h2 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(1.875rem, 3.6vw, 2.75rem);
  line-height: 1.1;
  letter-spacing: -0.022em;
  color: var(--sky-900);
  margin: 0 0 1rem;
}
.sky-h2 .accent { color: var(--sky-600); }
.sky-lede {
  font-size: 1.0625rem;
  line-height: 1.65;
  color: var(--ink-2);
  margin: 0 auto;
  max-width: 56ch;
}
.sky-section-head.left .sky-lede { margin-left: 0; }

/* ═══════════════════════════════════════════════════════════════
   SERVICES — card grid
   ═══════════════════════════════════════════════════════════════ */
.sky-services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
@media (max-width: 940px) { .sky-services-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .sky-services-grid { grid-template-columns: 1fr; } }

.sky-service-card {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  padding: 1.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  text-decoration: none;
  color: var(--ink);
  transition: all 0.18s ease;
  position: relative;
}
.sky-service-card:hover {
  border-color: var(--sky-300);
  box-shadow: var(--shadow-lg);
  transform: translateY(-2px);
}
.sky-service-card:hover .sky-service-arrow { color: var(--sky-600); transform: translateX(2px); }
.sky-service-icon {
  width: 44px; height: 44px;
  background: var(--sky-100);
  color: var(--sky-700);
  border-radius: var(--r-md);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.25rem;
}
.sky-service-icon svg { width: 22px; height: 22px; }
.sky-service-title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 1.1875rem;
  color: var(--sky-900);
  margin: 0;
  letter-spacing: -0.005em;
  line-height: 1.25;
}
.sky-service-desc {
  font-size: 0.9375rem;
  line-height: 1.55;
  color: var(--ink-2);
  margin: 0;
  flex-grow: 1;
}
.sky-service-arrow {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--sky-700);
  margin-top: 0.5rem;
  transition: all 0.15s ease;
}
.sky-service-arrow svg { width: 14px; height: 14px; }

/* ═══════════════════════════════════════════════════════════════
   PROCESS — numbered steps on sky-50 band
   ═══════════════════════════════════════════════════════════════ */
.sky-section-sky { background: var(--sky-50) !important; }

.sky-process-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  position: relative;
}
.sky-process-grid::before {
  /* connector line behind the circles — only on desktop */
  content: "";
  position: absolute;
  top: 24px; /* center of the circle */
  left: calc(12.5% + 24px);
  right: calc(12.5% + 24px);
  height: 2px;
  background: repeating-linear-gradient(90deg, var(--sky-300) 0 6px, transparent 6px 12px);
  z-index: 0;
}
@media (max-width: 940px) {
  .sky-process-grid { grid-template-columns: repeat(2, 1fr); }
  .sky-process-grid::before { display: none; }
}
@media (max-width: 560px) { .sky-process-grid { grid-template-columns: 1fr; } }
.sky-process-step { position: relative; z-index: 1; }
.sky-process-num {
  width: 48px; height: 48px;
  background: var(--sky-600);
  color: var(--white);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.0625rem;
  margin-bottom: 1rem;
  box-shadow: 0 0 0 4px var(--sky-50), var(--shadow-md);
}
.sky-process-title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 1.125rem;
  color: var(--sky-900);
  margin: 0 0 0.4rem;
  letter-spacing: -0.005em;
}
.sky-process-desc {
  font-size: 0.9375rem;
  line-height: 1.55;
  color: var(--ink-2);
  margin: 0 0 0.5rem;
}
.sky-process-meta {
  font-size: 0.75rem;
  color: var(--sky-600);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* ═══════════════════════════════════════════════════════════════
   WHY US — benefits list
   ═══════════════════════════════════════════════════════════════ */
.sky-why-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem 2rem;
}
@media (max-width: 940px) { .sky-why-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .sky-why-grid { grid-template-columns: 1fr; } }

.sky-why-item {
  display: flex;
  gap: 0.875rem;
  padding: 1.25rem;
  border-radius: var(--r-md);
  background: var(--white);
  border: 1px solid var(--line);
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
.sky-why-item:hover {
  border-color: var(--sky-200);
  box-shadow: var(--shadow-sm);
}
.sky-why-check {
  flex-shrink: 0;
  width: 24px; height: 24px;
  background: var(--check-bg);
  color: var(--check);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 2px;
}
.sky-why-check svg { width: 14px; height: 14px; stroke-width: 3; }
.sky-why-text { }
.sky-why-title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 1rem;
  color: var(--sky-900);
  margin: 0 0 0.25rem;
  letter-spacing: -0.005em;
}
.sky-why-desc {
  font-size: 0.9375rem;
  line-height: 1.5;
  color: var(--ink-2);
  margin: 0;
}

/* ═══════════════════════════════════════════════════════════════
   SPECIALTIES — chip grid
   ═══════════════════════════════════════════════════════════════ */
.sky-chip-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.6rem;
  justify-content: center;
  max-width: 1000px;
  margin: 0 auto;
}
.sky-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.5rem 0.95rem;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
  font-family: var(--font-body);
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--ink);
  text-decoration: none;
  transition: all 0.15s ease;
}
.sky-chip:hover {
  background: var(--sky-50);
  border-color: var(--sky-300);
  color: var(--sky-800);
  transform: translateY(-1px);
}
.sky-chip svg { width: 14px; height: 14px; color: var(--sky-500); }

/* ═══════════════════════════════════════════════════════════════
   FAQ
   ═══════════════════════════════════════════════════════════════ */
.sky-faq-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.sky-faq-item {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  overflow: hidden;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
.sky-faq-item[open] {
  border-color: var(--sky-300);
  box-shadow: var(--shadow-sm);
}
.sky-faq-item > summary {
  list-style: none;
  padding: 1.25rem 3rem 1.25rem 1.5rem;
  cursor: pointer;
  position: relative;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 1.0625rem;
  color: var(--sky-900);
  line-height: 1.4;
  letter-spacing: -0.005em;
  transition: color 0.15s ease;
}
.sky-faq-item > summary::-webkit-details-marker { display: none; }
.sky-faq-item > summary:hover { color: var(--sky-700); }
.sky-faq-item > summary::after {
  content: "";
  position: absolute;
  right: 1.25rem;
  top: 50%;
  transform: translateY(-50%);
  width: 24px; height: 24px;
  background: var(--sky-100);
  color: var(--sky-700);
  border-radius: 50%;
  background-image:
    linear-gradient(var(--sky-700), var(--sky-700)),
    linear-gradient(var(--sky-700), var(--sky-700));
  background-size: 10px 2px, 2px 10px;
  background-position: center, center;
  background-repeat: no-repeat, no-repeat;
  background-color: var(--sky-100);
  transition: transform 0.22s ease, background-color 0.22s ease;
}
.sky-faq-item[open] > summary::after {
  background-size: 10px 2px, 0 0;
  background-color: var(--sky-600);
  background-image:
    linear-gradient(white, white),
    linear-gradient(white, white);
}
.sky-faq-answer {
  padding: 0 1.5rem 1.5rem;
  font-size: 1rem;
  line-height: 1.7;
  color: var(--ink-2);
  max-width: 72ch;
}
.sky-faq-answer p { margin: 0 0 1rem; }
.sky-faq-answer p:last-child { margin-bottom: 0; }

/* ═══════════════════════════════════════════════════════════════
   CTA BAND — before footer
   ═══════════════════════════════════════════════════════════════ */
.sky-cta-band {
  background:
    radial-gradient(ellipse at 20% 100%, rgba(14, 165, 233, 0.4) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 0%, rgba(56, 189, 248, 0.25) 0%, transparent 50%),
    var(--sky-900) !important;
  color: var(--white);
  padding: clamp(3.5rem, 6vw, 5.5rem) 0 !important;
  position: relative;
  overflow: hidden;
}
.sky-cta-band::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: linear-gradient(to bottom, transparent, black 50%, transparent);
  -webkit-mask-image: linear-gradient(to bottom, transparent, black 50%, transparent);
  pointer-events: none;
}
.sky-cta-band .sky-wrap { position: relative; z-index: 1; }
.sky-cta-band-grid {
  display: grid;
  grid-template-columns: 1.5fr auto;
  gap: 2rem;
  align-items: center;
}
@media (max-width: 820px) { .sky-cta-band-grid { grid-template-columns: 1fr; } }
.sky-cta-band h2 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(1.75rem, 3.2vw, 2.5rem);
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--white);
  margin: 0 0 0.75rem;
  max-width: 24ch;
}
.sky-cta-band p {
  font-size: 1.0625rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.78);
  margin: 0;
  max-width: 50ch;
}
.sky-cta-band-actions { display: flex; flex-wrap: wrap; gap: 0.875rem; }
.sky-cta-band-actions .sky-btn-primary { background: var(--white); color: var(--sky-900); border-color: var(--white); }
.sky-cta-band-actions .sky-btn-primary:hover { background: var(--sky-50); border-color: var(--sky-50); }
.sky-cta-band-actions .sky-btn-secondary {
  background: transparent; color: var(--white); border-color: rgba(255, 255, 255, 0.3);
}
.sky-cta-band-actions .sky-btn-secondary:hover { background: rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.5); }

/* ═══════════════════════════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════════════════════════ */
.sky-footer {
  background: var(--sky-950);
  color: rgba(255, 255, 255, 0.72);
  padding: clamp(3.5rem, 6vw, 5rem) 0 2rem;
  font-family: var(--font-body);
  font-size: 0.875rem;
  line-height: 1.6;
}
.sky-footer-top {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr 1fr;
  gap: 2.5rem;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
@media (max-width: 940px) { .sky-footer-top { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .sky-footer-top { grid-template-columns: 1fr; } }

.sky-footer-brand {
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--white);
  font-size: 1.25rem;
  letter-spacing: -0.01em;
  margin-bottom: 0.75rem;
  display: block;
  text-decoration: none;
}
.sky-footer-tag {
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 1.5rem;
  font-size: 0.9375rem;
  line-height: 1.55;
  max-width: 32ch;
}
.sky-footer-contact {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  margin-bottom: 1.5rem;
}
.sky-footer-contact a {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: rgba(255, 255, 255, 0.85);
  text-decoration: none;
  transition: color 0.15s ease;
}
.sky-footer-contact a:hover { color: var(--sky-300); }
.sky-footer-contact svg { width: 15px; height: 15px; color: var(--sky-400); flex-shrink: 0; }

/* Trust badges inside footer */
.sky-footer-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1rem;
}
.sky-footer-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 0.75rem;
  background: rgba(14, 165, 233, 0.12);
  border: 1px solid rgba(14, 165, 233, 0.25);
  border-radius: var(--r-sm);
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.005em;
}
.sky-footer-badge svg { width: 12px; height: 12px; color: var(--sky-300); }

.sky-footer-col h3 {
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--white);
  font-size: 0.9375rem;
  margin: 0 0 1rem;
  letter-spacing: 0.005em;
}
.sky-footer-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.sky-footer-col a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  font-size: 0.875rem;
  transition: color 0.15s ease;
  display: inline-block;
}
.sky-footer-col a:hover { color: var(--sky-300); }

/* STATES + CITIES block (full-width under the 4-column top) */
.sky-footer-locations {
  padding: 2.5rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.sky-footer-locations-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1.25rem;
}
.sky-footer-locations-title {
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--white);
  font-size: 1.0625rem;
  margin: 0;
  letter-spacing: -0.005em;
}
.sky-footer-locations-sub {
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.8125rem;
}
.sky-footer-states {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0.375rem 1rem;
}
@media (max-width: 940px) { .sky-footer-states { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 560px) { .sky-footer-states { grid-template-columns: repeat(2, 1fr); } }
.sky-footer-states a {
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.8125rem;
  text-decoration: none;
  padding: 0.2rem 0;
  transition: color 0.15s ease;
}
.sky-footer-states a:hover { color: var(--sky-300); }

.sky-footer-cities-head {
  margin-top: 2rem;
  margin-bottom: 1rem;
}
.sky-footer-cities {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.5rem;
}
.sky-footer-city-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.35rem 0.7rem;
  background: rgba(14, 165, 233, 0.1);
  border: 1px solid rgba(14, 165, 233, 0.2);
  border-radius: var(--r-pill);
  color: rgba(255, 255, 255, 0.85);
  font-size: 0.75rem;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.15s ease;
  white-space: nowrap;
}
.sky-footer-city-chip svg { flex-shrink: 0; width: 12px; height: 12px; }
.sky-footer-city-chip:hover {
  background: rgba(14, 165, 233, 0.2);
  border-color: var(--sky-400);
  color: var(--white);
}

.sky-footer-bar {
  padding-top: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
  justify-content: space-between;
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.8125rem;
}
.sky-footer-bar a { color: inherit; text-decoration: none; }
.sky-footer-bar a:hover { color: var(--sky-300); }
.sky-footer-bar-links { display: flex; flex-wrap: wrap; gap: 1.25rem; }

/* ═══════════════════════════════════════════════════════════════
   NAV HARMONISATION (keep structure, apply sky palette)
   ═══════════════════════════════════════════════════════════════ */
.sky-page .n-header {
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(10px) saturate(140%);
  -webkit-backdrop-filter: blur(10px) saturate(140%);
  border-bottom: 1px solid var(--line);
  box-shadow: var(--shadow-sm);
}
.sky-page .n-nav-link,
.sky-page .n-nav-btn {
  color: var(--ink);
  font-family: var(--font-body);
  font-weight: 500;
  letter-spacing: 0;
}
.sky-page .n-nav-link:hover,
.sky-page .n-nav-btn:hover { color: var(--sky-700); }
.sky-page .n-dropdown {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  box-shadow: var(--shadow-lg);
}
.sky-page .n-dropdown-link {
  color: var(--ink);
  font-family: var(--font-body);
  border-radius: var(--r-sm);
}
.sky-page .n-dropdown-link:hover {
  background: var(--sky-50);
  color: var(--sky-700);
}
.sky-page .n-header .btn-primary {
  background: var(--sky-600) !important;
  color: var(--white) !important;
  border: 1px solid var(--sky-600) !important;
  border-radius: var(--r-md) !important;
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  box-shadow: var(--shadow-sm) !important;
}
.sky-page .n-header .btn-primary:hover {
  background: var(--sky-700) !important;
  border-color: var(--sky-700) !important;
  box-shadow: var(--shadow-md) !important;
}

/* ---- Floating CTA — sky palette ---- */
.sky-page .n-float-cta {
  border-radius: var(--r-md);
  box-shadow: var(--shadow-xl);
  font-family: var(--font-body);
  overflow: hidden;
}
.sky-page .n-float-cta__phone {
  background: var(--sky-900) !important;
  color: var(--white) !important;
  font-weight: 600;
}
.sky-page .n-float-cta__phone .n-float-cta__pulse { color: var(--sky-300); }
.sky-page .n-float-cta__phone .n-float-cta__pulse::before,
.sky-page .n-float-cta__phone .n-float-cta__pulse::after {
  background: rgba(125, 211, 252, 0.4);
}
.sky-page .n-float-cta__consult {
  background: var(--sky-500) !important;
  color: var(--white) !important;
  font-weight: 600;
}
.sky-page .n-float-cta__consult:hover { background: var(--sky-600) !important; }

/* ---- Focus / motion ---- */
.sky-page a:focus-visible,
.sky-page button:focus-visible,
.sky-page summary:focus-visible {
  outline: 2px solid var(--sky-500);
  outline-offset: 2px;
  border-radius: 4px;
}
@media (prefers-reduced-motion: reduce) {
  .sky-page *, .sky-page *::before, .sky-page *::after {
    transition: none !important;
    animation: none !important;
  }
}


/* ═══════════════════════════════════════════════════════════════
   SKY SITE-WIDE OVERRIDES
   Reskins the existing n-* design system to the sky-blue + white
   palette so every page inherits the new look without a per-page
   rewrite. Applied via <link rel="stylesheet" href="/sky.css">.
   ═══════════════════════════════════════════════════════════════ */

/* ---- Base: typography on every sky-page ---- */
body.sky-page {
  font-family: 'Public Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  color: var(--ink);
  background: var(--white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body.sky-page h1, body.sky-page h2, body.sky-page h3, body.sky-page h4, body.sky-page h5 {
  font-family: 'Instrument Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: var(--sky-900);
  letter-spacing: -0.015em;
}

/* ---- Inner-page hero → premium DARK sky treatment ----
   These heroes are authored with white inline text + glass cards, so we honor
   that design: a rich dark gradient background with light text. This is both
   more premium/trustworthy and eliminates white-on-light bugs by construction. */
body.sky-page .n-hero,
body.sky-page section.n-hero {
  background:
    radial-gradient(ellipse at 85% 8%, rgba(56, 189, 248, 0.22) 0%, transparent 55%),
    radial-gradient(ellipse at 10% 95%, rgba(14, 165, 233, 0.18) 0%, transparent 55%),
    linear-gradient(135deg, var(--sky-950) 0%, var(--sky-900) 52%, var(--sky-800) 100%) !important;
  color: #fff !important;
  position: relative;
  overflow: hidden;
}
body.sky-page .n-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, rgba(255,255,255,0.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,0.05) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: radial-gradient(ellipse at center, black 30%, transparent 78%);
  -webkit-mask-image: radial-gradient(ellipse at center, black 30%, transparent 78%);
  pointer-events: none;
  z-index: 0;
}
body.sky-page .n-hero > * { position: relative; z-index: 1; }

body.sky-page .n-hero .eyebrow,
body.sky-page .n-hero [class*="eyebrow"] {
  color: var(--sky-200) !important;
  font-family: 'Public Sans', sans-serif;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  text-transform: none;
}
body.sky-page .n-hero h1,
body.sky-page .n-hero h2,
body.sky-page .n-hero-title {
  color: #fff !important;
  font-family: 'Instrument Sans', sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: -0.025em !important;
}
body.sky-page .n-hero p,
body.sky-page .n-hero li,
body.sky-page .n-hero-subtitle,
body.sky-page .n-hero .body-lg {
  color: rgba(255,255,255,0.86) !important;
}
body.sky-page .n-hero strong { color: #fff !important; }
body.sky-page .n-hero-trust,
body.sky-page .n-hero-trust-item { color: rgba(255,255,255,0.86) !important; }
body.sky-page .n-hero-trust-item svg { color: var(--sky-300); }
body.sky-page .n-hero-badge {
  background: rgba(255,255,255,0.12) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  backdrop-filter: blur(8px);
}
body.sky-page .n-hero-img-wrap,
body.sky-page .n-hero-image {
  border-radius: var(--r-xl);
  border: 1px solid rgba(255,255,255,0.14);
  box-shadow: var(--shadow-xl);
}
body.sky-page .n-hero-stat-card {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.16);
  backdrop-filter: blur(10px);
  box-shadow: 0 8px 24px rgba(3,20,40,0.25);
  border-radius: var(--r-md);
}
body.sky-page .n-hero-stat-card .n-stat-value,
body.sky-page .n-hero-stat-card .stat-value { color: var(--sky-300); }
body.sky-page .n-hero-stat-card .stat-label { color: rgba(255,255,255,0.82); }

/* ---- CTA buttons sitewide ---- */
body.sky-page .btn-primary,
body.sky-page .btn-accent {
  background: var(--sky-600) !important;
  color: var(--white) !important;
  border: 1px solid var(--sky-600) !important;
  border-radius: var(--r-md) !important;
  font-family: 'Public Sans', sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 0.005em !important;
  box-shadow: var(--shadow-sm) !important;
  padding: 0.95rem 1.5rem !important;
}
body.sky-page .btn-primary:hover,
body.sky-page .btn-accent:hover {
  background: var(--sky-700) !important;
  border-color: var(--sky-700) !important;
  box-shadow: var(--shadow-md) !important;
  transform: translateY(-1px);
}
body.sky-page .btn-outline {
  background: var(--white) !important;
  color: var(--sky-700) !important;
  border: 1px solid var(--sky-200) !important;
  border-radius: var(--r-md) !important;
  box-shadow: var(--shadow-sm) !important;
  font-family: 'Public Sans', sans-serif !important;
  font-weight: 600 !important;
}
body.sky-page .btn-outline:hover {
  background: var(--sky-50) !important;
  border-color: var(--sky-300) !important;
}
body.sky-page .btn-ghost-white {
  background: transparent !important;
  color: var(--white) !important;
  border: 1px solid rgba(255,255,255,0.3) !important;
  border-radius: var(--r-md) !important;
}

/* ---- Trust strip ---- */
body.sky-page .n-trust-strip {
  background: var(--sky-50) !important;
  border-top: 1px solid var(--line-sky) !important;
  border-bottom: 1px solid var(--line-sky) !important;
}
body.sky-page .n-trust-item,
body.sky-page .n-trust-item * {
  color: var(--sky-900) !important;
}
body.sky-page .n-trust-item svg { color: var(--sky-600); }

/* ---- Stats grid ---- */
body.sky-page .n-stat,
body.sky-page .n-stat-value {
  color: var(--sky-700) !important;
  font-family: 'Instrument Sans', sans-serif !important;
}
body.sky-page .n-stat-card {
  background: var(--white) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-md) !important;
  box-shadow: var(--shadow-sm);
}

/* ---- Service cards sitewide ---- */
body.sky-page .n-service-card {
  background: var(--white) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-lg) !important;
  box-shadow: var(--shadow-sm);
  transition: all 0.18s ease;
}
body.sky-page .n-service-card:hover {
  border-color: var(--sky-300) !important;
  box-shadow: var(--shadow-lg) !important;
  transform: translateY(-2px);
}
body.sky-page .n-service-card::before { display: none !important; }
body.sky-page .n-service-card h3,
body.sky-page .n-service-card h4 { color: var(--sky-900) !important; }
body.sky-page .n-service-card p { color: var(--ink-2) !important; }

/* ---- Specialty cards ---- */
body.sky-page .n-specialty-card {
  background: var(--white) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-lg) !important;
}
body.sky-page .n-specialty-card:hover {
  border-color: var(--sky-300) !important;
  box-shadow: var(--shadow-md) !important;
}

/* ---- Process steps ---- */
body.sky-page .n-process-step {
  background: var(--white) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-lg) !important;
}
body.sky-page .n-step-number {
  background: var(--sky-600) !important;
  color: var(--white) !important;
}
body.sky-page .n-process-steps::before {
  background: var(--sky-200) !important;
  opacity: 0.5;
}
body.sky-page .n-step-title { color: var(--sky-900) !important; }

/* ---- FAQ accordion ---- */
body.sky-page .n-faq-item {
  background: var(--white) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-md) !important;
}
body.sky-page .n-faq-trigger,
body.sky-page .n-faq-item summary {
  color: var(--sky-900) !important;
  font-family: 'Instrument Sans', sans-serif !important;
  font-weight: 600 !important;
}
body.sky-page .n-faq-answer { color: var(--ink-2) !important; }

/* ---- Testimonial cards ---- */
body.sky-page .n-testimonial-card {
  background: var(--white) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-lg) !important;
  box-shadow: var(--shadow-sm);
}

/* ---- CTA section (dark band on inner pages) ---- */
body.sky-page .n-cta-section {
  background:
    radial-gradient(ellipse at 20% 100%, rgba(14, 165, 233, 0.4) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 0%, rgba(56, 189, 248, 0.25) 0%, transparent 50%),
    var(--sky-900) !important;
  color: var(--white) !important;
  border-radius: var(--r-xl);
}
body.sky-page .n-cta-section h2 { color: var(--white) !important; font-family: 'Instrument Sans', sans-serif !important; }
body.sky-page .n-cta-section p { color: rgba(255,255,255,0.8) !important; }
body.sky-page .n-cta-section .btn-accent {
  background: var(--white) !important;
  color: var(--sky-900) !important;
  border-color: var(--white) !important;
}
body.sky-page .n-cta-section .btn-accent:hover {
  background: var(--sky-50) !important;
}
body.sky-page .n-cta-eyebrow { color: var(--sky-300) !important; }

/* ---- CTA band ---- */
body.sky-page .n-cta-band {
  background: var(--sky-900) !important;
  color: var(--white) !important;
}
body.sky-page .n-cta-band h2 { color: var(--white) !important; }

/* ---- Section labels (Modern theme) ---- */
body.sky-page .display-xl,
body.sky-page .display-lg,
body.sky-page .display-md {
  color: var(--sky-900) !important;
  font-family: 'Instrument Sans', sans-serif !important;
  letter-spacing: -0.025em;
}
body.sky-page .body-lg {
  color: var(--ink-2) !important;
}
body.sky-page .eyebrow,
body.sky-page [class*="eyebrow"]:where(:not(.n-cta-eyebrow):not(.sky-eyebrow)) {
  color: var(--sky-600) !important;
  font-weight: 600 !important;
  font-size: 0.8125rem !important;
  text-transform: none !important;
  letter-spacing: 0.01em !important;
}

/* ---- Section background rhythm ---- */
body.sky-page main > section:nth-of-type(even):not(.n-hero):not(.n-trust-strip):not(.n-explore):not(.n-cta-band):not(.n-cta-section):not(.sky-cta-band):not(.sky-dark):not([style*="gradient"]):not([style*="background:#0"]):not([style*="background: #0"]):not([style*="background:var(--navy"]):not([style*="background:var(--gradient"]) {
  background: var(--sky-50) !important;
}

/* ---- Forms ---- */
body.sky-page form input,
body.sky-page form select,
body.sky-page form textarea {
  border: 1px solid var(--line) !important;
  border-radius: var(--r-md) !important;
  padding: 0.65rem 0.875rem !important;
  font-family: 'Public Sans', sans-serif !important;
  font-size: 0.9375rem !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
body.sky-page form input:focus,
body.sky-page form select:focus,
body.sky-page form textarea:focus {
  border-color: var(--sky-500) !important;
  box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.15) !important;
  outline: none !important;
}
body.sky-page form label {
  color: var(--ink) !important;
  font-weight: 500;
  font-size: 0.875rem;
}

/* ---- Links in body content ---- */
body.sky-page main a:where(:not(.btn-primary):not(.btn-accent):not(.btn-outline):not(.btn-ghost-white):not(.sky-chip):not(.sky-footer-city-chip):not(.n-nav-link):not(.n-dropdown-link):not(.n-service-card):not(.n-specialty-card)) {
  color: var(--sky-700);
  text-decoration: underline;
  text-decoration-color: var(--sky-200);
  text-underline-offset: 2px;
}
body.sky-page main a:where(:not(.btn-primary):not(.btn-accent):not(.btn-outline):not(.btn-ghost-white):not(.sky-chip):not(.sky-footer-city-chip):not(.n-nav-link):not(.n-dropdown-link):not(.n-service-card):not(.n-specialty-card)):hover {
  color: var(--sky-800);
  text-decoration-color: var(--sky-500);
}

/* ---- Breadcrumb ---- */
body.sky-page .n-breadcrumb a { color: var(--sky-600) !important; }
body.sky-page .n-breadcrumb a:hover { color: var(--sky-800) !important; }
body.sky-page .n-breadcrumb [aria-current="page"] { color: var(--ink-3) !important; }

/* ---- Annbar (top strip) ---- */
body.sky-page .n-annbar {
  background: var(--sky-800) !important;
  color: var(--white) !important;
}
body.sky-page .n-annbar a { color: #e0f2fe !important; }
body.sky-page .n-annbar a:hover { color: var(--white) !important; }

/* ---- Mobile nav drawer palette ---- */
body.sky-page .n-mobile-panel {
  background: var(--white);
}
body.sky-page .n-mobile-nav-link {
  color: var(--sky-900);
  font-family: 'Public Sans', sans-serif;
}
body.sky-page .n-mobile-nav-link:hover { color: var(--sky-700); }

/* ---- Tables ---- */
body.sky-page table {
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  overflow: hidden;
}
body.sky-page thead {
  background: var(--sky-50);
}
body.sky-page thead th {
  color: var(--sky-900);
  font-family: 'Instrument Sans', sans-serif;
  font-weight: 600;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--line);
}
body.sky-page tbody td {
  color: var(--ink);
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--line);
}
body.sky-page tbody tr:last-child td { border-bottom: 0; }

/* ---- Code / pre blocks (used in service/content pages) ---- */
body.sky-page code,
body.sky-page pre {
  background: var(--sky-50);
  color: var(--sky-800);
  border-radius: var(--r-sm);
  padding: 0.1rem 0.4rem;
  font-size: 0.9em;
}
body.sky-page pre {
  padding: 1rem 1.25rem;
  overflow-x: auto;
}

/* ---- Floating CTA — sky palette (same as homepage) ---- */
body.sky-page .n-float-cta {
  border-radius: var(--r-md);
  box-shadow: var(--shadow-xl);
  font-family: 'Public Sans', sans-serif;
  overflow: hidden;
}
body.sky-page .n-float-cta__phone {
  background: var(--sky-900) !important;
  color: var(--white) !important;
  font-weight: 600;
}
body.sky-page .n-float-cta__phone .n-float-cta__pulse { color: var(--sky-300); }
body.sky-page .n-float-cta__consult {
  background: var(--sky-500) !important;
  color: var(--white) !important;
  font-weight: 600;
}
body.sky-page .n-float-cta__consult:hover { background: var(--sky-600) !important; }

/* ---- Header nav sitewide ---- */
body.sky-page .n-header {
  background: rgba(255, 255, 255, 0.96) !important;
  backdrop-filter: blur(10px) saturate(140%);
  -webkit-backdrop-filter: blur(10px) saturate(140%);
  border-bottom: 1px solid var(--line);
  box-shadow: var(--shadow-sm);
}
body.sky-page .n-nav-link,
body.sky-page .n-nav-btn {
  color: var(--ink) !important;
  font-family: 'Public Sans', sans-serif !important;
}
body.sky-page .n-nav-link:hover,
body.sky-page .n-nav-btn:hover { color: var(--sky-700) !important; }
body.sky-page .n-dropdown {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  box-shadow: var(--shadow-lg);
}
body.sky-page .n-dropdown-link {
  color: var(--ink) !important;
  font-family: 'Public Sans', sans-serif;
  border-radius: var(--r-sm);
}
body.sky-page .n-dropdown-link:hover {
  background: var(--sky-50) !important;
  color: var(--sky-700) !important;
}
body.sky-page .n-header .btn-primary {
  padding: 0.5625rem 1.125rem !important;
  font-size: 0.875rem !important;
}

/* ---- Explore / cards grid ---- */
body.sky-page .n-explore {
  background: var(--sky-50) !important;
}

/* ---- "Modern theme" tokens that leak in ---- */
body.sky-page {
  --surface-raised: var(--white);
  --surface-sunken: var(--sky-50);
  --ink-1: var(--ink);
  --ink-2: var(--ink-2);
  --ink-3: var(--ink-3);
  --line: var(--line);
  --brand: var(--sky-600);
  --brand-ink: var(--sky-800);
  --accent: var(--sky-600);
  --primary: var(--sky-600);
  --primary-dark: var(--sky-700);
  --primary-light: var(--sky-50);
  --accent-dark: var(--sky-700);
  --border: var(--line);
}

/* ---- Dark hero sections (service/location pages have deep ink heroes) ---- */
body.sky-page .n-hero.n-hero--dark,
body.sky-page .n-hero[style*="032b52"],
body.sky-page .n-hero[style*="0a6ebd"] {
  background: var(--sky-900) !important;
  color: var(--white) !important;
}
body.sky-page .n-hero.n-hero--dark h1,
body.sky-page .n-hero.n-hero--dark .n-hero-title {
  color: var(--white) !important;
}
body.sky-page .n-hero.n-hero--dark p,
body.sky-page .n-hero.n-hero--dark .n-hero-subtitle {
  color: rgba(255, 255, 255, 0.82) !important;
}

/* ═══════════════════════════════════════════════════════════════
   HIGH-SPECIFICITY INLINE-STYLE OVERRIDES
   Many pre-rendered pages have inline background colors hard-coded
   to the original #00C896/#00A67D emerald accent and #0A6EBD brand
   blue. CSS attribute selectors catch those and recolor to sky.
   ═══════════════════════════════════════════════════════════════ */

/* Emerald/teal accent → sky-500 */
body.sky-page [style*="background:#00C896"],
body.sky-page [style*="background: #00C896"],
body.sky-page [style*="background:#00c896"],
body.sky-page [style*="background: #00c896"],
body.sky-page [style*="background-color:#00C896"],
body.sky-page [style*="background-color: #00C896"],
body.sky-page [style*="background:#00A67D"],
body.sky-page [style*="background: #00A67D"],
body.sky-page [style*="background:#00a67d"],
body.sky-page [style*="background: #00a67d"] {
  background: var(--sky-600) !important;
  color: var(--white) !important;
}
body.sky-page [style*="color:#00C896"],
body.sky-page [style*="color: #00C896"],
body.sky-page [style*="color:#00c896"],
body.sky-page [style*="color: #00c896"],
body.sky-page [style*="color:#00A67D"],
body.sky-page [style*="color:#00a67d"] {
  color: var(--sky-600) !important;
}

/* Old primary brand blue → sky-700 for stronger contrast */
body.sky-page [style*="color:#0A6EBD"],
body.sky-page [style*="color: #0A6EBD"],
body.sky-page [style*="color:#0a6ebd"],
body.sky-page [style*="color: #0a6ebd"] {
  color: var(--sky-700) !important;
}
body.sky-page [style*="background:#0A6EBD"],
body.sky-page [style*="background: #0A6EBD"],
body.sky-page [style*="background:#0a6ebd"],
body.sky-page [style*="background: #0a6ebd"] {
  background: var(--sky-700) !important;
}

/* Dark-hero inline backgrounds (032b52, 064e8c) → sky-900 */
body.sky-page [style*="background:#032b52"],
body.sky-page [style*="background: #032b52"],
body.sky-page [style*="background:#064e8c"],
body.sky-page [style*="background: #064e8c"],
body.sky-page [style*="linear-gradient(135deg, #0a6ebd"],
body.sky-page [style*="linear-gradient(135deg,#0a6ebd"] {
  background: var(--sky-900) !important;
}

/* Border overrides that reference the old accent */
body.sky-page [style*="border:1px solid #00C896"],
body.sky-page [style*="border: 1px solid #00C896"],
body.sky-page [style*="border-color:#00C896"],
body.sky-page [style*="border-color: #00C896"] {
  border-color: var(--sky-500) !important;
}

/* Soften any <br>-separated price lines */
body.sky-page .n-pricing-card {
  background: var(--white) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-lg) !important;
  box-shadow: var(--shadow-md);
}
body.sky-page .n-pricing-card--featured {
  border: 2px solid var(--sky-500) !important;
  box-shadow: var(--shadow-lg);
}
body.sky-page .n-pricing-price {
  color: var(--sky-800) !important;
  font-family: 'Instrument Sans', sans-serif !important;
}

/* Fix invisible secondary buttons on inner-page hero actions
   (where phone button renders as rgba(0,0,0,0) on light bg) */
body.sky-page .n-hero-actions .btn-ghost-white,
body.sky-page .n-hero-actions a[href^="tel:"],
body.sky-page section .btn-ghost-white {
  background: transparent !important;
  color: var(--sky-700) !important;
  border: 1px solid var(--sky-200) !important;
  border-radius: var(--r-md) !important;
  padding: 0.95rem 1.5rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
body.sky-page .n-hero-actions .btn-ghost-white:hover,
body.sky-page .n-hero-actions a[href^="tel:"]:hover,
body.sky-page section .btn-ghost-white:hover {
  background: var(--sky-50) !important;
  border-color: var(--sky-300) !important;
}
/* But if the hero is dark, ghost-white should be white */
body.sky-page .n-hero[style*="032b52"] .btn-ghost-white,
body.sky-page .n-hero[style*="032b52"] a[href^="tel:"],
body.sky-page .n-hero[style*="0a6ebd"] .btn-ghost-white,
body.sky-page .n-hero.n-hero--dark .btn-ghost-white,
body.sky-page .n-hero.n-hero--dark a[href^="tel:"] {
  color: var(--white) !important;
  border-color: rgba(255,255,255,0.3) !important;
}


/* ═══════════════════════════════════════════════════════════════
   COMPACT FOOTER (reduces height ~35%)
   ═══════════════════════════════════════════════════════════════ */
.sky-footer {
  padding: clamp(2rem, 3.5vw, 2.75rem) 0 1.25rem !important;
  font-size: 0.8125rem !important;
  line-height: 1.5 !important;
}
.sky-footer-top {
  gap: 1.75rem !important;
  padding-bottom: 1.5rem !important;
}
.sky-footer-brand {
  font-size: 1.125rem !important;
  margin-bottom: 0.4rem !important;
}
.sky-footer-tag {
  margin-bottom: 0.75rem !important;
  font-size: 0.8125rem !important;
  line-height: 1.5 !important;
}
.sky-footer-contact { gap: 0.3rem !important; margin-bottom: 0.75rem !important; }
.sky-footer-contact a, .sky-footer-contact span { font-size: 0.8125rem !important; }
.sky-footer-badges {
  gap: 0.3rem !important;
  margin-top: 0.5rem !important;
}
.sky-footer-badge {
  padding: 0.3rem 0.55rem !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.005em !important;
}
.sky-footer-badge svg { width: 11px !important; height: 11px !important; }
.sky-footer-col h3 {
  font-size: 0.8125rem !important;
  margin: 0 0 0.6rem !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: rgba(255,255,255,0.95) !important;
  font-weight: 700 !important;
}
.sky-footer-col ul { gap: 0.3rem !important; }
.sky-footer-col li { margin-bottom: 0 !important; }
.sky-footer-col a { font-size: 0.8125rem !important; line-height: 1.4 !important; }
.sky-footer-locations {
  padding: 1.5rem 0 !important;
}
.sky-footer-locations-head {
  margin-bottom: 0.75rem !important;
}
.sky-footer-locations-title {
  font-size: 0.875rem !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 700 !important;
}
.sky-footer-locations-sub { font-size: 0.75rem !important; }
.sky-footer-states {
  gap: 0.2rem 0.75rem !important;
  grid-template-columns: repeat(8, 1fr) !important;
}
@media (max-width: 1100px) { .sky-footer-states { grid-template-columns: repeat(6, 1fr) !important; } }
@media (max-width: 820px) { .sky-footer-states { grid-template-columns: repeat(4, 1fr) !important; } }
@media (max-width: 560px) { .sky-footer-states { grid-template-columns: repeat(3, 1fr) !important; } }
.sky-footer-states a { font-size: 0.75rem !important; padding: 0.1rem 0 !important; }
.sky-footer-cities-head { margin-top: 1.25rem !important; margin-bottom: 0.6rem !important; }
.sky-footer-cities { gap: 0.3rem !important; }
.sky-footer-city-chip { padding: 0.25rem 0.6rem !important; font-size: 0.7rem !important; }
.sky-footer-bar { padding-top: 1.25rem !important; font-size: 0.75rem !important; }

/* Hide the extra 4-column secondary row (Company/Partners/Resources/Industries)
   — their content is already in main nav + brand column, so it adds height
   without adding link discoverability. Keep for crawlers (not display:none),
   use hidden-only-visually approach: show on mobile for discoverability, hide on desktop. */
.sky-footer-top:nth-of-type(2) {
  padding-top: 1.25rem !important;
  padding-bottom: 1rem !important;
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 1.5rem !important;
}
@media (max-width: 820px) {
  .sky-footer-top:nth-of-type(2) { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 480px) {
  .sky-footer-top:nth-of-type(2) { grid-template-columns: 1fr !important; }
}

/* ═══════════════════════════════════════════════════════════════
   READABILITY FIXES
   Heroes are DARK (see hero block above); their white inline text is
   correct as authored, so NO hero white→dark overrides here. Below we
   only fix bands that are genuinely light.
   ═══════════════════════════════════════════════════════════════ */

/* Hero phone links & secondary CTAs stay light on the dark hero */
body.sky-page .n-hero a[href^="tel:"] { color: #fff !important; }
body.sky-page .n-hero a[href^="tel:"] svg { color: var(--sky-300) !important; stroke: var(--sky-300) !important; }

/* Trust strip is light (sky-50) → its white inline text becomes dark */
body.sky-page .n-trust-strip [style*="color:rgba(255,255,255"],
body.sky-page .n-trust-strip [style*="color:#fff"],
body.sky-page .n-trust-strip [style*="color: #fff"] {
  color: var(--sky-900) !important;
}
body.sky-page .n-trust-strip a[href^="tel:"] { color: var(--sky-700) !important; }

/* Invisible white-outline buttons inside dark CTA bands */
body.sky-page .n-cta-section .btn-outline,
body.sky-page .n-cta-band .btn-outline,
body.sky-page .sky-cta-band .btn-outline,
body.sky-page .n-cta-section .btn-ghost-white,
body.sky-page .n-cta-band .btn-ghost-white,
body.sky-page .sky-cta-band .btn-ghost-white {
  background: transparent !important;
  color: var(--white) !important;
  border: 1px solid rgba(255,255,255,0.45) !important;
}
body.sky-page .n-cta-section .btn-outline:hover,
body.sky-page .n-cta-band .btn-outline:hover,
body.sky-page .sky-cta-band .btn-outline:hover,
body.sky-page .n-cta-section .btn-ghost-white:hover,
body.sky-page .n-cta-band .btn-ghost-white:hover,
body.sky-page .sky-cta-band .btn-ghost-white:hover {
  background: rgba(255,255,255,0.1) !important;
  border-color: rgba(255,255,255,0.7) !important;
}

/* Standalone sections authored with the dark gradient-hero variable stay dark */
body.sky-page section[style*="gradient-hero"] h1,
body.sky-page section[style*="gradient-hero"] h2 { color: #fff !important; }

/* ---- Testimonial / review quotes with faint color on light bg ---- */
body.sky-page blockquote,
body.sky-page .n-testimonial-text {
  color: var(--ink) !important;
}
body.sky-page .n-testimonial-author { color: var(--sky-800) !important; font-weight: 600; }

/* ---- Stars in testimonials visibility ---- */
body.sky-page [style*="color:#F59E0B"][style*="width:"] {
  /* keep amber for actual star icons — they're already visible */
}

/* ---- Focus visible on form inputs for accessibility ---- */
body.sky-page input:focus-visible,
body.sky-page select:focus-visible,
body.sky-page textarea:focus-visible {
  outline: 2px solid var(--sky-500) !important;
  outline-offset: 1px;
}


/* Hero glass panels are correct on the dark hero as authored — keep them. */

/* ═══════════════════════════════════════════════════════════════
   INLINE FORMS ON INNER PAGES (not fallback modal)
   Pages like /privacy/, /terms/, /pricing/, /contact/ render their
   contact form inline with their own markup — reskin to match sky.
   ═══════════════════════════════════════════════════════════════ */

/* Un-uppercase the labels — sentence case is cleaner */
body.sky-page form label[style*="text-transform:uppercase"],
body.sky-page form label[style*="text-transform: uppercase"] {
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 0.8125rem !important;
  color: var(--ink) !important;
  font-weight: 600 !important;
}

/* niyutsa-submit-btn / fallback-submit-btn — recolor from emerald to sky */
body.sky-page #niyutsa-submit-btn,
body.sky-page #fallback-submit-btn,
body.sky-page button[type="submit"][id*="submit"] {
  background: var(--sky-600) !important;
  color: var(--white) !important;
  border-radius: var(--r-md) !important;
  font-family: 'Public Sans', sans-serif !important;
  letter-spacing: 0.005em !important;
  transition: background 0.15s ease !important;
}
body.sky-page #niyutsa-submit-btn:hover,
body.sky-page #fallback-submit-btn:hover,
body.sky-page button[type="submit"][id*="submit"]:hover {
  background: var(--sky-700) !important;
}

/* Form input borders */
body.sky-page form input:not(.cm-field input),
body.sky-page form select:not(.cm-field select),
body.sky-page form textarea:not(.cm-field textarea) {
  border-radius: var(--r-md) !important;
  border: 1px solid var(--line) !important;
}

/* Ensure form on these pages still looks tidy */
body.sky-page .form-eyebrow,
body.sky-page [class*="form-eyebrow"] {
  color: var(--sky-600) !important;
  text-transform: none !important;
  letter-spacing: 0.01em !important;
}


/* =====================================================================
   READABILITY GUARD v2 (contrast pass — WCAG AA)
   ===================================================================== */
/* Text accents: sky-600/500 fail 4.5:1 on white -> use sky-700 */
body.sky-page main a:where(:not(.btn-primary):not(.btn-accent):not(.btn-outline):not(.btn-ghost-white):not(.sky-chip):not(.sky-footer-city-chip):not(.n-nav-link):not(.n-dropdown-link):not(.n-service-card):not(.n-specialty-card):not(.n-chip)) { color: var(--sky-700) !important; }
body.sky-page .eyebrow,
body.sky-page [class*="eyebrow"]:where(:not(.n-cta-eyebrow):not(.sky-eyebrow)),
body.sky-page .sky-eyebrow { color: var(--sky-700) !important; }
body.sky-page [style*="color:#0EA5E9"], body.sky-page [style*="color: #0EA5E9"],
body.sky-page [style*="color:#0ea5e9"], body.sky-page [style*="color:#0284C7"],
body.sky-page [style*="color:#0284c7"], body.sky-page [style*="color: #0284c7"],
body.sky-page [style*="color:var(--sky-500)"], body.sky-page [style*="color:var(--sky-600)"] { color: var(--sky-700) !important; }
body.sky-page .n-chip { color: var(--sky-800, #075985) !important; }
body.sky-page .sky-process-meta, body.sky-page .sky-process-label { color: var(--sky-700) !important; }
body.sky-page main table td, body.sky-page main table th { color: var(--ink-2) !important; }
/* Muted greys: slate-500 (4.4:1) -> slate-600 */
:root { --ink-3: #4B5B70; }
body.sky-page main p[style*="64748b"], body.sky-page main li[style*="64748b"], body.sky-page main strong[style*="64748b"],
body.sky-page main span[style*="64748b"], body.sky-page main th[style*="64748b"] { color: #4B5B70 !important; }
body.sky-page .n-faq-answer, body.sky-page main .n-section-sub { color: #3D4E63 !important; }

/* Solid buttons: white on sky-600/500 fails -> sky-700 */
body.sky-page .btn-primary, body.sky-page .btn-accent, body.sky-page .skip-to-content,
body.sky-page button.btn-primary, body.sky-page button.btn-accent {
  background: var(--sky-700) !important; color: #fff !important; }
body.sky-page .btn-primary:hover, body.sky-page .btn-accent:hover { background: var(--sky-800, #075985) !important; }
body.sky-page .n-float-cta__consult { background: var(--sky-700) !important; color: #fff !important; }
body.sky-page .n-float-cta__consult:hover { background: var(--sky-800, #075985) !important; }
body.sky-page .sky-process-num { background: var(--sky-700) !important; color: #fff !important; }

/* Footer: headings and fine print readable on navy */
body.sky-page .sky-footer h2, body.sky-page .sky-footer h3, body.sky-page .sky-footer h4,
body.sky-page .sky-footer .sky-footer-locations-title, body.sky-page .sky-footer .sky-footer-col h3 { color: #fff !important; }
body.sky-page .sky-footer a { color: rgba(255,255,255,0.86) !important; }
body.sky-page .sky-footer a:hover { color: #fff !important; }
body.sky-page .sky-footer-bottom, body.sky-page .sky-footer-bottom *,
body.sky-page .sky-footer-copy { color: rgba(255,255,255,0.78) !important; }

/* Dark surfaces (tagged .sky-dark by build script): guaranteed light text */
body.sky-page section.sky-dark:not(.n-hero) {
  background: linear-gradient(135deg, var(--sky-950), var(--sky-900) 55%, var(--sky-700)) !important;
}
html body.sky-page .sky-dark.sky-dark.sky-dark h1, html body.sky-page .sky-dark.sky-dark.sky-dark h2, html body.sky-page .sky-dark.sky-dark.sky-dark h3, html body.sky-page .sky-dark.sky-dark.sky-dark h4 { color: #fff !important; }
body.sky-page .sky-dark { color: #fff; }
html body.sky-page .sky-dark.sky-dark.sky-dark p, html body.sky-page .sky-dark.sky-dark.sky-dark li { color: rgba(255,255,255,0.94) !important; }
html body.sky-page main .sky-dark.sky-dark.sky-dark a:not(.btn-primary):not(.btn-accent):not(.btn-outline):not(.btn-ghost-white):not(.sky-chip):not(.sky-footer-city-chip):not(.n-nav-link):not(.n-dropdown-link):not(.n-service-card):not(.n-specialty-card):not(.n-chip),
html body.sky-page main .sky-dark.sky-dark.sky-dark .n-breadcrumb *, html body.sky-page main .sky-dark.sky-dark.sky-dark .n-breadcrumb a { color: #fff !important; text-decoration-color: rgba(255,255,255,.5); }
html body.sky-page .sky-dark.sky-dark.sky-dark .eyebrow, html body.sky-page .sky-dark.sky-dark.sky-dark [class*="eyebrow"] { color: #e0f2fe !important; }
html body.sky-page .sky-dark.sky-dark.sky-dark .btn-ghost-white, html body.sky-page .sky-dark.sky-dark.sky-dark .btn-outline {
  color: #fff !important; background: transparent !important; border: 1px solid rgba(255,255,255,0.65) !important; }
body.sky-page .sky-dark .btn-ghost-white:hover, body.sky-page .sky-dark .btn-outline:hover { background: rgba(255,255,255,0.14) !important; }
html body.sky-page .sky-dark.sky-dark.sky-dark .btn-primary, html body.sky-page .sky-dark.sky-dark.sky-dark .btn-accent {
  background: #fff !important; color: var(--sky-900) !important; border-color: #fff !important; }
body.sky-page .sky-dark .btn-primary:hover, body.sky-page .sky-dark .btn-accent:hover { background: var(--sky-50) !important; }
/* white-card inner panels inside dark surfaces keep dark text */
body.sky-page .sky-dark [style*="background:#fff"] *, body.sky-page .sky-dark [style*="background:white"] * { color: var(--ink) !important; }
body.sky-page main > section.sky-dark:not(.n-hero):nth-of-type(even) { background: linear-gradient(135deg, var(--sky-950), var(--sky-900) 55%, var(--sky-700)) !important; }
body.sky-page .n-cta-section .btn-ghost-white, body.sky-page .n-cta-band .btn-ghost-white {
  color: #fff !important; background: transparent !important; border: 1px solid rgba(255,255,255,0.6) !important; }
body.sky-page { --muted: #4B5B70; --text-muted: #4B5B70; }

body.sky-page .sky-footer div, body.sky-page .sky-footer p, body.sky-page .sky-footer span { --_f: 1; }
body.sky-page .sky-footer-bar, body.sky-page .sky-footer-bar div, body.sky-page .sky-footer-bar span { color: rgba(255,255,255,0.82) !important; }

/* Dark gradient cards: keep gradient in-palette so light text always passes */
html body.sky-page div.sky-dark[style*="gradient"] {
  background: linear-gradient(135deg, var(--sky-900) 0%, var(--sky-800) 55%, var(--sky-700) 100%) !important;
}

/* Breadcrumb separators / meta on light heroes */
body.sky-page .n-breadcrumb span:not([aria-current]), body.sky-page .n-breadcrumb li { color: var(--ink-3) !important; }
body.sky-page .n-breadcrumb [aria-current="page"], body.sky-page .n-breadcrumb span[aria-current] { color: var(--sky-800) !important; }

/* Self-tagged dark controls and light cards nested in dark surfaces */
html body.sky-page a.sky-dark:not(.btn-primary), html body.sky-page button.sky-dark, html body.sky-page a.sky-dark *, html body.sky-page button.sky-dark * { color: #fff !important; }
html body.sky-page .sky-dark.sky-dark.sky-dark .sky-light, html body.sky-page .sky-dark.sky-dark.sky-dark .sky-light :is(h1,h2,h3,h4,p,li,span,div,strong,td,th,a:not(.btn-primary):not(.btn-accent)) {
  color: var(--ink) !important; }
html body.sky-page .sky-dark.sky-dark.sky-dark .sky-light :is(p,li) { color: var(--ink-2) !important; }

/* Accent-coloured inline text on dark surfaces */
html body.sky-page .sky-dark.sky-dark.sky-dark :is([style*="color:#00C896"],[style*="color:#00c896"],[style*="color: #00C896"],[style*="color:#00A67D"],[style*="color:#0A6EBD"],[style*="color:#0a6ebd"]) { color: var(--sky-200) !important; }
/* Breadcrumbs */
html body.sky-page nav[aria-label="Breadcrumb"] :is(li,span,a) { color: var(--ink-3) !important; }
html body.sky-page nav[aria-label="Breadcrumb"] li:last-child span:last-child { color: var(--sky-800) !important; }
html body.sky-page .sky-dark.sky-dark.sky-dark nav[aria-label="Breadcrumb"] :is(li,span,a) { color: rgba(255,255,255,.86) !important; }
html body.sky-page .sky-dark.sky-dark.sky-dark nav[aria-label="Breadcrumb"] li:last-child span:last-child { color: #fff !important; }

/* Dim inline whites on dark surfaces -> readable */
html body.sky-page .sky-dark.sky-dark.sky-dark :is([style*="color:rgba(255,255,255,0.4"],[style*="color:rgba(255,255,255,0.5"],[style*="color:rgba(255,255,255,0.6"],[style*="color:rgba(255,255,255,0.7"],[style*="color:rgba(255,255,255,.4"],[style*="color:rgba(255,255,255,.5"],[style*="color:rgba(255,255,255,.6"],[style*="color:rgba(255,255,255,.7"],[style*="color: rgba(255,255,255,0.5"],[style*="color: rgba(255,255,255,0.6"]) { color: rgba(255,255,255,0.84) !important; }
/* Decorative numerals */
body.sky-page [style*="color:var(--primary-light)"] { color: var(--sky-200) !important; }

html body.sky-page .sky-dark.sky-dark.sky-dark :is([style*="color:#032b52"],[style*="color:#032B52"],[style*="color:#0D2137"],[style*="color:#0d2137"],[style*="color:var(--navy)"],[style*="color:var(--foreground)"]) { color: #fff !important; }

body.sky-page [style*="color:#F59E0B"], body.sky-page [style*="color:#f59e0b"] { color: #B45309 !important; }
html body.sky-page [style*="background:#0A6EBD"], html body.sky-page [style*="background:#0a6ebd"] { color: #fff !important; }

html body.sky-page .sky-dark.sky-dark.sky-dark:is([style*="color:#032b52"],[style*="color:#032B52"],[style*="color:#0D2137"]) { color: #fff !important; }
html body.sky-page [style*="background:#0A6EBD"][style*="color"][style*="background:#0A6EBD"][style*="background:#0A6EBD"] { color: #fff !important; }

/* Homepage CTA band (dark) */
html body.sky-page .sky-cta-band .sky-btn-secondary { color: #fff !important; background: transparent !important; border-color: rgba(255,255,255,.6) !important; }
html body.sky-page .sky-cta-band .sky-btn-secondary:hover { background: rgba(255,255,255,.14) !important; }
html body.sky-page .sky-cta-band h2 { color: #fff !important; }
html body.sky-page .sky-cta-band p { color: rgba(255,255,255,.9) !important; }

/* ═══════════════════════════════════════════════════════════════
   FINAL READABILITY PASS (dark heroes + decorative accents)
   ═══════════════════════════════════════════════════════════════ */
/* Accent stat numbers inside dark heroes/surfaces → bright variants */
html body.sky-page .n-hero [style*="color:#F59E0B"],
html body.sky-page .n-hero [style*="color:#f59e0b"],
html body.sky-page .sky-dark [style*="color:#F59E0B"],
html body.sky-page .sky-dark [style*="color:#f59e0b"] { color: #FBBF24 !important; }
html body.sky-page .n-hero [style*="color:#8B5CF6"],
html body.sky-page .n-hero [style*="color:#8b5cf6"],
html body.sky-page .sky-dark [style*="color:#8B5CF6"],
html body.sky-page .sky-dark [style*="color:#8b5cf6"] { color: #C4B5FD !important; }
html body.sky-page .n-hero [style*="color:#00C896"],
html body.sky-page .n-hero [style*="color:#00c896"],
html body.sky-page .n-hero [style*="color:#00a67d"],
html body.sky-page .sky-dark [style*="color:#00C896"],
html body.sky-page .sky-dark [style*="color:#00c896"] { color: #5EEAD4 !important; }

/* Solid accent buttons on any dark surface → white button, dark label (high contrast) */
html body.sky-page .n-hero .btn-accent,
html body.sky-page .n-hero button.btn-accent,
html body.sky-page .sky-dark .btn-accent,
html body.sky-page .sky-dark button.btn-accent {
  background: #ffffff !important;
  color: var(--sky-900) !important;
  border: 1px solid #ffffff !important;
}
html body.sky-page .n-hero .btn-accent:hover,
html body.sky-page .sky-dark .btn-accent:hover { background: var(--sky-50) !important; }

/* Secondary/outline buttons + phone links on any dark surface → light */
html body.sky-page .sky-cta-band .sky-btn-secondary,
html body.sky-page .sky-dark .sky-btn-secondary,
html body.sky-page .n-hero .sky-btn-secondary,
html body.sky-page .n-cta-band .sky-btn-secondary,
html body.sky-page .n-cta-section .sky-btn-secondary {
  color: #fff !important; background: transparent !important; border-color: rgba(255,255,255,.55) !important;
}

/* Decorative "ghost" step numerals (var(--primary-light)) → visible soft brand blue */
html body.sky-page [style*="color:var(--primary-light)"] { color: rgba(2,132,199,0.32) !important; }
html body.sky-page .n-hero [style*="color:var(--primary-light)"] { color: rgba(186,230,253,0.85) !important; }

/* Category pills: violet bg too light for white text → darken to AA */
html body.sky-page [style*="background:#8B5CF6"],
html body.sky-page [style*="background: #8B5CF6"],
html body.sky-page [style*="background:#8b5cf6"] { background: #7C3AED !important; }
/* Make decorative ghost step numerals clearly visible as a soft accent */
html body.sky-page [style*="color:var(--primary-light)"] { color: rgba(2,132,199,0.5) !important; }

/* Category pills with amber bg + white text → darken for AA */
html body.sky-page [style*="background:#F59E0B"],
html body.sky-page [style*="background: #F59E0B"],
html body.sky-page [style*="background:#f59e0b"] { background: #B45309 !important; }

/* ═══════════════════════════════════════════════════════════════
   AUTHORITATIVE DARK-SURFACE TEXT RULES  (highest specificity, last)
   Doubled/tripled classes so these always beat light-oriented rules.
   Applies to inner-page heroes (.n-hero) and server-tagged dark cards
   (.sky-dark). No JS dependency.
   ═══════════════════════════════════════════════════════════════ */
html body.sky-page .n-hero.n-hero h1,
html body.sky-page .n-hero.n-hero h2,
html body.sky-page .n-hero.n-hero h3,
html body.sky-page .n-hero.n-hero h4,
html body.sky-page .n-hero.n-hero strong,
html body.sky-page .sky-dark.sky-dark.sky-dark h1,
html body.sky-page .sky-dark.sky-dark.sky-dark h2,
html body.sky-page .sky-dark.sky-dark.sky-dark h3,
html body.sky-page .sky-dark.sky-dark.sky-dark h4,
html body.sky-page .sky-dark.sky-dark.sky-dark strong { color: #fff !important; }

html body.sky-page .n-hero.n-hero p,
html body.sky-page .n-hero.n-hero li,
html body.sky-page .sky-dark.sky-dark.sky-dark p,
html body.sky-page .sky-dark.sky-dark.sky-dark li { color: rgba(255,255,255,0.90) !important; }

/* Eyebrows / small labels */
html body.sky-page .n-hero.n-hero .eyebrow,
html body.sky-page .n-hero.n-hero [class*="eyebrow"],
html body.sky-page .sky-dark.sky-dark.sky-dark .eyebrow,
html body.sky-page .sky-dark.sky-dark.sky-dark [class*="eyebrow"] { color: var(--sky-200) !important; }

/* Generic links & breadcrumbs → light (exclude real buttons) */
html body.sky-page .n-hero.n-hero a:not(.btn-primary):not(.btn-accent),
html body.sky-page .sky-dark.sky-dark.sky-dark a:not(.btn-primary):not(.btn-accent),
html body.sky-page .n-hero.n-hero nav[aria-label="Breadcrumb"] *,
html body.sky-page .sky-dark.sky-dark.sky-dark nav[aria-label="Breadcrumb"] * { color: #fff !important; }

/* Any inline-coloured text that resolves to a dark/brand tone → light.
   Covers authored sky-600/700, #00C896 accents, old brand blues, etc. */
html body.sky-page .n-hero.n-hero [style*="color:#00C896"],
html body.sky-page .n-hero.n-hero [style*="color:#00c896"],
html body.sky-page .n-hero.n-hero [style*="color: #00C896"],
html body.sky-page .n-hero.n-hero [style*="color:#00a67d"],
html body.sky-page .sky-dark.sky-dark.sky-dark [style*="color:#00C896"],
html body.sky-page .sky-dark.sky-dark.sky-dark [style*="color:#00c896"] { color: #5EEAD4 !important; }

html body.sky-page .n-hero.n-hero [style*="color:#F59E0B"],
html body.sky-page .sky-dark.sky-dark.sky-dark [style*="color:#F59E0B"] { color: #FBBF24 !important; }
html body.sky-page .n-hero.n-hero [style*="color:#8B5CF6"],
html body.sky-page .sky-dark.sky-dark.sky-dark [style*="color:#8B5CF6"] { color: #C4B5FD !important; }

/* Dimmed inline whites (0.4–0.7) → lift to AA-readable on dark */
html body.sky-page .n-hero.n-hero [style*="color:rgba(255,255,255,0.4"],
html body.sky-page .n-hero.n-hero [style*="color:rgba(255,255,255,0.5"],
html body.sky-page .n-hero.n-hero [style*="color:rgba(255,255,255,0.6"],
html body.sky-page .n-hero.n-hero [style*="color:rgba(255,255,255,0.7"],
html body.sky-page .n-hero.n-hero [style*="color:rgba(255, 255, 255, 0.4"],
html body.sky-page .n-hero.n-hero [style*="color:rgba(255, 255, 255, 0.5"],
html body.sky-page .n-hero.n-hero [style*="color:rgba(255, 255, 255, 0.6"],
html body.sky-page .sky-dark.sky-dark.sky-dark [style*="color:rgba(255,255,255,0.4"],
html body.sky-page .sky-dark.sky-dark.sky-dark [style*="color:rgba(255,255,255,0.5"],
html body.sky-page .sky-dark.sky-dark.sky-dark [style*="color:rgba(255,255,255,0.6"] { color: rgba(255,255,255,0.84) !important; }

/* Stat values authored in brand blue → bright on dark */
html body.sky-page .n-hero.n-hero [style*="color:#0A6EBD"],
html body.sky-page .n-hero.n-hero [style*="color:#0a6ebd"],
html body.sky-page .n-hero.n-hero [style*="color:var(--primary)"],
html body.sky-page .sky-dark.sky-dark.sky-dark [style*="color:#0A6EBD"] { color: var(--sky-300) !important; }

/* Ghost/outline buttons on dark → white text + visible outline */
html body.sky-page .n-hero.n-hero .btn-ghost-white,
html body.sky-page .n-hero.n-hero .btn-outline,
html body.sky-page .sky-dark.sky-dark.sky-dark .btn-ghost-white,
html body.sky-page .sky-dark.sky-dark.sky-dark .btn-outline {
  color: #fff !important; background: transparent !important; border: 1px solid rgba(255,255,255,0.6) !important;
}

/* Hero breadcrumbs beat the light-breadcrumb current-page rule */
html body.sky-page .n-hero nav[aria-label="Breadcrumb"] li span,
html body.sky-page .n-hero nav[aria-label="Breadcrumb"] li:last-child span:last-child,
html body.sky-page .n-hero nav[aria-label="Breadcrumb"] a,
html body.sky-page .n-hero nav[aria-label="Breadcrumb"] [style*="color:#00C896"],
html body.sky-page .sky-dark nav[aria-label="Breadcrumb"] li:last-child span:last-child {
  color: #fff !important;
}
/* Pricing/partner dark cards: medium-blue inline text → bright */
html body.sky-page .sky-dark.sky-dark.sky-dark [style*="color:#0369A1"],
html body.sky-page .sky-dark.sky-dark.sky-dark [style*="color:#0a6ebd"],
html body.sky-page .sky-dark.sky-dark.sky-dark [style*="color:#0A6EBD"],
html body.sky-page .sky-dark.sky-dark.sky-dark [style*="color:var(--primary)"],
html body.sky-page .sky-dark.sky-dark.sky-dark [style*="color:var(--sky-600)"],
html body.sky-page .sky-dark.sky-dark.sky-dark [style*="color:var(--sky-700)"] { color: var(--sky-300) !important; }
html body.sky-page .sky-dark.sky-dark.sky-dark [style*="color:rgba(255,255,255,0.5"],
html body.sky-page .sky-dark.sky-dark.sky-dark [style*="color: rgba(255,255,255,0.5"] { color: rgba(255,255,255,0.84) !important; }

/* Accent-bg buttons/ribbons authored with near-black text → AA (dark bg + white) */
html body.sky-page [style*="background:var(--accent)"][style*="color:#032b52"],
html body.sky-page [style*="background:var(--accent)"][style*="color:#032B52"],
html body.sky-page [style*="background: var(--accent)"][style*="color:#032b52"] {
  background: var(--sky-700) !important; color: #fff !important;
}

/* ── Mobile overflow fixes (root cause of pages rendering wider than the phone,
      which zoomed the page out and made form fields/buttons awkward to tap) ── */
/* City location heroes: two-column grid never collapsed on small screens. */
@media (max-width: 900px) {
  .hero-two-col { grid-template-columns: 1fr !important; gap: 2rem !important; }
}
/* Grid children must be allowed to shrink below their content's intrinsic width. */
.contact-grid > *, .hero-two-col > * { min-width: 0; }
/* /contact/ embedded form: name inputs had no width, so their default intrinsic
   size held the column open at ~530px on a 390px phone. */
#embedded-contact-form-contact input,
#embedded-contact-form-contact select,
#embedded-contact-form-contact textarea { width: 100%; min-width: 0; max-width: 100%; box-sizing: border-box; }
@media (max-width: 480px) {
  #embedded-contact-form-contact > div[style*="grid-template-columns:1fr 1fr"] { grid-template-columns: 1fr !important; }
}
/* Popup form: stack two-column rows on narrow phones so fields stay large enough to tap. */
@media (max-width: 480px) {
  #fallback-contact-form > div[style*="grid-template-columns:1fr 1fr"] { grid-template-columns: 1fr !important; }
}
/* Safety net: never let a stray decorative element widen the page sideways. */
html, body { overflow-x: clip; }
