:root {
  --navy-950: #030a13;
  --navy-900: #06111f;
  --navy-850: #08182a;
  --navy-800: #0c2037;
  --blue-700: #113552;
  --gold-500: #d6a84f;
  --gold-400: #f2cd78;
  --gold-300: #ffe5a4;
  --cream: #f6efdf;
  --cream-2: #fff9ec;
  --ink: #132033;
  --muted: #9baabd;
  --white: #f9fbff;
  --danger: #ffd4d4;
  --danger-bg: #3f1821;
  --success: #bbf7d0;
  --shadow: 0 20px 70px rgba(0, 0, 0, .35);
  --radius: 22px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--navy-950);
  color: var(--white);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
  overflow-x: hidden;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 15% 20%, rgba(29, 85, 126, .18), transparent 35%),
    radial-gradient(circle at 82% 12%, rgba(214, 168, 79, .11), transparent 25%),
    linear-gradient(180deg, rgba(4, 13, 24, .15), rgba(3, 10, 19, .9));
  z-index: -2;
}
.star-field {
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .75;
  z-index: -1;
  background-image:
    radial-gradient(circle, rgba(255,255,255,.7) 0 1px, transparent 1.5px),
    radial-gradient(circle, rgba(242,205,120,.55) 0 1px, transparent 1.5px),
    radial-gradient(circle, rgba(255,255,255,.25) 0 1px, transparent 1.5px);
  background-size: 110px 110px, 170px 170px, 70px 70px;
  background-position: 0 0, 30px 50px, 75px 15px;
}

img { max-width: 100%; display: block; }
a { color: inherit; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }

