/* =========================================================
   AI Cycle — Website
   Design tokens per AI Cycle Design System (design.md).
   Dark brand. Fraunces display, Inter body, one gradient.
   ========================================================= */

:root {
  color-scheme: dark;
  /* Canvas */
  --ink:        #0E1116;   /* near-black the brand lives on */
  --black:      #0A0A0A;   /* true black letterbox */
  --light:      #FAFAFA;   /* rare light surface */

  /* The one gradient */
  --grad:       linear-gradient(135deg, #3FC7D9 0%, #8E8CF0 100%);
  --teal:       #3FC7D9;
  --violet:     #8E8CF0;

  /* Supporting accents — rotate across multi-item rows */
  --blue:       #5B9BD9;
  --sage:       #5BA88A;
  --amber:      #D9883F;

  /* Text on ink — white-with-alpha hierarchy, never grey hexes */
  --t-1:        rgba(255,255,255,1);
  --t-2:        rgba(255,255,255,.72);  /* body */
  --t-3:        rgba(255,255,255,.56);
  --t-4:        rgba(255,255,255,.40);
  --t-5:        rgba(255,255,255,.28);

  /* Surfaces & lines */
  --surface:    rgba(255,255,255,.05);
  --surface-2:  rgba(255,255,255,.04);
  --surface-6:  rgba(255,255,255,.06);
  --line:       rgba(255,255,255,.14);  /* hairline */
  --line-soft:  rgba(255,255,255,.08);  /* softest divider */
  --hl-fill:    rgba(63,199,217,.08);   /* highlight card fill (teal 8%) */
  --hl-line:    rgba(63,199,217,.45);   /* highlight card border (teal 45%) */

  /* Type */
  --serif: "Fraunces", "Times New Roman", serif;
  --sans:  "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;

  /* 8-pt spacing rhythm */
  --s1: 8px;  --s2: 16px; --s3: 24px; --s4: 32px; --s5: 40px;
  --s6: 48px; --s7: 56px; --s8: 64px; --s9: 80px; --s10: 96px; --s11: 128px;

  /* Radii */
  --r-card: 12px;
  --r-media: 18px;
  --r-pill: 999px;

  /* Motion — restrained */
  --ease: cubic-bezier(0.3, 0.7, 0.4, 1);

  --container: 1200px;
  --gutter: clamp(20px, 5vw, 64px);
}

html[data-theme="light"] {
  color-scheme: light;
  --ink:        #F7F6F2;
  --black:      #FFFFFF;
  --light:      #0E1116;
  --teal:       #168C9F;
  --violet:     #716FD7;
  --blue:       #397BAF;
  --sage:       #3F8069;
  --amber:      #AD642C;
  --t-1:        rgba(14,17,22,1);
  --t-2:        rgba(14,17,22,.76);
  --t-3:        rgba(14,17,22,.61);
  --t-4:        rgba(14,17,22,.46);
  --t-5:        rgba(14,17,22,.30);
  --surface:    rgba(14,17,22,.045);
  --surface-2:  rgba(14,17,22,.032);
  --surface-6:  rgba(14,17,22,.07);
  --line:       rgba(14,17,22,.18);
  --line-soft:  rgba(14,17,22,.10);
  --hl-fill:    rgba(63,199,217,.10);
  --hl-line:    rgba(22,140,159,.42);
}

/* ---------- Reset / base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: clip; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

body {
  margin: 0;
  background: var(--ink);
  color: var(--t-2);
  font-family: var(--sans);
  font-feature-settings: "ss01", "cv11";
  font-size: 17px;
  line-height: 1.6;
  letter-spacing: -0.005em;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: clip;
  transition: background-color .45s var(--ease), color .45s var(--ease);
}

::selection { background: rgba(63,199,217,.35); color: #fff; }

a { color: inherit; }
button { font: inherit; color: inherit; }

a:focus-visible, button:focus-visible {
  outline: 2px solid var(--teal);
  outline-offset: 3px;
  border-radius: 4px;
}

.skip-link {
  position: absolute; left: -9999px; top: 0;
  background: var(--teal); color: var(--black);
  padding: 10px 18px; border-radius: 0 0 8px 0; z-index: 200;
  text-decoration: none; font-weight: 600;
}
.skip-link:focus { left: 0; }

/* ---------- Typography ---------- */
.display, h1, h2, .serif {
  font-family: var(--serif);
  font-optical-sizing: auto;
  color: var(--t-1);
  margin: 0;
  text-wrap: balance;
}

.display {
  font-size: clamp(44px, 6.4vw, 88px);
  line-height: 1.04;
  letter-spacing: -0.032em;
  font-weight: 400;
}

h2, .h2 {
  font-size: clamp(34px, 4.4vw, 60px);
  line-height: 1.08;
  letter-spacing: -0.028em;
  font-weight: 400;
}

h3 { font-family: var(--serif); font-weight: 400; color: var(--t-1);
     font-size: 24px; line-height: 1.2; letter-spacing: -0.02em; margin: 0; }

p { margin: 0; max-width: 62ch; text-wrap: pretty; }

.lead {
  font-size: clamp(19px, 1.6vw, 22px);
  line-height: 1.5;
  color: var(--t-2);
}

/* The brand's one rhetorical move: italic + gradient on the pivot word */
em.pivot, .pivot {
  font-family: var(--serif);
  font-style: italic;
  font-weight: 300;
  letter-spacing: -0.02em;
  background: var(--grad);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  white-space: nowrap;
}

/* Eyebrow — uppercase Inter, wide tracking */
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--teal);
  margin: 0 0 var(--s4) 0;
}
.eyebrow::before {
  content: "";
  width: 28px; height: 1px;
  background: var(--grad);
}
.eyebrow--center { justify-content: center; }
.eyebrow--center::after { content: ""; width: 28px; height: 1px; background: var(--grad); }
.eyebrow--mute { color: var(--t-4); }

