/* GSP Public — engineering services brand theme, v1.3.1 */

:root {
  --surface: var(--gsp-color-surface);
  --border: var(--gsp-color-line);
  --blue: var(--gsp-color-accent);
  --blue-dark: var(--gsp-color-accent-strong);
  --green: var(--gsp-color-success);
  --success: var(--gsp-color-success);
  --error: var(--gsp-color-danger);
  --container: 1180px;
}

html,
body {
  background: var(--gsp-color-canvas) !important;
  color: var(--gsp-color-text) !important;
}

body {
  background-image:
    radial-gradient(circle at 86% -8%, rgba(67, 214, 163, .1), transparent 31%),
    radial-gradient(circle at 8% 72%, rgba(73, 112, 105, .075), transparent 28%) !important;
  background-attachment: fixed !important;
}

/* Shared navigation */

.site-header {
  border-color: var(--gsp-color-line) !important;
  background: rgba(7, 17, 15, .82) !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .018);
  backdrop-filter: blur(22px) saturate(125%) !important;
}

.desktop-header {
  min-height: 76px !important;
}

.brand-mark,
.footer-mark {
  color: var(--gsp-color-accent) !important;
  text-shadow: 0 0 30px rgba(67, 214, 163, .12);
}

.desktop-nav a {
  color: var(--gsp-color-text-secondary) !important;
}

.desktop-nav a:hover,
.desktop-nav a.is-active {
  color: var(--gsp-color-text) !important;
}

.desktop-nav a::after {
  background: var(--gsp-color-accent) !important;
}

.btn {
  min-height: 44px !important;
  border-radius: var(--gsp-radius-sm) !important;
  transition:
    transform var(--gsp-duration-fast) var(--gsp-ease-standard),
    background var(--gsp-duration-fast) var(--gsp-ease-standard),
    border-color var(--gsp-duration-fast) var(--gsp-ease-standard),
    color var(--gsp-duration-fast) var(--gsp-ease-standard),
    box-shadow var(--gsp-duration-fast) var(--gsp-ease-standard) !important;
}

.btn-secondary {
  border-color: var(--gsp-color-line-strong) !important;
  background: rgba(18, 35, 31, .68) !important;
  color: var(--gsp-color-text-secondary) !important;
}

.btn-secondary:hover {
  border-color: rgba(67, 214, 163, .38) !important;
  background: rgba(25, 51, 44, .82) !important;
  color: var(--gsp-color-text) !important;
}

