/*
  Gashi Construct foundation theme
  Primary mode is dark. Light mode is supportive only and should be applied
  intentionally to forms, documents, estimate flows, legal text, and long reading.
*/

:root {
  --gashi-theme-primary-mode: dark;

  --gashi-red: #F80906;
  --gashi-black: #070707;
  --gashi-anthracite: #111111;
  --gashi-white: #FFFFFF;
  --gashi-grey: #B8B8B8;
  --gashi-charcoal: #1A1A1A;
  --gashi-soft-black: #0B0B0B;
  --gashi-soft-white: #F5F5F2;
  --gashi-light-grey: #ECECEA;

  --gashi-dark-bg: #070707;
  --gashi-dark-section: #090909;
  --gashi-dark-panel: rgba(17, 17, 17, .82);
  --gashi-dark-text: #FFFFFF;
  --gashi-dark-muted: rgba(255, 255, 255, .72);
  --gashi-dark-soft: rgba(255, 255, 255, .58);
  --gashi-dark-line: rgba(255, 255, 255, .12);
  --gashi-dark-red-line: rgba(248, 9, 6, .55);

  --gashi-light-bg: var(--gashi-soft-white);
  --gashi-light-section: #FFFFFF;
  --gashi-light-panel: #FFFFFF;
  --gashi-light-text: #090909;
  --gashi-light-muted: rgba(9, 9, 9, .68);
  --gashi-light-soft: rgba(9, 9, 9, .50);
  --gashi-light-line: rgba(9, 9, 9, .12);
  --gashi-light-red-line: rgba(248, 9, 6, .42);

  --gashi-theme-bg: var(--gashi-dark-bg);
  --gashi-theme-section: var(--gashi-dark-section);
  --gashi-theme-panel: var(--gashi-dark-panel);
  --gashi-theme-text: var(--gashi-dark-text);
  --gashi-theme-muted: var(--gashi-dark-muted);
  --gashi-theme-soft: var(--gashi-dark-soft);
  --gashi-theme-line: var(--gashi-dark-line);
  --gashi-theme-red-line: var(--gashi-dark-red-line);

  --gashi-section-divider: 1px solid var(--gashi-theme-line);
  --gashi-red-divider: 1px solid var(--gashi-theme-red-line);
  --gashi-focus-ring: 2px solid var(--gashi-red);
  --gashi-radius-sharp: 0;
  --gashi-control-height: 48px;
  --gashi-hero-title-size: clamp(48px, 5.5vw, 86px);
  --gashi-section-title-size: clamp(38px, 4.6vw, 72px);
  --gashi-card-title-size: clamp(24px, 2.35vw, 40px);
  --gashi-heading-tracking: .035em;
  --gashi-compact-heading-tracking: .025em;
  --gashi-eyebrow-tracking: .24em;
  --gashi-body-line-height: 1.65;
  --gashi-card-shadow-dark: 0 24px 70px rgba(0, 0, 0, .26);
  --gashi-card-shadow-light: 0 22px 70px rgba(9, 9, 9, .08);

  /* Legacy site variable bridge. Most existing page CSS already reads these. */
  --red: var(--gashi-red);
  --anthracite: var(--gashi-anthracite);
  --black: var(--gashi-theme-bg);
  --white: var(--gashi-theme-text);
  --grey: var(--gashi-grey);
  --line: var(--gashi-theme-line);
  --line-red: var(--gashi-theme-red-line);
  --panel: var(--gashi-theme-panel);

  color-scheme: dark;
}

html[data-site-theme="dark"] {
  --gashi-theme-primary-mode: dark;
  --gashi-theme-bg: var(--gashi-dark-bg);
  --gashi-theme-section: var(--gashi-dark-section);
  --gashi-theme-panel: var(--gashi-dark-panel);
  --gashi-theme-text: var(--gashi-dark-text);
  --gashi-theme-muted: var(--gashi-dark-muted);
  --gashi-theme-soft: var(--gashi-dark-soft);
  --gashi-theme-line: var(--gashi-dark-line);
  --gashi-theme-red-line: var(--gashi-dark-red-line);
  --black: var(--gashi-theme-bg);
  --white: var(--gashi-theme-text);
  --line: var(--gashi-theme-line);
  --line-red: var(--gashi-theme-red-line);
  --panel: var(--gashi-theme-panel);
  color-scheme: dark;
}

