:root {
  --ink: #1d1d1f;
  --ink-soft: #424245;
  --muted: #6e6e73;
  --line: rgba(29, 29, 31, .1);
  --line-strong: rgba(29, 29, 31, .16);
  --canvas: #e9eaed;
  --surface: rgba(248, 249, 251, .76);
  --surface-solid: #fff;
  --blue: #0071e3;
  --blue-hover: #0077ed;
  --shadow: 0 18px 60px rgba(22, 30, 50, .08);
  --shadow-hover: 0 24px 70px rgba(22, 30, 50, .12);
  --radius: 28px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html, body { min-height: 100%; margin: 0; }
body {
  display: flex;
  min-height: 100vh;
  flex-direction: column;
  color: var(--ink);
  background:
    radial-gradient(circle at 16% 6%, rgba(250, 250, 252, .96), transparent 26rem),
    linear-gradient(180deg, #f1f2f4 0, var(--canvas) 42%, #f4f4f6 100%);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", sans-serif;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
}

main { flex: 1; }
.site-content { padding: 0 24px 96px; }
a { color: var(--blue); text-decoration: none; }
a:hover { color: var(--blue-hover); }
button, input, textarea, select { font: inherit; }
::selection { color: #fff; background: var(--blue); }

/* Navigation */
.navbar-custom {
  position: sticky;
  z-index: 1000;
  top: 0;
  min-height: 64px;
  border-bottom: 1px solid transparent;
  background: rgba(235, 236, 239, .78);
  backdrop-filter: saturate(180%) blur(22px);
  -webkit-backdrop-filter: saturate(180%) blur(22px);
  transition: background .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.navbar-custom.is-scrolled {
  border-color: var(--line);
  background: rgba(235, 236, 239, .93);
  box-shadow: 0 8px 30px rgba(25, 35, 55, .05);
}
.nav-inner { min-height: 64px; }
.navbar-custom .navbar-brand,
.footer-brand {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--ink);
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -.025em;
}
.brand-mark {
  display: inline-grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 9px;
  color: #fff;
  background: var(--ink);
  font-size: .78rem;
  font-weight: 750;
}
.nav-main { margin-left: 28px; }
.navbar-custom .navbar-nav { align-items: center; gap: 2px; }
.navbar-custom .nav-link {
  position: relative;
  padding: 9px 13px !important;
  color: var(--muted);
  font-size: .88rem;
  font-weight: 540;
  letter-spacing: -.01em;
  transition: color .2s ease;
}
.navbar-custom .nav-link:hover,
.navbar-custom .nav-link.active { color: var(--ink); }
.navbar-custom .nav-link.active::after {
  position: absolute;
  right: 12px;
  bottom: 2px;
  left: 12px;
  height: 1px;
  background: var(--ink);
  content: "";
}
.navbar-custom .btn { margin: 0; }
.nav-account { cursor: default; color: var(--muted) !important; }
.navbar-toggler { border: 0; padding: 8px; box-shadow: none !important; }

/* Shared controls and surfaces */
.button,
.btn,
button[type="submit"],
.btn-service,
.btn-cta,
.btn-custom,
.pc-primary,
.pc-secondary {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 0;
  padding: 0 18px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: .92rem;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: transform .25s cubic-bezier(.2,.8,.2,1), background .2s ease, border-color .2s ease, box-shadow .25s ease;
}
.button-primary,
.btn-primary,
button[type="submit"],
.btn-service,
.btn-cta,
.btn-custom,
.pc-primary {
  color: #fff !important;
  background: var(--blue) !important;
  border-color: var(--blue) !important;
  box-shadow: none !important;
}
.button-primary:hover,
.btn-primary:hover,
button[type="submit"]:hover,
.btn-service:hover,
.btn-cta:hover,
.btn-custom:hover,
.pc-primary:hover {
  color: #fff !important;
  background: var(--blue-hover) !important;
  transform: translateY(-1px);
}
.button-quiet,
.btn-outline-primary,
.btn-cta.alt,
.pc-secondary {
  color: var(--blue) !important;
  border-color: var(--line-strong) !important;
  background: rgba(255, 255, 255, .58) !important;
  box-shadow: none !important;
}
.button-quiet:hover,
.btn-outline-primary:hover,
.btn-cta.alt:hover,
.pc-secondary:hover { background: #fff !important; transform: translateY(-1px); }

.site-shell { width: min(1120px, 100%); margin: 0 auto; padding: 72px 0 24px; }
.site-card,
.site-soft-card,
.site-auth-card,
.site-table-card,
.service-card,
.glass-card {
  color: var(--ink) !important;
  border: 1px solid rgba(255,255,255,.85) !important;
  border-radius: var(--radius) !important;
  background: var(--surface) !important;
  box-shadow: var(--shadow) !important;
  backdrop-filter: blur(24px) saturate(145%);
  -webkit-backdrop-filter: blur(24px) saturate(145%);
}
.site-card-body { padding: clamp(26px, 5vw, 52px); }
.site-kicker,
.home-eyebrow {
  display: inline-block;
  margin: 0 0 14px;
  padding: 0;
  border: 0;
  color: var(--blue);
  background: transparent;
  font-size: .78rem;
  font-weight: 650;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.site-title {
  max-width: 900px;
  margin: 0 0 18px;
  color: var(--ink);
  font-size: clamp(2.5rem, 6vw, 5rem);
  font-weight: 590;
  letter-spacing: -.055em;
  line-height: .98;
}
.site-subtitle,
.site-text-muted,
.site-note { color: var(--muted) !important; line-height: 1.65; }
.site-stack { display: grid; gap: 20px; }
.site-grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px; }
.site-grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; }
.site-pill-row { display: flex; flex-wrap: wrap; gap: 10px; }
.site-pill,
.chip {
  display: inline-flex;
  padding: 7px 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--ink-soft) !important;
  background: rgba(255,255,255,.6) !important;
  font-size: .85rem;
  font-weight: 550;
}
.site-list { color: var(--muted); }
.site-auth-shell { max-width: 520px; margin: 72px auto 20px; }
.site-auth-card { padding: clamp(26px, 5vw, 46px); }
.site-auth-card h2 { color: var(--ink); font-size: 2rem; letter-spacing: -.035em; }
.site-auth-card label, .form-label { color: var(--ink-soft) !important; font-size: .88rem; font-weight: 600; }
.site-auth-card .row-inline { display: flex; gap: 12px; }
.site-auth-card .row-inline > div { flex: 1; }
input, textarea, select,
.site-input, .form-control,
.site-auth-card input, .site-auth-card textarea, .site-auth-card select {
  width: 100%;
  color: var(--ink) !important;
  border: 1px solid var(--line-strong) !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.76) !important;
  box-shadow: inset 0 1px 2px rgba(20,25,35,.02) !important;
}
input:focus, textarea:focus, select:focus,
.form-control:focus, .site-input:focus {
  border-color: rgba(0,113,227,.55) !important;
  outline: none !important;
  box-shadow: 0 0 0 4px rgba(0,113,227,.1) !important;
}
.site-legal-nav { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.site-legal-nav a { padding: 8px 13px; border: 1px solid var(--line); border-radius: 999px; color: var(--ink-soft); background: rgba(255,255,255,.5); }
.alert { border-radius: 16px; }

/* Home */
.home-page { width: min(1240px, 100%); margin: 0 auto; }
.home-hero { padding: clamp(90px, 14vw, 170px) 20px clamp(58px, 8vw, 96px); text-align: center; }
.home-hero h1 {
  margin: 0 auto;
  color: var(--ink);
  font-size: clamp(3.6rem, 9vw, 7.8rem);
  font-weight: 570;
  letter-spacing: -.07em;
  line-height: .89;
}
.home-lead {
  max-width: 710px;
  margin: 30px auto 0;
  color: var(--muted);
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  line-height: 1.5;
  letter-spacing: -.02em;
}
.home-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 34px; }
.home-showcase {
  position: relative;
  min-height: clamp(440px, 66vw, 760px);
  overflow: hidden;
  border-radius: 38px;
  background: #0b0b0d;
  box-shadow: 0 36px 90px rgba(12,20,40,.18);
}
.home-showcase::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(3,5,10,.55)); content: ""; }
.home-showcase img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; transition: transform 1.2s cubic-bezier(.2,.8,.2,1); }
.home-showcase:hover img { transform: scale(1.018); }
.showcase-glass {
  position: absolute;
  z-index: 2;
  right: 26px;
  bottom: 26px;
  width: min(390px, calc(100% - 52px));
  padding: 22px 24px;
  color: #fff;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 22px;
  background: rgba(20,20,24,.48);
  backdrop-filter: blur(26px) saturate(150%);
  -webkit-backdrop-filter: blur(26px) saturate(150%);
}
.showcase-glass strong, .showcase-glass > span { display: block; }
.showcase-glass strong { margin: 5px 0 4px; font-size: 1.15rem; }
.showcase-glass > span:last-child { color: rgba(255,255,255,.7); font-size: .9rem; line-height: 1.45; }
.showcase-label { color: rgba(255,255,255,.62); font-size: .7rem; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; }
.home-values { display: grid; grid-template-columns: repeat(3,1fr); padding: 48px 10px 34px; border-bottom: 1px solid var(--line); }
.home-values div { padding: 0 30px; }
.home-values div + div { border-left: 1px solid var(--line); }
.home-values strong, .home-values span { display: block; }
.home-values strong { margin-bottom: 6px; font-size: 1.05rem; }
.home-values span { color: var(--muted); font-size: .9rem; line-height: 1.5; }
.home-section { padding: clamp(90px, 11vw, 148px) 0 40px; }
.home-section > h2,
.home-process h2 {
  max-width: 850px;
  margin: 0 0 54px;
  color: var(--ink);
  font-size: clamp(2.8rem, 6.5vw, 5.8rem);
  font-weight: 570;
  letter-spacing: -.06em;
  line-height: .95;
}
.home-bento { display: grid; grid-template-columns: 1.2fr .8fr; gap: 18px; }
.bento-card {
  position: relative;
  display: flex;
  min-height: 360px;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  padding: clamp(28px, 4vw, 48px);
  border: 1px solid rgba(255,255,255,.86);
  border-radius: 32px;
  background: rgba(255,255,255,.7);
  box-shadow: var(--shadow);
  backdrop-filter: blur(20px);
  transition: transform .4s cubic-bezier(.2,.8,.2,1), box-shadow .4s ease;
}
.bento-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-hover); }
.bento-large { grid-row: span 2; min-height: 738px; background: linear-gradient(155deg, rgba(255,255,255,.94), rgba(226,236,250,.78)); }
.bento-large::after {
  position: absolute;
  right: -100px;
  bottom: -130px;
  width: 430px;
  height: 430px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #fff 0, #d6e8ff 32%, #85b9ff 62%, #2b6bc3 100%);
  box-shadow: inset 25px 25px 60px rgba(255,255,255,.55), 0 25px 80px rgba(37,96,178,.24);
  content: "";
}
.bento-dark { color: #f5f5f7; background: #1d1d1f; border-color: #1d1d1f; }
.bento-dark p { color: #a1a1a6 !important; }
.bento-dark a { color: #2997ff; }
.bento-number { color: var(--muted); font-size: .76rem; font-weight: 650; letter-spacing: .08em; }
.bento-card > div { position: relative; z-index: 1; max-width: 510px; }
.bento-card h3 { margin: 0 0 12px; font-size: clamp(2rem,4vw,3.5rem); font-weight: 570; letter-spacing: -.05em; }
.bento-card p { max-width: 470px; margin: 0 0 18px; color: var(--muted); font-size: 1rem; line-height: 1.55; }
.bento-card a { font-weight: 590; }
.home-process {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  margin: 70px 0 30px;
  padding: clamp(46px, 7vw, 82px);
  border-radius: 36px;
  background: rgba(255,255,255,.72);
  box-shadow: var(--shadow);
}
.home-process h2 { margin-bottom: 0; font-size: clamp(2.5rem,5vw,4.6rem); }
.home-process ol { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.home-process li { display: grid; grid-template-columns: 38px 1fr; gap: 18px; padding: 22px 0; border-bottom: 1px solid var(--line); }
.home-process li:first-child { padding-top: 0; }
.home-process li:last-child { border: 0; padding-bottom: 0; }
.home-process li > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; color: var(--blue); background: rgba(0,113,227,.08); font-size: .82rem; font-weight: 650; }
.home-process strong { font-size: 1.03rem; }
.home-process p { margin: 4px 0 0; color: var(--muted); line-height: 1.5; }

/* Existing content pages */
.services-page, .about-page { max-width: 1120px !important; margin: 0 auto; padding-top: 72px !important; color: var(--ink) !important; }
.services-page .service-card { padding: 34px !important; }
.services-page .service-card p,
.about-page p,
.about-page .gallery-intro { color: var(--muted) !important; }
.service-card:hover, .glass-card:hover { transform: translateY(-3px) !important; box-shadow: var(--shadow-hover) !important; }
.about-page .bullet-list li::before { background: var(--blue) !important; }
.about-page .stat-bar { border: 0 !important; background: rgba(29,29,31,.08) !important; }
.about-page .stat-bar span { background: var(--blue) !important; }
.about-gallery { gap: 12px !important; }
.gallery-item { border: 0 !important; border-radius: 20px !important; }
.gallery-item img { transition: transform .7s cubic-bezier(.2,.8,.2,1) !important; }
.animated-bg { display: none !important; }
.brand-badge { color: var(--ink) !important; background: none !important; -webkit-text-fill-color: currentColor; font-size: 2rem !important; letter-spacing: -.04em !important; }
.subline, .helpline, .opacity-50 { color: var(--muted) !important; }
.chat-user { color: var(--ink) !important; background: rgba(0,113,227,.09) !important; border-color: rgba(0,113,227,.12) !important; }
.chat-bot { color: var(--ink) !important; background: rgba(255,255,255,.82) !important; border-color: var(--line) !important; }
.site-table-card { overflow: hidden; }
.site-table-card .table { --bs-table-bg: transparent; --bs-table-color: var(--ink-soft); margin: 0; }
.site-table-card thead { color: var(--ink) !important; background: #ececf0 !important; }
.site-table-card tbody { background: rgba(255,255,255,.58) !important; }

/* Configurator: clean product surface */
.pc-shop {
  --pc-text: var(--ink) !important;
  --pc-muted: var(--muted) !important;
  --pc-blue: var(--blue) !important;
  --pc-blue-strong: var(--blue) !important;
  --pc-green: #34c759 !important;
  max-width: 1320px;
  margin: 46px auto 0;
  color: var(--ink) !important;
  border: 0 !important;
  border-radius: 38px !important;
  background: rgba(255,255,255,.38) !important;
  box-shadow: var(--shadow) !important;
  font-weight: 400 !important;
}
.pc-shop::before { opacity: 0 !important; }
.pc-hero,
.pc-hero-card,
.pc-platform-card,
.pc-config-panel,
.pc-summary,
.pc-request-panel {
  color: var(--ink) !important;
  border-color: rgba(255,255,255,.9) !important;
  background: rgba(255,255,255,.7) !important;
  box-shadow: 0 16px 50px rgba(20,30,50,.07) !important;
  backdrop-filter: blur(22px) !important;
}
.pc-hero { min-height: 520px !important; }
.pc-hero h1, .pc-section-heading h2, .pc-platform-title h3,
.pc-config-intro h3, .pc-option-heading strong, .pc-summary h3,
.pc-request-copy h2, .pc-option-name, .pc-from strong,
.pc-summary-row strong, .pc-field label { color: var(--ink) !important; }
.pc-hero h1,
.pc-section-heading h2,
.pc-request-copy h2 { font-weight: 570 !important; }
.pc-platform-title h3,
.pc-config-intro h3,
.pc-summary h3,
.pc-flow-step strong,
.pc-option-heading strong,
.pc-option-name,
.pc-from strong,
.pc-summary-row strong { font-weight: 590 !important; }
.pc-kicker,
.pc-socket,
.pc-platform-mark,
.pc-summary-overline,
.pc-option-price,
.pc-field label,
.pc-platform-button,
.pc-primary,
.pc-secondary { font-weight: 560 !important; }
.pc-hero h1 span { color: var(--ink) !important; background: none !important; -webkit-text-fill-color: currentColor; }
.pc-kicker { color: var(--blue) !important; }
.pc-kicker::before { background: var(--blue) !important; box-shadow: none !important; }
.pc-hero-copy, .pc-flow-step span, .pc-platform-body > p,
.pc-base-list li, .pc-option-heading span, .pc-option-spec,
.pc-price-note, .pc-summary-row, .pc-summary-socket,
.pc-request-copy p, .pc-submit-row small { color: var(--muted) !important; }
.pc-flow-step + .pc-flow-step,
.pc-config-intro, .pc-option-group + .pc-option-group,
.pc-summary-list { border-color: var(--line) !important; }
.pc-flow-number, .pc-platform-mark, .pc-socket, .pc-option-price {
  color: var(--blue) !important;
  border-color: rgba(0,113,227,.12) !important;
  background: rgba(0,113,227,.07) !important;
}
.pc-platform-card::before { height: 2px !important; background: var(--blue) !important; }
.pc-platform-card:hover { transform: translateY(-3px) !important; border-color: rgba(0,113,227,.2) !important; box-shadow: var(--shadow-hover) !important; }
.pc-platform-card.is-selected { border-color: rgba(0,113,227,.48) !important; }
.pc-option-card,
.pc-case-request,
.pc-case-request input,
.pc-field input,
.pc-field textarea {
  color: var(--ink) !important;
  border-color: var(--line) !important;
  background: rgba(255,255,255,.72) !important;
}
.pc-option input:checked + .pc-option-card { border-color: rgba(0,113,227,.5) !important; background: rgba(0,113,227,.065) !important; }
.pc-option input:checked + .pc-option-card .pc-option-price { color: #fff !important; background: var(--blue) !important; }
.pc-platform-button { color: var(--blue) !important; border-color: rgba(0,113,227,.22) !important; background: rgba(0,113,227,.06) !important; }
.pc-platform-card.is-selected .pc-platform-button { color: #fff !important; border-color: var(--blue) !important; background: var(--blue) !important; }

/* Footer */
.site-footer { margin-top: auto; padding: 56px 24px 34px; color: var(--muted); border-top: 1px solid var(--line); background: rgba(226,227,230,.82); }
.footer-inner { display: grid; grid-template-columns: 1fr auto; gap: 14px 28px; align-items: center; }
.footer-note { margin: 0; text-align: right; }
.footer-links { display: flex; gap: 18px; }
.footer-links a { color: var(--ink-soft); font-size: .84rem; }
.footer-legal { margin: 0; font-size: .78rem; text-align: right; }

/* Motion */
.reveal-ready { opacity: 0; transform: translateY(24px); }
.reveal-ready.is-visible { opacity: 1; transform: translateY(0); transition: opacity .8s ease, transform .8s cubic-bezier(.2,.8,.2,1); }

@media (max-width: 991px) {
  .navbar-custom { background: rgba(235,236,239,.96); }
  .navbar-collapse { padding: 14px 0 18px; }
  .nav-main { margin-left: 0; }
  .navbar-custom .navbar-nav { align-items: stretch; }
  .navbar-custom .nav-link { padding: 10px 0 !important; }
  .navbar-custom .nav-link.active::after { display: none; }
  .navbar-custom .btn { width: 100%; margin-top: 5px; }
  .home-bento, .home-process { grid-template-columns: 1fr; }
  .bento-large { min-height: 590px; grid-row: auto; }
  .home-process { gap: 42px; }
}

@media (max-width: 720px) {
  .site-content { padding-right: 14px; padding-bottom: 64px; padding-left: 14px; }
  .home-hero { padding-top: 86px; }
  .home-hero h1 { font-size: clamp(3rem, 16vw, 5.4rem); }
  .home-showcase { min-height: 520px; border-radius: 28px; }
  .home-showcase img { object-position: 54% center; }
  .showcase-glass { right: 14px; bottom: 14px; width: calc(100% - 28px); }
  .home-values { grid-template-columns: 1fr; padding: 28px 6px; }
  .home-values div { padding: 18px 8px; }
  .home-values div + div { border-top: 1px solid var(--line); border-left: 0; }
  .home-section > h2 { margin-bottom: 34px; }
  .bento-card, .bento-large { min-height: 420px; border-radius: 26px; }
  .bento-large::after { right: -150px; bottom: -170px; }
  .home-process { padding: 34px 24px; border-radius: 28px; }
  .site-grid-2, .site-grid-3 { grid-template-columns: 1fr; }
  .site-auth-card .row-inline { flex-direction: column; }
  .site-shell { padding-top: 50px; }
  .services-page, .about-page { padding-top: 50px !important; }
  .footer-inner { grid-template-columns: 1fr; }
  .footer-note, .footer-legal { text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal-ready { opacity: 1; transform: none; }
}

/* Site-wide dark hardware system */
:root {
  --ink: #f4f6f1;
  --ink-soft: #d4d8d1;
  --muted: #929790;
  --line: rgba(255, 255, 255, .12);
  --line-strong: rgba(255, 255, 255, .22);
  --canvas: #050606;
  --surface: rgba(13, 15, 15, .94);
  --surface-solid: #0d0f0f;
  --blue: #c8ff00;
  --blue-hover: #dcff59;
  --shadow: 0 20px 70px rgba(0, 0, 0, .3);
  --shadow-hover: 0 26px 80px rgba(0, 0, 0, .4);
  --radius: 20px;
}

body.site-dark {
  color: var(--ink);
  background:
    radial-gradient(circle at 14% 2%, rgba(200, 255, 0, .055), transparent 28rem),
    radial-gradient(circle at 86% 24%, rgba(255, 255, 255, .025), transparent 32rem),
    #050606;
}
body.site-dark::before {
  position: fixed;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,.012) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.012) 1px, transparent 1px);
  background-size: 64px 64px;
  content: "";
  mask-image: linear-gradient(to bottom, #000, transparent 78%);
}
body.site-dark ::selection { color: #050606; background: var(--blue); }
body.site-dark a { color: var(--blue) !important; }
body.site-dark a:hover { color: var(--blue-hover) !important; }
body.site-dark h1,
body.site-dark h2,
body.site-dark h3,
body.site-dark h4,
body.site-dark h5,
body.site-dark h6,
body.site-dark strong { color: var(--ink); }

/* Navigation */
body.site-dark .navbar-custom,
body.site-dark .navbar-custom.is-scrolled {
  min-height: 68px;
  border-color: rgba(255,255,255,.1);
  background: rgba(5, 6, 6, .9);
  box-shadow: none;
}
body.site-dark .nav-inner { min-height: 68px; }
body.site-dark .navbar-custom .navbar-brand,
body.site-dark .footer-brand { color: var(--ink) !important; font-weight: 820; letter-spacing: -.035em; }
body.site-dark .navbar-custom .navbar-brand::before {
  display: inline-block;
  width: 9px;
  height: 9px;
  border-radius: 2px;
  background: var(--blue);
  box-shadow: 0 0 16px rgba(200,255,0,.35);
  content: "";
}
body.site-dark .brand-mark { color: #050606; border-radius: 7px; background: var(--blue); }
body.site-dark .navbar-custom .nav-link { color: var(--muted) !important; font-size: .82rem; font-weight: 700; }
body.site-dark .navbar-custom .nav-link:hover,
body.site-dark .navbar-custom .nav-link.active { color: var(--ink) !important; }
body.site-dark .navbar-custom .nav-link.active::after { height: 2px; background: var(--blue); }
body.site-dark .navbar-toggler { border: 1px solid var(--line); border-radius: 8px; background: #0d0f0f; }
body.site-dark .navbar-toggler-icon { filter: invert(1); }

/* Unified buttons */
body.site-dark :is(.button, .btn, .btn-service, .btn-cta, .btn-custom, .pc-primary, .pc-secondary) {
  display: inline-flex !important;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 18px;
  border-radius: 9px !important;
  box-shadow: none !important;
  font-size: .82rem;
  font-weight: 820 !important;
  letter-spacing: -.005em;
  text-decoration: none;
  transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease !important;
}
body.site-dark :is(.button-primary, .btn-primary, .btn-service, .btn-cta:not(.alt), .btn-custom, button[type="submit"], .pc-primary) {
  color: #070807 !important;
  border: 1px solid var(--blue) !important;
  background: var(--blue) !important;
  box-shadow: none !important;
}
body.site-dark :is(.button-primary, .btn-primary, .btn-service, .btn-cta:not(.alt), .btn-custom, button[type="submit"], .pc-primary):hover {
  color: #070807 !important;
  border-color: var(--blue-hover) !important;
  background: var(--blue-hover) !important;
  transform: translateY(-1px);
}
body.site-dark :is(.button-quiet, .btn-outline-primary, .btn-cta.alt, .pc-secondary) {
  color: var(--ink) !important;
  border: 1px solid var(--line-strong) !important;
  background: #0b0d0d !important;
  box-shadow: none !important;
}
body.site-dark :is(.button-quiet, .btn-outline-primary, .btn-cta.alt, .pc-secondary):hover {
  color: var(--blue) !important;
  border-color: rgba(200,255,0,.52) !important;
  background: rgba(200,255,0,.045) !important;
  transform: translateY(-1px);
}
body.site-dark .btn:not(.btn-primary):not(.btn-outline-primary) {
  color: #070807 !important;
  border-color: var(--blue) !important;
  background: var(--blue) !important;
}
body.site-dark :is(.button, .btn, .btn-service, .btn-cta, .btn-custom, button[type="submit"]):focus-visible {
  outline: 3px solid rgba(200,255,0,.3) !important;
  outline-offset: 3px;
}
body.site-dark button:disabled,
body.site-dark .btn.disabled { opacity: .48; cursor: not-allowed; transform: none !important; }

/* Shared content surfaces */
body.site-dark .site-shell { width: min(1180px, 100%); padding-top: 78px; }
body.site-dark :is(.site-card, .site-soft-card, .site-auth-card, .site-table-card, .service-card, .glass-card) {
  color: var(--ink) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius) !important;
  background: linear-gradient(145deg, rgba(16,18,18,.98), rgba(9,11,11,.98)) !important;
  box-shadow: var(--shadow) !important;
  backdrop-filter: none !important;
}
body.site-dark :is(.site-card, .service-card, .glass-card):hover {
  border-color: rgba(200,255,0,.24) !important;
  box-shadow: var(--shadow-hover) !important;
}
body.site-dark .site-kicker,
body.site-dark .home-eyebrow {
  color: var(--blue) !important;
  font-size: .72rem;
  font-weight: 820;
  letter-spacing: .13em;
}
body.site-dark .site-kicker::before,
body.site-dark .home-eyebrow::before {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 8px;
  border-radius: 2px;
  background: var(--blue);
  content: "";
}
body.site-dark .site-title { color: var(--ink) !important; font-weight: 800; letter-spacing: -.06em; }
body.site-dark :is(.site-subtitle, .site-text-muted, .site-note, .site-list) { color: var(--muted) !important; }
body.site-dark :is(.site-pill, .chip) {
  color: #d9ddd5 !important;
  border-color: var(--line) !important;
  background: #111414 !important;
}
body.site-dark .site-legal-nav a { color: var(--ink) !important; border-color: var(--line); background: #0d0f0f; }
body.site-dark .site-legal-nav a:hover { border-color: rgba(200,255,0,.45); }

/* Forms and feedback */
body.site-dark :is(input, textarea, select, .site-input, .form-control, .site-auth-card input, .site-auth-card textarea, .site-auth-card select) {
  color: var(--ink) !important;
  border: 1px solid var(--line) !important;
  border-radius: 10px !important;
  background: #090b0b !important;
  box-shadow: none !important;
}
body.site-dark :is(input, textarea, select, .form-control, .site-input):focus {
  border-color: rgba(200,255,0,.68) !important;
  outline: none !important;
  box-shadow: 0 0 0 4px rgba(200,255,0,.09) !important;
}
body.site-dark input::placeholder,
body.site-dark textarea::placeholder { color: #666c65 !important; }
body.site-dark :is(.site-auth-card label, .form-label) { color: #dfe3dc !important; }
body.site-dark .site-auth-card h1,
body.site-dark .site-auth-card h2 { color: var(--ink) !important; }
body.site-dark .toggle-pass { color: var(--muted) !important; background: transparent !important; box-shadow: none !important; }
body.site-dark .toggle-pass:hover { color: var(--blue) !important; }
body.site-dark .strength { border-color: var(--line); background: #070808; }
body.site-dark .strength > span { background: linear-gradient(90deg, #ff6f6f, #f1c453, var(--blue)); }
body.site-dark .alert { border-radius: 10px !important; background: #111414 !important; }
body.site-dark .alert-info { color: #d7efff !important; border-color: rgba(84,175,255,.34) !important; }
body.site-dark .alert-success { color: #dbffc7 !important; border-color: rgba(200,255,0,.36) !important; }
body.site-dark .alert-warning { color: #ffe5ac !important; border-color: rgba(245,158,11,.36) !important; }
body.site-dark .alert-danger { color: #ffcaca !important; border-color: rgba(239,68,68,.38) !important; }

/* Home */
body.site-dark .home-page { width: min(1360px, 100%); }
body.site-dark .home-hero { padding-top: clamp(100px, 14vw, 176px); }
body.site-dark .home-hero h1 { color: var(--ink); font-weight: 820; letter-spacing: -.075em; }
body.site-dark .home-lead { color: var(--muted); }
body.site-dark .home-showcase {
  border: 1px solid var(--line);
  border-radius: 24px;
  background: #090b0b;
  box-shadow: var(--shadow);
}
body.site-dark .showcase-glass {
  border-color: rgba(255,255,255,.18);
  border-radius: 14px;
  background: rgba(5,6,6,.78);
}
body.site-dark .showcase-label { color: var(--blue); }
body.site-dark .home-values { border-color: var(--line); }
body.site-dark .home-values div + div { border-color: var(--line); }
body.site-dark .home-values strong { color: var(--ink); }
body.site-dark .home-values span { color: var(--muted); }
body.site-dark :is(.home-section > h2, .home-process h2) { color: var(--ink); font-weight: 810; }
body.site-dark .home-bento { gap: 12px; }
body.site-dark .bento-card {
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 20px;
  background: #0d0f0f;
  box-shadow: none;
}
body.site-dark .bento-card:hover { border-color: rgba(200,255,0,.3); box-shadow: var(--shadow); }
body.site-dark .bento-large { background: radial-gradient(circle at 82% 86%, rgba(200,255,0,.11), transparent 35%), #0d0f0f; }
body.site-dark .bento-large::after {
  background: radial-gradient(circle at 35% 35%, #e8ff91 0, #c8ff00 28%, #759600 63%, #1a2100 100%);
  box-shadow: inset 22px 22px 55px rgba(255,255,255,.22), 0 25px 80px rgba(200,255,0,.1);
}
body.site-dark .bento-dark { color: var(--ink); border-color: var(--line); background: #080909; }
body.site-dark .bento-card p,
body.site-dark .bento-dark p { color: var(--muted) !important; }
body.site-dark .bento-number { color: var(--blue); }
body.site-dark .home-process { border: 1px solid var(--line); border-radius: 22px; background: #0b0d0d; box-shadow: none; }
body.site-dark .home-process li { border-color: var(--line); }
body.site-dark .home-process li > span { color: #070807; background: var(--blue); }
body.site-dark .home-process p { color: var(--muted); }

/* Services, about and gallery */
body.site-dark :is(.services-page, .about-page) { color: var(--ink) !important; }
body.site-dark .services-page .service-card { padding: 30px !important; }
body.site-dark .services-page .service-card p,
body.site-dark .about-page p,
body.site-dark .about-page .gallery-intro { color: var(--muted) !important; }
body.site-dark .about-page .bullet-list li::before { border-radius: 2px; background: var(--blue) !important; }
body.site-dark .about-page .stat-bar { border-color: var(--line) !important; background: #070808 !important; }
body.site-dark .about-page .stat-bar span { background: var(--blue) !important; }
body.site-dark .gallery-item { border: 1px solid var(--line) !important; border-radius: 12px !important; background: #090b0b !important; }

/* Knowledge pages */
body.site-dark .info-guide {
  --info-blue: #c8ff00 !important;
  --info-ink: #f4f6f1 !important;
  --info-muted: #929790 !important;
  --info-line: rgba(255,255,255,.12) !important;
  width: min(1220px, 100%);
  color: var(--info-ink) !important;
}
body.site-dark .info-hero {
  color: var(--ink) !important;
  border-color: var(--line) !important;
  border-radius: 22px !important;
  background: radial-gradient(circle at 88% 18%, rgba(200,255,0,.09), transparent 30%), #0b0d0d !important;
  box-shadow: var(--shadow) !important;
}
body.site-dark .info-kicker { color: var(--blue) !important; }
body.site-dark .info-hero h1,
body.site-dark .info-panel-heading h2,
body.site-dark .info-card h3 { color: var(--ink) !important; }
body.site-dark .info-hero p,
body.site-dark .info-panel-heading p,
body.site-dark .info-card p,
body.site-dark .info-explainer p,
body.site-dark .info-picks li { color: var(--muted) !important; }
body.site-dark .info-tabs-shell {
  border-color: var(--line) !important;
  border-radius: 20px !important;
  background: #090b0b !important;
  box-shadow: none !important;
}
body.site-dark .info-tabs { border-color: var(--line) !important; }
body.site-dark .info-tab { color: var(--muted) !important; border-radius: 8px !important; background: transparent !important; }
body.site-dark .info-tab:hover { color: var(--ink) !important; background: rgba(255,255,255,.05) !important; }
body.site-dark .info-tab[aria-selected="true"] { color: #070807 !important; border-color: var(--blue) !important; background: var(--blue) !important; }
body.site-dark .info-tab:focus-visible { outline-color: rgba(200,255,0,.45) !important; }
body.site-dark :is(.info-card, .info-benchmark) { border-color: var(--line) !important; border-radius: 14px !important; background: #0e1010 !important; }
body.site-dark .info-card-number { color: #070807 !important; border-radius: 6px; background: var(--blue) !important; }
body.site-dark .info-card strong,
body.site-dark .info-picks strong { color: var(--ink) !important; }
body.site-dark .info-explainer { border-color: var(--blue) !important; background: rgba(200,255,0,.045) !important; }
body.site-dark .info-comparison { border-color: var(--line) !important; background: #0b0d0d !important; }
body.site-dark .info-comparison :is(th, td) { color: #d7dbd4 !important; border-color: var(--line) !important; }
body.site-dark .info-comparison th { color: var(--muted) !important; background: #111414 !important; }
body.site-dark .info-comparison .info-table-group th { color: var(--ink) !important; background: rgba(200,255,0,.055) !important; }
body.site-dark .info-comparison .is-fast { color: var(--blue) !important; }

/* Tables */
body.site-dark .site-table-card { border-color: var(--line) !important; background: #0b0d0d !important; }
body.site-dark .site-table-card .table { --bs-table-bg: transparent; --bs-table-color: #d7dbd4; --bs-table-hover-color: var(--ink); margin: 0; }
body.site-dark .site-table-card thead { color: var(--ink) !important; background: #111414 !important; }
body.site-dark .site-table-card tbody { background: #0b0d0d !important; }
body.site-dark .site-table-card :is(th, td) { color: inherit !important; border-color: var(--line) !important; }

/* Madsi AI */
body.site-dark .animated-bg { display: none !important; }
body.site-dark .madsi-ai-page .glass-card { color: var(--ink) !important; border-radius: 20px !important; background: #0b0d0d !important; }
body.site-dark .brand-badge { color: var(--ink) !important; background: none !important; -webkit-text-fill-color: currentColor; font-size: 2rem !important; font-weight: 820 !important; letter-spacing: -.045em !important; }
body.site-dark :is(.subline, .helpline, .opacity-50, .details) { color: var(--muted) !important; }
body.site-dark .chat-user { color: var(--ink) !important; border-color: rgba(200,255,0,.25) !important; background: rgba(200,255,0,.07) !important; }
body.site-dark .chat-bot { color: var(--ink) !important; border-color: var(--line) !important; background: #111414 !important; }
body.site-dark .chat-bot :is(code, pre) { color: #e5e9e2; background: #050606 !important; }
body.site-dark .chat-bot blockquote { border-color: var(--blue); color: var(--muted); }
body.site-dark .ai-spinner { border-color: rgba(200,255,0,.24) !important; border-top-color: var(--blue) !important; }

/* Footer */
body.site-dark .site-footer { margin-top: auto; color: var(--muted); border-color: var(--line); background: #080909; }
body.site-dark .footer-links a { color: #cfd3cc !important; }
body.site-dark .footer-links a:hover { color: var(--blue) !important; }

@media (max-width: 991px) {
  body.site-dark .navbar-custom { background: rgba(5,6,6,.97); }
  body.site-dark .navbar-collapse { border-top: 1px solid var(--line); }
  body.site-dark .navbar-custom .nav-link { padding: 11px 0 !important; }
  body.site-dark .navbar-custom .btn { width: 100%; }
}

@media (max-width: 720px) {
  body.site-dark .site-content { padding-inline: 12px; }
  body.site-dark .home-showcase { border-radius: 18px; }
  body.site-dark .showcase-glass { border-radius: 12px; }
  body.site-dark .bento-card,
  body.site-dark .bento-large { border-radius: 18px; }
  body.site-dark .home-process { border-radius: 18px; }
  body.site-dark .site-footer { padding-inline: 18px; }
}