.shell { width: min(1240px, calc(100% - 40px)); margin-inline: auto; }
.section { padding: 110px 0; }
.eyebrow {
  margin: 0 0 12px;
  color: var(--gold-400);
  letter-spacing: .17em;
  font-size: .76rem;
  font-weight: 800;
}
h1, h2, h3, .brand strong {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 600;
}
h1 { font-size: clamp(3.3rem, 7vw, 6.9rem); line-height: .93; margin: 0 0 24px; letter-spacing: -.045em; }
h2 { font-size: clamp(2.3rem, 4vw, 4rem); line-height: 1.05; margin: 0 0 18px; letter-spacing: -.025em; }
h3 { font-size: 1.45rem; line-height: 1.18; }
p { color: #d7e0eb; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 30;
  height: 78px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 max(24px, calc((100vw - 1240px)/2));
  border-bottom: 1px solid rgba(242, 205, 120, .18);
  background: rgba(3, 10, 19, .78);
  backdrop-filter: blur(18px);
}
.brand { display: flex; align-items: center; gap: 13px; text-decoration: none; }
.brand-mark {
  width: 44px; height: 44px; border: 1px solid var(--gold-500); border-radius: 50%;
  display: grid; place-items: center; color: var(--gold-400); box-shadow: 0 0 24px rgba(214,168,79,.28);
}
.brand strong { display: block; color: var(--gold-300); letter-spacing: .08em; font-size: .96rem; }
.brand small { color: var(--muted); display: block; font-size: .72rem; letter-spacing: .07em; }
.site-header nav { display: flex; gap: 22px; align-items: center; }
.site-header nav a { text-decoration: none; color: #c4d0dc; font-size: .9rem; }
.site-header nav a:hover { color: var(--gold-300); }

.primary-button, .secondary-button, .ghost-button {
  border-radius: 999px;
  padding: 13px 22px;
  border: 1px solid transparent;
  font-weight: 750;
  text-decoration: none;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.primary-button {
  color: #111721;
  background: linear-gradient(135deg, var(--gold-300), var(--gold-500));
  box-shadow: 0 10px 30px rgba(214,168,79,.2);
}
.primary-button:hover, .secondary-button:hover, .ghost-button:hover { transform: translateY(-2px); }
.primary-button:disabled, .secondary-button:disabled { opacity: .45; cursor: not-allowed; transform: none; }
.secondary-button { color: var(--gold-300); border-color: rgba(242,205,120,.42); background: rgba(9,24,42,.65); }
.ghost-button { color: #cad6e2; border-color: rgba(255,255,255,.14); background: transparent; }
.compact { padding: 8px 15px; font-size: .85rem; }
.text-button { padding: 0; border: 0; background: none; color: var(--gold-400); font-weight: 750; }
.icon-button {
  width: 38px; height: 38px; border-radius: 50%; border: 1px solid rgba(255,255,255,.14);
  color: var(--gold-300); background: rgba(255,255,255,.03); font-size: 1.1rem;
}

.hero {
  min-height: calc(100vh - 78px);
  display: grid;
  grid-template-columns: 1.02fr .98fr;
  align-items: center;
  gap: 70px;
  padding-block: 70px 90px;
}
.hero-copy { max-width: 670px; }
.hero h1 {
  background: linear-gradient(180deg, #fff9e3 0%, #f2d384 48%, #b97b22 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  text-shadow: 0 8px 30px rgba(214,168,79,.13);
}
.hero-lede { font-size: 1.18rem; max-width: 650px; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 34px; }
.privacy-note { display: flex; gap: 9px; color: var(--muted); font-size: .85rem; margin-top: 24px; }
.privacy-note span:first-child { color: #86efac; }

.hero-visual {
  position: relative;
  min-height: 690px;
  display: grid;
  place-items: center;
  isolation: isolate;
}
.hero-visual::before {
  content: "";
  position: absolute;
  width: 520px; height: 520px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(242,205,120,.19), rgba(15,54,84,.18) 38%, transparent 70%);
  filter: blur(5px);
}
.orbit { position: absolute; border: 1px solid rgba(242,205,120,.24); border-radius: 50%; }
.orbit-one { width: 530px; height: 530px; animation: spin 80s linear infinite; }
.orbit-two { width: 420px; height: 600px; transform: rotate(27deg); animation: pulse 5s ease-in-out infinite; }
.orbit::before, .orbit::after { content:""; position:absolute; width:8px; height:8px; border-radius:50%; background:var(--gold-300); box-shadow:0 0 18px var(--gold-400); }
.orbit::before { top: 18%; left: 4%; }
.orbit::after { right: 8%; bottom: 17%; }
.divine-ring { position: absolute; width: 570px; height: 570px; }
.divine-ring span {
  --angle: calc(var(--i) * 51.428deg - 90deg);
  position: absolute; left: 50%; top: 50%;
  transform: rotate(var(--angle)) translateX(255px) rotate(calc(var(--angle) * -1));
  transform-origin: 0 0;
  min-width: 86px; text-align: center; padding: 8px 10px;
  border-radius: 999px; border: 1px solid rgba(242,205,120,.65);
  color: var(--gold-300); background: rgba(5,17,30,.88); font-family: Georgia, serif; font-size: .78rem;
  box-shadow: 0 0 25px rgba(214,168,79,.14);
}
.light-body { position: relative; width: 245px; height: 510px; filter: drop-shadow(0 0 18px rgba(162,210,255,.36)); }
.head-light { position:absolute; left:88px; top:8px; width:70px; height:86px; border:2px solid #d9efff; border-radius:45% 45% 42% 42%; background:radial-gradient(circle at 50% 45%, rgba(255,229,164,.9) 0 3px, rgba(75,153,209,.12) 35%, transparent 62%); box-shadow: inset 0 0 26px rgba(112,194,255,.3); }
.torso-light { position:absolute; left:58px; top:92px; width:130px; height:220px; border:2px solid #d9efff; border-radius:42% 42% 28% 28% / 18% 18% 62% 62%; background:linear-gradient(90deg, transparent, rgba(69,154,212,.15), transparent); }
.arm-light { position:absolute; top:112px; width:36px; height:260px; border:2px solid #d9efff; border-radius:30px; }
.arm-light.left { left:28px; transform:rotate(8deg); }
.arm-light.right { right:26px; transform:rotate(-8deg); }
.leg-light { position:absolute; top:290px; width:49px; height:215px; border:2px solid #d9efff; border-radius:30px 30px 17px 17px; }
.leg-light.left { left:67px; transform:rotate(1deg); }
.leg-light.right { right:65px; transform:rotate(-1deg); }
.heart-light { position:absolute; left:104px; top:151px; width:38px; height:38px; border-radius:50%; background:#fff4ca; box-shadow:0 0 18px 7px rgba(255,214,107,.62),0 0 60px 20px rgba(214,168,79,.35); animation:pulse 2.8s ease-in-out infinite; z-index:2; }
.body-grid { position:absolute; inset:17px 34px 0; background-image:linear-gradient(rgba(242,205,120,.22) 1px, transparent 1px),linear-gradient(90deg,rgba(242,205,120,.15) 1px,transparent 1px); background-size:22px 22px; mask-image:radial-gradient(ellipse at center,#000 35%,transparent 78%); }
.hero-caption { position:absolute; bottom:0; color:var(--gold-300); font-family:Georgia,serif; font-style:italic; letter-spacing:.04em; }

.principle-band { border-block:1px solid rgba(242,205,120,.18); background:linear-gradient(90deg,rgba(10,31,51,.72),rgba(5,17,30,.92),rgba(10,31,51,.72)); }
.principle-grid { display:grid; grid-template-columns:repeat(5,1fr); min-height:120px; }
.principle-grid > div { display:flex; align-items:center; gap:13px; padding:22px; border-right:1px solid rgba(255,255,255,.08); }
.principle-grid > div:last-child { border-right:0; }
.principle-grid span { width:37px; height:37px; flex:0 0 auto; border-radius:50%; display:grid; place-items:center; border:1px solid var(--gold-500); color:var(--gold-300); font-family:Georgia,serif; }
.principle-grid p { margin:0; font-size:.87rem; color:#aebdcb; }
.principle-grid strong { color:#f7e6b5; font-size:1rem; }

.section-heading { max-width:820px; margin-bottom:50px; }
.centered { text-align:center; margin-inline:auto; }
.centered p:last-child { max-width:760px; margin-inline:auto; }
.split-heading { max-width:none; display:grid; grid-template-columns:1.05fr .95fr; gap:60px; align-items:end; }
.split-heading p:last-child { font-size:1.08rem; }

.treatment-app {
  display:grid;
  grid-template-columns:210px minmax(0,1fr) 300px;
  min-height:720px;
  border:1px solid rgba(242,205,120,.35);
  border-radius:28px;
  overflow:hidden;
  background:rgba(5,16,29,.93);
  box-shadow:var(--shadow), inset 0 0 80px rgba(32,87,126,.08);
}
.step-rail { position:relative; padding:26px 18px; background:linear-gradient(180deg,#071525,#091a2d); border-right:1px solid rgba(255,255,255,.08); }
.rail-progress { position:absolute; left:38px; top:54px; bottom:55px; width:2px; background:rgba(255,255,255,.08); }
.rail-progress span { display:block; width:100%; height:0; background:linear-gradient(var(--gold-300),var(--gold-500)); box-shadow:0 0 9px rgba(242,205,120,.4); transition:height .4s ease; }
.rail-step { position:relative; z-index:1; width:100%; display:flex; align-items:center; gap:12px; border:0; background:transparent; color:#8495a7; text-align:left; padding:9px 0; }
.rail-step b { width:42px; height:42px; display:grid; place-items:center; flex:0 0 auto; border-radius:50%; background:#0a1e34; border:1px solid rgba(255,255,255,.12); font-family:Georgia,serif; }
.rail-step span { font-size:.82rem; }
.rail-step.active, .rail-step.complete { color:#f7e3ab; }
.rail-step.active b { border-color:var(--gold-400); background:rgba(214,168,79,.16); box-shadow:0 0 18px rgba(214,168,79,.18); }
.rail-step.complete b { background:var(--gold-500); color:#101722; border-color:var(--gold-300); }

.session-stage { min-width:0; padding:26px 32px 28px; display:flex; flex-direction:column; }
.session-toolbar { display:flex; align-items:center; justify-content:space-between; min-height:40px; margin-bottom:20px; }
.session-toolbar > div { display:flex; gap:8px; }
.session-status { color:#aebdcb; font-size:.8rem; }
.session-status i { display:inline-block; width:7px; height:7px; border-radius:50%; background:#63e6a5; box-shadow:0 0 10px #63e6a5; margin-right:7px; }
#stageContent { flex:1; }
.stage-kicker { color:var(--gold-400); font-size:.74rem; font-weight:800; letter-spacing:.13em; }
.stage-title { font-size:clamp(2rem,3.3vw,3.4rem); margin:10px 0 16px; }
.stage-intro { max-width:700px; font-size:1.04rem; }
.form-field { display:block; margin-top:26px; }
.form-field > span { display:block; margin-bottom:9px; color:#f6e5b6; font-weight:700; }
.form-field textarea, .form-field input, .form-field select {
  width:100%; color:#eff6ff; background:#071727; border:1px solid rgba(255,255,255,.13); border-radius:14px; padding:15px 16px; outline:none;
}
.form-field textarea { min-height:124px; resize:vertical; }
.form-field textarea:focus, .form-field input:focus, .form-field select:focus { border-color:var(--gold-500); box-shadow:0 0 0 3px rgba(214,168,79,.09); }
.chip-row { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.issue-chip { border:1px solid rgba(255,255,255,.13); color:#bbcad9; background:#081b2e; border-radius:999px; padding:8px 13px; font-size:.79rem; }
.issue-chip.active { color:#142033; background:var(--gold-300); border-color:var(--gold-300); }
.rating-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:26px; }
.rating-card { border:1px solid rgba(255,255,255,.1); border-radius:14px; padding:14px; background:rgba(255,255,255,.025); }
.rating-card label { display:flex; justify-content:space-between; gap:10px; color:#c6d2df; font-size:.82rem; }
.rating-card output { color:var(--gold-300); font-weight:800; }
.rating-card input { width:100%; accent-color:var(--gold-500); margin-top:12px; }
.guidance-card { margin-top:24px; border:1px solid rgba(242,205,120,.24); background:linear-gradient(135deg,rgba(214,168,79,.08),rgba(14,45,69,.2)); border-radius:18px; padding:22px; }
.guidance-card h3 { color:#f5dda0; margin:0 0 8px; }
.guidance-card p:last-child { margin-bottom:0; }
.truth-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:13px; margin-top:24px; }
.truth-option { border:1px solid rgba(255,255,255,.1); background:#081a2d; border-radius:16px; padding:16px; text-align:left; color:#d5e0ea; }
.truth-option strong { display:block; color:#f1d58c; margin-bottom:4px; font-family:Georgia,serif; font-size:1.08rem; }
.truth-option.active { border-color:var(--gold-400); background:rgba(214,168,79,.12); }
.statement-box { margin-top:22px; border:1px solid rgba(242,205,120,.35); border-radius:18px; padding:22px; background:#fbf4e3; color:var(--ink); }
.statement-box .mini-label { color:#8f6321; }
.statement-box blockquote { font-family:Georgia,serif; font-size:1.35rem; line-height:1.45; margin:8px 0 0; }
.statement-box textarea { width:100%; min-height:180px; border:1px solid rgba(19,32,51,.16); border-radius:12px; padding:14px; background:#fffaf0; color:var(--ink); }
.mains-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:13px; margin-top:25px; }
.main-card { border:1px solid rgba(255,255,255,.1); border-radius:16px; padding:18px; background:rgba(255,255,255,.025); }
.main-card span { display:grid; place-items:center; width:34px; height:34px; border:1px solid var(--gold-500); border-radius:50%; color:var(--gold-300); margin-bottom:12px; }
.main-card strong { color:#f4dfaa; }
.journal-box { margin-top:18px; }
.demonstration-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:20px; margin-top:24px; }
.measure-card, .report-card { border:1px solid rgba(255,255,255,.1); border-radius:18px; padding:20px; background:rgba(255,255,255,.025); }
.metric-row { margin:13px 0; }
.metric-label { display:flex; justify-content:space-between; color:#cbd7e2; font-size:.82rem; }
.metric-bars { display:grid; grid-template-columns:1fr 1fr; gap:6px; margin-top:6px; }
.metric-bar { height:8px; background:#10243a; border-radius:999px; overflow:hidden; }
.metric-bar span { display:block; height:100%; border-radius:inherit; }
.metric-bar.before span { background:#7a8794; }
.metric-bar.after span { background:linear-gradient(90deg,var(--gold-500),var(--gold-300)); }
.report-card h3 { margin-top:4px; color:#f5dda0; }
.delta-badge { display:inline-flex; border:1px solid rgba(134,239,172,.4); color:var(--success); background:rgba(22,101,52,.15); border-radius:999px; padding:7px 10px; font-size:.8rem; }
.stage-navigation { margin-top:24px; padding-top:20px; border-top:1px solid rgba(255,255,255,.08); display:flex; justify-content:space-between; align-items:center; }
.step-counter { color:#8898a9; font-size:.82rem; }
.safety-banner { margin:0 0 20px; border:1px solid rgba(255,212,212,.35); background:var(--danger-bg); color:var(--danger); padding:14px 16px; border-radius:13px; }
.hidden { display:none !important; }

.live-card { padding:28px 24px; border-left:1px solid rgba(255,255,255,.08); background:linear-gradient(180deg,#0b1d31,#071421); }
.mini-label { color:var(--gold-400); font-weight:800; letter-spacing:.12em; font-size:.68rem; margin:0 0 8px; }
.live-card h3 { margin:0 0 22px; color:#f8e9bc; }
.live-card dl { margin:0; }
.live-card dl div { padding:12px 0; border-top:1px solid rgba(255,255,255,.08); }
.live-card dt { color:#74889b; font-size:.71rem; text-transform:uppercase; letter-spacing:.08em; }
.live-card dd { margin:3px 0 0; color:#e3eaf1; font-size:.88rem; }
.statement-preview { border:1px solid rgba(242,205,120,.23); border-radius:14px; padding:14px; margin-top:20px; background:rgba(214,168,79,.06); }
.statement-preview span { color:#9babba; font-size:.7rem; text-transform:uppercase; letter-spacing:.07em; }
.statement-preview p { color:#f3e3b2; font-family:Georgia,serif; font-size:.95rem; }
.quiet-timer { display:flex; align-items:center; gap:12px; margin-top:22px; }
.timer-ring { --progress:0deg; width:68px; height:68px; border-radius:50%; display:grid; place-items:center; flex:0 0 auto; background:conic-gradient(var(--gold-400) var(--progress),rgba(255,255,255,.08) 0); position:relative; }
.timer-ring::before { content:""; position:absolute; inset:5px; border-radius:50%; background:#09192a; }
.timer-ring span { position:relative; z-index:1; font-family:Georgia,serif; color:#f5dda0; }
.quiet-timer strong { color:#dce5ee; font-size:.86rem; }
.quiet-timer p { margin:1px 0 4px; font-size:.72rem; color:#8293a5; }
.quiet-timer .text-button { font-size:.74rem; }

.explorer-section { background:linear-gradient(180deg,rgba(9,29,48,.4),rgba(3,10,19,.25)); border-block:1px solid rgba(255,255,255,.05); }
.explorer-layout { display:grid; grid-template-columns:390px minmax(0,1fr); gap:34px; }
.poster-window { position:sticky; top:105px; align-self:start; border:1px solid rgba(242,205,120,.3); border-radius:22px; padding:12px; background:#071524; box-shadow:var(--shadow); }
.poster-window img { border-radius:13px; width:100%; max-height:690px; object-fit:cover; object-position:top; }
.poster-window > button { width:100%; margin-top:12px; }
.poster-tabs { display:flex; gap:6px; margin-bottom:12px; background:rgba(3,10,19,.55); border:1px solid rgba(255,255,255,.08); border-radius:13px; padding:4px; }
.poster-tab { flex:1; border:0; background:transparent; color:#a9b8c9; font-size:.82rem; font-weight:700; padding:9px 10px; border-radius:10px; letter-spacing:.02em; }
.poster-tab:hover { color:var(--gold-300); }
.poster-tab.active { color:#142033; background:linear-gradient(135deg,var(--gold-300),var(--gold-500)); box-shadow:0 4px 14px rgba(214,168,79,.25); }
.explorer-panel { min-width:0; }
.search-row { display:grid; grid-template-columns:minmax(0,1fr) 220px; gap:10px; margin-bottom:16px; }
.search-box { display:flex; align-items:center; gap:10px; border:1px solid rgba(255,255,255,.13); border-radius:13px; background:#071727; padding:0 14px; }
.search-box span { color:var(--gold-400); font-size:1.2rem; }
.search-box input { width:100%; border:0; background:transparent; color:white; padding:14px 0; outline:none; }
.search-row select { color:#dce6ef; background:#071727; border:1px solid rgba(255,255,255,.13); border-radius:13px; padding:0 13px; }
.mapping-results { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; max-height:690px; overflow:auto; padding-right:5px; }
.mapping-card { color:#dce5ed; border:1px solid rgba(255,255,255,.09); background:rgba(8,26,45,.76); border-radius:16px; padding:16px; text-align:left; transition:.2s ease; }
.mapping-card:hover { border-color:rgba(242,205,120,.55); transform:translateY(-2px); background:rgba(16,46,72,.8); }
.mapping-card .mapping-group { display:block; color:#8093a5; font-size:.65rem; text-transform:uppercase; letter-spacing:.08em; }
.mapping-card strong { display:block; color:#f3dca1; font-family:Georgia,serif; font-size:1.1rem; margin:5px 0; }
.mapping-card p { font-size:.8rem; margin:0 0 10px; }
.mapping-card small { color:var(--gold-400); }

.method-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.method-grid article { padding:24px; border:1px solid rgba(255,255,255,.09); border-radius:18px; background:linear-gradient(145deg,rgba(10,31,51,.76),rgba(5,17,30,.7)); }
.method-grid article > span { color:var(--gold-500); font-family:Georgia,serif; font-size:1.05rem; }
.method-grid h3 { color:#f4dda2; margin:11px 0 7px; }
.method-grid p { font-size:.9rem; margin:0; }
.comparison-card { margin-top:20px; border:1px solid rgba(242,205,120,.3); border-radius:22px; padding:28px; display:grid; grid-template-columns:.7fr 1.3fr; gap:35px; background:linear-gradient(135deg,rgba(214,168,79,.08),rgba(10,31,51,.7)); }
.comparison-card h3 { margin:3px 0; font-size:1.8rem; }
.barrel-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.barrel-grid > div { padding:18px; border-radius:14px; background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.08); }
.barrel-grid strong { color:var(--gold-300); }
.barrel-grid ul { padding-left:20px; margin-bottom:0; color:#cbd6e0; font-size:.86rem; }

.poster-section { background:linear-gradient(180deg,rgba(5,17,30,.8),rgba(9,29,48,.45)); }
.poster-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.poster-grid article { display:grid; grid-template-columns:210px 1fr; gap:22px; border:1px solid rgba(242,205,120,.25); border-radius:22px; padding:14px; background:#071626; }
.poster-grid img { width:100%; height:300px; object-fit:cover; object-position:top; border-radius:13px; }
.poster-grid article > div { align-self:center; }
.poster-grid h3 { color:#f3dba0; font-size:1.7rem; margin-bottom:8px; }
.source-card { display:grid; grid-template-columns:.8fr 1.2fr; gap:50px; border:1px solid rgba(255,255,255,.1); padding:35px; border-radius:24px; background:rgba(8,24,42,.7); }
.source-card p:last-child { margin:0; align-self:center; }
footer { border-top:1px solid rgba(242,205,120,.18); padding:32px 0; background:#030a13; }
.footer-grid { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.footer-grid strong { color:var(--gold-300); font-family:Georgia,serif; letter-spacing:.08em; }
.footer-grid p { margin:4px 0 0; font-size:.82rem; color:#8999a9; }
.footer-grid a { color:#c8aa67; }

.poster-dialog, .history-dialog, .video-dialog { border:1px solid rgba(242,205,120,.35); border-radius:22px; padding:0; background:#05111f; color:white; box-shadow:var(--shadow); }
.poster-dialog { width:min(96vw,1000px); max-height:94vh; overflow:auto; }
.poster-dialog::backdrop, .history-dialog::backdrop, .video-dialog::backdrop { background:rgba(0,0,0,.8); backdrop-filter:blur(7px); }
.poster-dialog img { width:100%; }
.dialog-close { position:sticky; float:right; top:12px; right:12px; z-index:2; width:42px; height:42px; border-radius:50%; border:1px solid rgba(255,255,255,.18); background:rgba(3,10,19,.8); color:white; font-size:1.5rem; }
.history-dialog { width:min(92vw,800px); padding:28px; }
.video-dialog { width:min(92vw,960px); padding:28px; }
.video-dialog .dialog-header { margin-bottom:18px; }
.video-embed { border-radius:16px; overflow:hidden; border:1px solid rgba(255,255,255,.08); }
.dialog-header { display:flex; justify-content:space-between; align-items:flex-start; }
.dialog-header h2 { font-size:2.4rem; }
.history-list { display:grid; gap:12px; max-height:55vh; overflow:auto; }
.history-item { border:1px solid rgba(255,255,255,.1); border-radius:15px; padding:15px; background:rgba(255,255,255,.025); }
.history-item header { display:flex; justify-content:space-between; gap:12px; }
.history-item strong { color:#f4dda2; }
.history-item small { color:#8293a4; }
.history-item p { font-size:.85rem; margin:8px 0 0; }
.dialog-actions { margin-top:20px; display:flex; justify-content:flex-end; }

@media (max-width: 780px) {
  .video-dialog { width:100%; height:100%; max-width:none; max-height:none; border-radius:0; padding:22px; }
  .video-dialog .dialog-header h2 { font-size:1.7rem; }
}

.reveal { opacity:0; transform:translateY(22px); transition:opacity .8s ease, transform .8s ease; }
.reveal.visible { opacity:1; transform:none; }
.delay-1 { transition-delay:.12s; }
.delay-2 { transition-delay:.22s; }

@keyframes spin { to { transform:rotate(360deg); } }
@keyframes pulse { 0%,100% { opacity:.72; transform:scale(1); } 50% { opacity:1; transform:scale(1.025); } }

@media (max-width: 1080px) {
  .site-header nav a { display:none; }
  .hero { grid-template-columns:1fr; text-align:center; }
  .hero-copy { margin-inline:auto; }
  .hero-actions, .privacy-note { justify-content:center; }
  .hero-visual { min-height:620px; overflow:hidden; }
  .treatment-app { grid-template-columns:170px minmax(0,1fr); }
  .live-card { grid-column:1 / -1; border-left:0; border-top:1px solid rgba(255,255,255,.08); display:grid; grid-template-columns:1fr 1fr; gap:18px; }
  .live-card .mini-label, .live-card h3 { grid-column:1 / -1; }
  .explorer-layout { grid-template-columns:320px 1fr; }
  .method-grid { grid-template-columns:repeat(2,1fr); }
}

@media (min-width: 781px) and (max-width: 1080px) {
  .principle-grid { grid-template-columns:repeat(2,1fr); }
  .principle-grid > div { border-right:1px solid rgba(255,255,255,.08); border-bottom:1px solid rgba(255,255,255,.06); }
  .principle-grid > div:nth-child(2n) { border-right:0; }
  .principle-grid > div:nth-last-child(-n+1) { border-bottom:0; }
}

@media (max-width: 780px) {
  .shell { width:min(100% - 24px,1240px); }
  .section { padding:80px 0; }
  .brand small { display:none; }
  .brand strong { font-size:.78rem; }
  .brand-mark { width:38px; height:38px; }
  .site-header { padding-inline:14px; height:72px; }
  .site-header nav { gap:8px; }
  .site-header .secondary-button.compact, .site-header .ghost-button.compact { padding:8px 12px; font-size:.76rem; }
  h1 { font-size:3.8rem; }
  .hero { min-height:auto; padding-top:80px; }
  .hero-visual { min-height:560px; scale:.9; transform-origin:center top; margin-inline:0; overflow:visible; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; position:relative; }
  .hero-visual::before, .orbit, .divine-ring { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); }
  .orbit-one { width:500px; height:500px; animation:none; }
  .orbit-two { width:390px; height:560px; transform:translate(-50%,-50%) rotate(27deg); animation:none; }
  .light-body { transform:scale(.78); transform-origin:center center; position:relative; z-index:1; }
  .divine-ring { width:560px; height:560px; }
  .divine-ring span { transform:rotate(var(--angle)) translateX(220px) rotate(calc(var(--angle) * -1)); }
  .hero-caption { position:static; margin-top:22px; text-align:center; max-width:320px; margin-inline:auto; line-height:1.2; }
  .principle-grid { grid-template-columns:1fr; padding:8px 0; }
  .principle-grid > div { border-right:0; border-bottom:1px solid rgba(255,255,255,.06); }
  .split-heading { grid-template-columns:1fr; gap:12px; }
  .treatment-app { grid-template-columns:1fr; }
  .step-rail { display:flex; overflow:auto; border-right:0; border-bottom:1px solid rgba(255,255,255,.08); padding:12px; }
  .rail-progress { display:none; }
  .step-rail { gap:6px; }
  .rail-step { width:auto; flex-direction:column; flex:0 0 auto; min-width:62px; max-width:62px; gap:4px; padding:6px 4px; }
  .rail-step b { width:34px; height:34px; }
  .rail-step span { font-size:.62rem; text-align:center; line-height:1.2; white-space:normal; overflow-wrap:break-word; hyphens:auto; }
  .session-stage { padding:22px 18px; }
  .live-card { display:block; }
  .rating-grid, .truth-grid, .mains-grid, .demonstration-grid { grid-template-columns:1fr; }
  .explorer-layout { grid-template-columns:1fr; }
  .poster-window { position:relative; top:auto; }
  .poster-window img { max-height:520px; }
  .poster-tab { font-size:.74rem; padding:8px 6px; }
  .search-row { grid-template-columns:1fr; }
  .mapping-results { grid-template-columns:1fr; max-height:650px; }
  .method-grid, .poster-grid { grid-template-columns:1fr; }
  .comparison-card, .source-card { grid-template-columns:1fr; }
  .barrel-grid { grid-template-columns:1fr; }
  .poster-grid article { grid-template-columns:130px 1fr; }
  .poster-grid img { height:230px; }
  .footer-grid { flex-direction:column; text-align:center; }
}

@media (max-width: 520px) {
  .hero-visual { min-height:490px; scale:1; }
  .light-body { transform:scale(.6); }
  .divine-ring { width:440px; height:440px; }
  .divine-ring span {
    min-width:62px;
    padding:5px 7px;
    font-size:.64rem;
    transform:rotate(var(--angle)) translateX(140px) rotate(calc(var(--angle) * -1));
  }
  .orbit-one { width:380px; height:380px; }
  .orbit-two { width:300px; height:430px; }
  .hero-visual::before { width:400px; height:400px; }
  .hero-caption { max-width:290px; font-size:.92rem; }
}

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