/* Numerals are Fraunces */
.num { font-family: var(--serif); letter-spacing: -0.02em; }

/* ---------- Layout ---------- */
.wrap {
  max-width: var(--container);
  margin: 0 auto;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

.section { padding: clamp(96px, 12vw, 160px) 0; position: relative; }
.section--tight { padding: clamp(64px, 8vw, 104px) 0; }

/* Glow orbs — blurred gradient, bleeding off corners */
.glow {
  position: absolute;
  width: 560px; height: 560px;
  border-radius: 50%;
  background: radial-gradient(circle at center, rgba(63,199,217,.20), rgba(142,140,240,.12) 55%, transparent 72%);
  filter: blur(80px);
  pointer-events: none;
  z-index: 0;
}
.glow--violet { background: radial-gradient(circle at center, rgba(142,140,240,.20), rgba(63,199,217,.10) 55%, transparent 72%); }

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 15px 26px;
  border-radius: var(--r-pill);
  font-size: 15.5px;
  font-weight: 600;
  letter-spacing: -0.01em;
  text-decoration: none;
  cursor: pointer;
  border: 1px solid transparent;
  transition: transform .25s var(--ease), box-shadow .25s var(--ease),
              background .25s var(--ease), border-color .25s var(--ease);
  white-space: nowrap;
}
.btn .arr { transition: transform .25s var(--ease); }
.btn:hover .arr { transform: translateX(3px); }

.btn--primary {
  background: var(--grad);
  color: #08131A;
}
.btn--primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 30px rgba(63,199,217,.35), 0 2px 12px rgba(142,140,240,.30);
}
.btn--primary:active { transform: translateY(0); box-shadow: none; }

.btn--ghost {
  background: transparent;
  color: var(--t-1);
  border-color: var(--line);
}
.btn--ghost:hover { background: var(--surface-6); transform: translateY(-1px); }

.btn--sm { padding: 11px 20px; font-size: 14px; }

/* ---------- Nav ---------- */
.nav {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 100;
  transition: background .35s var(--ease), border-color .35s var(--ease),
              backdrop-filter .35s var(--ease);
  border-bottom: 1px solid transparent;
}
.nav--scrolled {
  background: rgba(14,17,22,.82);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  border-bottom-color: var(--line-soft);
}
.nav__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s4);
  height: 76px;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  color: var(--t-1);
  font-weight: 650;
  font-size: 17px;
  letter-spacing: -0.02em;
}
.brand__tile { width: 34px; height: 34px; border-radius: 22%; flex: none; }

.nav__links {
  display: flex;
  align-items: center;
  gap: clamp(18px, 2.4vw, 34px);
  list-style: none;
  margin: 0; padding: 0;
}
.nav__links a {
  color: var(--t-3);
  text-decoration: none;
  font-size: 14.5px;
  font-weight: 500;
  letter-spacing: -0.005em;
  transition: color .2s var(--ease);
}
.nav__links a:hover { color: var(--t-1); }

.nav__burger {
  display: none;
  background: none; border: 1px solid var(--line);
  border-radius: 10px;
  width: 42px; height: 42px;
  cursor: pointer;
  align-items: center; justify-content: center;
  flex-direction: column; gap: 5px;
}
.nav__burger span { display: block; width: 18px; height: 1.6px; background: var(--t-1); transition: transform .25s var(--ease), opacity .2s; }
.nav__burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(6.6px) rotate(45deg); }
.nav__burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nav__burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6.6px) rotate(-45deg); }

.theme-toggle {
  position: relative;
  width: 52px;
  height: 32px;
  flex: none;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
  background: var(--surface);
  cursor: pointer;
  transition: background .3s var(--ease), border-color .3s var(--ease), transform .25s var(--ease);
}
.theme-toggle:hover { border-color: var(--hl-line); transform: translateY(-1px); }
.theme-toggle__track {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 6px;
}
.theme-toggle::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 3px;
  left: 3px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--grad);
  box-shadow: 0 4px 14px rgba(63,199,217,.28);
  transition: transform .35s var(--ease);
}
html[data-theme="light"] .theme-toggle::after { transform: translateX(20px); }
.theme-toggle__icon {
  width: 13px;
  height: 13px;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
  color: var(--t-4);
}
.theme-toggle__icon--moon { width: 12px; height: 12px; }

@media (max-width: 860px) {
  .nav__links {
    position: fixed;
    top: 76px; left: 0; right: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    background: rgba(10,10,10,.96);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    border-bottom: 1px solid var(--line-soft);
    padding: 8px var(--gutter) 20px;
    transform: translateY(-8px);
    opacity: 0;
    pointer-events: none;
    transition: opacity .25s var(--ease), transform .25s var(--ease);
  }
  .nav__links--open { transform: translateY(0); opacity: 1; pointer-events: auto; }
  .nav__links li { width: 100%; }
  .nav__links li a {
    display: block; padding: 14px 0; font-size: 17px;
    border-bottom: 1px solid var(--line-soft); width: 100%;
  }
  .nav__links li:last-child a { border-bottom: 0; }
  .nav__cta { display: none; }
  .nav__burger { display: inline-flex; }
  .theme-toggle { margin-left: auto; }
}