.btn-primary {
  border-color: var(--gsp-color-accent) !important;
  background: linear-gradient(135deg, #49dca8, #25b982) !important;
  color: #04120e !important;
  box-shadow: 0 10px 26px rgba(36, 185, 130, .16) !important;
}

.btn-primary:hover {
  transform: translateY(-1px);
  background: linear-gradient(135deg, #58e7b3, #2bc68c) !important;
  box-shadow: 0 15px 34px rgba(36, 185, 130, .24) !important;
}

/* Marketing typography */

.hero-eyebrow,
.section-kicker,
.services-eyebrow,
.request-eyebrow,
.tc-eyebrow,
.legal-eyebrow {
  color: var(--gsp-color-accent) !important;
}

.home-hero h1,
.section-title,
.services-hero h1,
.request-title,
.service-detail-title,
.tc-title,
.legal-document h1,
.contact-title {
  color: var(--gsp-color-text) !important;
}

.hero-text,
.section-description,
.services-hero-text,
.request-lead,
.service-detail-lead,
.tc-lead,
.legal-document p,
.legal-meta,
.field-hint {
  color: var(--gsp-color-text-secondary) !important;
}

/* Home hero */

.home-hero {
  position: relative;
  padding: clamp(72px, 8vw, 108px) 0 !important;
  border-color: var(--gsp-color-line) !important;
}

.home-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(rgba(148, 209, 191, .022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(148, 209, 191, .022) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(90deg, #000, transparent 72%);
}

.home-hero-grid {
  position: relative;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr) !important;
  gap: clamp(42px, 6vw, 76px) !important;
  align-items: center !important;
}

.home-hero h1 {
  font-size: clamp(50px, 5.8vw, 82px) !important;
  line-height: .96 !important;
  letter-spacing: -.058em !important;
}

.hero-text {
  max-width: 650px !important;
  font-size: 15px !important;
}

.hero-tech {
  min-height: 450px !important;
  border-color: var(--gsp-color-line-strong) !important;
  border-radius: var(--gsp-radius-xl) !important;
  background:
    radial-gradient(circle at 82% 12%, rgba(67, 214, 163, .11), transparent 32%),
    linear-gradient(145deg, rgba(19, 40, 34, .94), rgba(9, 22, 19, .96)) !important;
  box-shadow: var(--gsp-shadow-lg), inset 0 1px 0 rgba(255, 255, 255, .035) !important;
  backdrop-filter: blur(20px);
}

.hero-tech::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(148, 209, 191, .025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(148, 209, 191, .025) 1px, transparent 1px);
  background-size: 34px 34px;
  mask-image: linear-gradient(to bottom, #000, transparent 82%);
}

.hero-tech-top,
.hero-tech-step {
  border-color: var(--gsp-color-line) !important;
}

.hero-tech-index,
.hero-tech-caption,
.hero-tech-step {
  color: var(--gsp-color-text-muted) !important;
}

.hero-tech-title,
.hero-tech-step.is-active {
  color: var(--gsp-color-text) !important;
}

.hero-tech-status,
.hero-tech-step.is-active {
  color: var(--gsp-color-accent) !important;
}

.hero-tech-status-dot {
  background: var(--gsp-color-accent) !important;
  box-shadow: 0 0 0 5px rgba(67, 214, 163, .08), 0 0 18px rgba(67, 214, 163, .34);
}

/* Sections and cards */

.home-section,
.service-detail,
.services-hero,
.request-main,
.technical-customer-page {
  border-color: var(--gsp-color-line) !important;
}

.service-card,
.service-format-card,
.technical-customer-card,
.workflow-step,
.service-meta-card,
.service-result,
.services-cta-card,
.request-form,
.request-side-card,
.form-section,
.contact-card,
.legal-document,
.tc-pain-card,
.tc-scope-item,
.tc-faq-item,
.pto-faq-item,
.est-faq-item,
.ee-faq-item,
.ed-faq-item,
.cc-faq-item {
  border-color: var(--gsp-color-line) !important;
  border-radius: var(--gsp-radius-md) !important;
  background: rgba(13, 28, 24, .74) !important;
  color: var(--gsp-color-text) !important;
  box-shadow: var(--gsp-shadow-sm) !important;
}

.service-card,
.service-format-card,
.workflow-step,
.services-index-item {
  transition:
    transform var(--gsp-duration-standard) var(--gsp-ease-standard),
    border-color var(--gsp-duration-standard) var(--gsp-ease-standard),
    background var(--gsp-duration-standard) var(--gsp-ease-standard),
    box-shadow var(--gsp-duration-standard) var(--gsp-ease-standard) !important;
}

.service-card:hover,
.service-format-card:hover,
.workflow-step:hover,
.services-index-item:hover {
  transform: translateY(-3px);
  border-color: rgba(67, 214, 163, .34) !important;
  background: rgba(18, 39, 33, .9) !important;
  box-shadow: 0 18px 42px rgba(0, 0, 0, .22) !important;
}

.service-number,
.technical-customer-number,
.workflow-number,
.services-index-number,
.service-detail-index,
.form-section-number,
.request-progress-index {
  color: var(--gsp-color-accent) !important;
}

.service-title,
.technical-customer-title,
.workflow-title,
.services-index-title,
.service-meta-label,
.service-result-value,
.request-side-title,
.form-section-title,
.field-label {
  color: var(--gsp-color-text) !important;
}

.service-caption,
.technical-customer-caption,
.technical-customer-text,
.workflow-text,
.service-meta-list,
.service-result-text,
.request-side-text,
.form-section-caption,
.file-group-caption {
  color: var(--gsp-color-text-muted) !important;
}

.service-arrow,
.services-index-arrow {
  color: var(--gsp-color-accent) !important;
}

.services-index-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  border-color: var(--gsp-color-line-strong) !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(67, 214, 163, .08), transparent 28%),
    rgba(13, 28, 24, .78) !important;
  box-shadow: var(--gsp-shadow-sm);
}

.services-index-item {
  border-right: 1px solid var(--gsp-color-line) !important;
  border-bottom: 0 !important;
}

.services-index-item:nth-child(3n) {
  border-right: 0 !important;
}

.services-index-item:nth-child(-n + 3) {
  border-bottom: 1px solid var(--gsp-color-line) !important;
}

.technical-customer-card {
  overflow: hidden;
  background:
    radial-gradient(circle at 10% 0%, rgba(67, 214, 163, .09), transparent 30%),
    rgba(13, 28, 24, .78) !important;
}

.technical-customer-item,
.service-meta-list li,
.services-index-item,
.request-progress-row {
  border-color: var(--gsp-color-line) !important;
}

/* Lead forms */

.home-quick-lead {
  border-color: var(--gsp-color-line-strong) !important;
  border-radius: var(--gsp-radius-xl) !important;
  background:
    radial-gradient(circle at 12% 5%, rgba(67, 214, 163, .11), transparent 28%),
    linear-gradient(145deg, rgba(18, 39, 33, .92), rgba(9, 22, 19, .96)) !important;
  box-shadow: var(--gsp-shadow-lg) !important;
}

.home-quick-lead-text,
.home-quick-lead-note,
.home-quick-file-hint,
.home-quick-consent,
.consent-text {
  color: var(--gsp-color-text-secondary) !important;
}

.home-quick-label,
.field-label,
.file-group-title {
  color: var(--gsp-color-text-secondary) !important;
}

.home-quick-input,
.input,
.select,
.textarea,
.gsp-live-chat-input {
  border-color: var(--gsp-color-line-strong) !important;
  border-radius: var(--gsp-radius-sm) !important;
  background: rgba(4, 13, 11, .62) !important;
  color: var(--gsp-color-text) !important;
  caret-color: var(--gsp-color-accent);
}

.home-quick-input::placeholder,
.input::placeholder,
.textarea::placeholder,
.gsp-live-chat-input::placeholder {
  color: var(--gsp-color-text-faint) !important;
}

.home-quick-input:focus,
.input:focus,
.select:focus,
.textarea:focus,
.gsp-live-chat-input:focus {
  border-color: rgba(67, 214, 163, .68) !important;
  box-shadow: var(--gsp-shadow-focus) !important;
}

.home-quick-file-picker,
.file-button,
.file-group {
  border-color: var(--gsp-color-line-strong) !important;
  border-radius: var(--gsp-radius-sm) !important;
  background: rgba(18, 35, 31, .68) !important;
  color: var(--gsp-color-text-secondary) !important;
}

.home-quick-file-picker:hover,
.file-button:hover,
.file-group:hover {
  border-color: rgba(67, 214, 163, .38) !important;
  background: rgba(25, 51, 44, .82) !important;
}

.request-submit {
  border-color: var(--gsp-color-line-strong) !important;
  border-radius: var(--gsp-radius-md) !important;
  background: rgba(10, 24, 20, .92) !important;
  box-shadow: 0 -10px 32px rgba(0, 0, 0, .18) !important;
  backdrop-filter: blur(18px);
}

.form-section-number,
.request-progress-index {
  border-color: rgba(67, 214, 163, .28) !important;
  background: var(--gsp-color-accent-soft) !important;
  color: var(--gsp-color-accent) !important;
}

.home-quick-consent a,
.consent-text a {
  color: var(--gsp-color-accent) !important;
}

/* Footer */

.site-footer {
  border-color: var(--gsp-color-line) !important;
  background: #06100e !important;
}

.site-footer-main > div:not(:last-child),
.site-footer-bottom {
  border-color: var(--gsp-color-line) !important;
}

.footer-description,
.footer-address,
.site-footer-bottom,
.footer-legal-links a,
.footer-label {
  color: var(--gsp-color-text-muted) !important;
}

.footer-links a,
.footer-contact a {
  color: var(--gsp-color-text-secondary) !important;
}

.footer-links a:hover,
.footer-contact a:hover,
.footer-legal-links a:hover {
  color: var(--gsp-color-accent) !important;
}

/* Live chat */

.gsp-live-chat-launcher,
.gsp-live-chat-panel {
  border-color: var(--gsp-color-line-strong) !important;
  background: rgba(10, 24, 20, .95) !important;
  color: var(--gsp-color-text) !important;
  box-shadow: var(--gsp-shadow-lg) !important;
  backdrop-filter: blur(22px);
}

.gsp-live-chat-launcher-icon,
.gsp-live-chat-send {
  background: var(--gsp-color-accent-soft) !important;
  color: var(--gsp-color-accent) !important;
}

.gsp-live-chat-launcher-title,
.gsp-live-chat-header-title {
  color: var(--gsp-color-text) !important;
}

.gsp-live-chat-launcher-subtitle,
.gsp-live-chat-header-status,
.gsp-live-chat-day,
.gsp-live-chat-placeholder {
  color: var(--gsp-color-text-muted) !important;
}

.gsp-live-chat-header,
.gsp-live-chat-composer {
  border-color: var(--gsp-color-line) !important;
  background: rgba(10, 24, 20, .98) !important;
}

.gsp-live-chat-body {
  background: var(--gsp-color-canvas-raised) !important;
}

.gsp-live-chat-bubble {
  border-color: var(--gsp-color-line) !important;
  background: rgba(20, 42, 36, .84) !important;
  color: var(--gsp-color-text-secondary) !important;
}

.gsp-live-chat-message.is-client .gsp-live-chat-bubble {
  background: var(--gsp-color-accent-soft) !important;
  color: var(--gsp-color-text) !important;
}

/* Search-friendly wayfinding that remains visually subordinate to the page. */

.seo-breadcrumbs {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 18px;
  padding-bottom: 0;
  color: var(--gsp-color-text-muted);
  font-size: 13px;
  line-height: 1.4;
}

.seo-breadcrumbs a {
  color: inherit;
  text-decoration: none;
  transition: color 160ms ease;
}

.seo-breadcrumbs a:hover,
.seo-breadcrumbs a:focus-visible {
  color: var(--gsp-color-text);
}

.seo-breadcrumbs [aria-current="page"] {
  color: var(--gsp-color-text-secondary);
}

.seo-service-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

@media (max-width: 1100px) and (min-width: 761px) {
  .services-hero-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .services-hero h1 {
    max-width: 760px !important;
    font-size: clamp(44px, 7vw, 64px) !important;
  }

  .services-hero-text {
    max-width: 620px !important;
  }

  .services-index-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .services-index-item,
  .services-index-item:nth-child(3n) {
    border-right: 0 !important;
    border-bottom: 1px solid var(--gsp-color-line) !important;
  }

  .services-index-item:nth-child(odd) {
    border-right: 1px solid var(--gsp-color-line) !important;
  }

  .services-index-item:nth-last-child(-n + 2) {
    border-bottom: 0 !important;
  }
}

@media (max-width: 760px) {
  .site-header {
    background: rgba(7, 17, 15, .92) !important;
  }

  .home-hero {
    padding: 52px 0 42px !important;
  }

  .home-hero-grid {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  .home-hero h1 {
    font-size: clamp(42px, 13vw, 62px) !important;
  }

  .hero-tech {
    min-height: 380px !important;
  }

  .gsp-mobile-nav {
    border-color: var(--gsp-color-line) !important;
    background: rgba(7, 17, 15, .95) !important;
    backdrop-filter: blur(22px);
  }

  .gsp-mobile-nav-item {
    color: var(--gsp-color-text-muted) !important;
  }

  .gsp-mobile-nav-item.active {
    color: var(--gsp-color-accent) !important;
  }

  .gsp-mobile-create {
    background: linear-gradient(135deg, #49dca8, #25b982) !important;
    color: #04120e !important;
    box-shadow: 0 8px 24px rgba(36, 185, 130, .26) !important;
  }

  .site-footer-main > div:not(:last-child) {
    border-color: var(--gsp-color-line) !important;
  }

  .services-index-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .services-index-item,
  .services-index-item:nth-child(odd),
  .services-index-item:nth-child(3n) {
    border-right: 0 !important;
    border-bottom: 1px solid var(--gsp-color-line) !important;
  }

  .services-index-item:last-child {
    border-bottom: 0 !important;
  }

  .seo-breadcrumbs {
    padding-top: 14px;
    font-size: 12px;
  }

  .seo-service-actions {
    width: 100%;
  }

  .seo-service-actions .btn {
    width: 100%;
  }
}

/* ================================================================
   Legacy service landings, home and contacts: dark-system parity.
   The five focused service pages predate the shared theme and still
   declare light canvases, sheets and form controls in their local CSS.
   Keep their content model intact while bringing every visible surface
   into the same restrained engineering palette as the rest of the site.
   ================================================================ */

body.technical-customer-page :is(
  .cc-main,
  .ed-main,
  .pto-main,
  .est-main,
  .ee-main
) {
  background-color: var(--gsp-color-canvas) !important;
  background-image:
    radial-gradient(circle at 90% 4%, rgba(67, 214, 163, .075), transparent 30%),
    radial-gradient(circle at 5% 64%, rgba(73, 112, 105, .055), transparent 25%) !important;
  color: var(--gsp-color-text-secondary) !important;
}

body.technical-customer-page :is(
  .cc-hero, .cc-checks, .cc-process, .cc-outcome, .cc-faq, .cc-consultation,
  .ed-hero, .ed-scenarios, .ed-workflow, .ed-handover, .ed-faq, .ed-consultation,
  .pto-hero, .pto-scope, .pto-format, .pto-outcome, .pto-faq, .pto-consultation,
  .est-hero, .est-scenarios, .est-process, .est-outcome, .est-faq, .est-consultation,
  .ee-hero, .ee-scope, .ee-format, .ee-outcome, .ee-faq, .ee-consultation
) {
  border-color: var(--gsp-color-line) !important;
  background-color: transparent !important;
  background-image: none !important;
  color: var(--gsp-color-text-secondary) !important;
}

body.technical-customer-page :is(
  .cc-hero,
  .ed-hero,
  .pto-hero,
  .est-hero,
  .ee-hero
) {
  background-image:
    radial-gradient(circle at 82% 12%, rgba(67, 214, 163, .09), transparent 32%),
    linear-gradient(180deg, rgba(12, 27, 23, .82), rgba(7, 17, 15, .96)) !important;
}

body.technical-customer-page :is(
  .cc-main, .ed-main, .pto-main, .est-main, .ee-main
) :is(h1, h2, h3, h4, summary, strong) {
  color: var(--gsp-color-text) !important;
}

body.technical-customer-page :is(
  .cc-main, .ed-main, .pto-main, .est-main, .ee-main
) :is(p, li) {
  color: var(--gsp-color-text-secondary) !important;
}

body.technical-customer-page :is(
  .cc-kicker, .cc-checks-kicker, .cc-process-kicker, .cc-outcome-kicker,
  .ed-kicker, .ed-scenarios-kicker, .ed-workflow-kicker, .ed-handover-kicker,
  .pto-kicker, .pto-scope-kicker, .pto-format-kicker, .pto-outcome-kicker,
  .est-kicker, .est-scenarios-kicker, .est-process-kicker, .est-outcome-kicker,
  .ee-kicker, .ee-scope-kicker, .ee-format-kicker, .ee-outcome-kicker
) {
  color: var(--gsp-color-accent) !important;
}

body.technical-customer-page :is(
  .cc-hero h1 span, .cc-checks h2 span, .cc-process h2 span, .cc-outcome h2 span,
  .ed-hero h1 span, .ed-scenarios h2 span, .ed-workflow h2 span, .ed-handover h2 span,
  .pto-hero h1 span, .pto-scope h2 span, .pto-format h2 span, .pto-outcome h2 span,
  .est-hero h1 span, .est-scenarios h2 span, .est-process h2 span, .est-outcome h2 span,
  .ee-hero h1 span, .ee-scope h2 span, .ee-format h2 span, .ee-outcome h2 span
) {
  color: var(--gsp-color-accent) !important;
}

body.technical-customer-page :is(
  .cc-review-card, .cc-check-item, .cc-process-item, .cc-outcome-sheet, .cc-faq-item, .cc-consultation-card,
  .ed-doc-card, .ed-scenario, .ed-workflow-item, .ed-handover-sheet, .ed-faq-item, .ed-consultation-card,
  .pto-work-card, .pto-scope-item, .pto-format-item, .pto-outcome-sheet, .pto-faq-item, .pto-consultation-card,
  .est-review-card, .est-scenario, .est-process-item, .est-outcome-sheet, .est-faq-item, .est-consultation-card,
  .ee-work-card, .ee-scope-row, .ee-format-item, .ee-outcome-card, .ee-faq-item, .ee-consultation-card,
  .tc-final-service
) {
  border-color: var(--gsp-color-line-strong) !important;
  border-radius: var(--gsp-radius-md) !important;
  background-color: rgba(13, 28, 24, .78) !important;
  background-image: none !important;
  color: var(--gsp-color-text) !important;
  box-shadow: var(--gsp-shadow-sm) !important;
  backdrop-filter: blur(18px) !important;
}

body.technical-customer-page :is(
  .cc-review-head, .cc-review-row, .cc-review-result, .cc-outcome-sheet-head, .cc-outcome-row,
  .ed-doc-card-head, .ed-doc-row, .ed-doc-result, .ed-handover-sheet-head, .ed-handover-row, .ed-handover-final,
  .pto-work-head, .pto-work-row, .pto-work-result, .pto-outcome-sheet-head, .pto-outcome-row, .pto-outcome-final,
  .est-review-head, .est-review-row, .est-review-result, .est-outcome-sheet-head, .est-outcome-row, .est-outcome-final,
  .ee-work-head, .ee-work-row, .ee-work-result, .ee-outcome-card-head, .ee-outcome-row, .ee-outcome-final,
  .cc-faq-item, .ed-faq-item, .pto-faq-item, .est-faq-item, .ee-faq-item
) {
  border-color: var(--gsp-color-line) !important;
}

body.technical-customer-page :is(
  .cc-check-item, .cc-process-item,
  .ed-scenario, .ed-workflow-item,
  .pto-scope-item, .pto-format-item,
  .est-scenario, .est-process-item,
  .ee-scope-row, .ee-format-item
):hover {
  border-color: rgba(67, 214, 163, .34) !important;
  background: rgba(18, 39, 33, .9) !important;
}

body.technical-customer-page :is(
  .cc-process-item-accent,
  .ed-workflow-item-accent,
  .pto-format-item-accent,
  .est-process-item-accent,
  .ee-format-item-accent
) {
  border-color: rgba(67, 214, 163, .34) !important;
  background: linear-gradient(145deg, rgba(67, 214, 163, .12), rgba(13, 28, 24, .82)) !important;
}

body.technical-customer-page :is(
  .cc-review-label, .cc-review-row-meta, .cc-review-result-label, .cc-outcome-sheet-label, .cc-outcome-row-label,
  .ed-doc-card-label, .ed-doc-result-label, .ed-workflow-label, .ed-handover-sheet-label, .ed-handover-final-label,
  .pto-work-label, .pto-work-result-label, .pto-format-mode, .pto-outcome-sheet-label, .pto-outcome-row-label, .pto-outcome-final-label,
  .est-review-label, .est-review-result-label, .est-process-label, .est-outcome-sheet-label, .est-outcome-final-label,
  .ee-work-label, .ee-work-result-label, .ee-outcome-card-label, .ee-outcome-final-label
) {
  color: var(--gsp-color-text-muted) !important;
}

body.technical-customer-page :is(
  .ed-handover-row-status,
  .est-outcome-status,
  .ee-outcome-status,
  .cc-consultation-card-status,
  .ed-consultation-status,
  .pto-consultation-status,
  .est-consultation-status,
  .ee-consultation-status
) {
  border-color: rgba(67, 214, 163, .25) !important;
  background: rgba(67, 214, 163, .1) !important;
  color: var(--gsp-color-accent) !important;
}

body.technical-customer-page :is(
  .cc-faq-list, .ed-faq-list, .pto-faq-list, .est-faq-list, .ee-faq-list
) {
  display: grid !important;
  gap: 10px !important;
  border-color: transparent !important;
}

body.technical-customer-page :is(
  .cc-faq-item, .ed-faq-item, .pto-faq-item, .est-faq-item, .ee-faq-item
) summary {
  padding-left: 22px !important;
  padding-right: 64px !important;
}

body.technical-customer-page :is(
  .cc-faq-answer, .ed-faq-answer, .pto-faq-answer, .est-faq-answer, .ee-faq-answer
) {
  color: var(--gsp-color-text-secondary) !important;
}

body.technical-customer-page :is(
  .cc-consultation-card-head,
  .ed-consultation-card-head,
  .pto-consultation-card-head,
  .est-consultation-card-head,
  .ee-consultation-card-head
) {
  border-color: var(--gsp-color-line) !important;
  background: rgba(255, 255, 255, .035) !important;
}

body.technical-customer-page :is(
  .cc-consultation-form,
  .ed-consultation-form,
  .pto-consultation-form,
  .est-consultation-form,
  .ee-consultation-form
) :is(input, select, textarea, .home-quick-input, .home-quick-file-picker, .tc-final-service) {
  border-color: var(--gsp-color-line-strong) !important;
  background: rgba(4, 13, 11, .62) !important;
  color: var(--gsp-color-text) !important;
  box-shadow: none !important;
}

body.technical-customer-page :is(
  .cc-consultation-form,
  .ed-consultation-form,
  .pto-consultation-form,
  .est-consultation-form,
  .ee-consultation-form
) :is(input, select, textarea, .home-quick-input):focus {
  border-color: var(--gsp-color-accent) !important;
  background: rgba(11, 28, 23, .9) !important;
  box-shadow: var(--gsp-shadow-focus) !important;
}

body.technical-customer-page :is(
  .cc-consultation-form,
  .ed-consultation-form,
  .pto-consultation-form,
  .est-consultation-form,
  .ee-consultation-form
) :is(input, textarea, .home-quick-input)::placeholder {
  color: var(--gsp-color-text-faint) !important;
}

/* Home: remove the isolated white technical-customer and lead-form bands. */

.home-main .technical-customer-section,
.home-main .workflow-grid,
.home-main .home-quick-lead-form {
  border-color: var(--gsp-color-line) !important;
  background-color: transparent !important;
  background-image: none !important;
  color: var(--gsp-color-text-secondary) !important;
}

.home-main .workflow-grid,
.home-main .home-quick-lead-form {
  border-radius: var(--gsp-radius-lg) !important;
  background: rgba(13, 28, 24, .72) !important;
  box-shadow: var(--gsp-shadow-sm) !important;
  backdrop-filter: blur(18px) !important;
}

.home-main :is(
  .technical-customer-title,
  .technical-customer-label,
  .workflow-title,
  .home-quick-lead h2,
  .home-quick-lead h3
) {
  color: var(--gsp-color-text) !important;
}

.home-main :is(
  .technical-customer-caption,
  .technical-customer-text,
  .technical-customer-lead,
  .workflow-text
) {
  color: var(--gsp-color-text-secondary) !important;
}

/* Contacts: cards and closing CTA now use the same dark glass surfaces. */

.contacts-main {
  background-color: transparent !important;
  color: var(--gsp-color-text-secondary) !important;
}

.contacts-main :is(
  .contact-primary-card,
  .contact-info-card,
  .contacts-cta
) {
  border-color: var(--gsp-color-line-strong) !important;
  border-radius: var(--gsp-radius-md) !important;
  background:
    radial-gradient(circle at 88% 10%, rgba(67, 214, 163, .075), transparent 34%),
    rgba(13, 28, 24, .78) !important;
  color: var(--gsp-color-text) !important;
  box-shadow: var(--gsp-shadow-sm) !important;
  backdrop-filter: blur(18px) !important;
}

.contacts-main :is(
  .contact-primary-value,
  .contact-info-title,
  .contacts-cta-title
) {
  color: var(--gsp-color-text) !important;
}

.contacts-main :is(
  .contacts-lead,
  .contact-card-label,
  .contact-info-text,
  .contacts-cta-text
) {
  color: var(--gsp-color-text-secondary) !important;
}

.contacts-main .contact-primary-arrow {
  border-color: rgba(67, 214, 163, .25) !important;
  background: rgba(67, 214, 163, .1) !important;
  color: var(--gsp-color-accent) !important;
}

@media (max-width: 760px) {
  body.technical-customer-page :is(
    .cc-faq-item, .ed-faq-item, .pto-faq-item, .est-faq-item, .ee-faq-item
  ) summary {
    padding-left: 18px !important;
    padding-right: 52px !important;
  }

  .home-main .workflow-grid,
  .home-main .home-quick-lead-form {
    border-radius: var(--gsp-radius-md) !important;
  }
}

/* ================================================================
   Service catalogue: keep every embedded control in the dark system.
   ================================================================ */

.service-format-picker {
  border-color: var(--gsp-color-line-strong) !important;
  border-radius: var(--gsp-radius-md) !important;
  background: rgba(13, 28, 24, .74) !important;
  color: var(--gsp-color-text) !important;
  box-shadow: var(--gsp-shadow-sm) !important;
}

.service-format-picker-title {
  color: var(--gsp-color-text-muted) !important;
}

.service-format-option {
  border-color: var(--gsp-color-line-strong) !important;
  border-radius: var(--gsp-radius-sm) !important;
  background: rgba(4, 13, 11, .55) !important;
  color: var(--gsp-color-text-secondary) !important;
  box-shadow: none !important;
}

.service-format-option:hover,
.service-format-option:focus-visible {
  border-color: rgba(67, 214, 163, .4) !important;
  background: rgba(25, 51, 44, .82) !important;
  color: var(--gsp-color-text) !important;
}

.service-meta-list li {
  color: var(--gsp-color-text-secondary) !important;
}

/* ================================================================
   Technical-customer landing: the page is part of the dark public system.
   Its legacy stylesheet still contains several light surfaces, so normalize
   them here without changing the content or interaction model.
   ================================================================ */

body.technical-customer-page,
body.technical-customer-page .tc-main {
  background-color: var(--gsp-color-canvas) !important;
  color: var(--gsp-color-text-secondary) !important;
}

body.technical-customer-page .tc-main {
  background-image:
    radial-gradient(circle at 86% 2%, rgba(67, 214, 163, .075), transparent 29%),
    radial-gradient(circle at 6% 58%, rgba(73, 112, 105, .055), transparent 25%) !important;
}

body.technical-customer-page .tc-main :is(
  .tc-hero,
  .tc-section,
  .tc-process,
  .tc-outcome,
  .tc-clarity,
  .tc-faq
) {
  border-color: var(--gsp-color-line) !important;
  background-color: transparent !important;
  background-image: none !important;
}

body.technical-customer-page .tc-hero {
  background-image:
    radial-gradient(circle at 78% 14%, rgba(67, 214, 163, .09), transparent 31%),
    linear-gradient(180deg, rgba(12, 27, 23, .76), rgba(7, 17, 15, .96)) !important;
}

body.technical-customer-page .tc-hero::before {
  opacity: .5 !important;
  background-image:
    linear-gradient(rgba(174, 221, 207, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(174, 221, 207, .035) 1px, transparent 1px) !important;
}

body.technical-customer-page .tc-main :is(
  .tc-title,
  .tc-section-head h2,
  .tc-pain-card h3,
  .tc-process-head h2,
  .tc-process-side-title,
  .tc-process-step h3,
  .tc-outcome-head h2,
  .tc-outcome-summary-title,
  .tc-outcome-name,
  .tc-clarity-intro h2,
  .tc-clarity-name,
  .tc-faq-intro h2,
  .tc-faq-item summary,
  .tc-final-form-title,
  .tc-final-service strong
) {
  color: var(--gsp-color-text) !important;
}

body.technical-customer-page .tc-main :is(
  .tc-lead,
  .tc-hero-note,
  .tc-section-head > p,
  .tc-pain-card p,
  .tc-pain-result,
  .tc-process-head > p,
  .tc-process-side-note,
  .tc-process-step p,
  .tc-outcome-summary-text,
  .tc-outcome-description,
  .tc-clarity-intro > p,
  .tc-clarity-copy,
  .tc-faq-intro > p,
  .tc-faq-answer p,
  .tc-final-service > span
) {
  color: var(--gsp-color-text-secondary) !important;
}

body.technical-customer-page .tc-main :is(
  .tc-control,
  .tc-pain-card,
  .tc-outcome-surface,
  .tc-clarity-sheet,
  .tc-faq-item,
  .tc-final-form-wrap
) {
  border-color: var(--gsp-color-line-strong) !important;
  background-color: rgba(13, 28, 24, .78) !important;
  background-image: none !important;
  color: var(--gsp-color-text) !important;
  box-shadow: var(--gsp-shadow-md) !important;
  backdrop-filter: blur(18px) !important;
}

body.technical-customer-page .tc-control-title,
body.technical-customer-page .tc-control-row strong {
  color: var(--gsp-color-text) !important;
}

body.technical-customer-page .tc-control-head,
body.technical-customer-page .tc-control-row,
body.technical-customer-page .tc-proof-strip,
body.technical-customer-page .tc-outcome-row,
body.technical-customer-page .tc-clarity-row,
body.technical-customer-page .tc-faq-list,
body.technical-customer-page .tc-faq-item,
body.technical-customer-page .tc-final-form-head {
  border-color: var(--gsp-color-line) !important;
}

body.technical-customer-page .tc-control-row:hover {
  background: rgba(255, 255, 255, .045) !important;
}

body.technical-customer-page :is(.tc-index, .tc-status, .tc-live, .tc-proof-strip > div) {
  color: var(--gsp-color-text-muted) !important;
}

body.technical-customer-page .tc-status {
  border-color: var(--gsp-color-line-strong) !important;
  background: rgba(255, 255, 255, .035) !important;
}

body.technical-customer-page .tc-pain-card,
body.technical-customer-page .tc-faq-item {
  border-radius: var(--gsp-radius-md) !important;
}

body.technical-customer-page .tc-faq-list {
  display: grid;
  gap: 10px;
  border-top: 0 !important;
}

body.technical-customer-page .tc-faq-item summary {
  padding-left: 22px !important;
  padding-right: 64px !important;
}

body.technical-customer-page .tc-faq-answer p {
  padding-inline: 22px !important;
}

body.technical-customer-page .tc-final-form-head {
  background: rgba(255, 255, 255, .035) !important;
}

body.technical-customer-page .tc-final-form-wrap :is(
  .home-quick-input,
  .home-quick-file-picker,
  .tc-final-service
) {
  border-color: var(--gsp-color-line-strong) !important;
  background: rgba(4, 13, 11, .58) !important;
  color: var(--gsp-color-text) !important;
  box-shadow: none !important;
}

body.technical-customer-page .tc-final-form-wrap :is(
  .home-quick-label,
  .home-quick-file-hint,
  .home-quick-consent
) {
  color: var(--gsp-color-text-muted) !important;
}

body.technical-customer-page .tc-final-form-wrap .home-quick-input::placeholder {
  color: var(--gsp-color-text-muted) !important;
}

body.technical-customer-page .tc-final-form-wrap .home-quick-input:focus {
  border-color: var(--gsp-color-accent) !important;
  background: rgba(11, 28, 23, .86) !important;
  box-shadow: 0 0 0 3px rgba(67, 214, 163, .1) !important;
}

body.technical-customer-page .tc-actions .btn-secondary {
  background: rgba(255, 255, 255, .06) !important;
}

body.technical-customer-page .tc-scope,
body.technical-customer-page .tc-final {
  border-color: var(--gsp-color-line) !important;
  background-color: var(--gsp-color-canvas) !important;
  background-image:
    radial-gradient(circle at 84% 10%, rgba(67, 214, 163, .055), transparent 28%),
    linear-gradient(180deg, rgba(8, 20, 17, .96), rgba(7, 17, 15, 1)) !important;
  color: var(--gsp-color-text-secondary) !important;
}

body.technical-customer-page .tc-process-step.is-final {
  border-color: var(--gsp-color-line-strong) !important;
  background: rgba(13, 28, 24, .82) !important;
  color: var(--gsp-color-text-secondary) !important;
  box-shadow: var(--gsp-shadow-md) !important;
}

body.technical-customer-page .tc-process-rail::before {
  background: var(--gsp-color-line-strong) !important;
}

body.technical-customer-page .tc-process-step,
body.technical-customer-page .tc-process-side-note {
  border-color: var(--gsp-color-line-strong) !important;
}

body.technical-customer-page .tc-process-marker,
body.technical-customer-page .tc-process-step.is-final .tc-process-marker {
  border-color: var(--gsp-color-canvas) !important;
  background: var(--gsp-color-accent) !important;
  box-shadow: 0 0 0 1px rgba(67, 214, 163, .26) !important;
}

body.technical-customer-page :is(
  .tc-scope-intro .tc-eyebrow,
  .tc-scope-meta,
  .tc-final-kicker
) {
  color: var(--gsp-color-accent) !important;
}

body.technical-customer-page .tc-scope-item.is-accent {
  background: linear-gradient(145deg, rgba(67, 214, 163, .12), rgba(13, 28, 24, .76)) !important;
}

body.technical-customer-page :is(
  .tc-scope-accent-line::before,
  .tc-final-points span
) {
  background: var(--gsp-color-accent) !important;
  box-shadow: 0 0 0 4px rgba(67, 214, 163, .1) !important;
}

@media (max-width: 760px) {
  body.technical-customer-page .tc-faq-item summary {
    padding-left: 18px !important;
    padding-right: 52px !important;
  }

  body.technical-customer-page .tc-faq-answer p {
    padding-inline: 18px !important;
  }
}

/* Explicit legacy text roles: several old layouts use divs instead of headings. */
body.technical-customer-page :is(.cc-main, .ed-main, .pto-main, .est-main, .ee-main) :is(
  [class$="-title"],
  [class$="-question"],
  [class$="-value"]
) {
  color: var(--gsp-color-text) !important;
}

body.technical-customer-page :is(.cc-main, .ed-main, .pto-main, .est-main, .ee-main) :is(
  [class$="-text"],
  [class$="-note"],
  [class$="-lead"],
  [class$="-copy"] > p
) {
  color: var(--gsp-color-text-secondary) !important;
}

body.technical-customer-page :is(.cc-main, .ed-main, .pto-main, .est-main, .ee-main) :is(
  [class$="-label"],
  [class$="-meta"]
) {
  color: var(--gsp-color-text-muted) !important;
}

body.technical-customer-page .cc-outcome-row.cc-outcome-row-accent,
body.technical-customer-page .tc-outcome-row.is-key,
body.technical-customer-page .tc-clarity-row.is-result {
  border-color: rgba(67, 214, 163, .28) !important;
  background: linear-gradient(145deg, rgba(67, 214, 163, .115), rgba(13, 28, 24, .76)) !important;
  color: var(--gsp-color-text) !important;
}

body.technical-customer-page .tc-outcome-list {
  border-color: var(--gsp-color-line) !important;
  background: rgba(4, 13, 11, .42) !important;
}

.home-main .technical-customer-section .technical-customer-card {
  border-color: var(--gsp-color-line-strong) !important;
  background:
    radial-gradient(circle at 10% 0%, rgba(67, 214, 163, .09), transparent 30%),
    rgba(13, 28, 24, .82) !important;
  color: var(--gsp-color-text) !important;
  box-shadow: var(--gsp-shadow-md) !important;
}

.home-main .technical-customer-section .technical-customer-item {
  border-color: var(--gsp-color-line) !important;
  background: transparent !important;
}

.home-main .technical-customer-section :is(
  .technical-customer-label,
  .technical-customer-title
) {
  color: var(--gsp-color-text) !important;
}

.home-main .technical-customer-section :is(
  .technical-customer-caption,
  .technical-customer-text
) {
  color: var(--gsp-color-text-secondary) !important;
}

body.technical-customer-page .tc-clarity-sheet-head {
  border-color: var(--gsp-color-line) !important;
  background: rgba(255, 255, 255, .035) !important;
  color: var(--gsp-color-text) !important;
}

body.technical-customer-page :is(.cc-main, .ed-main, .pto-main, .est-main, .ee-main) :is(h1, h2) span,
body.technical-customer-page :is(
  .cc-faq-item, .ed-faq-item, .pto-faq-item, .est-faq-item, .ee-faq-item
) summary::after {
  color: var(--gsp-color-accent) !important;
}

body.technical-customer-page :is(
  .cc-faq-item, .ed-faq-item, .pto-faq-item, .est-faq-item, .ee-faq-item
) summary:focus-visible {
  outline: 0 !important;
  border-color: rgba(67, 214, 163, .62) !important;
  box-shadow: inset 0 0 0 1px rgba(67, 214, 163, .45), var(--gsp-shadow-focus) !important;
}

body.technical-customer-page :is(
  .tc-control-footer span,
  .tc-outcome-summary-label
) {
  border-color: rgba(67, 214, 163, .28) !important;
  color: var(--gsp-color-accent) !important;
}

body.technical-customer-page .tc-clarity-footer-mark {
  background: var(--gsp-color-accent) !important;
  box-shadow: 0 0 0 4px rgba(67, 214, 163, .1) !important;
}

/* ================================================================
   Final campaign-readiness polish.
   Remove the last legacy blue accents, restore readable result copy,
   and tighten the long-form service rhythm without changing content.
   ================================================================ */

body.technical-customer-page :is(
  .ed-scenario-result,
  .pto-scope-item-result,
  .est-scenario-result,
  .ee-scope-result,
  .ee-format-result
) {
  color: var(--gsp-color-text-secondary) !important;
}

body.technical-customer-page :is(
  .ed-scenario-result,
  .pto-scope-item-result,
  .est-scenario-result,
  .ee-scope-result,
  .ee-format-result
)::before,
body.technical-customer-page :is(
  .cc-consultation-points,
  .ed-consultation-points,
  .pto-consultation-points,
  .est-consultation-points,
  .ee-consultation-points
) > div::before,
body.technical-customer-page .tc-scope-accent-line::before {
  background: var(--gsp-color-accent) !important;
  box-shadow: 0 0 0 4px rgba(67, 214, 163, .1) !important;
}

body.technical-customer-page .tc-control::after {
  background: rgba(67, 214, 163, .08) !important;
}

body.technical-customer-page .pto-outcome-row-label {
  border-color: rgba(67, 214, 163, .22) !important;
  background: rgba(67, 214, 163, .09) !important;
  color: var(--gsp-color-text-secondary) !important;
}

body.technical-customer-page .pto-outcome-row-label.is-ready {
  color: var(--gsp-color-success) !important;
}

body.technical-customer-page :is(
  .cc-checks-inner,
  .cc-process-inner,
  .cc-outcome-inner,
  .cc-faq-inner,
  .cc-consultation-inner,
  .ed-scenarios-inner,
  .ed-workflow-inner,
  .ed-handover-inner,
  .ed-faq-inner,
  .ed-consultation-inner,
  .pto-scope-inner,
  .pto-format-inner,
  .pto-outcome-inner,
  .pto-faq-inner,
  .pto-consultation-inner,
  .est-scenarios-inner,
  .est-process-inner,
  .est-outcome-inner,
  .est-faq-inner,
  .est-consultation-inner,
  .ee-scope-inner,
  .ee-format-inner,
  .ee-outcome-inner,
  .ee-faq-inner,
  .ee-consultation-inner
) {
  padding-top: clamp(82px, 7vw, 104px) !important;
  padding-bottom: clamp(82px, 7vw, 104px) !important;
}

.request-choice-change,
.file-group-count,
.file-drop-hint {
  color: var(--gsp-color-text-secondary) !important;
}

.request-choice-change::before,
.request-choice-change::after,
.file-group-count::before,
.file-group-count::after,
.file-drop-hint::before,
.file-drop-hint::after {
  color: var(--gsp-color-accent) !important;
  border-color: var(--gsp-color-accent) !important;
}

.request-progress-row {
  color: var(--gsp-color-text-secondary) !important;
  font-size: 11px !important;
}

.request-progress-row.is-active {
  color: var(--gsp-color-text) !important;
}

.request-progress-row.is-active .request-progress-index,
.request-progress-row.is-complete .request-progress-index {
  border-color: rgba(67, 214, 163, .34) !important;
  background: rgba(67, 214, 163, .12) !important;
  color: var(--gsp-color-accent) !important;
}

body.contacts-page .contacts-main {
  padding-bottom: 96px !important;
}

@media (max-width: 760px) {
  body.technical-customer-page :is(
    .cc-checks-inner,
    .cc-process-inner,
    .cc-outcome-inner,
    .cc-faq-inner,
    .cc-consultation-inner,
    .ed-scenarios-inner,
    .ed-workflow-inner,
    .ed-handover-inner,
    .ed-faq-inner,
    .ed-consultation-inner,
    .pto-scope-inner,
    .pto-format-inner,
    .pto-outcome-inner,
    .pto-faq-inner,
    .pto-consultation-inner,
    .est-scenarios-inner,
    .est-process-inner,
    .est-outcome-inner,
    .est-faq-inner,
    .est-consultation-inner,
    .ee-scope-inner,
    .ee-format-inner,
    .ee-outcome-inner,
    .ee-faq-inner,
    .ee-consultation-inner
  ) {
    padding-top: 64px !important;
    padding-bottom: 64px !important;
  }

  body.request-page #gsp-live-chat-root {
    display: none !important;
  }

  body.contacts-page .contacts-main {
    padding-bottom: 132px !important;
  }
}
