/* AMAADOR DREAM — connected knowledge atlas */
:root {
  --dream-bg: oklch(13% .025 284);
  --dream-bg-2: oklch(16% .032 284);
  --dream-surface: oklch(19% .035 284);
  --dream-surface-2: oklch(23% .042 284);
  --dream-surface-3: oklch(27% .05 284);
  --dream-ink: oklch(96% .01 285);
  --dream-muted: oklch(75% .025 285);
  --dream-faint: oklch(60% .026 285);
  --dream-line: oklch(92% .02 285 / .13);
  --dream-line-strong: oklch(92% .02 285 / .25);
  --dream-violet: oklch(74% .15 294);
  --dream-violet-soft: oklch(74% .15 294 / .16);
  --dream-teal: oklch(78% .12 178);
  --dream-teal-soft: oklch(78% .12 178 / .14);
  --dream-gold: oklch(84% .14 88);
  --dream-danger: oklch(72% .13 25);
  --dream-radius-sm: 14px;
  --dream-radius: 24px;
  --dream-radius-lg: 36px;
  --dream-shadow: 0 22px 70px oklch(3% .02 284 / .46), inset 0 1px 0 oklch(100% 0 0 / .06);
  --dream-shadow-raised: 0 34px 100px oklch(3% .025 284 / .62), inset 0 1px 0 oklch(100% 0 0 / .08);
  --font-display: "Instrument Serif", Georgia, serif;
  --font-ui: "Manrope", system-ui, sans-serif;
  --font-body: "Manrope", system-ui, sans-serif;
  --font-arabic: "Noto Naskh Arabic", serif;
  --maxw-wide: 1320px;
  --maxw-text: 760px;
  --ease: cubic-bezier(.22, 1, .36, 1);
}

html { background: var(--dream-bg); }
body {
  background:
    radial-gradient(circle at 18% -8%, oklch(43% .12 294 / .18), transparent 31rem),
    radial-gradient(circle at 92% 22%, oklch(45% .10 178 / .10), transparent 30rem),
    var(--dream-bg);
  color: var(--dream-ink);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.72;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -4;
  pointer-events: none;
  background-image:
    linear-gradient(oklch(95% .02 285 / .025) 1px, transparent 1px),
    linear-gradient(90deg, oklch(95% .02 285 / .025) 1px, transparent 1px);
  background-size: 64px 64px;
  -webkit-mask-image: radial-gradient(circle at 50% 20%, #000 0, transparent 72%);
  mask-image: radial-gradient(circle at 50% 20%, #000 0, transparent 72%);
}

main { position: relative; z-index: 3; }
a, button, input { font: inherit; }
button { color: inherit; }
::selection { background: var(--dream-violet); color: var(--dream-bg); }
:focus-visible { outline: 3px solid var(--dream-gold); outline-offset: 4px; border-radius: 8px; }

.geo-bg { background: transparent; }
.geo-pattern { opacity: .025; }
.grain { opacity: .028; z-index: 4; }
.spotlight { background: radial-gradient(circle, var(--dream-violet-soft), transparent 67%); opacity: .45; }
.progress { background: var(--dream-violet); height: 3px; }
.reveal { opacity: 1; transform: none; }
.amc-float, .pitch-switch, #academy-pathway, #amaadorSuiteCounter, .suite-counter-dock, .suite-premium-detached-rail, .amaador-cursor { display: none !important; }

.skip-link {
  position: fixed;
  top: .65rem;
  left: .75rem;
  z-index: 1000;
  padding: .7rem 1rem;
  border-radius: 12px;
  background: var(--dream-ink);
  color: var(--dream-bg);
  transform: translateY(-160%);
  transition: transform .18s ease-out;
}
.skip-link:focus { transform: none; }

/* Navigation */
.nav {
  top: 14px;
  left: 50%;
  right: auto;
  width: min(1280px, calc(100% - 28px));
  transform: translateX(-50%);
  min-height: 64px;
  padding: 8px 10px 8px 14px;
  border: 1px solid var(--dream-line-strong);
  border-radius: 22px;
  background: oklch(16% .035 284 / .94);
  box-shadow: 0 18px 50px oklch(3% .02 284 / .5), inset 0 1px 0 oklch(100% 0 0 / .07);
  backdrop-filter: blur(16px) saturate(130%);
}
.nav__logo { align-items: center; gap: .72rem; }
.nav__logo-mark {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: var(--dream-violet);
  color: var(--dream-bg);
  box-shadow: 0 10px 30px oklch(60% .18 294 / .26), inset 0 1px 0 oklch(100% 0 0 / .3);
}
.nav__logo-mark svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.nav__logo-text { font-size: .92rem; font-weight: 750; letter-spacing: .08em; }
.nav__links { gap: .35rem; }
.nav__links a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 0 .9rem;
  border-radius: 13px;
  color: var(--dream-muted);
  font-size: .79rem;
  font-weight: 650;
  letter-spacing: .01em;
  text-transform: none;
}
.nav__links a::after { display: none; }
.nav__links a:hover, .nav__links a[aria-current="page"] { background: var(--dream-surface-2); color: var(--dream-ink); }
.nav__right { gap: .45rem; }
.nav__search, .nav__support, .langsw__btn, .nav__toggle {
  width: 46px;
  height: 46px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 1px solid var(--dream-line);
  border-radius: 14px;
  background: var(--dream-surface);
  color: var(--dream-muted);
  cursor: pointer;
  transition: transform .2s var(--ease), border-color .2s, background .2s, color .2s;
}
.nav__search:hover, .nav__support:hover, .langsw__btn:hover, .nav__toggle:hover {
  transform: translateY(-2px);
  border-color: var(--dream-line-strong);
  background: var(--dream-surface-2);
  color: var(--dream-ink);
}
.nav__search svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.langsw__btn { width: auto; min-width: 62px; display: inline-flex; gap: .35rem; }
.langsw__menu {
  top: calc(100% + 10px);
  padding: 8px;
  border: 1px solid var(--dream-line-strong);
  border-radius: 16px;
  background: var(--dream-surface);
  box-shadow: var(--dream-shadow);
}
.langsw__opt { border-radius: 10px; }
.nav__overlay {
  inset: 0;
  background: var(--dream-bg);
  gap: 1rem;
}
.nav__overlay a { font-size: 1.25rem; letter-spacing: 0; text-transform: none; }

/* Unified search */
.global-search {
  width: min(760px, calc(100% - 24px));
  max-height: min(760px, calc(100vh - 40px));
  margin: auto;
  padding: 0;
  border: 1px solid var(--dream-line-strong);
  border-radius: 28px;
  background: var(--dream-surface);
  color: var(--dream-ink);
  box-shadow: var(--dream-shadow-raised);
  overflow: hidden;
}
.global-search::backdrop { background: oklch(5% .03 284 / .78); backdrop-filter: blur(8px); }
.search-shell { padding: 18px; }
.search-head { display: flex; align-items: center; gap: 10px; }
.search-field {
  flex: 1;
  height: 58px;
  border: 1px solid var(--dream-line-strong);
  border-radius: 17px;
  background: var(--dream-bg-2);
  color: var(--dream-ink);
  padding: 0 18px;
  font-size: 1rem;
}
.search-field::placeholder { color: var(--dream-muted); opacity: 1; }
.search-close {
  width: 48px;
  height: 48px;
  border: 1px solid var(--dream-line);
  border-radius: 15px;
  background: var(--dream-surface-2);
  cursor: pointer;
}
.search-meta { margin: 14px 4px 8px; color: var(--dream-muted); font-size: .78rem; }
.search-results { display: grid; gap: 8px; max-height: 560px; overflow: auto; padding: 3px; }
.search-result {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 13px;
  align-items: center;
  padding: 14px;
  border: 1px solid transparent;
  border-radius: 16px;
  background: var(--dream-bg-2);
}
.search-result:hover { border-color: var(--dream-line-strong); background: var(--dream-surface-2); }
.search-result__type { padding: .28rem .48rem; border-radius: 8px; background: var(--dream-violet-soft); color: var(--dream-violet); font-size: .66rem; font-weight: 800; }
.search-result[data-type="sira"] .search-result__type { background: var(--dream-teal-soft); color: var(--dream-teal); }
.search-result[data-type="door"] .search-result__type { background: rgba(36, 87, 255, .16); color: #7fa0ff; }
.search-result strong { display: block; font-size: .9rem; }
.search-result small { display: block; color: var(--dream-muted); font-size: .72rem; margin-top: 2px; }
.search-result__arrow { color: var(--dream-faint); }
.search-empty { padding: 3rem 1rem; text-align: center; color: var(--dream-muted); }

/* Homepage hero */
.dream-home { overflow: clip; }
.dream-hero {
  min-height: 100svh;
  display: grid;
  align-items: center;
  padding: 8.8rem max(1.25rem, calc((100vw - 1320px) / 2)) 4rem;
  position: relative;
}
.dream-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(460px, 1.08fr);
  gap: clamp(2rem, 6vw, 6.5rem);
  align-items: center;
}
.dream-hero__copy { position: relative; z-index: 2; max-width: 650px; }
.dream-hero__signal { display: inline-flex; align-items: center; gap: .65rem; color: var(--dream-muted); font-size: .76rem; font-weight: 700; }
.dream-hero__signal::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--dream-teal); box-shadow: 0 0 0 7px var(--dream-teal-soft); }
.dream-hero h1 {
  max-width: 12ch;
  margin: 1.6rem 0 1.35rem;
  color: var(--dream-ink);
  font-family: var(--font-display);
  font-size: clamp(3.5rem, 7vw, 6rem);
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: .92;
  text-wrap: balance;
}
.dream-hero h1 span { color: var(--dream-violet); }
.dream-hero__lead { max-width: 58ch; color: var(--dream-muted); font-size: clamp(1rem, 1.5vw, 1.13rem); line-height: 1.75; text-wrap: pretty; }
.dream-hero__actions { display: flex; gap: .75rem; flex-wrap: wrap; margin-top: 2rem; }
.dream-button {
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .7rem;
  padding: 0 1.2rem;
  border: 1px solid var(--dream-line-strong);
  border-radius: 16px;
  background: var(--dream-surface);
  color: var(--dream-ink);
  font-size: .82rem;
  font-weight: 750;
  box-shadow: inset 0 1px 0 oklch(100% 0 0 / .06);
  transition: transform .22s var(--ease), box-shadow .22s, border-color .22s;
}
.dream-button:hover { transform: translateY(-3px); border-color: var(--dream-violet); box-shadow: 0 16px 40px oklch(4% .03 284 / .42); }
.dream-button--primary { background: var(--dream-violet); color: var(--dream-bg); border-color: transparent; }
.dream-button--sira:hover { border-color: var(--dream-teal); }
.dream-hero__proof { display: flex; gap: 1.5rem; flex-wrap: wrap; margin-top: 2.4rem; color: var(--dream-faint); font-size: .75rem; }
.dream-hero__proof strong { color: var(--dream-ink); font-size: .95rem; margin-right: .35rem; }