/* ---------- Hero ---------- */
.hero {
  min-height: 100svh;
  display: flex;
  align-items: center;
  padding: 140px 0 96px;
  position: relative;
  overflow: hidden;
}
.hero .display { max-width: 13ch; }
.hero__lead { margin-top: var(--s4); max-width: 44ch; }
.hero__ctas { display: flex; flex-wrap: wrap; gap: 14px; margin-top: var(--s5); }

.hero__meta {
  margin-top: var(--s6);
  padding-top: var(--s3);
  border-top: 1px solid var(--line-soft);
  display: flex; flex-wrap: wrap;
  gap: 12px 28px;
  font-size: 13px;
  font-weight: 550;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--t-4);
}
.hero__meta span { display: inline-flex; align-items: center; gap: 12px; }
.hero__meta i { width: 4px; height: 4px; border-radius: 50%; background: var(--grad); flex: none; font-style: normal; }

/* ---------- Statement ---------- */
.statement { text-align: center; }
.statement .display { max-width: 20ch; margin: 0 auto; }
.statement__sub { margin: var(--s4) auto 0; max-width: 58ch; }

/* ---------- Hairline list (Realität / Takt) ---------- */
.rulelist { border-top: 1px solid var(--line); }
.rulelist__row {
  display: grid;
  grid-template-columns: 64px 1fr 1.4fr;
  gap: var(--s4);
  align-items: baseline;
  padding: var(--s4) 0;
  border-bottom: 1px solid var(--line-soft);
}
.rulelist__idx {
  font-family: var(--serif);
  font-size: 15px;
  color: var(--t-4);
  letter-spacing: 0;
}
.rulelist__term { font-family: var(--serif); font-size: clamp(21px,2vw,26px); color: var(--t-1); letter-spacing: -0.02em; line-height: 1.2; }
.rulelist__desc { color: var(--t-3); font-size: 16px; max-width: 52ch; }
@media (max-width: 720px) {
  .rulelist__row { grid-template-columns: 40px 1fr; }
  .rulelist__desc { grid-column: 2; }
}

/* ---------- Cycle diagram ---------- */
.cycle {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: clamp(40px, 5vw, 80px);
  align-items: center;
  margin-top: var(--s6);
}
.cycle__stage { position: relative; aspect-ratio: 1; max-width: 560px; margin: 0 auto; width: 100%; }
.cycle__svg { width: 100%; height: 100%; display: block; overflow: visible; }

