/* ==========================================================================
   Contact + Request Demo — light theme + shared atmosphere
   body.ta-contact-route | body.ta-demo-route
   ========================================================================== */

body.ta-contact-route,
body.ta-demo-route {
  background-color: #0a141c !important;
  background-image: none !important;
  transition: background-color 0.45s ease;
  overflow-x: clip;
}

html[data-theme="light"] body.ta-contact-route,
html[data-theme="light"] body.ta-demo-route {
  background-color: #e8eef2 !important;
}

body.ta-contact-route .ta-contact-page,
body.ta-demo-route .ta-request-demo-page {
  overflow-x: clip;
  overflow-y: visible;
  background: transparent !important;
}

body.ta-contact-route .ta-page-net,
body.ta-demo-route .ta-page-net,
body.ta-contact-route .ta-home-net,
body.ta-demo-route .ta-home-net {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

body.ta-contact-route .ta-page-net canvas,
body.ta-demo-route .ta-page-net canvas {
  display: block;
  width: 100%;
  height: 100%;
}

body.ta-contact-route .ta-contact-page,
body.ta-demo-route .ta-request-demo-page,
body.ta-contact-route .ta-footer,
body.ta-demo-route .ta-footer {
  position: relative;
  z-index: 1;
}

body.ta-contact-route #navbar.ta-header,
body.ta-demo-route #navbar.ta-header {
  position: fixed !important;
  z-index: 50 !important;
}