.dream-orbit-wrap { perspective: 1200px; position: relative; min-height: 620px; }
.dream-orbit {
  position: absolute;
  inset: 4% 0 0;
  transform-style: preserve-3d;
  transform: rotateX(9deg) rotateY(-10deg);
  transition: transform .28s var(--ease);
}
.dream-orbit::before {
  content: "";
  position: absolute;
  inset: 11%;
  border-radius: 50%;
  background:
    radial-gradient(circle at 36% 28%, oklch(88% .12 294 / .22), transparent 13%),
    radial-gradient(circle at 64% 66%, oklch(75% .12 178 / .16), transparent 19%),
    radial-gradient(circle at center, var(--dream-surface-3), var(--dream-bg-2) 66%);
  box-shadow: 0 60px 120px oklch(2% .03 284 / .7), inset -30px -30px 80px oklch(3% .04 284 / .4), inset 22px 18px 45px oklch(100% 0 0 / .05);
  transform: translateZ(20px);
}
.orbit-ring { position: absolute; inset: 15%; border: 1px solid var(--dream-line-strong); border-radius: 50%; transform-style: preserve-3d; }
.orbit-ring--a { transform: rotateX(66deg) rotateZ(12deg) translateZ(35px); }
.orbit-ring--b { transform: rotateY(72deg) rotateZ(-8deg) translateZ(5px); }
.orbit-ring--c { inset: 5%; transform: rotateX(78deg) rotateZ(66deg) translateZ(-15px); opacity: .55; }
.orbit-core {
  position: absolute;
  inset: 36%;
  z-index: 3;
  display: grid;
  place-items: center;
  text-align: center;
  border-radius: 50%;
  background: var(--dream-violet);
  color: var(--dream-bg);
  box-shadow: 0 0 0 14px var(--dream-violet-soft), 0 28px 70px oklch(50% .2 294 / .34);
  transform: translateZ(88px);
}
.orbit-core strong { display: block; font-size: .8rem; line-height: 1.2; }
.orbit-core small { display: block; font-size: .6rem; margin-top: .15rem; }
.orbit-node {
  position: absolute;
  z-index: 4;
  min-width: 118px;
  padding: .75rem .85rem;
  border: 1px solid var(--dream-line-strong);
  border-radius: 15px;
  background: var(--dream-surface);
  color: var(--dream-ink);
  box-shadow: var(--dream-shadow);
  font-size: .72rem;
  font-weight: 700;
  text-align: center;
  transform: translateZ(65px);
}
.orbit-node::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: var(--dream-violet); }
.orbit-node--sira::before { background: var(--dream-teal); }
.orbit-node--1 { top: 8%; left: 42%; }
.orbit-node--2 { top: 26%; right: 0; }
.orbit-node--3 { bottom: 18%; right: 5%; }
.orbit-node--4 { bottom: 3%; left: 39%; }
.orbit-node--5 { bottom: 21%; left: 0; }
.orbit-node--6 { top: 24%; left: 2%; }

/* Shared section system */
.dream-section { max-width: var(--maxw-wide); margin: 0 auto; padding: clamp(4rem, 9vw, 8rem) 1.25rem; }
.dream-section__head { display: grid; grid-template-columns: minmax(0, .72fr) minmax(280px, .42fr); gap: 2rem; align-items: end; margin-bottom: 2.5rem; }
.dream-section__head h2 { max-width: 13ch; font-family: var(--font-display); font-size: clamp(2.6rem, 5vw, 4.5rem); font-weight: 400; line-height: .98; letter-spacing: -.025em; text-wrap: balance; }
.dream-section__head p { color: var(--dream-muted); max-width: 54ch; text-wrap: pretty; }
.dream-label { display: inline-flex; align-items: center; gap: .6rem; margin-bottom: 1rem; color: var(--dream-violet); font-size: .75rem; font-weight: 800; }
.dream-label::before { content: ""; width: 24px; height: 1px; background: currentColor; }
.dream-label--sira { color: var(--dream-teal); }

.gateway-layout { display: grid; grid-template-columns: 1.18fr .82fr; gap: 18px; }
.gateway {
  position: relative;
  min-height: 430px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: clamp(1.5rem, 4vw, 3rem);
  border: 1px solid var(--dream-line-strong);
  border-radius: var(--dream-radius-lg);
  overflow: hidden;
  background: var(--dream-surface);
  box-shadow: var(--dream-shadow);
}
.gateway::before { content: ""; position: absolute; width: 360px; height: 360px; top: -120px; right: -80px; border: 1px solid var(--dream-line-strong); border-radius: 50%; box-shadow: 0 0 0 42px oklch(100% 0 0 / .025), 0 0 0 84px oklch(100% 0 0 / .018); }
.gateway--dream { background: radial-gradient(circle at 85% 16%, var(--dream-violet-soft), transparent 36%), var(--dream-surface); }
.gateway--sira { background: radial-gradient(circle at 85% 16%, var(--dream-teal-soft), transparent 38%), var(--dream-surface); }
.gateway--doors { grid-column: 1 / -1; min-height: 290px; background: radial-gradient(circle at 85% 16%, rgba(36, 87, 255, .2), transparent 38%), var(--dream-surface); }
.gateway__content { position: relative; z-index: 2; max-width: 560px; }
.gateway__count { color: var(--dream-muted); font-size: .72rem; font-weight: 750; }
.gateway h3 { margin: .75rem 0 .8rem; font-family: var(--font-display); font-size: clamp(2.2rem, 4vw, 3.5rem); font-weight: 400; line-height: 1; }
.gateway p { color: var(--dream-muted); max-width: 48ch; }
.gateway__link { display: inline-flex; gap: .6rem; margin-top: 1.25rem; color: var(--dream-ink); font-weight: 800; font-size: .82rem; }
.gateway__link span { transition: transform .2s var(--ease); }
.gateway:hover .gateway__link span { transform: translateX(5px); }