.cycle__ring { fill: none; stroke: var(--line-soft); stroke-width: 1.5; }
.cycle__progress { fill: none; stroke: url(#cycleGrad); stroke-width: 2.5; stroke-linecap: round; }

.cycle__node { cursor: pointer; }
.cycle__node circle.core {
  fill: #12161D;
  stroke: var(--line);
  stroke-width: 1.5;
  transition: stroke .3s var(--ease), fill .3s var(--ease);
}
.cycle__node text {
  fill: var(--t-3);
  font-family: "Fraunces", serif;
  font-size: 21px;
  text-anchor: middle;
  dominant-baseline: central;
  transition: fill .3s var(--ease);
  pointer-events: none;
}
.cycle__node:hover circle.core { stroke: rgba(63,199,217,.6); }
.cycle__node.is-active circle.core { fill: url(#cycleGrad); stroke: none; }
.cycle__node.is-active text { fill: #08131A; font-weight: 600; }
.cycle__node .halo {
  fill: none; stroke: rgba(63,199,217,.35); stroke-width: 1;
  opacity: 0; transition: opacity .3s var(--ease);
}
.cycle__node.is-active .halo { opacity: 1; }

.cycle__center-label {
  fill: var(--t-4);
  font-family: "Inter", sans-serif;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: .24em;
  text-anchor: middle;
  text-transform: uppercase;
}
@media (max-width: 520px) { .cycle__labels { display: none; } }

/* Detail panel */
.cycle__panel { min-height: 380px; }
.cycle__panel-card {
  background: var(--hl-fill);
  border: 1px solid var(--hl-line);
  border-radius: var(--r-card);
  padding: clamp(28px, 3vw, 44px);
}
.cycle__panel-eyebrow {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase;
  color: var(--teal);
  margin-bottom: var(--s3);
}
.cycle__panel-eyebrow .tag {
  color: var(--t-3); border: 1px solid var(--line); border-radius: var(--r-pill);
  padding: 6px 14px; letter-spacing: .08em; font-weight: 550; font-size: 11.5px;
  white-space: nowrap;
}
.cycle__panel h3 { font-size: clamp(28px, 2.6vw, 38px); margin-bottom: var(--s3); }
.cycle__panel p { color: var(--t-2); font-size: 17px; line-height: 1.6; }
.cycle__panel ul { margin: var(--s3) 0 0; padding: 0; list-style: none; }
.cycle__panel li {
  display: flex; gap: 12px; align-items: baseline;
  padding: 10px 0; border-top: 1px solid var(--line-soft);
  color: var(--t-3); font-size: 15.5px;
}
.cycle__panel li::before { content: "→"; color: var(--teal); flex: none; }

.cycle__nav { display: flex; gap: 10px; margin-top: var(--s4); }
.cycle__nav button {
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--surface); border: 1px solid var(--line);
  color: var(--t-1); cursor: pointer; font-size: 17px;
  transition: background .2s var(--ease), transform .2s var(--ease);
}
.cycle__nav button:hover { background: var(--surface-6); transform: translateY(-1px); }

.cycle__footnote {
  margin-top: var(--s6);
  border-left: 3px solid;
  border-image: linear-gradient(180deg, #3FC7D9, #8E8CF0) 1;
  padding: 4px 0 4px var(--s3);
  color: var(--t-3);
  font-size: 16px;
  max-width: 72ch;
}
.cycle__footnote strong { color: var(--t-1); font-weight: 600; }

.cycle__summary {
  margin-top: var(--s7);
  padding-top: var(--s5);
  border-top: 1px solid var(--line-soft);
}
.cycle__summary > h3 { margin-bottom: var(--s4); font-size: 24px; }
.cycle__summary ol {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  border: 1px solid var(--line-soft);
  border-radius: var(--r-media);
  overflow: hidden;
}
.cycle__summary li {
  min-width: 0;
  padding: var(--s3);
  border-right: 1px solid var(--line-soft);
  background: rgba(255,255,255,.018);
}
.cycle__summary li:last-child { border-right: 0; }
.cycle__summary li > span {
  display: block;
  margin-bottom: var(--s3);
  color: var(--teal);
  font-family: var(--serif);
  font-size: 16px;
}
.cycle__summary strong,
.cycle__summary small { display: block; }
.cycle__summary strong { color: var(--t-1); font-family: var(--serif); font-size: 19px; font-weight: 400; }
.cycle__summary small { min-height: 2.8em; margin-top: 7px; color: var(--t-4); font-size: 10.5px; font-weight: 650; letter-spacing: .1em; line-height: 1.4; text-transform: uppercase; }
.cycle__summary p { margin-top: var(--s2); color: var(--t-4); font-size: 13.5px; line-height: 1.5; }

@media (max-width: 900px) {
  .cycle { grid-template-columns: 1fr; }
  .cycle__stage { max-width: 420px; }
  .cycle__panel { min-height: 0; }
  .cycle__summary ol { grid-template-columns: 1fr; }
  .cycle__summary li { display: grid; grid-template-columns: 38px 1fr; border-right: 0; border-bottom: 1px solid var(--line-soft); }
  .cycle__summary li:last-child { border-bottom: 0; }
  .cycle__summary li > span { margin: 2px 0 0; }
  .cycle__summary small { min-height: 0; }
}

/* ---------- Cards grid (Haltung) ---------- */
.cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--s3);
  margin-top: var(--s6);
}
@media (max-width: 960px) { .cards { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .cards { grid-template-columns: 1fr; } }

.card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-card);
  padding: var(--s4);
  transition: background .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease);
}
.card:hover { background: var(--surface-6); transform: translateY(-2px); }
.card h3 { font-size: 22px; margin: var(--s3) 0 12px; }
.card p { font-size: 15.5px; color: var(--t-3); line-height: 1.6; }

.iconcircle {
  width: 48px; height: 48px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  flex: none;
}
.iconcircle svg { width: 24px; height: 24px; }
.tint-teal   { background: rgba(63,199,217,.14); color: var(--teal); }
.tint-violet { background: rgba(142,140,240,.14); color: var(--violet); }
.tint-blue   { background: rgba(91,155,217,.14); color: var(--blue); }
.tint-sage   { background: rgba(91,168,138,.16); color: var(--sage); }
.tint-amber  { background: rgba(217,136,63,.14); color: var(--amber); }

/* ---------- Vertrauen ---------- */
.trust {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--s3);
  margin-top: var(--s6);
}
@media (max-width: 720px) { .trust { grid-template-columns: 1fr; } }
.trust__item {
  border: 1px solid var(--line);
  border-radius: var(--r-card);
  padding: var(--s5) var(--s4);
  text-align: center;
  background: var(--surface-2);
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 148px;
  text-decoration: none;
  transition: border-color .3s var(--ease), transform .3s var(--ease);
}
.trust__item:hover { border-color: rgba(63,199,217,.35); transform: translateY(-2px); }
.trust__name { font-family: var(--serif); font-size: 26px; color: var(--t-1); letter-spacing: -0.02em; }
.trust__kind { margin-top: 8px; font-size: 12px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--t-4); }
.trust__logo {
  display: block;
  width: auto;
  max-width: 78%;
  max-height: 66px;
  object-fit: contain;
  transition: transform .35s var(--ease), filter .35s var(--ease);
}
.trust__logo--olma { max-width: 238px; }
.trust__logo--caynova { max-width: 220px; }
.trust__logo--funk { width: 82px; max-height: 82px; }
.trust__item:hover .trust__logo { transform: scale(1.035); filter: brightness(1.08); }

/* Stats band */
.stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--s3);
  margin-top: var(--s6);
  border-top: 1px solid var(--line-soft);
  padding-top: var(--s5);
}
@media (max-width: 860px) { .stats { grid-template-columns: repeat(2, 1fr); row-gap: var(--s5); } }
.stat__v {
  font-family: var(--serif);
  font-size: clamp(40px, 4.4vw, 60px);
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--t-1);
}
.stat__v .grad-n { background: var(--grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.stat__k { margin-top: 10px; font-size: 13.5px; color: var(--t-4); line-height: 1.45; max-width: 24ch; }

/* Honest placeholder (per CI: never faked) */
.case-slot {
  margin-top: var(--s5);
  border: 1.5px dashed rgba(255,255,255,.22);
  border-radius: var(--r-card);
  padding: var(--s5);
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--s4);
  align-items: center;
  color: var(--t-4);
}
.case-slot .num { font-size: 44px; color: var(--t-5); }
.case-slot p { font-size: 15px; color: var(--t-4); }
.case-slot__icon {
  width: 56px; height: 56px;
  border: 1.5px dashed rgba(255,255,255,.22);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: var(--t-4);
}
.case-slot__icon svg { width: 26px; height: 26px; }
@media (max-width: 620px) { .case-slot { grid-template-columns: 1fr; } }

/* ---------- Für wen ---------- */
.qual { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s3); margin-top: var(--s6); }
@media (max-width: 820px) { .qual { grid-template-columns: 1fr; } }
.qual__item {
  border-top: 1px solid var(--line);
  padding-top: var(--s3);
}
.qual__item .iconcircle { margin-bottom: var(--s3); }
.qual__item h3 { font-size: 21px; margin-bottom: 10px; }
.qual__item p { font-size: 15.5px; color: var(--t-3); }