html[data-site-theme="light"] {
  --gashi-theme-primary-mode: light;
  --gashi-theme-bg: var(--gashi-light-bg);
  --gashi-theme-section: var(--gashi-light-section);
  --gashi-theme-panel: var(--gashi-light-panel);
  --gashi-theme-text: var(--gashi-light-text);
  --gashi-theme-muted: var(--gashi-light-muted);
  --gashi-theme-soft: var(--gashi-light-soft);
  --gashi-theme-line: var(--gashi-light-line);
  --gashi-theme-red-line: var(--gashi-light-red-line);
  --black: var(--gashi-theme-bg);
  --white: var(--gashi-theme-text);
  --grey: var(--gashi-light-muted);
  --line: var(--gashi-theme-line);
  --line-red: var(--gashi-theme-red-line);
  --panel: var(--gashi-theme-panel);
  color-scheme: light;
}

html[data-site-theme] body {
  background:
    radial-gradient(circle at 12% 8%, rgba(248, 9, 6, .10), transparent 22%),
    var(--gashi-theme-bg);
  color: var(--gashi-theme-text);
}

html[data-site-theme="light"] body::before {
  opacity: .22;
  background:
    radial-gradient(circle at 18% 12%, rgba(248, 9, 6, .10), transparent 24%),
    linear-gradient(180deg, rgba(9, 9, 9, .035), transparent 42%);
}

html[data-site-theme="light"] .noise {
  opacity: .08;
  mix-blend-mode: multiply;
}

html[data-site-theme="light"] :is(
  .hero,
  .portfolio-hero,
  .about-hero,
  .services-hero,
  .offers-hero,
  .thank-you-hero,
  .error-hero,
  .case-detail-hero,
  .case-detail-fallback
) {
  --white: #FFFFFF;
  --grey: #B8B8B8;
  color: #FFFFFF;
}

html[data-site-theme="light"] :is(
  .site-header,
  .site-header[data-system="gashi-global-header"]
) {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .985), rgba(245, 245, 242, .94)) !important;
  border-bottom-color: rgba(9, 9, 9, .10) !important;
  box-shadow: 0 10px 34px rgba(9, 9, 9, .08) !important;
}

html[data-site-theme="light"] .site-header .nav a,
html[data-site-theme="light"] .brand em {
  color: rgba(9, 9, 9, .68) !important;
}

html[data-site-theme="light"] .site-header .nav a:hover,
html[data-site-theme="light"] .site-header .nav a.is-active,
html[data-site-theme="light"] .site-header .nav a[aria-current="page"],
html[data-site-theme="light"] .brand strong {
  color: #090909 !important;
}

html[data-site-theme="light"] .header-call {
  background: #F80906 !important;
  border-color: #F80906 !important;
  color: #FFFFFF !important;
}

html[data-site-theme="light"] :is(
  .section,
  .detail-section,
  .process-section,
  .estimate-section,
  .project-planner-section,
  .trust-section,
  .service-area-section,
  .faq-section,
  .portfolio-filter-band,
  .portfolio-gallery,
  .portfolio-scope-band,
  .portfolio-cta,
  .services-full-section,
  .services-method-section,
  .services-cta,
  .active-offers-section,
  .future-windows-section,
  .saved-campaign-section,
  .offers-steps-section,
  .offers-project-section,
  .offers-terms-section,
  .offers-form-section,
  .legal-page,
  .thank-you-next
) {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(245, 245, 242, .98)) !important;
  border-color: var(--gashi-light-line) !important;
  color: #090909 !important;
}