/* Connected knowledge graph */
.knowledge-stage {
  position: relative;
  min-height: 650px;
  border: 1px solid var(--dream-line-strong);
  border-radius: var(--dream-radius-lg);
  background:
    radial-gradient(circle at center, oklch(27% .055 284 / .9), var(--dream-bg-2) 63%),
    var(--dream-bg-2);
  box-shadow: var(--dream-shadow-raised);
  overflow: hidden;
  isolation: isolate;
}
.knowledge-stage::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(circle, oklch(95% .02 285 / .13) 1px, transparent 1.5px); background-size: 28px 28px; opacity: .38; }
.knowledge-lines { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.knowledge-lines line { stroke: var(--dream-line-strong); stroke-width: 1.2; vector-effect: non-scaling-stroke; transition: stroke .2s, opacity .2s; }
.knowledge-lines line.is-active { stroke: var(--dream-violet); opacity: 1; stroke-width: 2.2; }
.graph-node {
  position: absolute;
  z-index: 3;
  width: clamp(108px, 12vw, 164px);
  min-height: 54px;
  display: grid;
  place-items: center;
  padding: .7rem .8rem;
  border: 1px solid var(--dream-line-strong);
  border-radius: 17px;
  background: var(--dream-surface);
  color: var(--dream-ink);
  box-shadow: 0 14px 40px oklch(3% .02 284 / .44), inset 0 1px 0 oklch(100% 0 0 / .06);
  font-size: .72rem;
  font-weight: 750;
  text-align: center;
  transform: translate(-50%, -50%);
  transition: transform .2s var(--ease), border-color .2s, opacity .2s, box-shadow .2s;
}
.graph-node:hover, .graph-node:focus-visible, .graph-node.is-active { transform: translate(-50%, -50%) translateY(-4px) scale(1.04); border-color: var(--dream-violet); box-shadow: 0 18px 55px oklch(45% .16 294 / .2); }
.graph-node[data-kind="sira"]:hover, .graph-node[data-kind="sira"]:focus-visible, .graph-node[data-kind="sira"].is-active { border-color: var(--dream-teal); box-shadow: 0 18px 55px oklch(45% .12 178 / .18); }
.graph-node[data-kind="door"]:hover, .graph-node[data-kind="door"]:focus-visible, .graph-node[data-kind="door"].is-active { border-color: #5d82ff; box-shadow: 0 18px 55px rgba(36, 87, 255, .2); }
.graph-node[data-kind="core"] { width: 174px; min-height: 90px; border-radius: 50%; background: var(--dream-violet); color: var(--dream-bg); border-color: transparent; font-size: .82rem; }
.knowledge-key { position: absolute; left: 18px; bottom: 18px; z-index: 5; display: flex; gap: 12px; padding: .65rem .8rem; border-radius: 13px; background: var(--dream-bg-2); color: var(--dream-muted); font-size: .66rem; }
.knowledge-key span { display: inline-flex; align-items: center; gap: 6px; }
.knowledge-key i { width: 7px; height: 7px; border-radius: 50%; background: var(--dream-violet); }
.knowledge-key span:nth-child(2) i { background: var(--dream-teal); }
.knowledge-key span:nth-child(3) i { background: #5d82ff; }

.trust-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; border: 1px solid var(--dream-line); border-radius: var(--dream-radius); background: var(--dream-line); overflow: hidden; }
.trust-item { padding: 1.4rem; background: var(--dream-bg-2); }
.trust-item strong { display: block; font-size: .84rem; }
.trust-item span { display: block; color: var(--dream-muted); font-size: .75rem; margin-top: .3rem; }

/* Hub pages */
.atlas-hero {
  min-height: 620px;
  display: grid;
  place-items: center;
  padding: 9rem 1.25rem 4rem;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.atlas-hero::before {
  content: "";
  position: absolute;
  width: min(780px, 95vw);
  aspect-ratio: 1;
  border: 1px solid var(--dream-line-strong);
  border-radius: 50%;
  box-shadow: 0 0 0 70px oklch(100% 0 0 / .018), 0 0 0 140px oklch(100% 0 0 / .012);
  background: radial-gradient(circle, var(--dream-violet-soft), transparent 60%);
}
.atlas-hero--sira::before { background: radial-gradient(circle, var(--dream-teal-soft), transparent 60%); }
.atlas-hero__inner { position: relative; z-index: 2; max-width: 860px; }
.atlas-hero h1 { margin: .8rem 0 1rem; font-family: var(--font-display); font-size: clamp(3.2rem, 7vw, 5.6rem); font-weight: 400; letter-spacing: -.035em; line-height: .95; text-wrap: balance; }
.atlas-hero__arabic { color: var(--dream-violet); font-family: var(--font-arabic); font-size: clamp(1.6rem, 4vw, 2.4rem); direction: rtl; }
.atlas-hero--sira .atlas-hero__arabic { color: var(--dream-teal); }
.atlas-hero__lead { max-width: 62ch; margin: 0 auto; color: var(--dream-muted); }
.atlas-search { max-width: 680px; margin: 2rem auto 0; position: relative; }
.atlas-search input {
  width: 100%;
  height: 62px;
  padding: 0 58px 0 20px;
  border: 1px solid var(--dream-line-strong);
  border-radius: 19px;
  background: var(--dream-surface);
  color: var(--dream-ink);
  box-shadow: var(--dream-shadow);
}
.atlas-search input::placeholder { color: var(--dream-muted); opacity: 1; }
.atlas-search__icon { position: absolute; right: 19px; top: 50%; transform: translateY(-50%); color: var(--dream-violet); }
.atlas-hero--sira .atlas-search__icon { color: var(--dream-teal); }
.atlas-stats { display: flex; justify-content: center; gap: 1.5rem; flex-wrap: wrap; margin-top: 1.4rem; color: var(--dream-faint); font-size: .72rem; }
.atlas-stats strong { color: var(--dream-ink); }

.atlas-body { max-width: var(--maxw-wide); margin: 0 auto; padding: 2rem 1.25rem 7rem; }
.atlas-toolbar { position: sticky; top: 92px; z-index: 20; padding: 12px; border: 1px solid var(--dream-line-strong); border-radius: 20px; background: oklch(16% .035 284 / .94); box-shadow: var(--dream-shadow); backdrop-filter: blur(14px); }
.taf-filter { justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; padding: 0; scrollbar-width: thin; }
.taf-chip {
  min-height: 42px;
  flex: 0 0 auto;
  padding: 0 .85rem;
  border: 1px solid transparent;
  border-radius: 12px;
  background: transparent;
  color: var(--dream-muted);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}
.taf-chip:hover { color: var(--dream-ink); border-color: var(--dream-line); }
.taf-chip.is-active { background: var(--dream-violet); color: var(--dream-bg); border-color: transparent; }
.atlas-results-meta { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin: 1.5rem .2rem 1rem; color: var(--dream-muted); font-size: .75rem; }

.doors-grid.taf-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(310px, 1fr)); gap: 12px; max-width: none; padding: 0; perspective: none; }
.door-card.taf-card, .door-card.sira-card {
  min-height: 220px;
  padding: 1.35rem;
  border: 1px solid var(--dream-line);
  border-radius: var(--dream-radius);
  background: var(--dream-surface);
  box-shadow: 0 12px 36px oklch(3% .02 284 / .28), inset 0 1px 0 oklch(100% 0 0 / .05);
  transform: none !important;
  transition: transform .22s var(--ease), border-color .22s, background .22s, box-shadow .22s;
}
.door-card.taf-card::before, .door-card.sira-card::before { display: none; }
.door-card.taf-card:hover { transform: translateY(-5px) !important; border-color: var(--dream-violet); background: var(--dream-surface-2); box-shadow: 0 22px 55px oklch(42% .12 294 / .15); }
.door-card.sira-card:hover { transform: translateY(-5px) !important; border-color: var(--dream-teal); background: var(--dream-surface-2); }
.taf-card__term { color: var(--dream-violet); font-size: 1.55rem; }
.sira-card .taf-card__term { color: var(--dream-teal); }
.door-card__title { margin-top: .7rem; font-family: var(--font-display); font-size: 1.55rem; font-weight: 400; line-height: 1.08; }
.door-card__teaser { margin-top: .7rem; color: var(--dream-muted); font-size: .8rem; line-height: 1.65; }
.taf-card__cat { margin-top: auto; color: var(--dream-faint); font-size: .65rem; letter-spacing: .02em; text-transform: none; }
.result-hidden { display: none !important; }
.atlas-empty { display: none; padding: 4rem 1rem; text-align: center; color: var(--dream-muted); }
.atlas-empty.is-visible { display: block; }

.sira-timeline { position: relative; display: grid; gap: 14px; max-width: 980px; margin: 2rem auto 0; }
.sira-timeline::before { content: ""; position: absolute; left: 31px; top: 24px; bottom: 24px; width: 1px; background: var(--dream-line-strong); }
.sira-timeline .sira-card { display: grid; grid-template-columns: 64px 1fr auto; min-height: 0; align-items: center; gap: 18px; padding: 1.2rem 1.3rem; }
.sira-card__step { position: relative; z-index: 2; width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--dream-teal); border-radius: 50%; background: var(--dream-bg-2); color: var(--dream-teal); font-size: .7rem; font-weight: 800; }
.sira-card__copy .door-card__title { margin: .25rem 0; }
.sira-card__period { color: var(--dream-teal); font-size: .68rem; font-weight: 750; }
.sira-card__arrow { color: var(--dream-faint); font-size: 1.2rem; }

