/* Shared atmospheric background for every page and both themes. */
html,
body { overflow-x: clip; }

body {
  position: relative;
  isolation: isolate;
  background:
    radial-gradient(circle at 20% 0%, rgba(77, 227, 255, .20), transparent 34%),
    radial-gradient(circle at 80% 12%, rgba(180, 108, 255, .18), transparent 32%),
    radial-gradient(circle at 50% 100%, rgba(109, 125, 255, .17), transparent 36%),
    linear-gradient(145deg, #050812 0%, #081225 48%, #11102a 76%, #170d29 100%) !important;
  background-attachment: fixed !important;
}

body::before,
body::after {
  content: "" !important;
  position: fixed !important;
  inset: -8% !important;
  z-index: -1 !important;
  pointer-events: none !important;
}

body::before {
  opacity: .32 !important;
  background-image:
    linear-gradient(rgba(163, 218, 236, .075) 1px, transparent 1px),
    linear-gradient(90deg, rgba(163, 218, 236, .075) 1px, transparent 1px) !important;
  background-size: 76px 76px !important;
  mask-image: linear-gradient(to bottom, transparent 0%, #000 10%, #000 90%, transparent 100%) !important;
  animation: none !important;
}

body::after {
  opacity: .56 !important;
  background:
    radial-gradient(circle, rgba(77, 227, 255, .42) 0 1.5px, transparent 2.6px),
    radial-gradient(circle, rgba(180, 108, 255, .34) 0 1px, transparent 2.2px),
    radial-gradient(circle, rgba(109, 125, 255, .30) 0 2px, transparent 3.2px),
    radial-gradient(circle, rgba(185, 239, 255, .24) 0 1px, transparent 2px) !important;
  background-size: 430px 390px, 610px 530px, 760px 680px, 940px 790px !important;
  background-position: 6% 12%, 38% 24%, 72% 48%, 88% 76% !important;
  mask-image: linear-gradient(to bottom, #000 0%, rgba(0,0,0,.82) 76%, transparent 100%) !important;
  animation: ambientPoints 38s linear infinite !important;
}

@keyframes ambientPoints {
  0% { background-position: 6% 12%, 38% 24%, 72% 48%, 88% 76%; }
  50% { background-position: 11% 18%, 32% 30%, 78% 42%, 82% 82%; }
  100% { background-position: 16% 24%, 26% 36%, 84% 36%, 76% 88%; }
}

/* Koehne Intelligence light theme. */
:root[data-theme="light"] {
  color-scheme: light;
  --bg: #F8F9FB;
  --card: rgba(255, 255, 255, .72);
  --line: rgba(17, 24, 39, .11);
  --text: #111827;
  --muted: #4B5563;
  --soft: #374151;
}

html[data-theme="light"] body {
  background:
    radial-gradient(circle at 14% 4%, rgba(77, 177, 210, .13), transparent 31%),
    radial-gradient(circle at 86% 18%, rgba(153, 105, 196, .10), transparent 34%),
    radial-gradient(circle at 46% 92%, rgba(109, 125, 255, .075), transparent 35%),
    linear-gradient(145deg, #F8F9FB 0%, #F4F7FA 42%, #EEF5FA 70%, #F3F0F8 100%) !important;
  background-attachment: fixed !important;
  color: #111827 !important;
}

html[data-theme="light"] body::before {
  opacity: .20 !important;
  background-image:
    linear-gradient(rgba(70, 116, 136, .11) 1px, transparent 1px),
    linear-gradient(90deg, rgba(70, 116, 136, .11) 1px, transparent 1px) !important;
  background-size: 76px 76px !important;
}

html[data-theme="light"] body::after {
  opacity: .34 !important;
  background:
    radial-gradient(circle, rgba(38, 148, 177, .34) 0 1.5px, transparent 2.6px),
    radial-gradient(circle, rgba(144, 91, 184, .27) 0 1px, transparent 2.2px),
    radial-gradient(circle, rgba(88, 105, 196, .24) 0 2px, transparent 3.2px),
    radial-gradient(circle, rgba(57, 136, 163, .20) 0 1px, transparent 2px) !important;
  background-size: 430px 390px, 610px 530px, 760px 680px, 940px 790px !important;
}

html[data-theme="light"] .nav {
  background: rgba(248, 249, 251, .86) !important;
  border-color: rgba(17, 24, 39, .09) !important;
  box-shadow: 0 12px 34px rgba(31, 41, 55, .045) !important;
}

html[data-theme="light"] .mobile-nav-panel {
  background: rgba(248, 249, 251, .96) !important;
  border-color: rgba(17, 24, 39, .10) !important;
  box-shadow: 0 24px 54px rgba(31, 41, 55, .12) !important;
}

html[data-theme="light"] .nav-links,
html[data-theme="light"] .navlinks,
html[data-theme="light"] .mobile-nav-panel,
html[data-theme="light"] .lead,
html[data-theme="light"] .section-head p,
html[data-theme="light"] .head p,
html[data-theme="light"] .card p,
html[data-theme="light"] .project p,
html[data-theme="light"] .panel p,
html[data-theme="light"] .step p,
html[data-theme="light"] .roadmap-card p,
html[data-theme="light"] .roadmap-finish-copy p,
html[data-theme="light"] .contact-hero p,
html[data-theme="light"] .form-status,
html[data-theme="light"] .contact-detail small,
html[data-theme="light"] footer {
  color: #4B5563 !important;
}

html[data-theme="light"] .brand-logo-img,
html[data-theme="light"] .hero-logo-showcase img {
  filter: brightness(.23) saturate(1.25) !important;
}

html[data-theme="light"] .card,
html[data-theme="light"] .project,
html[data-theme="light"] .panel,
html[data-theme="light"] .step,
html[data-theme="light"] .fair-card,
html[data-theme="light"] .cta,
html[data-theme="light"] .legal-card,
html[data-theme="light"] .contact-form,
html[data-theme="light"] .contact-info,
html[data-theme="light"] .collaboration-step,
html[data-theme="light"] .standard-card,
html[data-theme="light"] .platform-message,
html[data-theme="light"] .platform-proof,
html[data-theme="light"] .status,
html[data-theme="light"] .quote,
html[data-theme="light"] .icon-stage,
html[data-theme="light"] .roadmap-card {
  background: linear-gradient(180deg, rgba(255, 255, 255, .78), rgba(255, 255, 255, .58)) !important;
  border-color: rgba(17, 24, 39, .105) !important;
  box-shadow: 0 22px 62px rgba(31, 41, 55, .085), inset 0 1px 0 rgba(255, 255, 255, .82) !important;
}

html[data-theme="light"] .card:hover,
html[data-theme="light"] .project:hover,
html[data-theme="light"] .step:hover {
  background: rgba(255, 255, 255, .88) !important;
  border-color: rgba(77, 177, 210, .34) !important;
  box-shadow: 0 26px 70px rgba(31, 41, 55, .11), 0 0 0 1px rgba(77, 227, 255, .08) !important;
}

html[data-theme="light"] .button.secondary,
html[data-theme="light"] .btn:not(.primary),
html[data-theme="light"] .tag,
html[data-theme="light"] .badge,
html[data-theme="light"] .eyebrow,
html[data-theme="light"] .project-status,
html[data-theme="light"] .item,
html[data-theme="light"] .platform-point {
  background: rgba(255, 255, 255, .64) !important;
  border-color: rgba(17, 24, 39, .12) !important;
  color: #374151 !important;
  box-shadow: 0 12px 32px rgba(31, 41, 55, .045) !important;
}

html[data-theme="light"] .fluid-visual::before {
  background: radial-gradient(ellipse at 56% 47%, rgba(147, 102, 210, .18), rgba(77, 227, 255, .09) 48%, transparent 72%) !important;
}

html[data-theme="light"] .fluid-card {
  background: linear-gradient(145deg, rgba(255, 255, 255, .86), rgba(244, 247, 251, .74)) !important;
  border-color: rgba(17, 24, 39, .13) !important;
  color: #111827 !important;
  box-shadow: 0 18px 44px rgba(31, 41, 55, .12), inset 0 1px 0 rgba(255, 255, 255, .9) !important;
}

html[data-theme="light"] .fluid-card-copy b { color: #111827 !important; }
html[data-theme="light"] .fluid-card-copy small { color: #4B5563 !important; }
html[data-theme="light"] .fluid-lines path { stroke: rgba(52, 153, 181, .34) !important; }
html[data-theme="light"] .fluid-lines circle { fill: #36AFCB !important; }

html[data-theme="light"] .fluid-phone,
html[data-theme="light"] .roadmap-phone {
  background: linear-gradient(145deg, #D8DEE8, #FFFFFF 55%, #CAD2DF) !important;
  border-color: rgba(17, 24, 39, .18) !important;
  box-shadow: 0 32px 72px rgba(31, 41, 55, .18), 0 0 48px rgba(77, 227, 255, .11) !important;
}

html[data-theme="light"] .fluid-phone-screen,
html[data-theme="light"] .roadmap-phone-screen {
  background: linear-gradient(155deg, #F6F9FC, #EAF1F7 62%, #F0EAF8) !important;
  border-color: rgba(17, 24, 39, .09) !important;
}

html[data-theme="light"] .fluid-phone-line,
html[data-theme="light"] .fluid-phone-action {
  background: rgba(17, 24, 39, .09) !important;
  border-color: rgba(17, 24, 39, .08) !important;
}

html[data-theme="light"] .roadmap-premium {
  background:
    radial-gradient(circle at 15% 22%, rgba(77, 227, 255, .10), transparent 27%),
    radial-gradient(circle at 84% 56%, rgba(133, 78, 201, .10), transparent 34%),
    linear-gradient(180deg, rgba(248, 249, 251, .20), rgba(242, 244, 247, .74)) !important;
}

html[data-theme="light"] .roadmap-premium-path .path-halo { stroke: rgba(77, 177, 210, .12) !important; }
html[data-theme="light"] .roadmap-icon {
  background: rgba(255, 255, 255, .72) !important;
  border-color: rgba(52, 153, 181, .22) !important;
  color: #278DA7 !important;
}

html[data-theme="light"] .form-field label,
html[data-theme="light"] .privacy-check,
html[data-theme="light"] .contact-benefits li { color: #374151 !important; }

html[data-theme="light"] .form-field input,
html[data-theme="light"] .form-field select,
html[data-theme="light"] .form-field textarea {
  background: rgba(255, 255, 255, .82) !important;
  border-color: rgba(17, 24, 39, .15) !important;
  color: #111827 !important;
}

html[data-theme="light"] .form-field input:focus,
html[data-theme="light"] .form-field select:focus,
html[data-theme="light"] .form-field textarea:focus {
  background: #FFFFFF !important;
  border-color: rgba(34, 174, 205, .68) !important;
}

html[data-theme="light"] .contact-benefits li,
html[data-theme="light"] .contact-detail,
html[data-theme="light"] footer {
  border-color: rgba(17, 24, 39, .10) !important;
}

.theme-toggle {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 14px;
  background: rgba(255, 255, 255, .06);
  color: var(--text, #F4F7FB);
  font: inherit;
  font-size: 18px;
  cursor: pointer;
  transition: background .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.theme-toggle:hover,
.theme-toggle:focus-visible {
  background: rgba(77, 227, 255, .10);
  border-color: rgba(77, 227, 255, .34);
  box-shadow: 0 0 0 4px rgba(77, 227, 255, .08);
  outline: none;
}

html[data-theme="light"] .theme-toggle {
  background: rgba(255, 255, 255, .74);
  border-color: rgba(17, 24, 39, .12);
  color: #111827;
  box-shadow: 0 10px 28px rgba(31, 41, 55, .07);
}

/* Release contrast fixes: visual properties only; layout remains unchanged. */
html[data-theme="light"] .hero .claim {
  color: #111827 !important;
  text-shadow: none !important;
}

@media (max-width: 920px) {
  html[data-theme="light"] .mobile-menu-toggle {
    color: #111827 !important;
    background: rgba(255, 255, 255, .78) !important;
    border-color: rgba(17, 24, 39, .18) !important;
    box-shadow: 0 8px 22px rgba(31, 41, 55, .08) !important;
  }
}

/* Real product previews inside the existing hero and roadmap phones. */
.phone-product-ui {
  height: 100%;
  display: flex;
  flex-direction: column;
  color: #F4F7FB;
  font-family: Inter, system-ui, -apple-system, sans-serif;
}

.phone-product-head {
  display: flex;
  align-items: center;
  gap: 9px;
}

.phone-product-icon {
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  object-fit: cover;
  border-radius: 12px;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .30);
}

.phone-product-head strong,
.phone-product-head small { display: block; }
.phone-product-head strong { font-size: 12px; line-height: 1.15; letter-spacing: -.02em; }
.phone-product-head small { margin-top: 3px; color: #9EABC0; font-size: 7px; line-height: 1.25; }

.phone-product-label {
  margin-top: 25px;
  color: #68E8FF;
  font-size: 7px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.phone-product-card {
  margin-top: 8px;
  padding: 13px;
  border: 1px solid rgba(255, 255, 255, .10);
  border-radius: 15px;
  background: linear-gradient(145deg, rgba(77, 227, 255, .11), rgba(180, 108, 255, .09));
  box-shadow: 0 14px 28px rgba(0, 0, 0, .18);
}

.phone-product-card b { display: block; font-size: 10px; line-height: 1.25; }
.phone-product-card span { display: block; margin-top: 5px; color: #A9B4C7; font-size: 7px; line-height: 1.45; }

.phone-product-meta {
  display: flex;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 14px;
  color: #8F9CB1;
  font-size: 7px;
}

.phone-product-progress {
  height: 4px;
  margin-top: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, .09);
}

.phone-product-progress::after {
  content: "";
  display: block;
  width: 68%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #4DE3FF, #9D79EE);
}

.roadmap-phone-screen { padding: 29px 8px 9px; }
.roadmap-phone-screen .phone-product-head { gap: 5px; }
.roadmap-phone-screen .phone-product-icon { width: 25px; height: 25px; border-radius: 7px; }
.roadmap-phone-screen .phone-product-head strong { font-size: 7px; }
.roadmap-phone-screen .phone-product-head small { font-size: 5px; }
.roadmap-phone-screen .phone-product-label { margin-top: 14px; font-size: 5px; }
.roadmap-phone-screen .phone-product-card { margin-top: 5px; padding: 8px; border-radius: 10px; }
.roadmap-phone-screen .phone-product-card b { font-size: 6px; }
.roadmap-phone-screen .phone-product-card span { margin-top: 3px; font-size: 5px; line-height: 1.3; }
.roadmap-phone-screen .phone-product-meta { padding-top: 8px; font-size: 5px; }
.roadmap-phone-screen .phone-product-progress { height: 3px; margin-top: 4px; }

@media (max-width: 700px) {
  .roadmap-phone-screen { padding: 23px 6px 7px; }
  .roadmap-phone-screen .phone-product-icon { width: 19px; height: 19px; border-radius: 6px; }
  .roadmap-phone-screen .phone-product-head strong { font-size: 6px; }
  .roadmap-phone-screen .phone-product-head small { display: none; }
  .roadmap-phone-screen .phone-product-label { margin-top: 9px; }
  .roadmap-phone-screen .phone-product-card { padding: 6px; }
}

/* Global glass-card interaction, based on the existing product-card hover. */
.ki-hover-card {
  overflow: hidden;
  transition: translate .26s ease, scale .26s ease, border-color .26s ease, background .26s ease, box-shadow .26s ease;
}

.ki-hover-card:not(.fluid-card):not(.roadmap-card) {
  position: relative;
}

.ki-hover-card > :not(.ki-card-shimmer) {
  position: relative;
  z-index: 1;
}

.ki-card-shimmer {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  display: block !important;
  pointer-events: none !important;
  background: linear-gradient(115deg, transparent 0%, transparent 38%, rgba(77, 227, 255, .12) 48%, transparent 58%, transparent 100%);
  transform: translateX(-120%);
  transition: transform .72s ease;
}

/* The shared shimmer replaces the older page-local pseudo-element implementation. */
.ki-hover-card.card::after,
.ki-hover-card.project::before {
  content: none !important;
}

@media (hover: hover) and (pointer: fine) {
  .ki-hover-card:hover {
    translate: 0 -6px;
    scale: 1.008;
    border-color: rgba(77, 227, 255, .34) !important;
    box-shadow: 0 26px 80px rgba(0, 0, 0, .30), 0 0 0 1px rgba(77, 227, 255, .08) !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, .115), rgba(255, 255, 255, .052));
  }

  .ki-hover-card:hover > .ki-card-shimmer {
    transform: translateX(120%);
  }

  html[data-theme="light"] .ki-hover-card:hover {
    border-color: rgba(52, 153, 181, .25) !important;
    box-shadow: 0 22px 58px rgba(31, 41, 55, .105), 0 0 0 1px rgba(52, 153, 181, .055) !important;
    background: rgba(255, 255, 255, .82) !important;
  }

  html[data-theme="light"] .ki-card-shimmer {
    background: linear-gradient(115deg, transparent 0%, transparent 40%, rgba(77, 177, 210, .085) 49%, transparent 58%, transparent 100%);
  }
}

.mobile-nav-panel > .theme-toggle { width: 100%; }
.navin > .theme-toggle { margin-left: auto; }

@media (prefers-reduced-motion: reduce) {
  body::before,
  body::after { animation: none !important; }
  .theme-toggle { transition: none; }
  .ki-hover-card { transition: border-color .15s ease, box-shadow .15s ease !important; }
  .ki-card-shimmer { display: none !important; transition: none !important; }
  .ki-hover-card:hover { translate: none !important; scale: none !important; }
}

/* RC1 pages: theme parity without changing the approved layout. */
html[data-theme="light"] .rc-hero,
html[data-theme="light"] .rc-projects,
html[data-theme="light"] .rc-founder { background:#f8f9fb!important; }
html[data-theme="light"] .rc-services,
html[data-theme="light"] .rc-process { background:#f2f4f7!important; }
html[data-theme="light"] .rc-contact { background:linear-gradient(120deg,#edf5fa,#f4f5fa)!important; }
html[data-theme="light"] .rc-hero h1,
html[data-theme="light"] .rc-section-head h2,
html[data-theme="light"] .rc-founder-copy h2,
html[data-theme="light"] .rc-contact h2,
html[data-theme="light"] .rc-service-card h3,
html[data-theme="light"] .rc-project-card h3,
html[data-theme="light"] .rc-step h3,
html[data-theme="light"] .rc-founder-point strong { color:#111827!important; }
html[data-theme="light"] .rc-hero h1 span:nth-child(2){color:#374151!important}
html[data-theme="light"] .rc-hero-lead,
html[data-theme="light"] .rc-service-card p,
html[data-theme="light"] .rc-project-card p,
html[data-theme="light"] .rc-step p,
html[data-theme="light"] .rc-founder-copy>p,
html[data-theme="light"] .rc-founder-point span,
html[data-theme="light"] .rc-contact p { color:#4b5563!important; }
html[data-theme="light"] .rc-service-card,
html[data-theme="light"] .rc-project-card,
html[data-theme="light"] .rc-founder-media { background:rgba(255,255,255,.78)!important;border-color:rgba(17,24,39,.11)!important;box-shadow:0 20px 58px rgba(31,41,55,.08)!important; }
html[data-theme="light"] .rc-project-visual { background:radial-gradient(circle,rgba(35,137,255,.10),transparent 58%),#f1f4f8!important;border-color:rgba(17,24,39,.08)!important; }
html[data-theme="light"] .rc-button-secondary,
html[data-theme="light"] .rc-contact-aside a { background:rgba(255,255,255,.66)!important;border-color:rgba(17,24,39,.12)!important;color:#1f2937!important; }
html[data-theme="light"] .rc-contact-links a { color:#374151!important; }
html[data-theme="light"] .rc-step-number { background:#fff!important; }
html[data-theme="light"] .brand-logo-img { filter:none!important; }
html[data-theme="light"] .rc-contact-aside>span { background:rgba(255,255,255,.66)!important;border-color:rgba(17,24,39,.12)!important;color:#1f2937!important; }
html[data-theme="light"] .rc-why{background:#f8f9fb!important}
html[data-theme="light"] .rc-why-grid{border-color:rgba(17,24,39,.11)!important}
html[data-theme="light"] .rc-why-grid article{background:rgba(255,255,255,.55)!important;border-color:rgba(17,24,39,.11)!important}
html[data-theme="light"] .rc-why-grid strong{color:#111827!important}
html[data-theme="light"] .rc-why-grid p{color:#4b5563!important}
html[data-theme="light"] .rc-project-group>h3{color:#1f2937!important;border-color:rgba(17,24,39,.11)!important}
html[data-theme="light"] .rc-step-icon{background:#fff!important;border-color:rgba(35,137,255,.25)!important;color:#167fae!important}
html[data-theme="light"] .rc-socials a{background:rgba(255,255,255,.66)!important;border-color:rgba(17,24,39,.12)!important;color:#31536b!important}
html[data-theme="light"] .rc-value-flow strong{color:#111827!important}
html[data-theme="light"] .rc-value-flow p{color:#4b5563!important}
html[data-theme="light"] .rc-value-mark{background:#fff!important;border-color:rgba(35,137,255,.18)!important;color:#267da5!important;box-shadow:0 18px 45px rgba(31,41,55,.09)!important}
html[data-theme="light"] .rc-value-flow article:first-child .rc-value-mark{color:#b97019!important;border-color:rgba(185,112,25,.24)!important}
html[data-theme="light"] .brand-logo-img{filter:brightness(.34) saturate(1.65)!important}

/* RC1.2A: one dark production surface across all main pages. */
:root{--ki-production-surface:#05070b}
html,body{background-color:var(--ki-production-surface)}
body{background:radial-gradient(circle at 76% 8%,rgba(28,76,128,.20),transparent 34%),radial-gradient(circle at 18% 42%,rgba(20,78,103,.12),transparent 32%),radial-gradient(circle at 72% 82%,rgba(58,35,91,.14),transparent 38%),linear-gradient(145deg,#03060b 0%,#050a12 48%,#070a14 100%) fixed!important}
.rc-hero,.rc-services,.rc-projects,.rc-process,.rc-why,.rc-contact,.rc-founder,.about-hero,.contact-hero,.contact-section{background-color:transparent!important}
.rc-services,.rc-projects,.rc-process,.rc-why,.rc-founder{background-image:none!important}
.about-hero,.contact-hero,.contact-section{background:transparent!important}