html[data-site-theme="light"] :is(
  .section-head h2,
  .detail-copy h2,
  .estimate-copy h2,
  .portfolio-section-head h2,
  .portfolio-gallery-head h2,
  .portfolio-scope-copy h2,
  .portfolio-cta h2,
  .services-section h2,
  .services-method-section h2,
  .services-cta h2,
  .offers-section-head h2,
  .offers-project-section h2,
  .offers-terms-section h2,
  .offers-form-copy h2,
  .legal-wrap h1,
  .legal-wrap h2,
  .thank-you-section-head h2
) {
  color: #090909 !important;
}

html[data-site-theme="light"] :is(
  .section-head p,
  .detail-copy p,
  .estimate-copy p,
  .portfolio-section-head p,
  .portfolio-gallery-head p,
  .portfolio-scope-copy p,
  .services-method-section p,
  .services-cta p,
  .offers-section-head p,
  .offers-project-section p,
  .offers-terms-section p,
  .offers-form-copy p,
  .legal-wrap p,
  .legal-wrap li,
  .thank-you-section-head p
) {
  color: rgba(9, 9, 9, .70) !important;
}

html[data-site-theme="light"] :is(
  .estimate-form,
  .legal-wrap,
  .trust-card,
  .faq-item,
  .project-planner-card,
  .active-offer-card,
  .future-window-card,
  .past-window-note,
  .offers-terms-list li,
  .service-area-card,
  .portfolio-scope-grid article
) {
  background: #FFFFFF !important;
  border-color: var(--gashi-light-line) !important;
  color: #090909 !important;
  box-shadow: 0 22px 70px rgba(9, 9, 9, .08) !important;
}

html[data-site-theme="light"] :is(
  .estimate-form label,
  .estimate-form .form-help,
  .trust-card p,
  .faq-item p,
  .project-planner-card p,
  .active-offer-card p,
  .future-window-card p,
  .past-window-note p,
  .offers-terms-list li,
  .service-area-card p,
  .portfolio-scope-grid article p
) {
  color: rgba(9, 9, 9, .68) !important;
}

html[data-site-theme="light"] :is(.btn.outline, .btn-secondary) {
  background: rgba(255, 255, 255, .74) !important;
  border-color: var(--gashi-light-red-line) !important;
  color: #090909 !important;
}