/* Detail reading pages */
.door-hero.taf-sign-hero {
  min-height: 720px;
  padding: 9rem 1.25rem 5rem;
  border-bottom: 1px solid var(--dream-line);
  background: radial-gradient(circle at 50% 35%, var(--dream-violet-soft), transparent 40%);
}
.door-hero.taf-sign-hero .door-hero__media { opacity: .2; }
.door-hero.taf-sign-hero .door-hero__media img { filter: grayscale(1) contrast(1.05) brightness(.35); }
.door-hero.taf-sign-hero .door-hero__media::after { background: linear-gradient(180deg, var(--dream-bg), oklch(13% .025 284 / .65) 45%, var(--dream-bg)); }
.door-hero__back { top: 7rem; left: max(1.25rem, calc((100vw - 1280px) / 2)); min-height: 42px; display: inline-flex; align-items: center; padding: 0 .8rem; border: 1px solid var(--dream-line); border-radius: 12px; background: var(--dream-bg-2); color: var(--dream-muted); font-size: .7rem; letter-spacing: 0; text-transform: none; }
.door-hero__inner { max-width: 880px; }
.door-hero__title { font-family: var(--font-display); font-size: clamp(3.1rem, 7vw, 5.8rem); font-weight: 400; letter-spacing: -.035em; line-height: .94; text-wrap: balance; }
.door-hero__arabic { color: var(--dream-violet); opacity: 1; }
.door-hero__arabic-en { max-width: 60ch; margin: .8rem auto 0; color: var(--dream-muted); font-family: var(--font-body); font-style: normal; font-size: 1rem; }
.door-hero__bignum.taf-bignum { color: transparent; -webkit-text-stroke: 1px oklch(90% .08 294 / .16); opacity: .7; }
.door-hero__readprompt { animation: none; color: var(--dream-faint); }
.divider { background: var(--dream-line-strong); }