.ta-leads-float {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.ta-leads-float__grid {
  position: absolute;
  inset: 0;
  opacity: 0.16;
  background-image:
    linear-gradient(rgba(95, 177, 115, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(95, 177, 115, 0.05) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: radial-gradient(ellipse 90% 80% at 50% 35%, #000 18%, transparent 78%);
  -webkit-mask-image: radial-gradient(ellipse 90% 80% at 50% 35%, #000 18%, transparent 78%);
}

html[data-theme="light"] .ta-leads-float__grid {
  opacity: 0.32;
  background-image:
    linear-gradient(rgba(0, 168, 69, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 168, 69, 0.08) 1px, transparent 1px);
}

/* Dark glass over network */
body.ta-contact-route .ta-contact-page .alt,
body.ta-demo-route .ta-request-demo-page .alt {
  background: rgba(6, 23, 31, 0.55) !important;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

body.ta-contact-route .ta-contact-page .fcard,
body.ta-contact-route .ta-contact-page .route,
body.ta-contact-route .ta-contact-page .office,
body.ta-contact-route .ta-contact-page .cta,
body.ta-demo-route .ta-request-demo-page .dcard,
body.ta-demo-route .ta-request-demo-page .office,
body.ta-demo-route .ta-request-demo-page .agenda,
body.ta-demo-route .ta-request-demo-page .faq details,
body.ta-demo-route .ta-request-demo-page .cta {
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

body.ta-contact-route .ta-contact-page .sec.light,
body.ta-demo-route .ta-request-demo-page .sec.light {
  background: transparent !important;
}

/* Dark mode: cream-band (.light) was designed for light cards — restyle for dark */
html:not([data-theme="light"]) .ta-contact-page .light h2,
html:not([data-theme="light"]) .ta-contact-page .light h3,
html:not([data-theme="light"]) .ta-request-demo-page .light h2,
html:not([data-theme="light"]) .ta-request-demo-page .light h3 {
  color: #fff !important;
}

html:not([data-theme="light"]) .ta-contact-page .light h2 em,
html:not([data-theme="light"]) .ta-request-demo-page .light h2 em {
  color: var(--green) !important;
}

html:not([data-theme="light"]) .ta-contact-page .light .eyebrow,
html:not([data-theme="light"]) .ta-request-demo-page .light .eyebrow {
  color: var(--green) !important;
}

html:not([data-theme="light"]) .ta-contact-page .light p,
html:not([data-theme="light"]) .ta-contact-page .light .lead,
html:not([data-theme="light"]) .ta-request-demo-page .light p,
html:not([data-theme="light"]) .ta-request-demo-page .light .lead {
  color: var(--body) !important;
}

html:not([data-theme="light"]) .ta-contact-page .step {
  background: var(--panel) !important;
  border-color: var(--line) !important;
  box-shadow: none !important;
}

html:not([data-theme="light"]) .ta-contact-page .step .n {
  color: var(--green) !important;
}

html:not([data-theme="light"]) .ta-contact-page .step h3 {
  color: #fff !important;
}

html:not([data-theme="light"]) .ta-contact-page .step p {
  color: var(--body) !important;
}

html:not([data-theme="light"]) .ta-request-demo-page .sc {
  background: var(--panel) !important;
  border-color: var(--line) !important;
  box-shadow: none !important;
}

html:not([data-theme="light"]) .ta-request-demo-page .sc .q {
  color: #fff !important;
}

html:not([data-theme="light"]) .ta-request-demo-page .sc .mods {
  color: var(--body) !important;
  background: transparent !important;
  border-top-color: var(--line) !important;
}

/* ---- Light mode tokens ---- */
html[data-theme="light"] .ta-contact-page,
html[data-theme="light"] .ta-request-demo-page {
  --base: transparent;
  --base2: rgba(255, 255, 255, 0.55);
  --panel: rgba(255, 255, 255, 0.92);
  --panel2: #ffffff;
  --line: rgba(15, 49, 69, 0.12);
  --linelit: rgba(0, 168, 69, 0.32);
  --green: #00c853;
  --greensoft: #00e676;
  --greendeep: #00a845;
  --mint: rgba(0, 200, 83, 0.1);
  --white: #0a141c;
  --body: #3d4f59;
  --muted: #5a6b75;
  --light: transparent;
  color: var(--body);
  background: transparent !important;
}

html[data-theme="light"] .ta-contact-page h1,
html[data-theme="light"] .ta-contact-page h2,
html[data-theme="light"] .ta-contact-page h3,
html[data-theme="light"] .ta-request-demo-page h1,
html[data-theme="light"] .ta-request-demo-page h2,
html[data-theme="light"] .ta-request-demo-page h3 {
  color: #0a141c;
}

html[data-theme="light"] .ta-contact-page h1 em,
html[data-theme="light"] .ta-contact-page h2 em,
html[data-theme="light"] .ta-request-demo-page h1 em,
html[data-theme="light"] .ta-request-demo-page h2 em {
  color: #00a845;
}

html[data-theme="light"] .ta-contact-page .eyebrow,
html[data-theme="light"] .ta-request-demo-page .eyebrow {
  color: #00a845;
}

html[data-theme="light"] .ta-contact-page .lead,
html[data-theme="light"] .ta-request-demo-page .lead {
  color: #3d4f59;
}

html[data-theme="light"] .ta-contact-page .sub,
html[data-theme="light"] .ta-request-demo-page .sub {
  color: #5a6b75;
}

html[data-theme="light"] .ta-contact-page .tex::before,
html[data-theme="light"] .ta-request-demo-page .tex::before {
  background:
    repeating-linear-gradient(90deg, rgba(0, 168, 69, 0.06) 0 1px, transparent 1px 56px),
    repeating-linear-gradient(0deg, rgba(0, 168, 69, 0.06) 0 1px, transparent 1px 56px);
}

html[data-theme="light"] .ta-contact-page .alt,
html[data-theme="light"] .ta-request-demo-page .alt {
  background: rgba(255, 255, 255, 0.42) !important;
  border-color: rgba(15, 49, 69, 0.08);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

html[data-theme="light"] .ta-contact-page .sec.light,
html[data-theme="light"] .ta-contact-page .light,
html[data-theme="light"] .ta-request-demo-page .sec.light,
html[data-theme="light"] .ta-request-demo-page .light {
  background: transparent !important;
}

html[data-theme="light"] .ta-contact-page .ghost,
html[data-theme="light"] .ta-request-demo-page .ghost {
  border-color: rgba(0, 168, 69, 0.45) !important;
  color: #0a141c !important;
  background: rgba(255, 255, 255, 0.7) !important;
}

html[data-theme="light"] .ta-contact-page .ghost:hover,
html[data-theme="light"] .ta-request-demo-page .ghost:hover {
  border-color: #00c853 !important;
  color: #06351c !important;
  background: rgba(0, 200, 83, 0.1) !important;
}

html[data-theme="light"] .ta-contact-page .btn,
html[data-theme="light"] .ta-request-demo-page .btn {
  color: #06351c !important;
  background: linear-gradient(180deg, #4ade80 0%, #00d166 42%, #00b85a 100%) !important;
  box-shadow:
    0 0 0 1px rgba(0, 209, 102, 0.2),
    0 0 22px rgba(0, 209, 102, 0.4),
    0 10px 24px rgba(0, 160, 80, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.45);
}

html[data-theme="light"] .ta-contact-page .btn:hover,
html[data-theme="light"] .ta-request-demo-page .btn:hover {
  background: linear-gradient(180deg, #1aff8c 0%, #00e676 100%) !important;
  box-shadow:
    0 0 30px rgba(0, 209, 102, 0.55),
    0 12px 28px rgba(0, 160, 80, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

/* Promise / expect lists */
html[data-theme="light"] .ta-contact-page .promise b,
html[data-theme="light"] .ta-request-demo-page .expect b,
html[data-theme="light"] .ta-request-demo-page .who strong {
  color: #0a141c;
}

html[data-theme="light"] .ta-contact-page .promise li,
html[data-theme="light"] .ta-request-demo-page .expect li,
html[data-theme="light"] .ta-request-demo-page .who p {
  color: #3d4f59;
}

html[data-theme="light"] .ta-contact-page .direct a {
  color: #0a141c;
}

html[data-theme="light"] .ta-contact-page .direct a:hover {
  color: #00a845;
}

html[data-theme="light"] .ta-contact-page .direct small,
html[data-theme="light"] .ta-request-demo-page .who .lbl {
  color: #5a6b75;
}

html[data-theme="light"] .ta-contact-page .direct .ic,
html[data-theme="light"] .ta-contact-page .tile,
html[data-theme="light"] .ta-request-demo-page .tile {
  background: rgba(0, 200, 83, 0.1);
  border-color: rgba(0, 168, 69, 0.32);
}

html[data-theme="light"] .ta-contact-page .direct .ic svg,
html[data-theme="light"] .ta-contact-page .tile svg,
html[data-theme="light"] .ta-contact-page .promise svg,
html[data-theme="light"] .ta-request-demo-page .tile svg,
html[data-theme="light"] .ta-request-demo-page .expect svg {
  stroke: #00a845;
}

/* Form cards */
html[data-theme="light"] .ta-contact-page .fcard,
html[data-theme="light"] .ta-request-demo-page .dcard {
  background: rgba(255, 255, 255, 0.94) !important;
  border-color: rgba(15, 49, 69, 0.12) !important;
  box-shadow: 0 18px 48px rgba(15, 49, 69, 0.08);
}

html[data-theme="light"] .ta-request-demo-page .dcard {
  border-color: rgba(0, 168, 69, 0.28) !important;
}

html[data-theme="light"] .ta-contact-page .fcard::before,
html[data-theme="light"] .ta-request-demo-page .dcard::before {
  background: radial-gradient(560px 240px at 100% 0, rgba(0, 209, 102, 0.1), transparent 64%);
}

html[data-theme="light"] .ta-contact-page .fcard .note,
html[data-theme="light"] .ta-request-demo-page .dcard .note {
  color: #3d4f59;
}

html[data-theme="light"] .ta-contact-page .fld label,
html[data-theme="light"] .ta-request-demo-page .fld label {
  color: #5a6b75;
}

html[data-theme="light"] .ta-contact-page .fld input,
html[data-theme="light"] .ta-contact-page .fld select,
html[data-theme="light"] .ta-contact-page .fld textarea,
html[data-theme="light"] .ta-request-demo-page .fld input,
html[data-theme="light"] .ta-request-demo-page .fld select,
html[data-theme="light"] .ta-request-demo-page .fld textarea {
  background: #ffffff !important;
  border-color: rgba(15, 49, 69, 0.14) !important;
  color: #0a141c !important;
}

html[data-theme="light"] .ta-contact-page .fld input::placeholder,
html[data-theme="light"] .ta-contact-page .fld textarea::placeholder,
html[data-theme="light"] .ta-request-demo-page .fld input::placeholder,
html[data-theme="light"] .ta-request-demo-page .fld textarea::placeholder {
  color: #8a9aa3;
}

html[data-theme="light"] .ta-contact-page .fld input:focus,
html[data-theme="light"] .ta-contact-page .fld select:focus,
html[data-theme="light"] .ta-contact-page .fld textarea:focus,
html[data-theme="light"] .ta-request-demo-page .fld input:focus,
html[data-theme="light"] .ta-request-demo-page .fld select:focus,
html[data-theme="light"] .ta-request-demo-page .fld textarea:focus {
  border-color: #00c853 !important;
  background: #f7fcf9 !important;
}

html[data-theme="light"] .ta-contact-page .fld select option,
html[data-theme="light"] .ta-request-demo-page .fld select option {
  background: #ffffff;
  color: #0a141c;
}

html[data-theme="light"] .ta-contact-page .fld optgroup,
html[data-theme="light"] .ta-request-demo-page .fld optgroup {
  background: #ffffff;
  color: #00a845;
}

html[data-theme="light"] .ta-contact-page .fld select,
html[data-theme="light"] .ta-request-demo-page .fld select {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235a6b75' stroke-width='3'%3E%3Cpath d='M5 8l7 7 7-7'/%3E%3C/svg%3E") !important;
}

html[data-theme="light"] .ta-contact-page .consent span,
html[data-theme="light"] .ta-request-demo-page .consent span {
  color: #5a6b75;
}

html[data-theme="light"] .ta-contact-page .consent a,
html[data-theme="light"] .ta-request-demo-page .consent a {
  color: #00a845;
}

html[data-theme="light"] .ta-request-demo-page .orline {
  color: #5a6b75;
}

html[data-theme="light"] .ta-request-demo-page .bookbtn {
  border-color: rgba(0, 168, 69, 0.4) !important;
  color: #0a141c !important;
  background: rgba(255, 255, 255, 0.85) !important;
}

html[data-theme="light"] .ta-request-demo-page .bookbtn:hover {
  border-color: #00c853 !important;
  color: #06351c !important;
  background: rgba(0, 200, 83, 0.1) !important;
}

/* Cards / routes / offices */
html[data-theme="light"] .ta-contact-page .route,
html[data-theme="light"] .ta-contact-page .office,
html[data-theme="light"] .ta-contact-page .step,
html[data-theme="light"] .ta-request-demo-page .office,
html[data-theme="light"] .ta-request-demo-page .sc,
html[data-theme="light"] .ta-request-demo-page .agenda,
html[data-theme="light"] .ta-request-demo-page .faq details {
  background: rgba(255, 255, 255, 0.92) !important;
  border-color: rgba(15, 49, 69, 0.12) !important;
  box-shadow: 0 12px 32px rgba(15, 49, 69, 0.06);
}

html[data-theme="light"] .ta-contact-page .route:hover,
html[data-theme="light"] .ta-contact-page .office:hover,
html[data-theme="light"] .ta-request-demo-page .office:hover {
  border-color: rgba(0, 168, 69, 0.4) !important;
  box-shadow: 0 18px 40px rgba(15, 49, 69, 0.1);
}

html[data-theme="light"] .ta-contact-page .route p,
html[data-theme="light"] .ta-contact-page .office address,
html[data-theme="light"] .ta-contact-page .office .meta,
html[data-theme="light"] .ta-request-demo-page .office address,
html[data-theme="light"] .ta-request-demo-page .office .meta,
html[data-theme="light"] .ta-request-demo-page .agenda p,
html[data-theme="light"] .ta-request-demo-page .faq .ans,
html[data-theme="light"] .ta-request-demo-page .sc p {
  color: #3d4f59;
}

html[data-theme="light"] .ta-contact-page .route .go,
html[data-theme="light"] .ta-contact-page .office .tag,
html[data-theme="light"] .ta-contact-page .step .n,
html[data-theme="light"] .ta-request-demo-page .office .tag,
html[data-theme="light"] .ta-request-demo-page .agenda .t {
  color: #00a845;
}

html[data-theme="light"] .ta-request-demo-page .faq summary {
  color: #0a141c;
}

html[data-theme="light"] .ta-request-demo-page .faq details[open] {
  border-color: rgba(0, 168, 69, 0.4) !important;
}

html[data-theme="light"] .ta-request-demo-page .sc .q {
  color: #0a141c;
}

html[data-theme="light"] .ta-request-demo-page .sc .mods {
  color: #5a6b75;
  background: transparent;
  border-top-color: rgba(15, 49, 69, 0.1);
}

/* CTA bands */
html[data-theme="light"] .ta-contact-page .cta,
html[data-theme="light"] .ta-request-demo-page .cta {
  background: linear-gradient(155deg, #ffffff 0%, #f3faf5 48%, #e8f6ee 100%) !important;
  border-color: rgba(0, 200, 83, 0.32) !important;
  box-shadow:
    0 22px 56px rgba(15, 49, 69, 0.08),
    0 0 40px rgba(0, 200, 83, 0.08);
}

html[data-theme="light"] .ta-contact-page .cta::before,
html[data-theme="light"] .ta-request-demo-page .cta::before {
  background: radial-gradient(600px 280px at 94% 120%, rgba(0, 209, 102, 0.16), transparent 66%);
}

html[data-theme="light"] .ta-contact-page .cta h2,
html[data-theme="light"] .ta-request-demo-page .cta h2 {
  color: #0a141c;
}

html[data-theme="light"] .ta-contact-page .cta p,
html[data-theme="light"] .ta-request-demo-page .cta p {
  color: #3d4f5a;
}

/* Success / error modals if present on contact */
html[data-theme="light"] .ta-contact-page .success-modal,
html[data-theme="light"] .ta-contact-page [class*="modal"] .bg-white {
  color: #0a141c;
}