html[data-site-theme="light"] .site-footer[data-system="gashi-global-footer"] {
  background:
    radial-gradient(circle at 10% 10%, rgba(248, 9, 6, .08), transparent 28%),
    linear-gradient(180deg, #FFFFFF, #F5F5F2) !important;
  border-top-color: var(--gashi-light-red-line) !important;
  color: rgba(9, 9, 9, .68) !important;
}

html[data-site-theme="light"] .site-footer :is(.footer-brand, .footer-col h2, a) {
  color: #090909 !important;
}

html[data-site-theme="light"] .footer-bottom {
  border-top-color: var(--gashi-light-line) !important;
  color: rgba(9, 9, 9, .58) !important;
}

.footer-theme-switch {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 32px;
  white-space: nowrap;
}

.footer-theme-switch span {
  color: currentColor;
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.theme-switch {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: 58px;
  height: 30px;
  padding: 0;
  border: 1px solid rgba(248, 9, 6, .72);
  background: rgba(7, 7, 7, .92);
  cursor: pointer;
}

.theme-switch::before {
  content: "";
  position: absolute;
  inset: 4px;
  background: rgba(255, 255, 255, .08);
}

.theme-switch-knob {
  position: relative;
  z-index: 1;
  width: 20px;
  height: 20px;
  margin-left: 4px;
  background: #F80906;
  transform: translateX(0);
  transition: transform .18s ease, background-color .18s ease;
}

.theme-switch[aria-checked="true"] .theme-switch-knob {
  transform: translateX(28px);
  background: #090909;
}

html[data-site-theme="light"] .theme-switch {
  background: #FFFFFF;
  border-color: rgba(9, 9, 9, .20);
}

html[data-site-theme="light"] .theme-switch::before {
  background: rgba(9, 9, 9, .06);
}

html[data-site-theme="light"] .footer-theme-switch span {
  color: rgba(9, 9, 9, .66);
}

@media (max-width: 640px) {
  .footer-theme-switch {
    margin-top: 14px;
  }
}

/* Whole-site matching pass. Keeps Gashi sharp, dark-first, and consistent. */
html[data-site-theme] :is(
  .hero h1,
  .about-hero h1,
  .portfolio-hero h1,
  .services-hero h1,
  .offers-hero h1,
  .thank-you-hero h1,
  .error-hero h1
) {
  max-width: 920px;
  font-size: var(--gashi-hero-title-size) !important;
  line-height: .92 !important;
  letter-spacing: var(--gashi-heading-tracking) !important;
  text-transform: uppercase;
}

html[data-site-theme] :is(
  .section-head h2,
  .detail-copy h2,
  .estimate-copy h2,
  .portfolio-section-head h2,
  .portfolio-gallery-head h2,
  .portfolio-scope-copy h2,
  .portfolio-cta h2,
  .about-proof-section h2,
  .about-capability-copy h2,
  .about-cta h2,
  .service-detail-copy h2,
  .services-cta h2,
  .offers-section-head h2,
  .offers-project-section h2,
  .offers-terms-section h2,
  .offers-form-copy h2,
  .featured-offer-panel h2,
  .saved-campaign-section h2,
  .future-windows-section h2,
  .thank-you-section-head h2,
  .legal-wrap h1
) {
  font-size: var(--gashi-section-title-size);
  line-height: .98 !important;
  letter-spacing: var(--gashi-heading-tracking) !important;
  text-transform: uppercase;
}

html[data-site-theme] :is(
  .service-card h3,
  .portfolio-card h3,
  .full-service-card h3,
  .services-hero-card h2,
  .services-band-grid h3,
  .about-step h3,
  .about-client-card h3,
  .about-capability-card h3,
  .active-offer-card h3,
  .future-window-card h3,
  .case-stage-card h3,
  .case-detail-list h3,
  .thank-you-next-card h3,
  .error-link-grid h2
) {
  font-size: var(--gashi-card-title-size);
  line-height: 1.04 !important;
  letter-spacing: var(--gashi-compact-heading-tracking) !important;
  text-transform: uppercase;
}

html[data-site-theme] :is(
  .eyebrow,
  .portfolio-badge,
  .portfolio-filter label,
  .portfolio-card-kicker,
  .portfolio-card-meta,
  .services-hero-card span,
  .full-service-card span,
  .services-band-grid span,
  .service-pill-strip span,
  .about-hero-card span,
  .about-capability-card span,
  .offer-status,
  .window-status,
  .footer-col h2
) {
  letter-spacing: var(--gashi-eyebrow-tracking) !important;
  text-transform: uppercase;
}

html[data-site-theme] :is(
  p,
  li,
  .hero-copy,
  .about-lead,
  .portfolio-lead,
  .services-lead,
  .offers-section-head p,
  .legal-wrap p,
  .legal-wrap li
) {
  line-height: var(--gashi-body-line-height);
}

html[data-site-theme] :is(
  .btn,
  .header-call,
  .mobile-action-bar a,
  .offers-actions a,
  .portfolio-actions a,
  .about-cta-actions a,
  .services-cta-actions a,
  .estimate-form button
) {
  min-height: var(--gashi-control-height);
  border-radius: var(--gashi-radius-sharp) !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-align: center;
  line-height: 1.1;
}

html[data-site-theme] .site-header .nav .nav-mobile-cta {
  display: none !important;
}

@media (max-width: 980px) {
  html[data-site-theme] .site-header .nav .nav-mobile-cta {
    display: flex !important;
    align-items: center;
    justify-content: center;
  }
}

html[data-site-theme] :is(
  input,
  select,
  textarea,
  button,
  .theme-switch,
  .estimate-form,
  .legal-wrap,
  .service-card,
  .portfolio-card,
  .portfolio-filter label,
  .portfolio-scope-grid article,
  .services-hero-card,
  .full-service-card,
  .services-band-grid article,
  .service-detail-visual,
  .service-detail-copy article,
  .services-cta,
  .project-planner-card,
  .trust-card,
  .faq-item,
  .about-hero-card,
  .about-step,
  .about-client-card,
  .about-capability-card,
  .featured-offer-panel,
  .active-offer-card,
  .future-window-card,
  .past-window-note,
  .offers-steps-grid article,
  .offers-terms-list li,
  .case-detail-visual,
  .case-stage-card,
  .case-detail-list article,
  .thank-you-next-card,
  .error-link-grid a
) {
  border-radius: var(--gashi-radius-sharp) !important;
}

html[data-site-theme] :is(.service-pill-strip span, .full-service-card li::before) {
  border-radius: var(--gashi-radius-sharp) !important;
}

html[data-site-theme] :is(
  .service-card,
  .portfolio-card,
  .services-hero-card,
  .full-service-card,
  .featured-offer-panel,
  .active-offer-card,
  .future-window-card,
  .estimate-form,
  .legal-wrap
) {
  box-shadow: var(--gashi-card-shadow-dark);
}

html[data-site-theme="light"] :is(
  .service-card,
  .portfolio-card,
  .services-hero-card,
  .full-service-card,
  .featured-offer-panel,
  .active-offer-card,
  .future-window-card,
  .estimate-form,
  .legal-wrap
) {
  box-shadow: var(--gashi-card-shadow-light) !important;
}

html[data-site-theme] .footer-bottom {
  align-items: center;
  flex-wrap: wrap;
}

html[data-site-theme] .footer-theme-switch {
  margin-left: auto;
}

@media (max-width: 760px) {
  html[data-site-theme] :is(
    .hero h1,
    .about-hero h1,
    .portfolio-hero h1,
    .services-hero h1,
    .offers-hero h1,
    .thank-you-hero h1,
    .error-hero h1
  ) {
    font-size: clamp(40px, 12vw, 64px) !important;
    letter-spacing: .025em !important;
  }

  html[data-site-theme] :is(
    .section-head h2,
    .detail-copy h2,
    .estimate-copy h2,
    .portfolio-section-head h2,
    .portfolio-gallery-head h2,
    .portfolio-scope-copy h2,
    .portfolio-cta h2,
    .service-detail-copy h2,
    .services-cta h2,
    .offers-section-head h2,
    .offers-project-section h2,
    .offers-terms-section h2,
    .offers-form-copy h2,
    .featured-offer-panel h2,
    .saved-campaign-section h2,
    .future-windows-section h2,
    .legal-wrap h1
  ) {
    font-size: clamp(34px, 10vw, 52px) !important;
    letter-spacing: .025em !important;
  }

  html[data-site-theme] .footer-theme-switch {
    width: 100%;
    margin-left: 0;
    justify-content: flex-start;
  }
}

.theme-dark,
[data-theme="dark"],
.section-theme-dark {
  --gashi-theme-bg: var(--gashi-dark-bg);
  --gashi-theme-section: var(--gashi-dark-section);
  --gashi-theme-panel: var(--gashi-dark-panel);
  --gashi-theme-text: var(--gashi-dark-text);
  --gashi-theme-muted: var(--gashi-dark-muted);
  --gashi-theme-soft: var(--gashi-dark-soft);
  --gashi-theme-line: var(--gashi-dark-line);
  --gashi-theme-red-line: var(--gashi-dark-red-line);
  color: var(--gashi-theme-text);
  color-scheme: dark;
}

.theme-light,
[data-theme="light"],
.section-theme-light {
  --gashi-theme-bg: var(--gashi-light-bg);
  --gashi-theme-section: var(--gashi-light-section);
  --gashi-theme-panel: var(--gashi-light-panel);
  --gashi-theme-text: var(--gashi-light-text);
  --gashi-theme-muted: var(--gashi-light-muted);
  --gashi-theme-soft: var(--gashi-light-soft);
  --gashi-theme-line: var(--gashi-light-line);
  --gashi-theme-red-line: var(--gashi-light-red-line);
  color: var(--gashi-theme-text);
  color-scheme: light;
}

.section-theme-dark,
.section-theme-light {
  position: relative;
  background: var(--gashi-theme-section);
  border-top: var(--gashi-section-divider);
  border-bottom: var(--gashi-section-divider);
}

.section-theme-dark {
  background:
    linear-gradient(180deg, rgba(17, 17, 17, .72), rgba(7, 7, 7, .96)),
    var(--gashi-theme-section);
}

.section-theme-light {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(245, 245, 242, .98)),
    var(--gashi-theme-section);
}

.theme-panel {
  background: var(--gashi-theme-panel);
  border: 1px solid var(--gashi-theme-line);
}

.theme-panel-strong {
  background: var(--gashi-theme-panel);
  border: 1px solid var(--gashi-theme-red-line);
}

.theme-copy,
.theme-copy p,
.theme-copy li {
  color: var(--gashi-theme-muted);
}

.theme-copy h1,
.theme-copy h2,
.theme-copy h3,
.theme-copy h4,
.theme-heading {
  color: var(--gashi-theme-text);
  text-transform: uppercase;
}

.theme-eyebrow,
.theme-accent {
  color: var(--gashi-red);
}

.theme-rule {
  width: 100%;
  height: 1px;
  background: var(--gashi-theme-line);
}

.theme-rule-red {
  width: 100%;
  height: 1px;
  background: var(--gashi-red);
}

.theme-light input,
.theme-light select,
.theme-light textarea,
[data-theme="light"] input,
[data-theme="light"] select,
[data-theme="light"] textarea,
.section-theme-light input,
.section-theme-light select,
.section-theme-light textarea {
  background: #FFFFFF;
  border-color: var(--gashi-light-line);
  color: var(--gashi-light-text);
}

.theme-light input::placeholder,
.theme-light textarea::placeholder,
[data-theme="light"] input::placeholder,
[data-theme="light"] textarea::placeholder,
.section-theme-light input::placeholder,
.section-theme-light textarea::placeholder {
  color: var(--gashi-light-soft);
}

.theme-light .btn.outline,
[data-theme="light"] .btn.outline,
.section-theme-light .btn.outline {
  border-color: var(--gashi-light-red-line);
  color: var(--gashi-light-text);
}

.theme-dark :focus-visible,
.theme-light :focus-visible,
[data-theme] :focus-visible {
  outline: var(--gashi-focus-ring);
  outline-offset: 3px;
}

/* Light-mode completion pass. Visual work samples stay dark and high-contrast;
   document/form sections move cleanly into the supportive light system. */
html[data-site-theme] :is(.case-detail-copy h1, .case-detail-fallback h1) {
  max-width: 920px;
  font-size: var(--gashi-hero-title-size) !important;
  line-height: .92 !important;
  letter-spacing: var(--gashi-heading-tracking) !important;
  text-transform: uppercase;
}

html[data-site-theme="light"] :is(
  .hero-proof span,
  .hero-card,
  .intro-strip,
  .service-card,
  .services-hero-card,
  .portfolio-card,
  .case-content,
  .case-meta div,
  .portfolio-card li,
  .before-after-card,
  .before-after-note,
  .featured-offer-panel,
  .featured-offer-panel div,
  .active-offer-card,
  .future-window-card,
  .saved-campaign-card,
  .past-window-note,
  .offers-steps-grid article,
  .about-hero-card,
  .about-checks li,
  .about-proof,
  .about-value,
  .about-step,
  .thank-you-step-grid article,
  .error-link-grid a,
  .case-detail-panel,
  .case-detail-list article
) {
  --white: #FFFFFF;
  --grey: #B8B8B8;
  background-color: rgba(11, 11, 11, .96) !important;
  border-color: rgba(248, 9, 6, .28) !important;
  color: #FFFFFF !important;
}

html[data-site-theme="light"] :is(
  .service-card,
  .case-stage-card,
  .case-detail-visual,
  .before-after-slider,
  .about-image-card
) {
  --white: #FFFFFF;
  --grey: #B8B8B8;
  color: #FFFFFF !important;
}

html[data-site-theme="light"] :is(
  .hero-card h2,
  .intro-strip strong,
  .service-card h3,
  .services-hero-card h2,
  .portfolio-card h2,
  .portfolio-card h3,
  .case-content h2,
  .case-meta dd,
  .featured-offer-panel h2,
  .featured-offer-panel dd,
  .active-offer-card h3,
  .future-window-card h3,
  .saved-campaign-card h3,
  .past-window-note h3,
  .offers-steps-grid h3,
  .about-hero-card h2,
  .about-checks li,
  .about-proof h3,
  .about-value h3,
  .about-step h3,
  .thank-you-step-grid h3,
  .error-link-grid strong,
  .case-detail-panel h2,
  .case-detail-list h3,
  .case-stage-card h3
) {
  color: #FFFFFF !important;
}

html[data-site-theme="light"] :is(
  .hero-card p,
  .hero-proof span,
  .service-card p:not(.eyebrow),
  .services-hero-card p,
  .case-content p,
  .portfolio-card li,
  .before-after-note,
  .active-offer-card > p,
  .offer-card-detail p,
  .future-window-card p,
  .saved-campaign-card p,
  .past-window-note p,
  .offers-steps-grid p,
  .about-hero-card p,
  .about-proof p,
  .about-value p,
  .about-step p,
  .thank-you-step-grid p,
  .error-link-grid em,
  .case-detail-panel p,
  .case-detail-list p,
  .case-stage-card p
) {
  color: rgba(255, 255, 255, .72) !important;
}

html[data-site-theme="light"] :is(
  .card-number,
  .intro-strip span,
  .service-card p,
  .services-hero-card span,
  .case-kicker span,
  .case-meta dt,
  .panel-label,
  .offer-card-top strong,
  .offer-card-top span,
  .future-window-card span,
  .saved-campaign-card span,
  .past-window-note span,
  .offers-steps-grid span,
  .about-hero-card span,
  .about-proof span,
  .about-value span,
  .about-step span,
  .thank-you-step-grid span,
  .error-link-grid span,
  .case-detail-list span,
  .case-stage-card span
) {
  color: var(--gashi-red) !important;
}

html[data-site-theme="light"] :is(
  .full-service-card,
  .services-band-grid article,
  .planner-tool,
  .planner-output,
  .trust-card,
  .faq-item,
  .service-area-card
) {
  background: #FFFFFF !important;
  border-color: var(--gashi-light-line) !important;
  color: #090909 !important;
  box-shadow: var(--gashi-card-shadow-light) !important;
}

html[data-site-theme="light"] :is(
  .full-service-card h3,
  .services-band-grid h3,
  .planner-output h3,
  .trust-card h3,
  .faq-item h3,
  .service-area-card h3
) {
  color: #090909 !important;
}

html[data-site-theme="light"] :is(
  .full-service-card p,
  .full-service-card li,
  .services-band-grid p,
  .service-detail-copy p,
  .services-cta p,
  .planner-copy p,
  .planner-fieldset legend,
  .planner-output ul,
  .trust-card p,
  .faq-item p,
  .service-area-card p,
  .check-list li
) {
  color: rgba(9, 9, 9, .70) !important;
}

html[data-site-theme="light"] :is(
  .planner-choice-grid span,
  .planner-checks span,
  .estimate-form input,
  .estimate-form select,
  .estimate-form textarea,
  .offers-form input,
  .offers-form select,
  .offers-form textarea
) {
  background: #FFFFFF !important;
  border-color: var(--gashi-light-line) !important;
  color: #090909 !important;
}

html[data-site-theme="light"] :is(
  .planner-choice-grid input:checked + span,
  .planner-checks input:checked + span
) {
  background: var(--gashi-red) !important;
  border-color: var(--gashi-red) !important;
  color: #FFFFFF !important;
}