/* ---------- Team ---------- */
.team {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--s4);
  margin-top: var(--s7);
  text-align: left;
}
.member {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--r-media);
  background: var(--surface-2);
}
.member__photo {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: #12161d;
  border-bottom: 1px solid var(--line-soft);
}
.member__photo::after,
.advisor__photo::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 32%;
  background: linear-gradient(to top, rgba(10,10,10,.34), transparent);
  pointer-events: none;
}
.member__photo img,
.advisor__photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center top;
}
.member__initials {
  position: absolute;
  z-index: 1;
  top: 14px;
  right: 14px;
  padding: 5px 8px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 6px;
  background: rgba(10,10,10,.56);
  color: var(--t-2);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
}
.member__content {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--s3);
  padding: var(--s4);
}
.member h3 { font-size: 28px; }
.member__role,
.member__company {
  margin-top: 8px;
  font-size: 11px;
  font-weight: 650;
  letter-spacing: .14em;
  line-height: 1.4;
  text-transform: uppercase;
  color: var(--teal);
}
.member__company { margin-top: 4px; color: var(--t-4); }
.member__headline {
  padding-left: var(--s3);
  border-left: 2px solid var(--violet);
  font-family: var(--serif);
  font-size: 20px;
  font-style: italic;
  line-height: 1.4;
  color: var(--t-1);
}
.member__bio { font-size: 15.5px; color: var(--t-3); }
.member__links {
  display: flex;
  gap: var(--s3);
  margin-top: auto;
  padding-top: var(--s3);
  border-top: 1px solid var(--line-soft);
}
.member__links a,
.advisor a {
  color: var(--teal);
  font-size: 12px;
  font-weight: 650;
  letter-spacing: .1em;
  text-decoration: none;
  text-transform: uppercase;
  transition: color .2s var(--ease);
}
.member__links a:hover,
.advisor a:hover { color: var(--t-1); }

.advisory {
  margin-top: var(--s10);
  padding-top: var(--s7);
  border-top: 1px solid var(--line);
  text-align: left;
}
.advisory__intro {
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: var(--s7);
  align-items: end;
  margin-bottom: var(--s6);
}
.advisory__intro .eyebrow { margin-bottom: var(--s3); }
.advisory__intro h3 { font-size: clamp(30px, 3.6vw, 44px); }
.advisory__intro > p { color: var(--t-3); }
.advisors {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid var(--line);
  border-radius: var(--r-media);
  overflow: hidden;
}
.advisor {
  display: flex;
  flex-direction: column;
  padding: var(--s3);
  background: var(--surface-2);
  border-right: 1px solid var(--line);
}
.advisor:last-child { border-right: 0; }
.advisor__photo {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1;
  margin-bottom: var(--s3);
  border-radius: 10px;
  background: #12161d;
}
.advisor h4 {
  margin: 0;
  font-family: var(--serif);
  font-size: 22px;
  font-weight: 400;
  line-height: 1.2;
  color: var(--t-1);
}
.advisor p {
  flex: 1;
  margin: 8px 0 var(--s3);
  font-size: 14.5px;
  line-height: 1.45;
  color: var(--t-4);
}
.advisor a {
  display: block;
  padding-top: var(--s2);
  border-top: 1px solid var(--line-soft);
}

@media (max-width: 820px) {
  .team { grid-template-columns: 1fr; }
  .advisory__intro { grid-template-columns: 1fr; gap: var(--s3); }
  .advisors { grid-template-columns: 1fr; }
  .advisor { border-right: 0; border-bottom: 1px solid var(--line); }
  .advisor:last-child { border-bottom: 0; }
  .advisor__photo { aspect-ratio: 4 / 3; }
}
@media (max-width: 520px) {
  .member__content { padding: var(--s3); }
  .member__links { flex-direction: column; gap: var(--s2); }
}

.aicircle {
  margin: var(--s7) auto 0;
  max-width: 640px;
  text-align: center;
  border: 1px solid var(--line);
  border-radius: var(--r-card);
  padding: var(--s4) var(--s5);
  background: var(--surface-2);
  font-size: 15.5px;
  color: var(--t-3);
}
.aicircle strong { color: var(--t-1); font-weight: 600; }
.aicircle a { color: var(--teal); text-decoration: none; border-bottom: 1px solid rgba(63,199,217,.4); }

