/* ─────────────────────────────────────────────
   NAIK INFRA — Reset & Base
───────────────────────────────────────────── */

*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body {
  font-family: var(--font-body);
  font-size: var(--text-base);
  font-weight: 400;
  line-height: 1.65;
  color: var(--off-white);
  background-color: var(--ink);
  overflow-x: hidden;
}

img, video, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }

button, input, textarea, select {
  font: inherit;
  border: none;
  background: none;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
}

button { cursor: pointer; }

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  font-weight: 400;
  line-height: 1.1;
  color: var(--white);
}

p {
  color: var(--muted);
  line-height: 1.75;
}

/* Scrollbar */
::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: var(--navy-dark); }
::-webkit-scrollbar-thumb { background: var(--gold-rule); border-radius: 2px; }

/* Selection */
::selection { background: var(--gold); color: var(--navy-deeper); }

/* Focus */
:focus-visible { outline: 1.5px solid var(--gold); outline-offset: 3px; }

/* ── Light section overrides ──
   Apply . to any section for white background treatment */

. {
  background: var(--light-bg);
}

. {
  background: var(--light-bg-2);
}

/* On-light text colours */
. h1,
. h2,
. h3,
. h4,
. .display-1,
. .display-2,
. .display-3,
. .display-4,
. h1,
. h2,
. h3,
. h4,
. .display-1,
. .display-2,
. .display-3,
. .display-4 {
  color: var(--on-light-heading);
}

. p,
. .body-lg,
. .body-base,
. .body-sm,
. p,
. .body-lg,
. .body-base,
. .body-sm {
  color: var(--on-light-body);
}

/* Label stays gold on light — perfect contrast */
. .label,
. .label {
  color: var(--gold);
}

. .label::before,
. .label::before {
  background: var(--gold);
}

/* Gold line stays */
. .gold-line,
. .gold-line { background: var(--gold); }

/* ══════════════════════════════
   WHITE SECTIONS
   Simple white bg + dark text.
   No border changes. No component changes.
══════════════════════════════ */

.section--white {
  background: #ffffff;
}

.section--white h1,
.section--white h2,
.section--white h3,
.section--white h4,
.section--white .display-1,
.section--white .display-2,
.section--white .display-3,
.section--white .display-4,
.section--white .blog-card__title,
.section--white .milestone__title,
.section--white .value-pill__title,
.section--white .team-card__name,
.section--white .stat-block__num {
  color: #0F1D38;
}

.section--white p,
.section--white .body-lg,
.section--white .body-base,
.section--white .body-sm,
.section--white .blog-card__excerpt,
.section--white .milestone__desc,
.section--white .value-pill__desc,
.section--white .stat-block__label,
.section--white .contact-item__value,
.section--white .form__label {
  color: #3D4E6B;
}


.section--white .value-pill {
  background: #f8f8f8;
  box-shadow: 0 1px 8px rgba(15,29,56,0.05);
}

.section--white .value-pill:hover {
  background: #f2f2f2;
}

.section--white .blog-card__date {
  color: #7A8BA8;
}

.section--white .milestone__year {
  color: #B8922A;
}

.section--white .contact-item__label {
  color: #B8922A;
}

.section--white .form__input,
.section--white .form__select,
.section--white .form__textarea {
  background: #f5f5f5;
  color: #0F1D38;
}

.section--white .form__input::placeholder,
.section--white .form__textarea::placeholder {
  color: #7A8BA8;
}

.section--white .contact-form-wrap {
  background: #f8f8f8;
  box-shadow: 0 4px 24px rgba(15,29,56,0.07);
}

.section--white .highlight-item {
  background: #f8f8f8;
  color: #3D4E6B;
}

.section--white .service-visual-card {
  background: #f8f8f8;
}

.section--white .service-visual-card__title {
  color: #0F1D38;
}

