/* =========================================================
   Christoph Dietrich IT – Theme system
   Editorial is the existing/default visual language.
   Terminal and Neon are complete visual layers on the same HTML.
   ========================================================= */

/* ---------- Shared theme switch button ---------- */
.theme-switch-button {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  padding: .55rem .8rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255,255,255,.62);
  color: var(--ink-soft);
  cursor: pointer;
  font-size: .74rem;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
  transition: transform .2s ease, border-color .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
}
.theme-switch-button:hover,
.theme-switch-button:focus-visible {
  transform: translateY(-1px);
  color: var(--ink);
  border-color: var(--line-strong);
  background: var(--surface-solid);
  box-shadow: var(--shadow-soft);
}
.theme-switch-button__icon {
  width: 16px;
  height: 16px;
  display: inline-flex;
}
.theme-switch-button__icon svg { width: 100%; height: 100%; }

/* ---------- Full-screen style selector ---------- */
body.theme-picker-open { overflow: hidden; }
.theme-picker[hidden] { display: none !important; }
.theme-picker {
  position: fixed;
  inset: 0;
  z-index: 1000;
  overflow-y: auto;
  color: #182531;
  font-family: "Segoe UI", Aptos, Arial, sans-serif;
  background-color: #f4efe4;
  background-image:
    linear-gradient(rgba(96,128,149,.15) 1px, transparent 1px),
    linear-gradient(90deg, rgba(96,128,149,.15) 1px, transparent 1px),
    linear-gradient(rgba(96,128,149,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(96,128,149,.055) 1px, transparent 1px),
    radial-gradient(circle at 14% 12%, rgba(178,138,87,.08), transparent 22rem),
    radial-gradient(circle at 88% 8%, rgba(92,118,144,.08), transparent 24rem);
  background-size: 32px 32px, 32px 32px, 8px 8px, 8px 8px, auto, auto;
}
.theme-picker::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .22;
  background:
    radial-gradient(circle at 9% 76%, rgba(117,83,50,.18) 0 1px, transparent 2px),
    radial-gradient(circle at 71% 24%, rgba(117,83,50,.14) 0 1px, transparent 2px);
  background-size: 19px 23px, 31px 29px;
  mix-blend-mode: multiply;
}
.theme-picker__shell {
  position: relative;
  width: min(1240px, calc(100% - 40px));
  min-height: 100%;
  margin-inline: auto;
  padding: clamp(1.4rem, 3vw, 2.4rem) 0 1.3rem;
  display: grid;
  align-content: center;
  gap: clamp(1.4rem, 3vw, 2.4rem);
}
.theme-picker__topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}
.theme-picker__brand {
  display: inline-flex;
  align-items: center;
  gap: .8rem;
  min-width: 0;
}
.theme-picker__brand img {
  width: 46px;
  height: 46px;
  border-radius: 15px;
  box-shadow: 0 9px 22px rgba(40,55,70,.13);
}
.theme-picker__brand-copy {
  display: grid;
  gap: .08rem;
  line-height: 1.15;
}
.theme-picker__brand-copy strong { font-size: .93rem; }
.theme-picker__brand-copy span { color: #70808d; font-size: .72rem; }
.theme-picker__close {
  width: 44px;
  height: 44px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(90,105,116,.28);
  border-radius: 50%;
  background: rgba(255,255,255,.68);
  color: #273844;
  cursor: pointer;
  font-size: 1.35rem;
  line-height: 1;
  box-shadow: 0 8px 22px rgba(43,55,66,.06);
}
.theme-picker[data-first-visit="true"] .theme-picker__close { visibility: hidden; pointer-events: none; }
.theme-picker__intro {
  text-align: center;
  max-width: 760px;
  margin-inline: auto;
}
.theme-picker__eyebrow {
  margin: 0 0 .6rem;
  color: #9b7446;
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: .17em;
  text-transform: uppercase;
}
.theme-picker__intro h1 {
  margin: 0;
  color: #162634;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.35rem, 5.2vw, 4.7rem);
  line-height: .98;
  letter-spacing: -.045em;
}
.theme-picker__intro h1:focus { outline: none; }
html[data-theme] .theme-picker__intro h1 {
  color: #162634;
  font-family: Georgia, "Times New Roman", serif;
  text-shadow: none;
}
.theme-picker__intro p {
  margin: .8rem auto 0;
  max-width: 58ch;
  color: #667783;
  font-size: clamp(.98rem, 1.6vw, 1.12rem);
  line-height: 1.65;
}
.theme-picker__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: clamp(1.1rem, 2.2vw, 1.8rem);
  align-items: stretch;
}
.theme-card-shell {
  position: relative;
  min-width: 0;
  display: flex;
  transform: rotate(var(--card-rotate, 0deg));
  transition: transform .28s cubic-bezier(.22,1,.36,1), filter .28s ease;
}
.theme-card-shell:hover,
.theme-card-shell:focus-within {
  transform: rotate(0deg) translateY(-5px);
  filter: drop-shadow(0 18px 22px rgba(60,52,40,.12));
}
.theme-card-shell[data-theme-card-shell="editorial"] { --card-rotate: -1deg; }
.theme-card-shell[data-theme-card-shell="terminal"] { --card-rotate: .7deg; }
.theme-card-shell[data-theme-card-shell="neon"] { --card-rotate: -.4deg; }
.theme-card {
  --card-ink: #1e2d38;
  --card-muted: #65737d;
  --card-accent: #b28a57;
  --card-surface: #fffaf0;
  position: relative;
  min-width: 0;
  padding: clamp(1.15rem, 2vw, 1.5rem);
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  gap: .85rem;
  color: var(--card-ink);
  background: var(--card-surface);
  border: 1px solid rgba(103,96,80,.22);
  box-shadow: 0 20px 45px rgba(60,52,40,.12), 0 2px 0 rgba(255,255,255,.7) inset;
  width: 100%;
  clip-path: polygon(1% 0, 99% .6%, 100% 98.6%, 98.7% 100%, 1.3% 99.3%, 0 1.2%);
  transition: box-shadow .28s ease;
}
.theme-card-shell:hover .theme-card,
.theme-card-shell:focus-within .theme-card {
  box-shadow: 0 28px 58px rgba(60,52,40,.17), 0 2px 0 rgba(255,255,255,.72) inset;
}
.theme-card[data-theme-card="terminal"] {
  --card-ink: #d9ffe1;
  --card-muted: #86b991;
  --card-accent: #72ff98;
  --card-surface: #07100b;
  border-color: rgba(79,230,112,.28);
  box-shadow: 0 22px 48px rgba(0,25,10,.24);
}
.theme-card[data-theme-card="neon"] {
  --card-ink: #f4f7ff;
  --card-muted: #aebbe1;
  --card-accent: #64e9ff;
  --card-surface: #10152a;
  border-color: rgba(104,111,255,.34);
  box-shadow: 0 24px 52px rgba(25,22,75,.22);
}
.theme-card__paperclip {
  position: absolute;
  z-index: 4;
  width: 20px;
  height: 64px;
  right: 26px;
  top: -24px;
  border: 2px solid #9fa2a1;
  border-radius: 11px;
  transform: rotate(9deg);
  opacity: .96;
  pointer-events: none;
  filter: drop-shadow(0 2px 1px rgba(51,55,55,.16));
}
.theme-card__paperclip::after {
  content: "";
  position: absolute;
  inset: 5px 3px 8px;
  border: 1.5px solid #b8bab8;
  border-radius: 8px;
}
.theme-card__tape {
  position: absolute;
  z-index: 4;
  width: 110px;
  height: 30px;
  left: 50%;
  top: -16px;
  transform: translateX(-50%) rotate(-2deg);
  background:
    linear-gradient(90deg, rgba(255,255,255,.16), transparent 28%, rgba(255,255,255,.12) 67%, transparent),
    repeating-linear-gradient(92deg, rgba(238,224,187,.78) 0 8px, rgba(222,204,162,.76) 8px 9px);
  border: 1px solid rgba(155,137,96,.22);
  box-shadow: 0 4px 8px rgba(80,66,41,.13);
  clip-path: polygon(2% 4%, 98% 0, 100% 88%, 96% 100%, 3% 94%, 0 12%);
  opacity: .84;
  pointer-events: none;
}
.theme-card-shell[data-theme-card-shell="neon"] .theme-card__tape { transform: translateX(-50%) rotate(2deg); }
.theme-card__title-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
}
.theme-card h2 {
  margin: 0;
  color: var(--card-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.75rem, 2.8vw, 2.65rem);
  line-height: 1;
  letter-spacing: -.035em;
}
html[data-theme] .theme-picker .theme-card[data-theme-card="editorial"] h2 {
  color: #1e2d38;
  font-family: Georgia, "Times New Roman", serif;
  text-shadow: none;
}
.theme-card[data-theme-card="terminal"] h2,
.theme-card[data-theme-card="terminal"] .theme-card__traits,
.theme-card[data-theme-card="terminal"] .theme-card__button {
  font-family: "Courier New", Consolas, monospace;
}
.theme-card[data-theme-card="neon"] h2 {
  font-family: "Segoe UI", Aptos, Arial, sans-serif;
  font-weight: 800;
  letter-spacing: -.04em;
}
.theme-card__preview {
  min-height: 190px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 13px;
  border: 1px solid rgba(70,83,93,.2);
  background: rgba(255,255,255,.55);
}
.theme-card[data-theme-card="terminal"] .theme-card__preview {
  border-color: rgba(83,226,112,.34);
  background: #030805;
}
.theme-card[data-theme-card="neon"] .theme-card__preview {
  border-color: rgba(95,119,255,.36);
  background:
    radial-gradient(circle at 50% 44%, rgba(120,75,255,.26), transparent 38%),
    linear-gradient(145deg, #081326, #171031 72%, #081326);
}
.theme-card__traits {
  margin: 0;
  color: var(--card-muted);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.theme-card__button {
  min-height: 46px;
  width: 100%;
  border: 0;
  border-radius: 10px;
  background: #233746;
  color: white;
  cursor: pointer;
  font-size: .82rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.theme-card__button:hover,
.theme-card__button:focus-visible { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(22,35,46,.16); }
.theme-card[data-theme-card="terminal"] .theme-card__button { background: #38d866; color: #021106; }
.theme-card[data-theme-card="neon"] .theme-card__button {
  background: linear-gradient(100deg, #287cff, #8757ff);
  box-shadow: 0 0 22px rgba(83,96,255,.24);
}
.theme-card__action-active { display: none; }
.theme-card[aria-current="true"] .theme-card__action-default { display: none; }
.theme-card[aria-current="true"] .theme-card__action-active { display: inline; }
.theme-card[aria-current="true"] .theme-card__button { outline: 3px solid color-mix(in srgb, var(--card-accent) 40%, transparent); outline-offset: 3px; }

/* Editorial miniature */
.editorial-mini {
  width: min(88%, 310px);
  aspect-ratio: 4 / 3;
  padding: 12px;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 9px;
  background: #fbf7ed;
  border: 1px solid #d5c8b2;
  box-shadow: 0 9px 20px rgba(50,45,38,.08);
}
.editorial-mini__left,
.editorial-mini__right { display: grid; gap: 7px; align-content: start; }
.editorial-mini__rule { height: 4px; border-radius: 4px; background: #263746; }
.editorial-mini__rule.is-short { width: 62%; background: #b28a57; }
.editorial-mini__copy { height: 3px; border-radius: 3px; background: #b9b4a9; }
.editorial-mini__copy:nth-child(odd) { width: 84%; }
.editorial-mini__image { min-height: 74px; border: 1px solid #ac9f89; background: linear-gradient(145deg, #d9e0e5, #f4eee3); }
.editorial-mini__caption { height: 3px; width: 65%; background: #b28a57; }

/* Terminal miniature */
.terminal-mini {
  width: min(92%, 330px);
  color: #75ff99;
  font-family: "Courier New", Consolas, monospace;
  font-size: clamp(.68rem, 1vw, .82rem);
  line-height: 1.6;
}
.terminal-mini__top { display: flex; gap: 6px; margin-bottom: 10px; }
.terminal-mini__dot { width: 7px; height: 7px; border: 1px solid #4bd86e; border-radius: 50%; }
.terminal-mini__line { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.terminal-mini__muted { color: #3b8f50; }
.terminal-mini__cursor { display: inline-block; width: 8px; height: 1em; margin-left: 3px; background: #76ff99; vertical-align: -.16em; animation: terminal-blink 1s steps(1) infinite; }

/* Neon miniature */
.neon-mini {
  width: min(94%, 350px);
  aspect-ratio: 4 / 3;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(91, 217, 255, .28);
  border-radius: 16px;
  background: #050a1c;
  box-shadow: 0 0 28px rgba(83, 115, 255, .16), inset 0 0 20px rgba(91, 217, 255, .05);
}
.neon-mini img { display: block; width: 100%; height: 100%; object-fit: cover; }

.theme-picker__privacy {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 1rem;
  align-items: center;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(103,96,80,.22);
  background: rgba(255,250,239,.92);
  box-shadow: 0 12px 26px rgba(60,52,40,.08);
}
.theme-picker__privacy[hidden] { display: none !important; }
.theme-picker__privacy-copy { display: grid; gap: .2rem; }
.theme-picker__privacy-copy strong { font-size: .9rem; color: #263746; }
.theme-picker__privacy-copy span { color: #697985; font-size: .78rem; line-height: 1.5; }
.theme-picker__privacy-actions { display: flex; align-items: center; gap: .55rem; flex-wrap: wrap; }
.theme-picker__privacy-actions button,
.theme-picker__privacy-actions a {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .45rem .7rem;
  border-radius: 8px;
  font-size: .72rem;
  font-weight: 800;
  text-decoration: none;
}
.theme-picker__privacy-actions button { border: 1px solid #273b49; background: #273b49; color: #fff; cursor: pointer; }
.theme-picker__privacy-actions a { border: 1px solid rgba(55,72,84,.24); color: #334957; background: rgba(255,255,255,.7); }
.theme-picker__footer {
  display: flex;
  justify-content: center;
  gap: 1.25rem;
  flex-wrap: wrap;
  padding-top: .2rem;
  color: #657580;
  font-size: .78rem;
}
.theme-picker__footer a { text-decoration: none; }
.theme-picker__footer a:hover,
.theme-picker__footer a:focus-visible { color: #283c49; text-decoration: underline; text-underline-offset: 4px; }

/* =========================================================
   TERMINAL
   ========================================================= */
html[data-theme="terminal"] {
  color-scheme: dark;
  --bg: #050906;
  --bg-soft: #07120b;
  --bg-deep: #031006;
  --bg-deep-2: #071a0d;
  --surface: rgba(6,14,9,.91);
  --surface-solid: #08110b;
  --surface-soft: #0a160e;
  --ink: #d9ffe2;
  --ink-soft: #9fd9aa;
  --muted: #6f9f79;
  --line: #173d21;
  --line-strong: #2b6940;
  --steel: #54e77b;
  --steel-dark: #67ff91;
  --steel-soft: #123c20;
  --bronze: #6cff91;
  --bronze-soft: #10351c;
  --success: #72ff98;
  --shadow: 0 16px 42px rgba(0,0,0,.28);
  --shadow-soft: 0 10px 25px rgba(0,0,0,.22);
  --radius-xl: 12px;
  --radius-lg: 10px;
  --radius-md: 8px;
  --radius-sm: 6px;
}
html[data-theme="terminal"] body {
  background:
    linear-gradient(rgba(61,255,112,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(61,255,112,.028) 1px, transparent 1px),
    radial-gradient(circle at 50% -10%, rgba(47,255,106,.08), transparent 34rem),
    #030604;
  background-size: 28px 28px, 28px 28px, auto, auto;
  color: var(--ink);
  font-family: "Courier New", Consolas, monospace;
}
html[data-theme="terminal"] body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: repeating-linear-gradient(180deg, transparent 0 3px, rgba(133,255,162,.015) 4px);
}
html[data-theme="terminal"] h1,
html[data-theme="terminal"] h2,
html[data-theme="terminal"] h3,
html[data-theme="terminal"] .footer-brand-kicker,
html[data-theme="terminal"] .footer-nav a,
html[data-theme="terminal"] .footer-social-link strong,
html[data-theme="terminal"] .footer-bottom {
  font-family: "Courier New", Consolas, monospace;
  color: var(--ink);
  letter-spacing: -.03em;
}
html[data-theme="terminal"] h1 { text-shadow: 0 0 20px rgba(93,255,132,.08); }
html[data-theme="terminal"] .home-hero h1::before { content: "> "; color: var(--bronze); }
html[data-theme="terminal"] .home-hero h1::after {
  content: "";
  display: inline-block;
  width: .12em;
  height: .85em;
  margin-left: .1em;
  background: var(--bronze);
  box-shadow: 0 0 10px rgba(105,255,145,.35);
  animation: terminal-blink 1.05s steps(1) infinite;
}
html[data-theme="terminal"] .site-header {
  background: rgba(3,8,5,.88);
  border-color: var(--line);
  backdrop-filter: blur(12px);
}
html[data-theme="terminal"] .site-header.is-scrolled { background: rgba(3,8,5,.97); box-shadow: 0 10px 30px rgba(0,0,0,.35); }
html[data-theme="terminal"] .brand-logo,
html[data-theme="terminal"] .footer-brand img {
  border-radius: 7px;
  filter: grayscale(.35) sepia(.25) hue-rotate(75deg) saturate(1.4);
  box-shadow: 0 0 0 1px var(--line-strong), 0 0 24px rgba(85,255,127,.08);
}
html[data-theme="terminal"] .nav-link,
html[data-theme="terminal"] .language-button,
html[data-theme="terminal"] .theme-switch-button { font-family: "Courier New", Consolas, monospace; }
html[data-theme="terminal"] .nav-link { border-radius: 4px; }
html[data-theme="terminal"] .nav-link:hover { background: rgba(79,255,121,.07); color: #e8ffec; }
html[data-theme="terminal"] .nav-link.nav-active { background: rgba(79,255,121,.1); color: var(--steel-dark); }
html[data-theme="terminal"] .nav-link.nav-active::after { background: var(--steel-dark); box-shadow: 0 0 7px rgba(101,255,142,.42); }
html[data-theme="terminal"] .language-switch,
html[data-theme="terminal"] .theme-switch-button,
html[data-theme="terminal"] .menu-toggle {
  background: #071009;
  border-color: var(--line);
  border-radius: 5px;
  color: var(--ink-soft);
}
html[data-theme="terminal"] .language-button.is-active { background: var(--steel-dark); color: #031006; border-radius: 3px; }
html[data-theme="terminal"] .menu-toggle span { background: var(--steel-dark); }
html[data-theme="terminal"] .nav-links.is-open { background: rgba(4,10,6,.99); border-color: var(--line); }
html[data-theme="terminal"] .eyebrow { color: var(--bronze); font-family: "Courier New", Consolas, monospace; letter-spacing: .1em; }
html[data-theme="terminal"] .eyebrow::before { content: "// "; color: #3f9154; }
html[data-theme="terminal"] .btn {
  border-radius: 5px;
  font-family: "Courier New", Consolas, monospace;
  font-weight: 800;
  letter-spacing: .02em;
}
html[data-theme="terminal"] .btn-primary { background: var(--steel-dark); color: #031006; box-shadow: 0 0 24px rgba(103,255,145,.08); }
html[data-theme="terminal"] .btn-primary:hover { background: #8bffa8; }
html[data-theme="terminal"] .btn-secondary { background: transparent; color: var(--ink); border-color: var(--line-strong); }
html[data-theme="terminal"] .soft-section { background: rgba(6,16,9,.62); border-block: 1px solid rgba(49,121,67,.22); }
html[data-theme="terminal"] :is(.content-card,.featured-project,.showcase-card,.route-card,.value-card,.contact-option,.audience-detail,.friendly-cta,.contact-note,.install-section,.legal-section,.project-status-panel,.project-row,.topic-highlight,.toolbox,details) {
  background: rgba(5,14,8,.88);
  border-color: var(--line);
  border-radius: 7px;
  box-shadow: none;
}
html[data-theme="terminal"] :is(.content-card,.featured-project,.showcase-card,.route-card,.value-card,.contact-option,.audience-detail,.project-row):hover {
  border-color: var(--line-strong);
  box-shadow: 0 0 0 1px rgba(84,231,123,.05), 0 0 26px rgba(54,214,95,.05);
}
html[data-theme="terminal"] .contrast-showcase,
html[data-theme="terminal"] .footer-cta-inner {
  background:
    linear-gradient(rgba(84,231,123,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(84,231,123,.02) 1px, transparent 1px),
    linear-gradient(145deg, #031006, #06150a);
  background-size: 24px 24px, 24px 24px, auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: none;
}
html[data-theme="terminal"] .section-heading.light h2,
html[data-theme="terminal"] .section-heading.light .section-copy,
html[data-theme="terminal"] .footer-cta-copy h2,
html[data-theme="terminal"] .footer-cta-copy .section-copy { color: var(--ink); }
html[data-theme="terminal"] .reel-window {
  border-radius: 7px;
  border-color: var(--line-strong);
  background: #020704;
  box-shadow: 0 0 0 1px rgba(73,218,106,.04), 0 20px 40px rgba(0,0,0,.25);
}
html[data-theme="terminal"] .reel-bar { background: #071009; border-color: var(--line); }
html[data-theme="terminal"] .reel-bar span { background: #1c6b31; }
html[data-theme="terminal"] .reel-bar span:nth-child(2) { background: #53e779; }
html[data-theme="terminal"] .reel-tag { background: rgba(76,226,111,.1); color: #a8ffba; border: 1px solid var(--line); border-radius: 3px; }
html[data-theme="terminal"] .reel-preview-frame { border-radius: 5px; border-color: var(--line); filter: saturate(.75) contrast(1.02); }
html[data-theme="terminal"] .reel-arrow,
html[data-theme="terminal"] .reel-dots button { border-color: var(--line); background: #071009; color: var(--ink); }
html[data-theme="terminal"] .reel-dots button.is-active { background: var(--steel-dark); }
html[data-theme="terminal"] .reel-progress { background: #0b2011; }
html[data-theme="terminal"] .reel-progress span { background: var(--steel-dark); }
html[data-theme="terminal"] .hero-tech-image,
html[data-theme="terminal"] .about-photo img,
html[data-theme="terminal"] .page-visual img {
  border-radius: 7px;
  border: 1px solid var(--line-strong);
  box-shadow: none;
  filter: saturate(.8) contrast(1.04);
}
html[data-theme="terminal"] .goethe-feature__frame {
  background: #071009;
  border-color: var(--line);
  border-radius: 7px;
  box-shadow: none;
}
html[data-theme="terminal"] .goethe-feature__quote,
html[data-theme="terminal"] .goethe-feature__quote cite { color: var(--ink); font-family: "Courier New", Consolas, monospace; }
html[data-theme="terminal"] .footer-shell { background: #040805; border-color: var(--line); }
html[data-theme="terminal"] .footer-columns-rich > * { border-color: var(--line); }
html[data-theme="terminal"] .footer-bottom { border-color: var(--line); }
html[data-theme="terminal"] .footer-social-arrow { color: var(--steel-dark); }
html[data-theme="terminal"] .scroll-progress { background: var(--steel-dark); box-shadow: 0 0 10px rgba(103,255,145,.35); }

/* =========================================================
   NEON
   ========================================================= */
html[data-theme="neon"] {
  color-scheme: dark;
  --bg: #070d1b;
  --bg-soft: #0a1327;
  --bg-deep: #080d22;
  --bg-deep-2: #171036;
  --surface: rgba(10,18,39,.76);
  --surface-solid: #0d1730;
  --surface-soft: #101c39;
  --ink: #f2f5ff;
  --ink-soft: #c1c9e6;
  --muted: #8d99c5;
  --line: #27345e;
  --line-strong: #4659a5;
  --steel: #57d9ff;
  --steel-dark: #6be9ff;
  --steel-soft: #143d5d;
  --bronze: #9b6cff;
  --bronze-soft: #251b53;
  --success: #6fffcf;
  --shadow: 0 22px 60px rgba(0,0,0,.25);
  --shadow-soft: 0 14px 34px rgba(0,0,0,.2);
  --radius-xl: 28px;
  --radius-lg: 22px;
  --radius-md: 16px;
  --radius-sm: 12px;
}
html[data-theme="neon"] body {
  background:
    linear-gradient(rgba(72,104,190,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(72,104,190,.045) 1px, transparent 1px),
    radial-gradient(circle at 18% 10%, rgba(29,177,255,.19), transparent 28rem),
    radial-gradient(circle at 88% 20%, rgba(138,69,255,.18), transparent 28rem),
    radial-gradient(circle at 55% 92%, rgba(41,104,255,.12), transparent 32rem),
    #050915;
  background-size: 42px 42px, 42px 42px, auto, auto, auto, auto;
  color: var(--ink);
  font-family: "Segoe UI", Aptos, Arial, sans-serif;
  animation: neon-ambient 18s ease-in-out infinite alternate;
}
html[data-theme="neon"] h1,
html[data-theme="neon"] h2,
html[data-theme="neon"] h3,
html[data-theme="neon"] .footer-brand-kicker,
html[data-theme="neon"] .footer-nav a,
html[data-theme="neon"] .footer-social-link strong,
html[data-theme="neon"] .footer-bottom {
  font-family: "Segoe UI", Aptos, Arial, sans-serif;
  color: var(--ink);
  font-weight: 750;
  letter-spacing: -.045em;
}
html[data-theme="neon"] h1 { text-shadow: 0 0 34px rgba(78,190,255,.11); }
html[data-theme="neon"] .site-header {
  background: rgba(5,9,21,.64);
  border-color: rgba(84,112,185,.26);
  backdrop-filter: blur(22px) saturate(1.22);
}
html[data-theme="neon"] .site-header.is-scrolled { background: rgba(5,9,21,.88); box-shadow: 0 16px 38px rgba(0,0,0,.22); }
html[data-theme="neon"] .brand-logo,
html[data-theme="neon"] .footer-brand img {
  border-radius: 16px;
  box-shadow: 0 0 0 1px rgba(89,212,255,.26), 0 0 28px rgba(83,157,255,.14);
}
html[data-theme="neon"] .nav-link { color: var(--ink-soft); }
html[data-theme="neon"] .nav-link:hover { background: rgba(90,190,255,.08); color: #fff; }
html[data-theme="neon"] .nav-link.nav-active {
  color: #fff;
  background: linear-gradient(110deg, rgba(73,196,255,.14), rgba(135,83,255,.16));
  box-shadow: inset 0 0 0 1px rgba(113,128,255,.18);
}
html[data-theme="neon"] .nav-link.nav-active::after { background: linear-gradient(90deg, #58dcff, #9a6cff); box-shadow: 0 0 10px rgba(95,173,255,.6); }
html[data-theme="neon"] .language-switch,
html[data-theme="neon"] .theme-switch-button,
html[data-theme="neon"] .menu-toggle {
  background: rgba(13,23,48,.72);
  border-color: rgba(74,98,160,.42);
  color: var(--ink-soft);
}
html[data-theme="neon"] .language-button.is-active { background: linear-gradient(110deg, #287cff, #8256ff); color: #fff; }
html[data-theme="neon"] .menu-toggle span { background: #dfe7ff; }
html[data-theme="neon"] .nav-links.is-open { background: rgba(7,12,27,.98); border-color: var(--line); }
html[data-theme="neon"] .eyebrow { color: #71deff; text-shadow: 0 0 12px rgba(92,216,255,.24); }
html[data-theme="neon"] .btn { border-radius: 14px; }
html[data-theme="neon"] .btn-primary {
  background: linear-gradient(110deg, #287cff, #7d57ff 62%, #a05cff);
  color: #fff;
  box-shadow: 0 10px 26px rgba(56,78,255,.22), 0 0 28px rgba(68,186,255,.08);
}
html[data-theme="neon"] .btn-primary:hover { box-shadow: 0 14px 34px rgba(75,74,255,.3), 0 0 30px rgba(75,200,255,.15); }
html[data-theme="neon"] .btn-secondary { background: rgba(16,28,58,.68); border-color: rgba(98,124,200,.42); color: #eef4ff; }
html[data-theme="neon"] .soft-section {
  background: linear-gradient(180deg, rgba(13,25,53,.72), rgba(7,12,28,.32));
  border-block: 1px solid rgba(80,105,174,.18);
}
html[data-theme="neon"] :is(.content-card,.featured-project,.showcase-card,.route-card,.value-card,.contact-option,.audience-detail,.friendly-cta,.contact-note,.install-section,.legal-section,.project-status-panel,.project-row,.topic-highlight,.toolbox,details) {
  background: linear-gradient(145deg, rgba(14,27,58,.78), rgba(12,17,40,.7));
  border-color: rgba(81,106,178,.38);
  box-shadow: 0 20px 50px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.035);
  backdrop-filter: blur(16px);
}
html[data-theme="neon"] :is(.content-card,.featured-project,.showcase-card,.route-card,.value-card,.contact-option,.audience-detail,.project-row):hover {
  border-color: rgba(86,200,255,.46);
  box-shadow: 0 24px 58px rgba(0,0,0,.2), 0 0 32px rgba(91,102,255,.08);
}
html[data-theme="neon"] .contrast-showcase,
html[data-theme="neon"] .footer-cta-inner {
  background:
    radial-gradient(circle at 12% 20%, rgba(43,178,255,.18), transparent 25rem),
    radial-gradient(circle at 88% 14%, rgba(139,77,255,.16), transparent 22rem),
    linear-gradient(145deg, rgba(8,15,34,.98), rgba(18,12,48,.98));
  border: 1px solid rgba(76,101,172,.38);
  box-shadow: 0 28px 70px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.035);
}
html[data-theme="neon"] .section-heading.light h2,
html[data-theme="neon"] .section-heading.light .section-copy,
html[data-theme="neon"] .footer-cta-copy h2,
html[data-theme="neon"] .footer-cta-copy .section-copy { color: var(--ink); }
html[data-theme="neon"] .reel-window {
  background: rgba(7,13,30,.72);
  border-color: rgba(89,117,195,.46);
  box-shadow: 0 24px 55px rgba(0,0,0,.24), 0 0 38px rgba(83,75,255,.08);
  backdrop-filter: blur(18px);
}
html[data-theme="neon"] .reel-bar { background: rgba(15,27,58,.82); border-color: rgba(75,101,172,.34); }
html[data-theme="neon"] .reel-bar span { background: #4563b3; }
html[data-theme="neon"] .reel-bar span:nth-child(2) { background: #60e4ff; box-shadow: 0 0 8px rgba(96,228,255,.55); }
html[data-theme="neon"] .reel-bar span:nth-child(3) { background: #9a6cff; box-shadow: 0 0 8px rgba(154,108,255,.5); }
html[data-theme="neon"] .reel-tag { background: rgba(81,109,220,.15); color: #d7e3ff; border: 1px solid rgba(92,124,225,.28); }
html[data-theme="neon"] .reel-preview-frame { border-color: rgba(94,121,202,.4); box-shadow: 0 18px 34px rgba(0,0,0,.22), 0 0 28px rgba(75,110,255,.06); }
html[data-theme="neon"] .reel-arrow,
html[data-theme="neon"] .reel-dots button { border-color: rgba(84,111,188,.42); background: rgba(13,24,51,.8); color: #e8efff; }
html[data-theme="neon"] .reel-dots button.is-active { background: linear-gradient(100deg, #55dcff, #8b6cff); box-shadow: 0 0 12px rgba(94,154,255,.5); }
html[data-theme="neon"] .reel-progress { background: rgba(68,89,148,.3); }
html[data-theme="neon"] .reel-progress span { background: linear-gradient(90deg, #54dfff, #9b6cff); box-shadow: 0 0 10px rgba(96,171,255,.5); }
html[data-theme="neon"] .hero-tech-image,
html[data-theme="neon"] .about-photo img,
html[data-theme="neon"] .page-visual img {
  border: 1px solid rgba(83,114,194,.42);
  box-shadow: 0 24px 60px rgba(0,0,0,.22), 0 0 42px rgba(73,119,255,.08);
}
html[data-theme="neon"] .goethe-feature__frame {
  background: linear-gradient(145deg, rgba(13,25,54,.8), rgba(14,14,39,.78));
  border-color: rgba(84,110,186,.38);
  box-shadow: 0 25px 60px rgba(0,0,0,.2);
}
html[data-theme="neon"] .goethe-feature__quote,
html[data-theme="neon"] .goethe-feature__quote cite { color: var(--ink); }
html[data-theme="neon"] .footer-shell { background: rgba(5,10,24,.9); border-color: rgba(72,95,157,.28); }
html[data-theme="neon"] .footer-columns-rich > * { border-color: rgba(72,95,157,.3); }
html[data-theme="neon"] .footer-bottom { border-color: rgba(72,95,157,.28); }
html[data-theme="neon"] .footer-social-arrow { color: #83e7ff; }
html[data-theme="neon"] .scroll-progress { background: linear-gradient(90deg, #55ddff, #8c6cff); box-shadow: 0 0 12px rgba(96,168,255,.55); }


/* ---------- Complete page-component theming ----------
   These rules catch the page-specific components that use fixed light
   backgrounds in the Editorial base stylesheet. Keeping them here means
   every live subpage follows Terminal and Neon consistently. */
html[data-theme="terminal"] .skip-link {
  background: var(--steel-dark);
  color: #031006;
}
html[data-theme="terminal"] :is(
  .page-visual,
  .phone-preview,
  .feature-list > div,
  .fact-list div,
  .topic-pill,
  .quote-panel,
  .process-list li
) {
  background: #071009;
  border-color: var(--line);
  color: var(--ink);
  box-shadow: none;
}
html[data-theme="terminal"] .page-visual {
  background: linear-gradient(180deg, #071009, #050b07);
}
html[data-theme="terminal"] .phone-preview {
  background: #030805;
  border-color: var(--line-strong);
  box-shadow: 0 0 0 1px rgba(86,231,123,.04), 0 18px 38px rgba(0,0,0,.24);
}
html[data-theme="terminal"] .feature-list > div,
html[data-theme="terminal"] .fact-list div,
html[data-theme="terminal"] .process-list li {
  border-radius: 7px;
}
html[data-theme="terminal"] .topic-pill {
  border-color: var(--line-strong);
  border-radius: 5px;
}
html[data-theme="terminal"] .topic-pill:hover {
  background: rgba(80,232,116,.07);
  border-color: var(--steel-dark);
}
html[data-theme="terminal"] .topic-highlight {
  background: var(--steel-dark);
  border-color: var(--steel-dark);
  color: #031006;
}
html[data-theme="terminal"] .status-row span,
html[data-theme="terminal"] .project-status {
  background: rgba(84,231,123,.09);
  border: 1px solid rgba(84,231,123,.18);
  color: var(--steel-dark);
  border-radius: 4px;
}
html[data-theme="terminal"] details[open] summary {
  background: #0a160e;
  border-color: var(--line);
}
html[data-theme="terminal"] .legal-language-note {
  background: rgba(108,255,145,.065);
  color: var(--ink-soft);
  border-left-color: var(--bronze);
}
html[data-theme="terminal"] .legal-emphasis {
  background: rgba(84,231,123,.055);
  border-color: var(--line);
}
html[data-theme="terminal"] .about-photo {
  background: #071009;
}
html[data-theme="terminal"] .error-code {
  color: rgba(103,255,145,.12);
}

html[data-theme="neon"] .skip-link {
  background: linear-gradient(110deg, #287cff, #7d57ff);
  color: #fff;
}
html[data-theme="neon"] :is(
  .page-visual,
  .phone-preview,
  .feature-list > div,
  .fact-list div,
  .topic-pill,
  .quote-panel,
  .process-list li
) {
  background: linear-gradient(145deg, rgba(14,27,58,.82), rgba(10,16,38,.78));
  border-color: rgba(81,106,178,.4);
  color: var(--ink);
  box-shadow: 0 18px 44px rgba(0,0,0,.13), inset 0 1px 0 rgba(255,255,255,.03);
  backdrop-filter: blur(14px);
}
html[data-theme="neon"] .page-visual {
  background:
    radial-gradient(circle at 82% 15%, rgba(137,83,255,.11), transparent 15rem),
    linear-gradient(145deg, rgba(14,27,58,.82), rgba(10,16,38,.78));
}
html[data-theme="neon"] .phone-preview {
  background: rgba(8,15,34,.88);
  border-color: rgba(91,128,224,.46);
  box-shadow: 0 22px 54px rgba(0,0,0,.2), 0 0 34px rgba(73,119,255,.07);
}
html[data-theme="neon"] .topic-pill:hover {
  background: linear-gradient(110deg, rgba(73,196,255,.1), rgba(135,83,255,.12));
  border-color: rgba(100,210,255,.54);
}
html[data-theme="neon"] .topic-highlight {
  background: linear-gradient(110deg, #287cff, #7d57ff 66%, #a05cff);
  border-color: transparent;
  color: #fff;
  box-shadow: 0 0 24px rgba(85,101,255,.16);
}
html[data-theme="neon"] .status-row span,
html[data-theme="neon"] .project-status {
  background: rgba(79,118,232,.12);
  border: 1px solid rgba(91,129,229,.26);
  color: #91e9ff;
}
html[data-theme="neon"] details[open] summary {
  background: rgba(18,31,64,.82);
  border-color: rgba(81,106,178,.4);
}
html[data-theme="neon"] .legal-language-note {
  background: rgba(123,90,255,.09);
  color: var(--ink-soft);
  border-left-color: var(--bronze);
}
html[data-theme="neon"] .legal-emphasis {
  background: rgba(75,124,255,.075);
  border-color: rgba(81,106,178,.36);
}
html[data-theme="neon"] .about-photo {
  background: #0b1530;
}
html[data-theme="neon"] .error-code {
  color: rgba(102,206,255,.12);
  text-shadow: 0 0 34px rgba(105,92,255,.08);
}

/* ---------- Demos page: clearly distinct theme treatments ---------- */
html[data-theme="terminal"] body.demo-page .demo-hero {
  position: relative;
  border-bottom: 1px solid rgba(86,231,123,.18);
}
html[data-theme="terminal"] body.demo-page .demo-copy {
  padding-left: clamp(1rem, 2.2vw, 1.6rem);
  border-left: 2px solid rgba(91,255,132,.48);
}
html[data-theme="terminal"] body.demo-page .demo-visual::before {
  content: "preview://kuechenkumpel";
  position: absolute;
  z-index: 3;
  top: 1.2rem;
  right: 1.1rem;
  padding: .35rem .55rem;
  border: 1px solid rgba(86,231,123,.28);
  border-radius: 3px;
  background: rgba(3,8,5,.9);
  color: #72ff98;
  font: 700 .66rem/1.2 "Courier New", Consolas, monospace;
  letter-spacing: .05em;
}
html[data-theme="terminal"] body.demo-page .demo-logo-mark {
  filter: drop-shadow(0 0 16px rgba(87,255,130,.16)) drop-shadow(0 12px 22px rgba(0,0,0,.32));
}
html[data-theme="terminal"] body.demo-page .phone-preview {
  padding: 14px;
  border-radius: 8px;
  background:
    linear-gradient(rgba(75,225,111,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(75,225,111,.035) 1px, transparent 1px),
    #030805;
  background-size: 18px 18px;
}
html[data-theme="terminal"] body.demo-page .phone-preview img { border-radius: 4px; }
html[data-theme="terminal"] body.demo-page .feature-list > div {
  position: relative;
  overflow: hidden;
  border-left: 3px solid rgba(91,255,132,.48);
  background: linear-gradient(90deg, rgba(75,225,111,.055), transparent 42%), #071009;
}
html[data-theme="terminal"] body.demo-page .feature-list > div::after {
  content: ">_";
  position: absolute;
  right: .8rem;
  top: .55rem;
  color: rgba(109,255,147,.18);
  font: 800 1rem/1 "Courier New", Consolas, monospace;
}
html[data-theme="terminal"] body.demo-page .feature-list strong { color: #72ff98; }
html[data-theme="terminal"] body.demo-page .soft-section {
  border-block: 1px solid rgba(86,231,123,.16);
  background:
    linear-gradient(rgba(75,225,111,.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(75,225,111,.022) 1px, transparent 1px),
    #040906;
  background-size: 22px 22px;
}
html[data-theme="terminal"] body.demo-page .install-section {
  padding: clamp(1.2rem, 3vw, 2rem);
  border: 1px solid rgba(86,231,123,.2);
  border-radius: 7px;
  background: rgba(5,13,8,.86);
}
html[data-theme="terminal"] body.demo-page .details-grid details { border-left: 3px solid rgba(91,255,132,.34); }
html[data-theme="terminal"] body.demo-page .details-grid summary { color: #dfffe6; }
html[data-theme="terminal"] body.demo-page .friendly-cta {
  border-radius: 7px;
  border-color: rgba(86,231,123,.25);
  background: linear-gradient(90deg, rgba(75,225,111,.065), transparent 54%), #071009;
  box-shadow: inset 0 0 0 1px rgba(86,231,123,.025);
}

html[data-theme="neon"] body.demo-page .demo-hero {
  position: relative;
  isolation: isolate;
}
html[data-theme="neon"] body.demo-page .demo-copy {
  padding: clamp(1.1rem, 2.5vw, 1.7rem);
  border: 1px solid rgba(87,125,226,.3);
  border-radius: 24px;
  background: linear-gradient(145deg, rgba(15,29,62,.72), rgba(8,15,35,.34));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 22px 48px rgba(0,0,0,.12);
  backdrop-filter: blur(14px);
}
html[data-theme="neon"] body.demo-page .demo-visual::before {
  content: "";
  position: absolute;
  inset: 8% 3% 3%;
  z-index: -1;
  border-radius: 38%;
  background: radial-gradient(circle, rgba(86,126,255,.24), rgba(139,75,255,.11) 38%, transparent 70%);
  filter: blur(20px);
}
html[data-theme="neon"] body.demo-page .demo-logo-mark {
  filter: drop-shadow(0 0 18px rgba(93,218,255,.22)) drop-shadow(0 14px 24px rgba(0,0,0,.34));
}
html[data-theme="neon"] body.demo-page .phone-preview {
  padding: 14px;
  border-radius: 30px;
  background: linear-gradient(145deg, rgba(17,31,66,.94), rgba(7,13,31,.94));
  border-color: rgba(98,137,245,.58);
  box-shadow: 0 24px 60px rgba(0,0,0,.26), 0 0 38px rgba(89,108,255,.16), inset 0 1px 0 rgba(255,255,255,.05);
}
html[data-theme="neon"] body.demo-page .feature-list > div {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 95% 8%, rgba(87,210,255,.11), transparent 7rem),
    linear-gradient(145deg, rgba(15,29,62,.9), rgba(8,15,36,.82));
}
html[data-theme="neon"] body.demo-page .feature-list > div:nth-child(3n+2) {
  border-color: rgba(140,94,255,.48);
  background:
    radial-gradient(circle at 95% 8%, rgba(155,91,255,.13), transparent 7rem),
    linear-gradient(145deg, rgba(20,25,63,.9), rgba(9,14,36,.82));
}
html[data-theme="neon"] body.demo-page .feature-list > div:nth-child(3n+3) { border-color: rgba(76,205,255,.46); }
html[data-theme="neon"] body.demo-page .feature-list strong { color: #73e7ff; text-shadow: 0 0 12px rgba(75,212,255,.34); }
html[data-theme="neon"] body.demo-page .soft-section {
  border-block: 1px solid rgba(79,111,207,.25);
  background:
    radial-gradient(circle at 15% 45%, rgba(71,163,255,.1), transparent 28rem),
    radial-gradient(circle at 88% 40%, rgba(148,75,255,.11), transparent 25rem),
    rgba(5,11,28,.58);
}
html[data-theme="neon"] body.demo-page .install-section {
  padding: clamp(1.2rem, 3vw, 2rem);
  border: 1px solid rgba(89,124,224,.35);
  border-radius: 24px;
  background: linear-gradient(145deg, rgba(14,27,58,.82), rgba(8,14,33,.72));
  box-shadow: 0 22px 52px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.035);
}
html[data-theme="neon"] body.demo-page .details-grid details { border-color: rgba(91,126,224,.4); }
html[data-theme="neon"] body.demo-page .details-grid summary { color: #eef2ff; }
html[data-theme="neon"] body.demo-page .friendly-cta {
  border-color: rgba(93,126,227,.42);
  background:
    radial-gradient(circle at 88% 15%, rgba(157,83,255,.16), transparent 16rem),
    linear-gradient(135deg, rgba(17,34,73,.88), rgba(9,17,40,.86));
  box-shadow: 0 26px 62px rgba(0,0,0,.22), 0 0 36px rgba(82,104,255,.08), inset 0 1px 0 rgba(255,255,255,.04);
}


/* ---------- Project status + quote accents ---------- */
html[data-theme="terminal"] .project-status-panel {
  background:
    linear-gradient(rgba(75,255,116,.035) 1px, transparent 1px) 0 0 / 34px 34px,
    linear-gradient(90deg, rgba(75,255,116,.035) 1px, transparent 1px) 0 0 / 34px 34px,
    #041008;
  border-color: var(--line-strong);
}
html[data-theme="terminal"] .project-status-kicker,
html[data-theme="terminal"] .project-status-jump { color: var(--steel-dark); }
html[data-theme="terminal"] .project-status-total { color: rgba(103,255,145,.11); }
html[data-theme="terminal"] .project-status-item {
  background: rgba(76,226,111,.045);
  border-color: rgba(84,231,123,.15);
}
html[data-theme="terminal"] .project-status-item > strong,
html[data-theme="terminal"] .project-status-item small { color: var(--ink-soft); }
html[data-theme="terminal"] .project-status-item b { color: var(--ink); }
html[data-theme="terminal"] .project-status-dot { box-shadow: 0 0 0 5px rgba(84,231,123,.04); }
html[data-theme="terminal"] .project-status-dot.is-online { background: #70ff98; }
html[data-theme="terminal"] .project-status-dot.is-testing { background: #4fd975; }
html[data-theme="terminal"] .project-status-dot.is-building { background: #2e9b50; }
html[data-theme="terminal"] .goethe-feature__mark { color: rgba(103,255,145,.3); }
html[data-theme="terminal"] .goethe-feature__rule { background: rgba(103,255,145,.42); }

html[data-theme="neon"] .project-status-panel {
  background:
    radial-gradient(circle at 86% 8%, rgba(151,80,255,.2), transparent 15rem),
    radial-gradient(circle at 12% 86%, rgba(45,184,255,.12), transparent 17rem),
    linear-gradient(145deg, #081126, #15103a 66%, #0b1634);
  border-color: rgba(92,126,224,.38);
  box-shadow: 0 28px 64px rgba(0,0,0,.24), 0 0 40px rgba(79,104,255,.06);
}
html[data-theme="neon"] .project-status-kicker { color: #76e7ff; }
html[data-theme="neon"] .project-status-total { color: rgba(104,205,255,.12); }
html[data-theme="neon"] .project-status-item {
  background: rgba(69,100,206,.08);
  border-color: rgba(92,126,224,.2);
}
html[data-theme="neon"] .project-status-item > strong,
html[data-theme="neon"] .project-status-item small { color: var(--ink-soft); }
html[data-theme="neon"] .project-status-item b { color: var(--ink); }
html[data-theme="neon"] .project-status-dot { box-shadow: 0 0 0 5px rgba(100,143,255,.055); }
html[data-theme="neon"] .project-status-dot.is-online { background: #6fffcf; box-shadow: 0 0 12px rgba(111,255,207,.45); }
html[data-theme="neon"] .project-status-dot.is-testing { background: #67ddff; box-shadow: 0 0 12px rgba(103,221,255,.4); }
html[data-theme="neon"] .project-status-dot.is-building { background: #9b6cff; box-shadow: 0 0 12px rgba(155,108,255,.4); }
html[data-theme="neon"] .project-status-jump { color: #8be9ff; }
html[data-theme="neon"] .goethe-feature__mark { color: rgba(112,220,255,.3); }
html[data-theme="neon"] .goethe-feature__rule {
  background: linear-gradient(90deg, rgba(91,219,255,.58), rgba(154,108,255,.5));
}

/* ---------- Theme-specific motion ---------- */
@keyframes terminal-blink { 0%,48% { opacity: 1; } 49%,100% { opacity: 0; } }
@keyframes neon-ambient {
  0% { background-position: 0 0, 0 0, 0 0, 100% 20%, 50% 100%, 0 0; }
  100% { background-position: 12px 6px, 6px 12px, 4% 2%, 94% 25%, 46% 95%, 0 0; }
}

/* ---------- Responsive ---------- */
@media (max-width: 1080px) {
  .theme-switch-button__label { display: none; }
  .theme-switch-button { width: 42px; padding-inline: 0; }
  .theme-picker__shell { align-content: start; }
  .theme-picker__cards { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 860px) {
  .theme-picker__shell { width: min(760px, calc(100% - 28px)); padding-top: 1rem; }
  .theme-picker__cards { grid-template-columns: 1fr; gap: 1.25rem; }
  .theme-card-shell { transform: none; }
  .theme-card-shell:hover,
  .theme-card-shell:focus-within { transform: translateY(-3px); }
  .theme-card { clip-path: polygon(.5% 0, 99.5% .3%, 100% 99%, 99% 100%, 1% 99.6%, 0 .8%); }
  .theme-card__preview { min-height: 230px; }
  .theme-picker__privacy { grid-template-columns: 1fr; }
  html[data-theme="terminal"] .nav-links,
  html[data-theme="neon"] .nav-links { box-shadow: 0 18px 42px rgba(0,0,0,.26); }
}
@media (max-width: 620px) {
  .theme-switch-button { min-width: 40px; width: 40px; height: 40px; min-height: 40px; border-radius: 13px; }
  .theme-picker__shell { width: min(100% - 20px, 620px); padding-bottom: .9rem; gap: 1.15rem; }
  .theme-picker__brand-copy span { display: none; }
  .theme-picker__brand img { width: 40px; height: 40px; border-radius: 13px; }
  .theme-picker__intro h1 { font-size: clamp(2.2rem, 13vw, 3.25rem); }
  .theme-picker__intro p { font-size: .94rem; }
  .theme-card { padding: 1rem; gap: .72rem; }
  .theme-card h2 { font-size: 2rem; }
  .theme-card__preview { min-height: 190px; }
  .theme-picker__privacy-actions { align-items: stretch; }
  .theme-picker__privacy-actions button,
  .theme-picker__privacy-actions a { flex: 1 1 140px; }
  .theme-picker__footer { gap: .85rem 1.1rem; padding-bottom: .25rem; }
}
@media (prefers-reduced-motion: reduce) {
  .theme-card,
  .theme-switch-button,
  .theme-social-arrow,
  html[data-theme="terminal"] .home-hero h1::after,
  .terminal-mini__cursor,
  html[data-theme="neon"] body {
    animation: none !important;
    transition: none !important;
  }
}

/* =========================================================
   HOME STAGES — distinct Terminal and Neon compositions
   ========================================================= */
.hero-mode-visual,
.home-tech-stack { display: none; }

.about-photo__neon { display: none; }
html[data-theme="neon"] .about-photo__standard { display: none; }
html[data-theme="neon"] .about-photo__neon {
  display: block;
  object-position: 66% center;
  background: #030616;
  filter: saturate(1.04) contrast(1.02);
}

html[data-theme="terminal"] .hero-tech-image--editorial,
html[data-theme="neon"] .hero-tech-image--editorial { display: none; }

html[data-theme="terminal"] .hero-title-accent,
html[data-theme="neon"] .hero-title-accent { display: block; }

/* Terminal: console layout inspired by a real development environment. */
html[data-theme="terminal"] .home-hero {
  position: relative;
  min-height: 630px;
  padding-block: clamp(3.6rem, 7vw, 6rem) clamp(2.5rem, 5vw, 4rem);
  grid-template-columns: minmax(0, 1.05fr) minmax(390px, .95fr);
  gap: clamp(2.25rem, 5vw, 5.5rem);
}
html[data-theme="terminal"] .home-hero::before {
  content: "cd ~/portfolio";
  position: absolute;
  top: 1.15rem;
  left: 0;
  color: #65f886;
  font: 700 .76rem/1 "Courier New", Consolas, monospace;
  letter-spacing: .02em;
  opacity: .82;
}
html[data-theme="terminal"] .home-hero .eyebrow {
  margin-bottom: 1rem;
  letter-spacing: .05em;
  text-transform: none;
}
html[data-theme="terminal"] .home-hero .eyebrow::before { content: "> whoami  "; }
html[data-theme="terminal"] .home-hero h1 {
  max-width: 13ch;
  font-size: clamp(2.7rem, 5.2vw, 5.6rem);
  line-height: 1.04;
}
html[data-theme="terminal"] .home-hero h1::before { content: none; }
html[data-theme="terminal"] .home-hero h1::after { height: .78em; }
html[data-theme="terminal"] .hero-title-accent { color: #65f886; }
html[data-theme="terminal"] .hero-lead {
  max-width: 62ch;
  line-height: 1.75;
  color: #b4cabb;
}
html[data-theme="terminal"] .hero-mode-visual--terminal {
  display: block;
  width: min(100%, 590px);
  margin-inline: auto;
  padding: clamp(1.2rem, 2.6vw, 2rem);
  border: 1px solid #2c743e;
  border-radius: 7px;
  background:
    linear-gradient(rgba(83,255,124,.022) 1px, transparent 1px) 0 0 / 24px 24px,
    rgba(2,9,4,.92);
  color: #c9e9d0;
  box-shadow: inset 0 0 34px rgba(80,255,122,.025), 0 22px 50px rgba(0,0,0,.22);
  font: 500 clamp(.75rem, 1.05vw, .92rem)/1.5 "Courier New", Consolas, monospace;
}
.terminal-panel__top {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: .9rem;
  border-bottom: 1px solid #214e2c;
  color: #65f886;
  font-weight: 800;
}
.terminal-panel__online { white-space: nowrap; }
.terminal-panel__facts { display: grid; gap: .52rem; margin: 1.25rem 0; }
.terminal-panel__facts div { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: 1rem; }
.terminal-panel__facts dt { color: #76977d; }
.terminal-panel__facts dd { margin: 0; color: #e3f5e7; overflow-wrap: anywhere; }
.terminal-panel__mission { padding-top: 1rem; border-top: 1px solid #214e2c; color: #65f886; }
.terminal-panel__mission span { font-weight: 800; }
.terminal-panel__mission p { margin: .75rem 0; color: #79db8d; }
.terminal-panel__mission b { color: #54be6a; }

/* Neon: cinematic portrait, glowing controls and blue-violet depth. */
html[data-theme="neon"] .home-hero {
  position: relative;
  min-height: 690px;
  padding-block: clamp(3.4rem, 6vw, 5.7rem) clamp(2.5rem, 5vw, 4rem);
  grid-template-columns: minmax(0, .88fr) minmax(520px, 1.12fr);
  gap: clamp(1.5rem, 3vw, 3rem);
  isolation: isolate;
  overflow-x: hidden;
  overflow-x: clip;
}
html[data-theme="neon"] .home-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: min(72vw, 960px);
  aspect-ratio: 1;
  right: -12vw;
  top: -14rem;
  background: radial-gradient(circle, rgba(74,70,255,.2), rgba(37,156,255,.07) 38%, transparent 68%);
  filter: blur(10px);
  pointer-events: none;
}
html[data-theme="neon"] .home-hero .eyebrow {
  color: #b06cff;
  letter-spacing: .12em;
}
html[data-theme="neon"] .home-hero .eyebrow::after {
  content: "";
  display: inline-block;
  width: 70px;
  height: 1px;
  margin-left: .8rem;
  vertical-align: middle;
  background: linear-gradient(90deg, #8c68ff, transparent);
}
html[data-theme="neon"] .home-hero h1 {
  max-width: 12ch;
  font-size: clamp(3.15rem, 6vw, 6.5rem);
  line-height: .98;
}
html[data-theme="neon"] .hero-title-accent {
  margin-top: .08em;
  color: transparent;
  background: linear-gradient(100deg, #3d8cff 2%, #8567ff 55%, #d45cff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  filter: drop-shadow(0 0 20px rgba(106,86,255,.2));
}
html[data-theme="neon"] .hero-lead { max-width: 58ch; color: #bac5e2; line-height: 1.72; }
html[data-theme="neon"] .hero-mode-visual--neon {
  display: block;
  position: relative;
  width: min(100%, 820px);
  min-height: 560px;
  margin-inline: auto;
}
html[data-theme="neon"] .hero-mode-visual--neon::before {
  content: "";
  position: absolute;
  inset: 9% 4% 4% 18%;
  border: 1px solid rgba(91,124,255,.18);
  border-radius: 50%;
  box-shadow: 0 0 80px rgba(86,61,255,.12), inset 0 0 70px rgba(69,158,255,.05);
}
html[data-theme="neon"] .hero-mode-visual--neon img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  min-height: 560px;
  object-fit: cover;
  object-position: center;
  border: 0;
  border-radius: 30px;
  box-shadow: none;
  mask-image: linear-gradient(90deg, transparent 0, #000 12%, #000 91%, transparent 100%);
  animation: neon-portrait-float 8s ease-in-out infinite;
}
.neon-code-chip,
.neon-status-chip {
  position: absolute;
  z-index: 2;
  display: grid;
  place-items: center;
  border: 1px solid rgba(105,84,255,.6);
  border-radius: 12px;
  background: rgba(7,12,31,.78);
  color: #63d8ff;
  box-shadow: 0 0 26px rgba(80,70,255,.18), inset 0 0 18px rgba(68,103,255,.07);
  backdrop-filter: blur(10px);
}
.neon-code-chip { top: 14%; right: 5%; width: 72px; height: 60px; font: 800 1.35rem/1 Consolas, monospace; }
.neon-status-chip { right: 2%; bottom: 12%; grid-template-columns: auto 1fr; gap: .55rem; min-width: 132px; padding: .85rem 1rem; }
.neon-status-chip b { color: #8cecff; font-size: 1.05rem; }
.neon-status-chip small { color: #8492bc; font-size: .67rem; }

html[data-theme="terminal"] .home-tech-stack,
html[data-theme="neon"] .home-tech-stack {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(.8rem, 2vw, 2rem);
  min-height: 74px;
  padding-block: 1rem;
  border-block: 1px solid var(--line);
  color: var(--ink-soft);
  font-size: clamp(.7rem, .95vw, .84rem);
  letter-spacing: .04em;
}
html[data-theme="terminal"] .home-tech-stack { font-family: "Courier New", Consolas, monospace; }
html[data-theme="terminal"] .home-tech-stack strong { color: #65f886; }
html[data-theme="terminal"] .home-tech-stack span::before { content: "◇ "; color: #54c36d; }
html[data-theme="neon"] .home-tech-stack { border-color: rgba(74,99,168,.32); }
html[data-theme="neon"] .home-tech-stack strong { color: #a76cff; }
html[data-theme="neon"] .home-tech-stack span::before { content: "✦ "; color: #54dfff; }

/* Bring the three project cards forward in the two immersive themes. */
html[data-theme="terminal"] .contrast-showcase,
html[data-theme="neon"] .contrast-showcase { margin-top: 1.5rem; }
html[data-theme="terminal"] .showcase-shell,
html[data-theme="neon"] .showcase-shell { display: flex; flex-direction: column; }
html[data-theme="terminal"] .showcase-shell > .section-heading,
html[data-theme="neon"] .showcase-shell > .section-heading { order: 1; }
html[data-theme="terminal"] .showcase-list,
html[data-theme="neon"] .showcase-list { order: 2; margin-top: 1rem; }
html[data-theme="terminal"] .project-reel,
html[data-theme="neon"] .project-reel { order: 3; margin-top: clamp(2.5rem, 5vw, 4.5rem); }
html[data-theme="terminal"] .showcase-more-heading,
html[data-theme="neon"] .showcase-more-heading { display: none; }
html[data-theme="terminal"] .showcase-card,
html[data-theme="neon"] .showcase-card { min-height: 220px; }
html[data-theme="terminal"] .showcase-card::after,
html[data-theme="neon"] .showcase-card::after {
  content: "↗";
  position: absolute;
  top: 1.2rem;
  right: 1.3rem;
  color: var(--steel-dark);
  font-size: 1.2rem;
}
html[data-theme="terminal"] .showcase-card,
html[data-theme="neon"] .showcase-card { position: relative; overflow: hidden; }
html[data-theme="terminal"] .showcase-card { border-color: #285d34; background: rgba(3,12,6,.84); }
html[data-theme="terminal"] .showcase-card:hover { border-color: #68df83; background: rgba(6,19,10,.94); }
html[data-theme="neon"] .showcase-card:nth-child(1) { border-color: rgba(146,84,255,.52); }
html[data-theme="neon"] .showcase-card:nth-child(2) { border-color: rgba(62,179,255,.5); }
html[data-theme="neon"] .showcase-card:nth-child(3) { border-color: rgba(202,78,255,.46); }
html[data-theme="neon"] .showcase-link { color: #9adfff; }

@keyframes neon-portrait-float {
  0%, 100% { transform: translateY(0) scale(1); filter: saturate(1); }
  50% { transform: translateY(-8px) scale(1.008); filter: saturate(1.08); }
}

@media (max-width: 1040px) {
  html[data-theme="terminal"] .home-hero,
  html[data-theme="neon"] .home-hero { grid-template-columns: 1fr; min-height: 0; }
  html[data-theme="terminal"] .home-hero::before { display: none; }
  html[data-theme="terminal"] .hero-copy,
  html[data-theme="neon"] .hero-copy { max-width: 760px; }
  html[data-theme="terminal"] .hero-mode-visual--terminal { margin-left: 0; }
  html[data-theme="neon"] .hero-mode-visual--neon { width: min(100%, 760px); margin-left: 0; }
  html[data-theme="terminal"] .home-tech-stack,
  html[data-theme="neon"] .home-tech-stack { justify-content: flex-start; flex-wrap: wrap; }
  html[data-theme="terminal"] .home-tech-stack strong,
  html[data-theme="neon"] .home-tech-stack strong { width: 100%; }
}

@media (max-width: 700px) {
  html[data-theme="terminal"] .home-hero,
  html[data-theme="neon"] .home-hero { width: min(100% - 32px, 1440px); padding-top: 3rem; }
  html[data-theme="terminal"] .home-hero h1,
  html[data-theme="neon"] .home-hero h1 { font-size: clamp(2.45rem, 13vw, 4.2rem); }
  html[data-theme="terminal"] .hero-mode-visual--terminal { padding: 1rem; }
  .terminal-panel__facts div { grid-template-columns: 1fr; gap: .1rem; }
  html[data-theme="neon"] .hero-mode-visual--neon,
  html[data-theme="neon"] .hero-mode-visual--neon img { min-height: 390px; }
  html[data-theme="neon"] .hero-mode-visual--neon img { border-radius: 20px; object-position: 58% center; }
  .neon-code-chip { top: 8%; right: 2%; transform: scale(.84); }
  .neon-status-chip { right: 1%; bottom: 7%; transform: scale(.84); transform-origin: right bottom; }
  html[data-theme="terminal"] .home-tech-stack,
  html[data-theme="neon"] .home-tech-stack { width: min(100% - 32px, 1440px); gap: .75rem 1.2rem; }
  html[data-theme="terminal"] .showcase-card,
  html[data-theme="neon"] .showcase-card { min-height: 190px; }
}

@media (prefers-reduced-motion: reduce) {
  html[data-theme="neon"] .hero-mode-visual--neon img { animation: none !important; }
}

/* =========================================================
   DEMO THEME IDENTITY — intentionally unmistakable
   ========================================================= */
html[data-theme="terminal"] body.demo-page main {
  background:
    repeating-linear-gradient(180deg, transparent 0 3px, rgba(103,255,145,.012) 4px),
    radial-gradient(circle at 82% 8%, rgba(57,216,96,.055), transparent 34rem);
}
html[data-theme="terminal"] body.demo-page .demo-hero {
  margin-top: clamp(1.5rem, 3vw, 2.5rem);
  padding-inline: clamp(1rem, 3vw, 2.25rem);
  border: 1px solid rgba(87,231,123,.27);
  border-radius: 8px;
  background:
    linear-gradient(rgba(75,225,111,.025) 1px, transparent 1px) 0 0 / 26px 26px,
    linear-gradient(90deg, rgba(75,225,111,.025) 1px, transparent 1px) 0 0 / 26px 26px,
    rgba(3,9,5,.78);
  box-shadow: inset 0 0 45px rgba(86,231,123,.025), 0 22px 55px rgba(0,0,0,.2);
}
html[data-theme="terminal"] body.demo-page .demo-copy::before {
  content: "$ npm run demo -- --theme=terminal";
  display: block;
  margin-bottom: 1.15rem;
  color: #69f78d;
  font: 700 .72rem/1.4 "Courier New", Consolas, monospace;
  letter-spacing: .035em;
}
html[data-theme="terminal"] body.demo-page .status-row span {
  border: 1px solid rgba(86,231,123,.3);
  border-radius: 4px;
  background: rgba(71,204,104,.07);
  color: #a8ffbb;
  font-family: "Courier New", Consolas, monospace;
}
html[data-theme="terminal"] body.demo-page :is(.section-heading h2,.section-heading p,.feature-list h3,.feature-list p,.friendly-cta h2,.friendly-cta p,.details-grid li) {
  color: var(--ink);
}
html[data-theme="terminal"] body.demo-page .feature-list p,
html[data-theme="terminal"] body.demo-page .details-grid li,
html[data-theme="terminal"] body.demo-page .friendly-cta p { color: var(--ink-soft); }

html[data-theme="neon"] body.demo-page main {
  background:
    radial-gradient(circle at 12% 14%, rgba(38,170,255,.12), transparent 31rem),
    radial-gradient(circle at 90% 8%, rgba(143,69,255,.14), transparent 30rem),
    linear-gradient(180deg, rgba(5,9,21,.06), rgba(10,8,29,.24));
}
html[data-theme="neon"] body.demo-page .demo-hero {
  overflow: hidden;
  margin-top: clamp(1.5rem, 3vw, 2.5rem);
  padding-inline: clamp(1rem, 3vw, 2.25rem);
  border: 1px solid rgba(92,126,224,.38);
  border-radius: 30px;
  background:
    radial-gradient(circle at 88% 12%, rgba(147,76,255,.18), transparent 25rem),
    radial-gradient(circle at 8% 82%, rgba(49,183,255,.1), transparent 24rem),
    linear-gradient(145deg, rgba(9,17,40,.88), rgba(15,10,43,.86));
  box-shadow: 0 30px 76px rgba(0,0,0,.24), 0 0 45px rgba(74,99,255,.075), inset 0 1px 0 rgba(255,255,255,.04);
}
html[data-theme="neon"] body.demo-page .demo-copy::before {
  content: "CYBER DEMO // ONLINE";
  display: block;
  margin-bottom: 1.15rem;
  color: #74e6ff;
  font: 800 .72rem/1.4 "Segoe UI", Aptos, Arial, sans-serif;
  letter-spacing: .14em;
  text-shadow: 0 0 12px rgba(83,217,255,.4);
}
html[data-theme="neon"] body.demo-page .status-row span {
  border: 1px solid rgba(92,126,224,.42);
  border-radius: 999px;
  background: linear-gradient(110deg, rgba(46,133,255,.13), rgba(132,76,255,.14));
  color: #dce7ff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 0 18px rgba(78,103,255,.06);
}
html[data-theme="neon"] body.demo-page :is(.section-heading h2,.section-heading p,.feature-list h3,.feature-list p,.friendly-cta h2,.friendly-cta p,.details-grid li) {
  color: var(--ink);
}
html[data-theme="neon"] body.demo-page .feature-list p,
html[data-theme="neon"] body.demo-page .details-grid li,
html[data-theme="neon"] body.demo-page .friendly-cta p { color: var(--ink-soft); }

@media (max-width: 700px) {
  html[data-theme="terminal"] body.demo-page .demo-hero,
  html[data-theme="neon"] body.demo-page .demo-hero {
    width: min(100% - 24px, var(--page));
    padding-inline: 1rem;
  }
}

/* =========================================================
   MOBILE STABILITY — compact controls, natural image ratios
   and no decorative data blocks between primary content
   ========================================================= */
@media (max-width: 700px) {
  .theme-switch-button {
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    padding: 0;
    border-width: 1px;
    touch-action: manipulation;
  }

  .theme-picker {
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
  .theme-picker__shell {
    width: calc(100% - 16px);
    min-height: 0;
    padding: .55rem 0 .8rem;
    align-content: start;
    gap: .72rem;
  }
  .theme-picker__topbar {
    position: sticky;
    top: 0;
    z-index: 8;
    min-height: 48px;
    padding: .2rem 0;
    background: rgba(244,239,228,.96);
    border-bottom: 1px solid rgba(103,96,80,.14);
    backdrop-filter: blur(10px);
  }
  .theme-picker__brand { gap: .62rem; }
  .theme-picker__brand img {
    width: 38px;
    height: 38px;
    border-radius: 12px;
  }
  .theme-picker__brand-copy strong { font-size: .82rem; }
  .theme-picker__intro {
    max-width: none;
    margin: 0;
    padding-inline: .25rem;
    text-align: left;
  }
  .theme-picker__eyebrow {
    margin-bottom: .25rem;
    font-size: .62rem;
    letter-spacing: .13em;
  }
  .theme-picker__intro h1,
  html[data-theme] .theme-picker__intro h1 {
    font-size: clamp(1.85rem, 9vw, 2.45rem);
    line-height: 1;
  }
  .theme-picker__intro > p:last-child { display: none; }

  .theme-picker__privacy {
    gap: .62rem;
    padding: .72rem;
    border-radius: 13px;
  }
  .theme-picker__privacy-copy strong { font-size: .78rem; }
  .theme-picker__privacy-copy span {
    font-size: .7rem;
    line-height: 1.4;
  }
  .theme-picker__privacy-actions {
    width: 100%;
    gap: .45rem;
  }
  .theme-picker__privacy-actions button,
  .theme-picker__privacy-actions a {
    min-height: 42px;
    flex: 1 1 130px;
    padding: .45rem .55rem;
    font-size: .68rem;
    touch-action: manipulation;
  }

  .theme-picker__cards { gap: .68rem; }
  .theme-card-shell,
  .theme-card-shell:hover,
  .theme-card-shell:focus-within {
    transform: none;
    filter: none;
  }
  .theme-card__paperclip,
  .theme-card__tape { display: none; }
  .theme-card {
    min-height: 104px;
    padding: .68rem;
    grid-template-columns: 86px minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: .4rem .72rem;
    align-items: center;
    clip-path: none;
    border-radius: 15px;
  }
  .theme-card__title-row {
    grid-column: 2;
    grid-row: 1;
  }
  .theme-card h2 { font-size: 1.45rem; }
  .theme-card__preview {
    grid-column: 1;
    grid-row: 1 / 3;
    width: 86px;
    height: 76px;
    min-height: 0;
    border-radius: 10px;
  }
  .theme-card__traits { display: none; }
  .theme-card__button {
    grid-column: 2;
    grid-row: 2;
    min-height: 44px;
    font-size: .67rem;
    letter-spacing: .055em;
    touch-action: manipulation;
  }
  .editorial-mini {
    width: 72px;
    padding: 6px;
    gap: 5px;
  }
  .editorial-mini__left,
  .editorial-mini__right { gap: 3px; }
  .editorial-mini__image { min-height: 33px; }
  .terminal-mini {
    width: 68px;
    text-align: center;
  }
  .terminal-mini__top {
    justify-content: center;
    margin-bottom: 5px;
  }
  .terminal-mini__line { display: none; }
  .terminal-mini::after {
    content: ">_";
    color: #75ff99;
    font: 800 1rem/1 "Courier New", Consolas, monospace;
  }
  .neon-mini {
    width: 74px;
    border-radius: 9px;
  }
  .theme-picker__footer {
    gap: .55rem 1rem;
    padding: 0 .25rem;
    font-size: .68rem;
  }

  html[data-theme="terminal"] .hero-mode-visual--terminal,
  html[data-theme="terminal"] .home-tech-stack,
  html[data-theme="neon"] .home-tech-stack {
    display: none;
  }
  html[data-theme="neon"] .hero-mode-visual--neon {
    width: 100%;
    min-height: 0;
    aspect-ratio: 4 / 3;
  }
  html[data-theme="neon"] .hero-mode-visual--neon img {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
    object-position: center;
  }
  .neon-code-chip {
    top: 7%;
    right: 3%;
    transform: scale(.76);
    transform-origin: right top;
  }
  .neon-status-chip {
    right: 3%;
    bottom: 6%;
    transform: scale(.76);
    transform-origin: right bottom;
  }

  .about-hero .about-photo {
    min-height: 0;
    aspect-ratio: 4 / 5;
  }
  .about-hero .about-photo img {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
  }
  html[data-theme="neon"] .about-hero .about-photo {
    aspect-ratio: 5 / 4;
  }

  body.demo-page .demo-visual {
    min-height: 0;
    padding-top: 2.6rem;
  }
  body.demo-page .phone-preview {
    width: 100%;
    aspect-ratio: 6 / 5;
    padding: .75rem;
    border-radius: 22px;
  }
  body.demo-page .phone-preview img {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: contain;
    border-radius: 15px;
  }
  body.demo-page .demo-logo-mark {
    top: 0;
    width: 108px;
    height: auto;
  }
  html[data-theme="terminal"] body.demo-page .demo-copy::before,
  html[data-theme="neon"] body.demo-page .demo-copy::before {
    content: none;
    display: none;
  }
}

@media (max-width: 380px) {
  .theme-picker__privacy-actions button,
  .theme-picker__privacy-actions a { flex-basis: 100%; }
  .theme-card {
    grid-template-columns: 72px minmax(0, 1fr);
  }
  .theme-card__preview {
    width: 72px;
    height: 68px;
  }
  .editorial-mini { width: 62px; }
  .terminal-mini { width: 58px; }
  .neon-mini { width: 62px; }
}

/* =========================================================
   NEON CIRCUIT — image-aligned, randomly triggered light pulses
   ========================================================= */
html[data-theme="neon"] .hero-mode-visual--neon img {
  animation: none;
}

.neon-circuit-fx {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  z-index: 2;
  overflow: hidden;
  border-radius: 30px;
  pointer-events: none;
}

.neon-code-chip,
.neon-status-chip { z-index: 3; }

.neon-circuit-ambient,
.neon-circuit-core,
.neon-circuit-tracer,
.neon-circuit-light {
  position: absolute;
  pointer-events: none;
}

.neon-circuit-ambient {
  z-index: 0;
  width: var(--ambient-width, 620px);
  height: var(--ambient-height, 430px);
  border-radius: 50%;
  opacity: 0;
  transform: translate(-50%, -50%) scale(var(--ambient-scale, .94));
  background: radial-gradient(ellipse, rgba(85,203,255,.18) 0 16%, rgba(82,104,255,.12) 34%, rgba(109,67,255,.07) 52%, transparent 72%);
  box-shadow: 0 0 90px rgba(69,119,255,.1);
}

.neon-circuit-core {
  z-index: 1;
  width: var(--core-width, 180px);
  height: var(--core-height, 128px);
  border-radius: 30%;
  opacity: 0;
  transform: translate(-50%, -50%) scale(var(--core-scale, .92));
  background: radial-gradient(ellipse, rgba(233,253,255,.42) 0 7%, rgba(103,211,255,.28) 22%, rgba(102,113,255,.16) 44%, rgba(120,74,255,.08) 59%, transparent 74%);
  box-shadow: 0 0 44px rgba(83,196,255,.2), 0 0 76px rgba(108,74,255,.12);
}

.neon-circuit-tracer {
  z-index: 2;
  width: var(--tracer-size, 10px);
  aspect-ratio: 1;
  border-radius: 50%;
  opacity: 0;
  transform: translate(-50%, -50%) scale(var(--tracer-scale, .8));
  background: radial-gradient(circle, #fff 0 16%, #bff8ff 21%, rgba(72,211,255,.95) 40%, rgba(113,79,255,.62) 62%, transparent 78%);
  box-shadow: 0 0 10px rgba(121,235,255,.95), 0 0 22px rgba(82,132,255,.75), 0 0 34px rgba(126,77,255,.48);
  will-change: left, top, opacity, transform;
}

.neon-circuit-light {
  z-index: 3;
  width: var(--light-size, 54px);
  aspect-ratio: 1;
  border-radius: 50%;
  opacity: 0;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, #fff 0 9%, rgba(218,251,255,.98) 12%, rgba(100,200,255,.72) 34%, rgba(118,85,255,.28) 61%, transparent 76%);
}

@media (max-width: 700px) {
  .neon-circuit-fx { border-radius: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .neon-circuit-fx { display: none !important; }
  .neon-circuit-ambient,
  .neon-circuit-core,
  .neon-circuit-tracer,
  .neon-circuit-light { animation: none !important; }
}