.door-content { max-width: var(--maxw-text); padding: 4.5rem 1.25rem 2rem; }
.door-content p { text-wrap: pretty; }
.answer-capsule {
  margin-bottom: 2.5rem;
  padding: 1.5rem;
  border: 1px solid var(--dream-violet);
  border-radius: var(--dream-radius);
  background: var(--dream-violet-soft);
  box-shadow: inset 0 1px 0 oklch(100% 0 0 / .07);
}
.answer-capsule h2 { margin: 0 0 .65rem; font-family: var(--font-display); font-size: 1.65rem; font-weight: 400; }
.answer-capsule p { color: var(--dream-ink); }
.answer-capsule__label { display: block; margin-bottom: .45rem; color: var(--dream-violet); font-size: .68rem; font-weight: 800; }
.door-quote { margin-bottom: 3rem; padding: 2rem; border: 1px solid var(--dream-teal); border-radius: var(--dream-radius); background: var(--dream-teal-soft); }
.door-quote__en { font-family: var(--font-display); font-size: 1.45rem; font-weight: 400; }
.door-section { margin-bottom: 3rem; }
.door-section h2 { margin-bottom: .8rem; color: var(--dream-ink); font-family: var(--font-display); font-size: 2rem; font-weight: 400; }
.door-section p { color: var(--dream-ink); font-size: 1rem; line-height: 1.86; }
.taf-boxes { gap: 12px; margin: 1rem 0 3rem; }
.taf-box { padding: 1.5rem; border: 1px solid var(--dream-line); border-radius: var(--dream-radius); background: var(--dream-surface); }
.taf-box--good, .taf-box--bad { border-left: 1px solid var(--dream-line); }
.taf-box--good { box-shadow: inset 0 3px 0 var(--dream-teal); }
.taf-box--bad { box-shadow: inset 0 3px 0 var(--dream-danger); }
.taf-box h3 { letter-spacing: .02em; text-transform: none; }
.taf-context { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.taf-ctx { padding: 1.15rem; border: 1px solid var(--dream-line); border-radius: 18px; background: var(--dream-surface); }
.taf-ctx__label { color: var(--dream-violet); letter-spacing: .02em; text-transform: none; }
.taf-ctx p { color: var(--dream-muted); }
.taf-source { padding: 1rem; border-radius: 14px; background: var(--dream-bg-2); color: var(--dream-muted); }

.related-knowledge { max-width: 1100px; margin: 2rem auto 0; padding: 2rem 1.25rem; }
.related-knowledge__head { display: flex; justify-content: space-between; gap: 1rem; align-items: end; margin-bottom: 1rem; }
.related-knowledge h2 { font-family: var(--font-display); font-size: 2rem; font-weight: 400; }
.related-knowledge__head p { color: var(--dream-muted); font-size: .75rem; }
.related-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.related-link { min-height: 132px; display: flex; flex-direction: column; justify-content: space-between; padding: 1rem; border: 1px solid var(--dream-line); border-radius: 18px; background: var(--dream-surface); }
.related-link:hover { border-color: var(--dream-violet); transform: translateY(-3px); }
.related-link--sira:hover { border-color: var(--dream-teal); }
.related-link small { color: var(--dream-faint); }
.related-link strong { font-family: var(--font-display); font-size: 1.15rem; font-weight: 400; }

.next-step { max-width: var(--maxw-text); padding: 2rem; border: 1px solid var(--dream-line); border-radius: var(--dream-radius); background: var(--dream-surface); }
.next-step .eyebrow { letter-spacing: .02em; text-transform: none; }
.next-step h3 { font-family: var(--font-display); font-weight: 400; }
.btn { min-height: 48px; border-radius: 14px; letter-spacing: .01em; text-transform: none; }
.btn--solid { background: var(--dream-violet); color: var(--dream-bg); border-color: transparent; }
.btn--solid:hover { background: var(--dream-ink); color: var(--dream-bg); border-color: transparent; }
.door-nav { max-width: 1100px; gap: 10px; padding: 1.5rem 1.25rem; }
.door-nav a { min-height: 54px; display: flex; align-items: center; padding: .8rem; border: 1px solid var(--dream-line); border-radius: 14px; background: var(--dream-surface); color: var(--dream-muted); font-size: .74rem; }
.door-nav .dn-next { justify-content: flex-end; }
.door-nav .dn-home { justify-content: center; }
.share-row a { border-radius: 12px; letter-spacing: 0; text-transform: none; }
.ad-slot { border-color: var(--dream-line); background: var(--dream-bg-2); }

/* Footer */
.footer { margin-top: 4rem; padding: 4rem 1.25rem 2rem; border-top: 1px solid var(--dream-line); background: var(--dream-bg-2); }
.footer__grid { grid-template-columns: 1.1fr .8fr 1.1fr; }
.footer__logo { font-family: var(--font-ui); font-size: 1rem; font-weight: 800; letter-spacing: .06em; }
.footer__tag { color: var(--dream-muted); font-family: var(--font-body); font-style: normal; }
.footer__links { align-items: flex-start; }
.footer__links a { font-size: .76rem; letter-spacing: 0; text-transform: none; }
.footer__ar .arabic { color: var(--dream-teal); opacity: .8; }
.footer__strip { color: var(--dream-muted); font-family: var(--font-body); font-style: normal; }
.float-donate { display: none; }

@media (max-width: 980px) {
  .nav__links { display: none; }
  .nav__toggle { display: inline-grid; }
  .dream-hero__grid { grid-template-columns: 1fr; }
  .dream-hero__copy { max-width: 720px; }
  .dream-orbit-wrap { min-height: 520px; }
  .dream-section__head { grid-template-columns: 1fr; align-items: start; }
  .gateway-layout { grid-template-columns: 1fr; }
  .gateway--doors { grid-column: auto; }
  .gateway { min-height: 360px; }
  .related-grid { grid-template-columns: repeat(2, 1fr); }
  .footer__grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 700px) {
  .nav { top: 8px; width: calc(100% - 16px); border-radius: 18px; }
  .nav__logo-text { font-size: .78rem; }
  .nav__search, .langsw__btn, .nav__toggle { width: 42px; height: 42px; }
  .langsw__btn { min-width: 52px; }
  .nav__support { display: none; }
  .dream-hero { min-height: auto; padding-top: 7.5rem; }
  .dream-hero h1 { font-size: clamp(3.25rem, 15vw, 4.6rem); }
  .dream-orbit-wrap { min-height: 430px; margin-inline: -1rem; }
  .orbit-node { min-width: 94px; padding: .58rem; font-size: .62rem; }
  .orbit-node--2 { right: 1%; }
  .orbit-node--5 { left: 1%; }
  .dream-section { padding-block: 4.5rem; }
  .dream-section__head h2 { font-size: 2.9rem; }
  .knowledge-stage { min-height: 560px; }
  .graph-node { width: 104px; font-size: .62rem; }
  .graph-node[data-kind="core"] { width: 132px; min-height: 72px; }
  .trust-strip { grid-template-columns: 1fr; }
  .atlas-hero { min-height: 560px; }
  .atlas-body { padding-inline: .8rem; }
  .atlas-toolbar { top: 80px; }
  .doors-grid.taf-grid { grid-template-columns: 1fr; }
  .sira-timeline::before { left: 24px; }
  .sira-timeline .sira-card { grid-template-columns: 46px 1fr; }
  .sira-card__step { width: 34px; height: 34px; }
  .sira-card__arrow { display: none; }
  .door-hero.taf-sign-hero { min-height: 650px; }
  .door-hero__title { font-size: clamp(3rem, 14vw, 4.6rem); }
  .taf-boxes, .taf-context { grid-template-columns: 1fr; }
  .related-grid { grid-template-columns: 1fr; }
  .door-nav { flex-direction: column; }
  .door-nav a { width: 100%; justify-content: center !important; text-align: center !important; }
  .footer__grid { grid-template-columns: 1fr; }
}

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

/* ==========================================================
   Living knowledge worlds — approved cobalt / vermilion system
   ========================================================== */
:root {
  --world-cobalt: #2457ff;
  --world-citron: #c8f04a;
  --world-vermilion: #ff4d2e;
  --world-porcelain: #f7f7f4;
  --world-ink: #0b0d12;
  --world-silver: #c9cdd5;
}

.atlas-page--dream,
.atlas-page--sira,
.atlas-page--doors {
  --font-display: "Manrope", system-ui, sans-serif;
  overflow-x: clip;
}
.atlas-page--dream { background: var(--world-cobalt); }
.atlas-page--sira { background: var(--world-vermilion); }
.atlas-page--doors { background: var(--world-porcelain); color: var(--world-ink); }
.atlas-page--dream::before,
.atlas-page--sira::before,
.atlas-page--doors::before { display: none; }
.atlas-page--dream .geo-bg,
.atlas-page--dream .geo-pattern,
.atlas-page--dream .grain,
.atlas-page--dream .spotlight,
.atlas-page--sira .geo-bg,
.atlas-page--sira .geo-pattern,
.atlas-page--sira .grain,
.atlas-page--sira .spotlight,
.atlas-page--doors .geo-bg,
.atlas-page--doors .geo-pattern,
.atlas-page--doors .grain,
.atlas-page--doors .spotlight { display: none; }

.atlas-page--dream .progress { background: var(--world-citron); }
.atlas-page--sira .progress { background: var(--world-porcelain); }
.atlas-page--doors .progress { background: var(--world-cobalt); }
.atlas-page--doors .nav {
  background: rgba(247, 247, 244, .97);
  border-color: rgba(11, 13, 18, .16);
  box-shadow: 0 16px 46px rgba(11, 13, 18, .13), inset 0 1px 0 #fff;
  color: var(--world-ink);
}
.atlas-page--doors .nav__logo-text,
.atlas-page--doors .nav__links a:hover,
.atlas-page--doors .nav__links a[aria-current="page"] { color: var(--world-ink); }
.atlas-page--doors .nav__links a { color: rgba(11, 13, 18, .68); }
.atlas-page--doors .nav__links a:hover,
.atlas-page--doors .nav__links a[aria-current="page"],
.atlas-page--doors .nav__search,
.atlas-page--doors .nav__support,
.atlas-page--doors .langsw__btn,
.atlas-page--doors .nav__toggle { background: #fff; border-color: rgba(11, 13, 18, .14); color: var(--world-ink); }
.atlas-page--doors .nav__logo-mark { background: var(--world-cobalt); color: #fff; }

.graph-hero {
  --world-bg: var(--world-cobalt);
  --world-accent: var(--world-citron);
  --world-contrast: var(--world-ink);
  min-height: 100svh;
  display: grid;
  place-items: center;
  position: relative;
  isolation: isolate;
  padding: clamp(7.5rem, 11vw, 9.5rem) max(1.25rem, calc((100vw - 1440px) / 2)) clamp(3rem, 6vw, 5.5rem);
  color: var(--world-porcelain);
  background: var(--world-bg);
}
.graph-hero--sira {
  --world-bg: var(--world-vermilion);
  --world-accent: var(--world-porcelain);
  --world-contrast: var(--world-ink);
}
.graph-hero--doors {
  --world-bg: var(--world-porcelain);
  --world-accent: var(--world-cobalt);
  --world-contrast: var(--world-ink);
  color: var(--world-ink);
}
.graph-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .18;
  background-image: linear-gradient(rgba(255,255,255,.22) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.22) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(to bottom, #000, transparent 78%);
}
.graph-hero--doors::before {
  opacity: .3;
  background-image: linear-gradient(rgba(11,13,18,.14) 1px, transparent 1px), linear-gradient(90deg, rgba(11,13,18,.14) 1px, transparent 1px);
}
.graph-hero__layout {
  width: min(1440px, 100%);
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(310px, .7fr) minmax(580px, 1.3fr);
  gap: clamp(1.5rem, 3.8vw, 4.75rem);
  align-items: center;
}
.graph-hero__copy {
  width: 100%;
  min-width: 0;
  position: relative;
  z-index: 4;
  max-width: 550px;
}
.graph-hero__brandline {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-bottom: clamp(1.5rem, 4vw, 3.25rem);
  font-size: .8rem;
  font-weight: 800;
}
.graph-hero__brandline::before {
  content: "";
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: var(--world-accent);
  box-shadow: 0 0 0 7px color-mix(in srgb, var(--world-accent) 22%, transparent);
}
.graph-hero h1 {
  max-width: 10.5ch;
  margin: 0;
  color: inherit;
  font-family: var(--font-ui);
  font-size: clamp(3rem, 5.7vw, 5.9rem);
  font-weight: 780;
  letter-spacing: -.04em;
  line-height: .94;
  text-wrap: balance;
  overflow-wrap: anywhere;
}
.graph-hero__lead {
  max-width: 50ch;
  margin: 1.45rem 0 0;
  color: color-mix(in srgb, currentColor 82%, transparent);
  font-size: clamp(1rem, 1.4vw, 1.14rem);
  line-height: 1.68;
  text-wrap: pretty;
}
.graph-hero__prompt {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1.35rem;
  margin: 1.8rem 0 0;
  color: color-mix(in srgb, currentColor 88%, transparent);
  font-size: .76rem;
  font-weight: 700;
}
.graph-hero__prompt span { display: inline-flex; align-items: center; gap: .48rem; }
.graph-hero__prompt svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.graph-hero__stats {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: 2rem;
}
.graph-hero__stats span {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  padding: .45rem .72rem;
  border: 1px solid color-mix(in srgb, currentColor 24%, transparent);
  border-radius: 999px;
  font-size: .73rem;
  font-weight: 750;
}

.living-graph {
  container-type: inline-size;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  position: relative;
  perspective: 1200px;
}
.living-graph__shell {
  min-height: clamp(590px, 69vh, 760px);
  position: relative;
  overflow: hidden;
  border: 2px solid color-mix(in srgb, currentColor 42%, transparent);
  border-radius: clamp(24px, 3vw, 48px);
  background: color-mix(in srgb, var(--world-bg) 93%, var(--world-contrast));
  box-shadow: 0 42px 100px rgba(11, 13, 18, .28), inset 0 1px 0 rgba(255,255,255,.28);
  transform: rotateY(-2deg) rotateX(1deg);
  transform-origin: center;
  transition: transform .5s cubic-bezier(.22,1,.36,1), box-shadow .5s cubic-bezier(.22,1,.36,1);
}
.graph-hero--doors .living-graph__shell {
  background: #ececea;
  border-color: rgba(11, 13, 18, .18);
  box-shadow: 0 42px 100px rgba(11,13,18,.18), inset 0 1px 0 #fff;
}
.living-graph:hover .living-graph__shell,
.living-graph:focus-within .living-graph__shell { transform: rotateY(0) rotateX(0); box-shadow: 0 52px 120px rgba(11,13,18,.34), inset 0 1px 0 rgba(255,255,255,.3); }
.living-graph canvas {
  width: 100%;
  height: 100%;
  min-height: inherit;
  display: block;
  position: absolute;
  inset: 0;
  touch-action: none;
  cursor: grab;
}
.living-graph.is-dragging canvas { cursor: grabbing; }
.living-graph__topbar {
  position: absolute;
  inset: 18px 18px auto;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: .65rem;
  pointer-events: none;
}
.graph-query,
.graph-jump select {
  min-height: 46px;
  border: 1px solid color-mix(in srgb, currentColor 22%, transparent);
  border-radius: 14px;
  background: var(--world-porcelain);
  color: var(--world-ink);
  box-shadow: 0 12px 28px rgba(11,13,18,.14);
  pointer-events: auto;
}
.graph-query {
  width: min(280px, 44%);
  padding: 0 14px;
  font-size: .78rem;
}
.graph-query::placeholder { color: rgba(11,13,18,.65); opacity: 1; }
.graph-jump { margin-left: auto; pointer-events: auto; }
.graph-jump select { width: min(220px, 28vw); padding: 0 34px 0 12px; font-size: .72rem; font-weight: 700; }
.living-graph__controls {
  position: absolute;
  z-index: 3;
  left: 18px;
  bottom: 18px;
  display: grid;
  gap: 7px;
}
.graph-control {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid color-mix(in srgb, currentColor 20%, transparent);
  border-radius: 14px;
  background: var(--world-porcelain);
  color: var(--world-ink);
  box-shadow: 0 10px 25px rgba(11,13,18,.16);
  font-size: 1.25rem;
  cursor: pointer;
  transition: transform .18s cubic-bezier(.22,1,.36,1), background .18s;
}
.graph-control:hover { transform: translateY(-2px); background: #fff; }
.graph-preview {
  width: min(290px, calc(100% - 90px));
  position: absolute;
  z-index: 3;
  right: 18px;
  bottom: 18px;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 20px;
  background: var(--world-ink);
  color: var(--world-porcelain);
  box-shadow: 0 22px 54px rgba(11,13,18,.38), inset 0 1px 0 rgba(255,255,255,.12);
}
.graph-hero--doors .graph-preview { background: #fff; color: var(--world-ink); border-color: rgba(11,13,18,.13); }
.graph-preview__number { color: var(--world-accent); font-size: .72rem; font-weight: 850; }
.graph-hero--doors .graph-preview__number { color: var(--world-cobalt); }
.graph-preview h2 { margin: .28rem 0 .15rem; color: inherit; font-family: var(--font-ui); font-size: 1.18rem; letter-spacing: -.02em; }
.graph-preview__meta { margin: 0; color: color-mix(in srgb, currentColor 70%, transparent); font-size: .68rem; font-weight: 750; }
.graph-preview__summary { display: -webkit-box; overflow: hidden; margin: .75rem 0 1rem; color: color-mix(in srgb, currentColor 78%, transparent); font-size: .75rem; line-height: 1.5; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.graph-preview__link {
  min-height: 43px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .5rem .8rem;
  border-radius: 12px;
  background: var(--world-accent);
  color: var(--world-contrast);
  font-size: .75rem;
  font-weight: 850;
}
.graph-hero--doors .graph-preview__link { background: var(--world-cobalt); color: #fff; }
.graph-fallback {
  min-height: 560px;
  display: grid;
  place-items: center;
  padding: 2rem;
  text-align: center;
}
.graph-ready .graph-fallback { display: none; }
.graph-has-error canvas,
.graph-has-error .living-graph__topbar,
.graph-has-error .living-graph__controls,
.graph-has-error .graph-preview { display: none; }

.atlas-page--dream .atlas-body,
.atlas-page--sira .atlas-body,
.atlas-page--doors .atlas-body {
  max-width: none;
  margin: 0;
  padding: clamp(4rem, 8vw, 7.5rem) max(1.25rem, calc((100vw - 1240px) / 2));
  background: var(--world-porcelain);
  color: var(--world-ink);
}
.atlas-page--dream .atlas-results-meta,
.atlas-page--sira .atlas-results-meta,
.atlas-page--doors .atlas-results-meta { color: rgba(11,13,18,.66); }
.atlas-page--dream .atlas-results-meta strong { color: var(--world-cobalt); }
.atlas-page--sira .atlas-results-meta strong { color: var(--world-vermilion); }
.atlas-page--doors .atlas-results-meta strong { color: var(--world-cobalt); }
.atlas-page--dream .taf-chip,
.atlas-page--sira .taf-chip,
.atlas-page--doors .taf-chip {
  background: #fff;
  border-color: rgba(11,13,18,.14);
  color: rgba(11,13,18,.72);
}
.atlas-page--dream .taf-chip.is-active { background: var(--world-citron); border-color: var(--world-ink); color: var(--world-ink); }
.atlas-page--sira .taf-chip.is-active { background: var(--world-vermilion); color: #fff; }
.atlas-page--doors .taf-chip.is-active { background: var(--world-cobalt); color: #fff; }
.atlas-page--dream .door-card,
.atlas-page--sira .door-card,
.atlas-page--doors .door-card {
  background: #fff;
  border-color: rgba(11,13,18,.12);
  color: var(--world-ink);
  box-shadow: 0 16px 40px rgba(11,13,18,.08);
}
.atlas-page--dream .door-card:hover { border-color: var(--world-cobalt); box-shadow: 0 22px 50px rgba(36,87,255,.15); }
.atlas-page--sira .door-card:hover { border-color: var(--world-vermilion); box-shadow: 0 22px 50px rgba(255,77,46,.14); }
.atlas-page--doors .door-card:hover { border-color: var(--world-cobalt); box-shadow: 0 22px 50px rgba(36,87,255,.14); }
.atlas-page--dream .door-card__title,
.atlas-page--sira .door-card__title,
.atlas-page--doors .door-card__title { color: var(--world-ink); }
.atlas-page--dream .door-card__teaser,
.atlas-page--sira .door-card__teaser,
.atlas-page--doors .door-card__teaser { color: rgba(11,13,18,.66); }
.atlas-page--dream .taf-card__cat { color: #1740cf; }
.atlas-page--sira .sira-card__step { color: var(--world-vermilion); }
.atlas-page--sira .sira-card__period { color: #ba2d18; }

.doors-browser {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 14px;
}
.doors-browser .door-card { min-height: 190px; }
.doors-browser__num { color: var(--world-cobalt); font-size: .74rem; font-weight: 850; }
.doors-browser__section { margin-top: auto; color: rgba(11,13,18,.58); font-size: .68rem; font-weight: 750; }

@container (max-width: 700px) {
  .living-graph__topbar { align-items: stretch; flex-direction: column; }
  .graph-query { width: calc(100% - 58px); }
  .graph-jump { width: calc(100% - 58px); margin-left: 0; }
  .graph-jump select { width: 100%; }
}

@media (max-width: 1020px) {
  .graph-hero { min-height: auto; }
  .graph-hero__layout { grid-template-columns: 1fr; }
  .graph-hero__copy { max-width: 760px; }
  .graph-hero h1 { max-width: 12ch; }
  .living-graph__shell { min-height: 680px; transform: none; }
}

@media (max-width: 640px) {
  .graph-hero { width: 100%; max-width: 100vw; overflow: hidden; padding-inline: 12px; padding-bottom: 12px; }
  .graph-hero__copy { padding-inline: 10px; }
  .graph-hero h1 { font-size: clamp(2.65rem, 13vw, 4.4rem); }
  .graph-hero__lead { line-height: 1.58; }
  .living-graph__shell { min-height: 590px; border-radius: 26px; }
  .living-graph__topbar { inset: 12px 12px auto; }
  .living-graph__controls { left: 12px; bottom: 12px; }
  .graph-preview { right: 12px; bottom: 12px; padding: 15px; }
  .graph-preview__summary { -webkit-line-clamp: 2; }
  .graph-hero__stats { max-width: 100%; flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
  .graph-hero__stats span { flex: 0 0 auto; }
}

@media (prefers-reduced-motion: reduce) {
  .living-graph__shell,
  .living-graph:hover .living-graph__shell,
  .living-graph:focus-within .living-graph__shell { transform: none; transition: none; }
}

/* Full-page graph composition */
.graph-hero {
  min-height: 100svh;
  display: block;
  padding: 0;
  overflow: hidden;
}
.graph-hero__layout {
  width: 100%;
  height: 100svh;
  max-width: none;
  display: block;
  position: relative;
}
.graph-hero__copy {
  position: absolute;
  z-index: 6;
  top: 50%;
  left: max(2rem, calc((100vw - 1440px) / 2));
  width: min(39vw, 560px);
  max-width: none;
  transform: translateY(-43%);
  pointer-events: none;
}
.graph-hero__copy::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -3rem -5rem -3rem -4rem;
  background: radial-gradient(ellipse at 38% 50%, color-mix(in srgb, var(--world-bg) 94%, transparent) 0 42%, transparent 72%);
  pointer-events: none;
}
.graph-hero__brandline { margin-bottom: clamp(1.25rem, 2.5vh, 2.5rem); }
.graph-hero h1 { font-size: clamp(3.35rem, 5.4vw, 6rem); }
.living-graph {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  perspective: none;
}
.living-graph__shell,
.living-graph:hover .living-graph__shell,
.living-graph:focus-within .living-graph__shell {
  min-height: 100svh;
  height: 100%;
  border: 0;
  border-radius: 0;
  background: var(--world-bg);
  box-shadow: none;
  transform: none;
}
.graph-hero--doors .living-graph__shell,
.graph-hero--doors .living-graph:hover .living-graph__shell,
.graph-hero--doors .living-graph:focus-within .living-graph__shell {
  background: var(--world-porcelain);
  box-shadow: none;
}
.living-graph__shell::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--world-bg) 97%, transparent) 0, color-mix(in srgb, var(--world-bg) 80%, transparent) 29%, transparent 53%),
    radial-gradient(circle at 72% 48%, transparent 0 24%, color-mix(in srgb, var(--world-contrast) 11%, transparent) 100%);
}
.graph-hero--doors .living-graph__shell::before {
  background:
    linear-gradient(90deg, rgba(247,247,244,.98) 0, rgba(247,247,244,.82) 29%, transparent 53%),
    radial-gradient(circle at 72% 48%, transparent 0 24%, rgba(11,13,18,.08) 100%);
}
.living-graph canvas { z-index: 0; min-height: 100svh; }
.living-graph__topbar {
  inset: 106px max(1.5rem, calc((100vw - 1440px) / 2)) auto auto;
  width: min(590px, 44vw);
}
.graph-query { width: min(280px, 52%); }
.graph-jump select { width: min(260px, 22vw); }
.living-graph__controls {
  left: max(1.5rem, calc((100vw - 1440px) / 2));
  bottom: 26px;
}
.graph-preview {
  width: min(320px, calc(100% - 90px));
  right: max(1.5rem, calc((100vw - 1440px) / 2));
  bottom: 26px;
}

@media (max-width: 1020px) {
  .graph-hero,
  .graph-hero__layout { min-height: 1050px; height: 1050px; }
  .graph-hero__copy {
    top: 120px;
    left: 24px;
    width: min(720px, calc(100% - 48px));
    transform: none;
  }
  .graph-hero__copy::before {
    inset: -2rem;
    background: linear-gradient(to bottom, var(--world-bg) 0 72%, transparent);
  }
  .graph-hero--doors .graph-hero__copy::before { background: linear-gradient(to bottom, var(--world-porcelain) 0 72%, transparent); }
  .graph-hero h1 { max-width: 10ch; }
  .living-graph__shell,
  .living-graph:hover .living-graph__shell,
  .living-graph:focus-within .living-graph__shell,
  .living-graph canvas { min-height: 1050px; }
  .living-graph__shell::before,
  .graph-hero--doors .living-graph__shell::before {
    background: linear-gradient(to bottom, var(--world-bg) 0 35%, transparent 58%);
  }
  .graph-hero--doors .living-graph__shell::before { background: linear-gradient(to bottom, var(--world-porcelain) 0 35%, transparent 58%); }
  .living-graph__topbar {
    inset: 515px 24px auto;
    width: auto;
  }
  .living-graph__controls { left: 24px; bottom: 24px; }
  .graph-preview { right: 24px; bottom: 24px; }
}

@media (max-width: 640px) {
  .graph-hero,
  .graph-hero__layout { min-height: 1080px; height: 1080px; }
  .graph-hero__copy { top: 104px; left: 22px; width: calc(100% - 44px); padding: 0; }
  .graph-hero__brandline { margin-bottom: 1.35rem; font-size: .7rem; }
  .graph-hero h1 { max-width: 9ch; font-size: clamp(3.15rem, 13.5vw, 4.5rem); }
  .graph-hero__lead { font-size: .96rem; }
  .graph-hero__prompt { margin-top: 1.25rem; }
  .graph-hero__stats { margin-top: 1.25rem; }
  .living-graph__shell,
  .living-graph:hover .living-graph__shell,
  .living-graph:focus-within .living-graph__shell,
  .living-graph canvas { min-height: 1080px; }
  .living-graph__topbar { inset: 535px 14px auto; }
  .graph-query,
  .graph-jump { width: 100%; }
  .graph-jump select { width: 100%; max-width: none; }
  .living-graph__controls { left: 14px; bottom: 14px; }
  .graph-preview { right: 14px; bottom: 14px; width: min(285px, calc(100% - 82px)); }
}

/* Modern spatial instrument: three worlds, one full-screen canvas */
.nav.nav--experiences {
  position: fixed;
  z-index: 100;
  top: 18px;
  left: 50%;
  right: auto;
  width: min(510px, calc(100% - 28px));
  min-height: 58px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
  padding: 6px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 19px;
  background: #0b0d12;
  box-shadow: 0 18px 48px rgba(11,13,18,.28);
  transform: translateX(-50%);
  backdrop-filter: none;
}
.nav__experience {
  min-width: 0;
  min-height: 44px;
  display: grid;
  place-items: center;
  padding: 0 .8rem;
  border-radius: 13px;
  color: rgba(247,247,244,.7);
  font-size: .78rem;
  font-weight: 760;
  letter-spacing: .015em;
  text-decoration: none;
  transition: color .18s ease, background .18s ease, transform .18s ease;
}
.nav__experience:hover {
  background: #22252d;
  color: #fff;
  transform: translateY(-1px);
}
.atlas-page--dream .nav__experience[aria-current="page"] {
  background: var(--world-citron);
  color: var(--world-ink);
}
.atlas-page--sira .nav__experience[aria-current="page"] {
  background: var(--world-vermilion);
  color: #fff;
}
.atlas-page--doors .nav__experience[aria-current="page"] {
  background: var(--world-cobalt);
  color: #fff;
}

.graph-hero__copy {
  left: max(2.25rem, calc((100vw - 1440px) / 2));
  width: min(34vw, 500px);
  transform: translateY(-39%);
}
.graph-hero__copy::before {
  inset: -3.5rem -5rem -3.5rem -4rem;
  background: radial-gradient(ellipse at 35% 50%, color-mix(in srgb, var(--world-bg) 98%, transparent) 0 42%, color-mix(in srgb, var(--world-bg) 80%, transparent) 58%, transparent 76%);
}
.graph-hero__brandline {
  gap: .65rem;
  margin-bottom: clamp(1.35rem, 2.2vh, 2rem);
  font-size: .72rem;
  font-weight: 820;
  letter-spacing: .12em;
}
.graph-hero__brandline::before {
  width: 8px;
  height: 8px;
  box-shadow: 0 0 0 5px color-mix(in srgb, var(--world-accent) 20%, transparent);
}
.graph-hero h1 {
  max-width: 9.5ch;
  font-size: clamp(3.2rem, 4.65vw, 5rem);
  font-weight: 800;
  line-height: .97;
  letter-spacing: -.045em;
}
.graph-hero__lead {
  max-width: 44ch;
  margin-top: 1.25rem;
  color: color-mix(in srgb, currentColor 88%, transparent);
  font-size: clamp(.98rem, 1.08vw, 1.08rem);
  line-height: 1.62;
}
.graph-hero__prompt {
  gap: .65rem 1.05rem;
  margin-top: 1.45rem;
  font-size: .71rem;
}
.graph-hero__prompt svg { width: 18px; height: 18px; }
.graph-hero__stats { margin-top: 1.35rem; }
.graph-hero__stats span {
  min-height: 34px;
  padding: .38rem .66rem;
  border-color: color-mix(in srgb, currentColor 30%, transparent);
  border-radius: 11px;
  background: color-mix(in srgb, var(--world-bg) 82%, var(--world-contrast));
  font-size: .68rem;
}
.graph-hero--doors .graph-hero__stats span { background: #fff; }

.living-graph__shell::before {
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--world-bg) 99%, transparent) 0, color-mix(in srgb, var(--world-bg) 91%, transparent) 25%, color-mix(in srgb, var(--world-bg) 28%, transparent) 46%, transparent 60%),
    radial-gradient(circle at 70% 49%, transparent 0 28%, color-mix(in srgb, var(--world-contrast) 9%, transparent) 100%);
}
.graph-hero--doors .living-graph__shell::before {
  background:
    linear-gradient(90deg, rgba(247,247,244,1) 0, rgba(247,247,244,.94) 25%, rgba(247,247,244,.28) 46%, transparent 60%),
    radial-gradient(circle at 70% 49%, transparent 0 28%, rgba(11,13,18,.06) 100%);
}
.living-graph__topbar {
  inset: 98px max(1.5rem, calc((100vw - 1440px) / 2)) auto auto;
  width: min(570px, 42vw);
  gap: 8px;
}
.graph-query,
.graph-jump select {
  min-height: 50px;
  border: 1px solid rgba(11,13,18,.1);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(11,13,18,.14);
}
.graph-query {
  width: min(300px, 54%);
  padding-inline: 16px;
  font-size: .8rem;
}
.graph-jump select {
  width: min(252px, 20vw);
  padding-inline: 14px 36px;
  font-size: .73rem;
}
.living-graph__controls { bottom: 24px; gap: 6px; }
.graph-control {
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 12px;
  box-shadow: 0 10px 24px rgba(11,13,18,.16);
}
.graph-preview {
  width: min(310px, calc(100% - 90px));
  right: max(1.5rem, calc((100vw - 1440px) / 2));
  bottom: 24px;
  padding: 20px;
  border: 0;
  border-radius: 18px;
  background: #0b0d12;
  box-shadow: 0 22px 56px rgba(11,13,18,.28);
}
.graph-hero--doors .graph-preview { border: 1px solid rgba(11,13,18,.1); }
.graph-preview h2 { font-size: 1.24rem; line-height: 1.2; }
.graph-preview__summary { font-size: .78rem; line-height: 1.55; }
.graph-preview__link { border-radius: 10px; }

@media (max-width: 1020px) {
  .graph-hero__copy {
    top: 112px;
    left: 24px;
    width: min(690px, calc(100% - 48px));
    transform: none;
  }
  .graph-hero__copy::before {
    inset: -2rem;
    background: linear-gradient(to bottom, var(--world-bg) 0 74%, transparent);
  }
  .graph-hero--doors .graph-hero__copy::before { background: linear-gradient(to bottom, var(--world-porcelain) 0 74%, transparent); }
  .graph-hero h1 { max-width: 11ch; font-size: clamp(3.2rem, 8vw, 5rem); }
  .graph-hero__lead { max-width: 56ch; }
  .living-graph__topbar { inset: 500px 24px auto; width: auto; }
}

@media (max-width: 640px) {
  .nav.nav--experiences {
    top: 10px;
    width: calc(100% - 20px);
    min-height: 54px;
    padding: 5px;
    border-radius: 17px;
  }
  .nav__experience {
    min-height: 44px;
    padding-inline: .35rem;
    border-radius: 12px;
    font-size: .74rem;
  }
  .graph-hero,
  .graph-hero__layout { min-height: 1020px; height: 1020px; }
  .graph-hero__copy { top: 92px; left: 20px; width: calc(100% - 40px); }
  .graph-hero__brandline { margin-bottom: 1rem; font-size: .63rem; letter-spacing: .09em; }
  .graph-hero h1 { max-width: 10ch; font-size: clamp(2.8rem, 12vw, 4rem); line-height: .98; }
  .graph-hero__lead { margin-top: 1rem; font-size: .91rem; line-height: 1.55; }
  .graph-hero__prompt { margin-top: 1rem; gap: .45rem .8rem; font-size: .66rem; }
  .graph-hero__stats { margin-top: 1rem; gap: .4rem; }
  .graph-hero__stats span { min-height: 31px; font-size: .63rem; }
  .living-graph__shell,
  .living-graph:hover .living-graph__shell,
  .living-graph:focus-within .living-graph__shell,
  .living-graph canvas { min-height: 1020px; }
  .living-graph__topbar { inset: 470px 12px auto; gap: 7px; }
  .graph-query,
  .graph-jump select { min-height: 47px; }
  .living-graph__controls { left: 12px; bottom: 12px; }
  .graph-preview { right: 12px; bottom: 12px; width: min(280px, calc(100% - 76px)); padding: 16px; }
}

@media print {
  .nav, .nav__overlay, .global-search, .knowledge-stage, .float-services, .share-row, .ad-slot { display: none !important; }
  body { background: #fff; color: #111; }
  .door-content { max-width: 100%; }
}

/* Tafseer constellation — layered celestial instrument */
.graph-hero--dream .living-graph__shell {
  background:
    radial-gradient(circle at 69% 51%, rgba(200,240,74,.13) 0 1px, transparent 2px 18%, rgba(200,240,74,.11) 18.2% 18.45%, transparent 18.7% 31%, rgba(255,255,255,.1) 31.2% 31.35%, transparent 31.6%),
    radial-gradient(ellipse at 70% 52%, #315fff 0, #2457ff 34%, #173cc9 68%, #0c216f 100%);
}
.graph-hero--dream .living-graph__shell::after {
  content: "MEANING FAMILIES  ·  SELECT A LUMINOUS HUB";
  position: absolute;
  z-index: 2;
  right: max(1.5rem, calc((100vw - 1440px) / 2));
  top: 168px;
  color: rgba(255,255,255,.7);
  font: 750 .62rem/1 Manrope, sans-serif;
  letter-spacing: .13em;
  pointer-events: none;
}
.graph-hero--dream .living-graph canvas { filter: saturate(1.08) contrast(1.04); }
.graph-hero--dream .graph-query,
.graph-hero--dream .graph-jump select {
  border-color: rgba(200,240,74,.4);
  background: #f8faf4;
  box-shadow: 0 16px 44px rgba(4,16,66,.3), 0 0 0 1px rgba(255,255,255,.3) inset;
}
.graph-hero--dream .graph-preview {
  border: 1px solid rgba(200,240,74,.3);
  background: #071433;
  box-shadow: 0 28px 80px rgba(3,12,48,.52), 0 0 46px rgba(200,240,74,.1);
}
.graph-hero--dream .graph-preview__number { color: var(--world-citron); }
.graph-hero--dream .graph-preview__link { color: var(--world-ink); background: var(--world-citron); }
.graph-hero--dream .graph-control { color: var(--world-ink); background: var(--world-citron); }
@media (max-width: 640px) {
  .graph-hero--dream .living-graph__shell::after { top: 445px; right: 16px; font-size: .52rem; }
}

/* Unified atlas language — reading pages, directories, and shared chrome */
body:not(.dream-home):not(.atlas-page--dream):not(.atlas-page--sira):not(.atlas-page--doors) {
  background:
    radial-gradient(circle at 86% 8%, rgba(36,87,255,.26), transparent 31rem),
    radial-gradient(circle at 9% 42%, rgba(200,240,74,.07), transparent 25rem),
    #07101f;
}
body:not(.dream-home)::after {
  content: "";
  position: fixed;
  z-index: -3;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 12% 18%, rgba(200,240,74,.7) 0 2px, transparent 3px),
    radial-gradient(circle at 88% 33%, rgba(255,98,72,.65) 0 2px, transparent 3px),
    radial-gradient(circle at 72% 76%, rgba(220,229,244,.55) 0 2px, transparent 3px),
    linear-gradient(31deg, transparent 0 48.9%, rgba(180,206,255,.055) 49% 49.08%, transparent 49.18%);
  background-size: 310px 310px, 410px 410px, 360px 360px, 520px 520px;
}
.nav:not(.nav--experiences) {
  border-color: rgba(180,206,255,.18);
  background: rgba(7,16,31,.9);
  box-shadow: 0 20px 60px rgba(0,0,0,.28), inset 0 1px rgba(255,255,255,.05);
}
.door-hero:not(.taf-sign-hero):not(.sira-chapter-hero),
.taf-sign-hero,
.sira-chapter-hero {
  background:
    radial-gradient(circle at 50% 50%, transparent 0 20%, rgba(200,240,74,.1) 20.2% 20.45%, transparent 20.7% 34%, rgba(180,206,255,.08) 34.2% 34.35%, transparent 34.6%),
    radial-gradient(ellipse at 70% 45%, #2457ff 0, #102758 42%, #07101f 76%);
}
.sira-chapter-hero { background: radial-gradient(circle at 72% 44%, rgba(255,98,72,.28), transparent 28rem),#07101f; }
.door-hero__media { mix-blend-mode: luminosity; opacity: .22; }
.door-hero__title { font-family: var(--font-ui); font-weight: 780; letter-spacing: -.04em; }
.door-hero__readprompt { display: inline-flex; align-items: center; gap: .65rem; padding: .55rem .8rem; border: 1px solid rgba(200,240,74,.28); border-radius: 999px; background: rgba(7,16,31,.72); color: #dce5f4; }
.door-hero__readprompt::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #c8f04a; box-shadow: 0 0 16px #c8f04a; }
.door-content { position: relative; }
.door-content::before {
  content: "";
  position: absolute;
  top: 4rem;
  bottom: 5rem;
  left: -2.6rem;
  width: 1px;
  background: linear-gradient(transparent,rgba(200,240,74,.35) 9%,rgba(180,206,255,.16) 80%,transparent);
}
.door-section { position: relative; padding: 1.3rem 1.45rem; border: 1px solid rgba(180,206,255,.12); border-radius: 18px; background: rgba(12,27,51,.54); box-shadow: inset 0 1px rgba(255,255,255,.035); }
.door-section::before { content: ""; position: absolute; left: -3.05rem; top: 2rem; width: 9px; height: 9px; border-radius: 50%; background: #c8f04a; box-shadow: 0 0 18px rgba(200,240,74,.72); }
.door-section h2 { font-family: var(--font-ui); font-weight: 750; letter-spacing: -.025em; }
.door-quote { border: 1px solid rgba(200,240,74,.28); border-radius: 18px; background: linear-gradient(135deg,rgba(36,87,255,.19),rgba(9,23,45,.85)); box-shadow: 0 22px 60px rgba(0,0,0,.2); }
.door-closing { padding: 1.5rem; border-top: 1px solid rgba(200,240,74,.32); border-bottom: 1px solid rgba(200,240,74,.32); }
.door-nav,.share-row a,.related-knowledge__item { border-color: rgba(180,206,255,.16); background: rgba(12,27,51,.68); }
.door-nav a:hover,.share-row a:hover { color: #c8f04a; }
.door-card,.gateway,.trust-item { border-color: rgba(180,206,255,.15); background: rgba(11,25,47,.72); box-shadow: inset 0 1px rgba(255,255,255,.04); }
.door-card:hover { border-color: rgba(200,240,74,.45); box-shadow: 0 22px 65px rgba(2,9,25,.5),0 0 34px rgba(200,240,74,.08); transform: translateY(-4px); }
.cta { background: radial-gradient(circle at 50% 45%,rgba(36,87,255,.38),transparent 28rem),#07101f; }
.cta .btn,.footer .btn { background: #c8f04a; color: #07101f; border-color: #c8f04a; }
.footer { background: #050b15; border-color: rgba(180,206,255,.15); }
.footer__logo { font-family: var(--font-ui); font-weight: 800; letter-spacing: -.03em; }
@media (max-width: 860px) {
  .door-content::before,.door-section::before { display: none; }
  .door-section { padding: 1.15rem; }
}