/* Article body on white */
.section--white .article-body h2 { color: #0F1D38; }
.section--white .article-body p  { color: #3D4E6B; }
.section--white .article-body blockquote { background: #f5f5f5; }
.section--white .article-body blockquote p { color: #0F1D38; }

/* What happens next items */
.section--white [style*="font-family: var(--font-display)"][style*="color: var(--gold)"] {
  color: #B8922A !important;
}

.section--white .blog-sidebar__cat { color: #3D4E6B; }
.section--white .blog-sidebar__cat:hover { color: #B8922A; background: #f2f2f2; }

/* btn--ghost adapts on white */
.section--white .btn--ghost {
  color: #0F1D38;
  border-color: rgba(15,29,56,0.2);
}
.section--white .btn--ghost:hover {
  background: rgba(15,29,56,0.06);
}

/* Process step boxes on white */
.section--white [style*="border: 1px solid var(--border)"] {
  background: #f8f8f8 !important;
}

/* District/tag pills on white */
.section--white [style*="background: var(--surface-3)"] {
  background: #eeeeee !important;
  color: #3D4E6B !important;
}

/* Services grid divider lines on white */
.section--white .services-overview {
  background: rgba(15,29,56,0.08);
  border-color: rgba(15,29,56,0.08);
}

/* Service-card num ghost text on white */

/* ══════════════════════════════
   section--white — targeted overrides
   (replaces the old section--light system cleanly)
══════════════════════════════ */

.section--white {
  background: #ffffff;
}

/* Headings */
.section--white h1, .section--white h2, .section--white h3,
.section--white .display-1, .section--white .display-2,
.section--white .display-3, .section--white .display-4 {
  color: #0F1D38;
}

/* Body text */
.section--white p,
.section--white .body-lg,
.section--white .body-base,
.section--white .body-sm {
  color: #3D4E6B;
}

/* Gold stays gold */
.section--white .label       { color: var(--gold); }
.section--white .label::before { background: var(--gold); }
.section--white .gold-line   { background: var(--gold); }
.section--white .gold        { color: var(--gold); }
.section--white .arrow-link  { color: var(--gold); }
.section--white .milestone__year { color: var(--gold); }
.section--white .contact-item__label { color: var(--gold); }

/* Blog cards */
.section--white .blog-card__title   { color: #0F1D38; }
.section--white .blog-card__excerpt { color: #3D4E6B; }
.section--white .blog-card__date    { color: #7A8BA8; }
.section--white .blog-card          { border-bottom-color: rgba(15,29,56,0.10); }
.section--white .blog-card:hover .blog-card__title { color: var(--gold); }

/* Milestone */
.section--white .milestone         { border-bottom-color: rgba(15,29,56,0.10); }
.section--white .milestone__title  { color: #0F1D38; }
.section--white .milestone__desc   { color: #3D4E6B; }

/* Contact items */
.section--white .contact-item__value { color: #0F1D38; }
.section--white .contact-item__icon  {
  background: rgba(184,146,42,0.10);
  border-color: rgba(184,146,42,0.25);
}

/* Form on white */
.section--white .form__label { color: #7A8BA8; }
.section--white .form__input,
.section--white .form__select,
.section--white .form__textarea {
  background: #f5f5f5;
  border-color: rgba(15,29,56,0.12);
  color: #0F1D38;
}
.section--white .form__input::placeholder,
.section--white .form__textarea::placeholder { color: #7A8BA8; }
.section--white .form__input:focus,
.section--white .form__select:focus,
.section--white .form__textarea:focus {
  border-color: var(--gold);
  background: #ffffff;
}
.section--white .contact-form-wrap {
  background: #f8f8f8;
  border-color: rgba(15,29,56,0.10);
  box-shadow: 0 4px 24px rgba(15,29,56,0.07);
}

/* btn--ghost on white */
.section--white .btn--ghost {
  color: #0F1D38;
  border-color: rgba(15,29,56,0.18);
}
.section--white .btn--ghost:hover {
  background: rgba(15,29,56,0.05);
  border-color: rgba(15,29,56,0.28);
}

/* Highlight items (service detail pages) */
.section--white .highlight-item {
  background: #f8f8f8;
  border-color: rgba(15,29,56,0.10);
  color: #3D4E6B;
}
.section--white .highlight-item:hover { border-color: rgba(184,146,42,0.3); }

/* Service visual card */
.section--white .service-visual-card {
  background: #f8f8f8;
  border-color: rgba(184,146,42,0.25);
}
.section--white .service-visual-card__title { color: #0F1D38; }
.section--white .service-visual-card .stat-block__label { color: #7A8BA8; }

/* District/tag pills */
.section--white [style*="background: var(--surface-3)"] {
  background: #eeeeee !important;
  color: #3D4E6B !important;
}

/* Article body */
.section--white .article-body h2 { color: #0F1D38; }
.section--white .article-body p  { color: #3D4E6B; }
.section--white .article-body blockquote { background: #f5f5f5; }
.section--white .article-body blockquote p { color: #0F1D38; }

/* What happens next numbered items */
.section--white [style*="color: var(--muted)"],
.section--white [style*="color:var(--muted)"] { color: #3D4E6B !important; }
.section--white [style*="color: var(--white)"],
.section--white [style*="color:var(--white)"]  { color: #0F1D38 !important; }

/* Process step boxes (services page) */
.section--white [style*="border: 1px solid var(--border)"] {
  background: #f8f8f8 !important;
  border-color: rgba(15,29,56,0.10) !important;
}