/* ---------- FAQ ---------- */
.faq { border-top: 1px solid var(--line); margin-top: var(--s6); }
.faq__item { border-bottom: 1px solid var(--line-soft); }
.faq__q {
  width: 100%;
  display: grid;
  grid-template-columns: 48px 1fr 40px;
  align-items: baseline;
  gap: var(--s2);
  background: none; border: 0;
  text-align: left;
  padding: var(--s3) 0;
  cursor: pointer;
}
.faq__q .n { font-family: var(--serif); font-size: 14px; color: var(--t-4); }
.faq__q .q {
  font-family: var(--serif);
  font-size: clamp(19px, 1.9vw, 24px);
  letter-spacing: -0.015em;
  color: var(--t-1);
  transition: color .25s var(--ease);
}
.faq__q:hover .q, .faq__q[aria-expanded="true"] .q { color: var(--teal); }
.faq__q .plus {
  justify-self: end;
  width: 34px; height: 34px;
  border: 1px solid var(--line);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: var(--t-3);
  transition: transform .3s var(--ease), background .25s var(--ease);
  font-size: 17px; font-weight: 400;
  align-self: center;
}
.faq__q[aria-expanded="true"] .plus { transform: rotate(45deg); background: var(--surface-6); }
.faq__a {
  overflow: hidden;
  max-height: 0;
  transition: max-height .45s var(--ease);
}
.faq__a-in {
  padding: 0 0 var(--s4) 48px;
  display: flex; flex-direction: column; gap: 12px;
}
.faq__a p { font-size: 16px; color: var(--t-3); max-width: 58ch; }
.faq__a strong { color: var(--t-2); font-weight: 600; }
@media (max-width: 620px) {
  .faq__q { grid-template-columns: 32px 1fr 34px; }
  .faq__a-in { padding-left: 32px; }
}

/* ---------- Closing CTA ---------- */
.closing {
  position: relative;
  overflow: hidden;
  text-align: center;
  background: var(--black);
  border-top: 1px solid var(--line-soft);
}
.closing .display { max-width: 16ch; margin: 0 auto; }
.closing__sub { margin: var(--s4) auto 0; max-width: 52ch; }
.closing__ctas { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; margin-top: var(--s5); }
.closing__meta {
  margin: var(--s6) auto 0;
  max-width: 860px;
  border-top: 1px solid var(--line-soft);
  padding-top: var(--s4);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--s4);
  text-align: left;
}
@media (max-width: 720px) { .closing__meta { grid-template-columns: 1fr; } }
.closing__meta .k { font-size: 11.5px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--teal); margin-bottom: 8px; }
.closing__meta .v { color: var(--t-2); font-size: 15.5px; }

/* ---------- Footer ---------- */
.footer {
  background: var(--black);
  border-top: 1px solid var(--line-soft);
  padding: var(--s6) 0 var(--s4);
}
.footer__grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: var(--s5);
}
@media (max-width: 720px) { .footer__grid { grid-template-columns: 1fr; gap: var(--s4); } }
.footer h4 {
  font-size: 11.5px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase;
  color: var(--t-4); margin: 0 0 var(--s2);
}
.footer ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.footer a { color: var(--t-3); text-decoration: none; font-size: 15px; transition: color .2s var(--ease); }
.footer a:hover { color: var(--t-1); }
.footer__addr { color: var(--t-3); font-size: 15px; font-style: normal; line-height: 1.7; }
.footer__bottom {
  margin-top: var(--s5);
  padding-top: var(--s3);
  border-top: 1px solid var(--line-soft);
  display: flex; flex-wrap: wrap; gap: 12px 28px;
  justify-content: space-between;
  font-size: 13px;
  color: var(--t-4);
}
.footer__brandline { color: var(--t-4); font-size: 15px; margin-top: 14px; max-width: 40ch; }

/* ---------- Reveal on scroll ---------- */
.reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .6s var(--ease), transform .6s var(--ease);
  transition-delay: var(--d, 0s);
}
.reveal.in { opacity: 1; transform: none; }

/* =========================================================
   2027 art direction — web-native expression of the CI
   ========================================================= */
.scroll-progress {
  position: fixed;
  z-index: 300;
  inset: 0 auto auto 0;
  width: 0;
  height: 2px;
  background: var(--grad);
  box-shadow: 0 0 18px rgba(63,199,217,.5);
  pointer-events: none;
}

.wrap { max-width: 1320px; }

.nav__inner { height: 84px; }
.nav--scrolled { background: rgba(10,10,10,.76); }
.brand__tile {
  object-fit: cover;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(63,199,217,.18);
}
.brand span { letter-spacing: -.03em; }
.nav__links a { position: relative; }
.nav__links a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -8px;
  left: 0;
  height: 1px;
  background: var(--grad);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .3s var(--ease);
}
.nav__links a:hover::after,
.nav__links a.is-active::after { transform: scaleX(1); transform-origin: left; }

.hero {
  min-height: max(760px, 100svh);
  padding: 132px 0 72px;
  isolation: isolate;
}
.hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 84px var(--gutter) 30px;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 28px;
  pointer-events: none;
}
.hero__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(360px, .82fr);
  align-items: center;
  gap: clamp(48px, 6vw, 96px);
  width: 100%;
}
.hero__copy { position: relative; z-index: 2; }
.hero .display {
  max-width: 12ch;
  font-size: clamp(56px, 6vw, 94px);
}
.hero__lead { max-width: 50ch; }
.hero__visual {
  position: relative;
  width: min(39vw, 540px);
  aspect-ratio: 1;
  justify-self: end;
}
.hero__orbit {
  position: absolute;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 50%;
}
.hero__orbit--outer { inset: 1%; border-style: dashed; animation: orbit 38s linear infinite; }
.hero__orbit--inner { inset: 17%; border-color: rgba(63,199,217,.18); animation: orbit-reverse 26s linear infinite; }
.hero__logo-shell {
  position: absolute;
  inset: 26%;
  padding: 1px;
  border-radius: 24%;
  background: var(--grad);
  box-shadow: 0 36px 90px rgba(0,0,0,.62), 0 0 80px rgba(63,199,217,.15), 0 0 120px rgba(142,140,240,.12);
  animation: breathe 7s var(--ease) infinite;
}
.hero__logo-shell img {
  width: 100%;
  height: 100%;
  display: block;
  border-radius: 23%;
  object-fit: cover;
}
.hero__stage {
  position: absolute;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 7px 11px;
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
  background: rgba(14,17,22,.76);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  color: var(--t-3);
  font-size: 10px;
  font-weight: 650;
  letter-spacing: .1em;
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow: 0 12px 30px rgba(0,0,0,.25);
}
.hero__stage b { color: var(--teal); font-family: var(--serif); font-size: 12px; font-weight: 400; }
.hero__stage--1 { top: -1%; left: 50%; transform: translateX(-50%); }
.hero__stage--2 { top: 25%; right: -8%; }
.hero__stage--3 { right: 2%; bottom: 10%; }
.hero__stage--4 { bottom: 4%; left: 3%; }
.hero__stage--5 { top: 27%; left: -13%; }
.hero__visual-note {
  position: absolute;
  right: 4%;
  bottom: 27%;
  color: var(--t-4);
  font-family: var(--serif);
  font-size: 13px;
  font-style: italic;
  line-height: 1.35;
  text-align: right;
}
.hero__meta {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  width: 100%;
  margin-top: 0;
  padding: var(--s3) 0 0;
}
.hero__meta span { justify-content: center; }
.hero__scroll {
  position: absolute;
  right: max(var(--gutter), calc((100vw - 1320px) / 2 + var(--gutter)));
  bottom: 38px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--t-4);
  font-size: 10px;
  font-weight: 650;
  letter-spacing: .18em;
  text-decoration: none;
  text-transform: uppercase;
  writing-mode: vertical-rl;
}
.hero__scroll span { width: 1px; height: 34px; background: var(--grad); }

@keyframes orbit { to { transform: rotate(360deg); } }
@keyframes orbit-reverse { to { transform: rotate(-360deg); } }
@keyframes breathe {
  0%, 100% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-9px) rotate(1deg); }
}

#warum-jetzt { min-height: 78svh; display: flex; align-items: center; }
.statement .display { max-width: 17ch; }
.statement__sub { max-width: 54ch; }

.rulelist__row {
  position: relative;
  isolation: isolate;
  transition: padding .35s var(--ease), background .35s var(--ease);
}
.rulelist__row::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0 calc(var(--gutter) * -1);
  background: linear-gradient(90deg, rgba(63,199,217,.055), transparent 68%);
  opacity: 0;
  transition: opacity .35s var(--ease);
}
.rulelist__row:hover { padding-left: 12px; }
.rulelist__row:hover::before { opacity: 1; }
.rulelist__row:hover .rulelist__idx { color: var(--teal); }

#cycle { padding-top: clamp(120px, 13vw, 180px); padding-bottom: clamp(120px, 13vw, 180px); }
.cycle { margin-top: var(--s8); }
.cycle__stage::before {
  content: "";
  position: absolute;
  inset: 17%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(63,199,217,.08), rgba(142,140,240,.035) 45%, transparent 70%);
  filter: blur(24px);
}
.cycle__panel-card {
  border-radius: 18px;
  box-shadow: 0 30px 80px rgba(0,0,0,.26);
}

.cards {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  counter-reset: principles;
}
.card {
  grid-column: span 3;
  min-height: 290px;
  position: relative;
  overflow: hidden;
  counter-increment: principles;
}
.card:nth-child(-n+2) { grid-column: span 6; min-height: 320px; }
.card::after {
  content: "0" counter(principles);
  position: absolute;
  right: 22px;
  bottom: 10px;
  color: rgba(255,255,255,.035);
  font-family: var(--serif);
  font-size: 76px;
  line-height: 1;
  pointer-events: none;
}
.card:hover { border-color: rgba(63,199,217,.28); transform: translateY(-4px); }

.trust {
  gap: 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.trust__item {
  border: 0;
  border-right: 1px solid var(--line-soft);
  border-radius: 0;
  padding: var(--s6) var(--s3);
  background: transparent;
}
.trust__item:last-child { border-right: 0; }
.trust__name { font-size: clamp(28px, 3vw, 42px); }
.trust__item:hover { background: var(--surface-2); transform: none; }
.stats {
  padding: var(--s5);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-media);
  background: rgba(255,255,255,.025);
}

#team > .wrap { position: relative; }
.team { gap: var(--s5); }
.member { border-radius: 22px; box-shadow: 0 34px 90px rgba(0,0,0,.28); }
.member__photo { aspect-ratio: 16 / 11; }
.member__photo img { transition: transform .8s var(--ease), filter .8s var(--ease); }
.member:hover .member__photo img { transform: scale(1.025); filter: saturate(1.06); }
.advisory { margin-top: clamp(96px, 11vw, 144px); }
.advisors { border-radius: 22px; }
.advisor { padding: clamp(18px, 2.4vw, 30px); }
.advisor__photo img { transition: transform .7s var(--ease); }
.advisor:hover .advisor__photo img { transform: scale(1.035); }

.faq__q { padding: var(--s4) 0; }
.faq__q .q { font-size: clamp(21px, 2.2vw, 30px); }
.faq__q .plus { width: 40px; height: 40px; }

.closing {
  min-height: 82svh;
  display: flex;
  align-items: center;
}
.closing::after {
  content: "AI CYCLE";
  position: absolute;
  bottom: -0.24em;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(255,255,255,.018);
  font-family: var(--serif);
  font-size: clamp(110px, 18vw, 260px);
  line-height: 1;
  white-space: nowrap;
  pointer-events: none;
}
.closing .wrap { position: relative; z-index: 1; }
.closing .display { max-width: 13ch; }
.footer { padding-top: var(--s8); }
.footer__brandline { max-width: 34ch; font-family: var(--serif); font-size: 18px; line-height: 1.5; }

@media (max-width: 1100px) {
  .hero__layout { grid-template-columns: minmax(0, 1fr) 380px; gap: 30px; }
  .hero__visual { width: 380px; }
  .hero .display { font-size: clamp(52px, 6.7vw, 78px); }
  .hero__stage--2 { right: -2%; }
  .hero__stage--5 { left: -5%; }
  .card { grid-column: span 6; }
}

@media (max-width: 860px) {
  .nav__inner { height: 76px; }
  .hero { min-height: auto; padding: 124px 0 76px; }
  .hero::before { inset: 76px 12px 20px; }
  .hero__layout { grid-template-columns: 1fr; }
  .hero__visual { width: min(82vw, 500px); justify-self: center; margin: var(--s5) 0 var(--s3); }
  .hero__meta { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .hero__meta span { justify-content: flex-start; }
  .hero__scroll { display: none; }
  .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .card, .card:nth-child(-n+2) { grid-column: span 1; min-height: 280px; }
}

@media (max-width: 620px) {
  .glow { width: 100vw; height: 100vw; }
  .display { font-size: clamp(42px, 13vw, 60px); }
  .hero .display { font-size: clamp(45px, 13.5vw, 64px); }
  .hero__ctas { align-items: stretch; flex-direction: column; }
  .hero__ctas .btn { justify-content: center; }
  .hero__visual { width: 100%; max-width: 100%; transform: none; margin-left: 0; }
  .hero__stage { font-size: 8px; padding: 6px 8px; }
  .hero__stage--2 { right: 0; }
  .hero__stage--5 { left: 0; }
  .hero__visual-note { display: none; }
  .hero__meta { grid-template-columns: 1fr; padding-bottom: var(--s2); }
  .cards { grid-template-columns: 1fr; }
  .card, .card:nth-child(-n+2) { min-height: 0; }
  .trust__item { padding: var(--s4) var(--s2); }
  .trust__name { font-size: 22px; }
  .stats { grid-template-columns: 1fr; padding: var(--s4); }
}

@media (prefers-reduced-motion: reduce) {
  .hero__orbit,
  .hero__logo-shell { animation: none !important; }
}

/* =========================================================
   Light negative — the same CI, recut as an editorial canvas
   ========================================================= */
html[data-theme="light"] ::selection { background: rgba(63,199,217,.38); color: #0E1116; }
html[data-theme="light"] .nav--scrolled { background: rgba(247,246,242,.86); }
html[data-theme="light"] .hero::before { border-color: rgba(14,17,22,.09); }
html[data-theme="light"] .hero__orbit { border-color: rgba(14,17,22,.15); }
html[data-theme="light"] .hero__orbit--inner { border-color: rgba(22,140,159,.22); }
html[data-theme="light"] .hero__logo-shell {
  box-shadow: 0 34px 80px rgba(14,17,22,.18), 0 0 70px rgba(63,199,217,.14), 0 0 110px rgba(142,140,240,.10);
}
html[data-theme="light"] .hero__stage {
  background: rgba(255,255,255,.78);
  box-shadow: 0 12px 30px rgba(14,17,22,.10);
}
html[data-theme="light"] .glow {
  opacity: .62;
  filter: blur(100px);
}
html[data-theme="light"] .cycle__node circle.core { fill: #FFFFFF; }
html[data-theme="light"] .cycle__panel-card { box-shadow: 0 28px 70px rgba(14,17,22,.10); }
html[data-theme="light"] .cycle__summary li { background: rgba(255,255,255,.44); }
html[data-theme="light"] .card::after { color: rgba(14,17,22,.045); }
html[data-theme="light"] .card,
html[data-theme="light"] .member,
html[data-theme="light"] .advisors,
html[data-theme="light"] .aicircle {
  box-shadow: 0 24px 70px rgba(14,17,22,.07);
}
html[data-theme="light"] .member__photo,
html[data-theme="light"] .advisor__photo { background: #E8E8E4; }
html[data-theme="light"] .member__initials { color: rgba(255,255,255,.78); }
html[data-theme="light"] .trust {
  overflow: hidden;
  border-color: #11161C;
  border-radius: var(--r-media);
  background: #11161C;
  box-shadow: 0 28px 80px rgba(14,17,22,.14);
}
html[data-theme="light"] .trust__item {
  background: #11161C;
  border-color: rgba(255,255,255,.10);
}
html[data-theme="light"] .trust__item:hover { background: #171D24; }
html[data-theme="light"] .stats { background: rgba(255,255,255,.50); box-shadow: 0 20px 60px rgba(14,17,22,.06); }
html[data-theme="light"] .case-slot,
html[data-theme="light"] .case-slot__icon { border-color: rgba(14,17,22,.24); }
html[data-theme="light"] .closing::after { color: rgba(14,17,22,.022); }

@media (max-width: 860px) {
  html[data-theme="light"] .nav__links { background: rgba(247,246,242,.97); }
}
