:root {
  --ink: #061416;
  --ink-2: #0a2022;
  --teal: #0e3434;
  --teal-light: #2bb9aa;
  --gold: #efb75d;
  --gold-light: #ffd98c;
  --cream: #f7f0df;
  --white: #fffdf7;
  --muted: #aabdb9;
  --line: rgba(255, 255, 255, 0.11);
  --line-gold: rgba(239, 183, 93, 0.26);
  --shadow: 0 28px 80px rgba(0, 0, 0, 0.34);
  --radius: 24px;
  --serif: Georgia, "Times New Roman", serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { margin: 0; color: var(--cream); background: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
body::before { content: ""; position: fixed; inset: 0; z-index: -3; pointer-events: none; background: radial-gradient(circle at 72% 14%, rgba(28, 120, 112, 0.13), transparent 30%), radial-gradient(circle at 15% 55%, rgba(239, 183, 93, 0.06), transparent 28%); }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
svg { display: block; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { color: var(--white); line-height: 1.08; letter-spacing: -0.035em; }
h1 { max-width: 780px; margin-bottom: 26px; font-family: var(--serif); font-size: clamp(3.5rem, 6.2vw, 6.8rem); font-weight: 500; }
h1 em { display: block; color: var(--gold-light); font-weight: 500; }
h2 { margin-bottom: 22px; font-family: var(--serif); font-size: clamp(2.4rem, 4vw, 4.25rem); font-weight: 500; }
h3 { margin-bottom: 12px; font-size: 1.28rem; }
p { color: var(--muted); }
.container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.section { position: relative; padding: 122px 0; overflow: clip; }
.skip-link { position: fixed; top: 10px; left: 10px; z-index: 2000; padding: 10px 16px; color: var(--ink); background: var(--gold-light); border-radius: 8px; transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid var(--gold-light); outline-offset: 4px; }

.site-header { position: fixed; inset: 0 0 auto; z-index: 1000; padding: 16px 0; border-bottom: 1px solid transparent; transition: 180ms ease; }
.site-header.is-scrolled { padding: 10px 0; border-color: var(--line); background: rgba(6, 20, 22, 0.88); box-shadow: 0 14px 45px rgba(0, 0, 0, 0.22); backdrop-filter: blur(18px); }
.nav-wrap { width: min(1320px, calc(100% - 40px)); margin: auto; display: flex; align-items: center; gap: 26px; }
.brand { display: inline-flex; align-items: center; gap: 11px; flex: 0 0 auto; color: var(--cream); font-size: 1.03rem; letter-spacing: -0.02em; }
.brand img { width: 44px; height: 44px; filter: drop-shadow(0 10px 20px rgba(239, 183, 93, 0.14)); }
.brand strong { display: block; color: var(--white); font-size: 1.08rem; line-height: 1; }
.primary-nav { display: flex; align-items: center; justify-content: center; gap: 25px; margin-left: auto; }
.primary-nav a { position: relative; color: #c0cfcc; font-size: 0.84rem; font-weight: 650; }
.primary-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -8px; height: 2px; background: var(--gold); transition: right 180ms ease; }
.primary-nav a:hover { color: var(--white); }
.primary-nav a:hover::after { right: 0; }
.nav-actions { display: flex; align-items: center; gap: 9px; margin-left: 8px; }
.nav-toggle { display: none; width: 46px; height: 46px; margin-left: auto; position: relative; color: var(--cream); background: rgba(255,255,255,.04); border: 1px solid var(--line); border-radius: 12px; }
.nav-toggle span { position: absolute; left: 12px; right: 12px; height: 2px; background: currentColor; transition: 180ms ease; }
.nav-toggle span:nth-child(1) { top: 14px; }.nav-toggle span:nth-child(2) { top: 21px; }.nav-toggle span:nth-child(3) { top: 28px; }
.nav-toggle.is-open span:nth-child(1) { top: 21px; transform: rotate(45deg); }.nav-toggle.is-open span:nth-child(2) { opacity: 0; }.nav-toggle.is-open span:nth-child(3) { top: 21px; transform: rotate(-45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(1) { top: 21px; transform: rotate(45deg); }.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }.nav-toggle[aria-expanded="true"] span:nth-child(3) { top: 21px; transform: rotate(-45deg); }
.nav-toggle[aria-expanded="true"] span { display: none; }.nav-toggle[aria-expanded="true"]::before { content: "×"; position: absolute; inset: 0; display: grid; place-items: center; font-size: 2rem; font-weight: 300; line-height: 1; }
.mobile-download { display: none; }

.button { min-height: 52px; padding: 0 23px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; border: 1px solid transparent; border-radius: 11px; font-size: 0.9rem; font-weight: 800; letter-spacing: -0.01em; transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease; }
.button svg { width: 19px; }
.button:hover { transform: translateY(-2px); }
.button-small { min-height: 42px; padding-inline: 16px; font-size: 0.77rem; }
.button-gold { color: #10201e; background: linear-gradient(135deg, var(--gold-light), var(--gold)); box-shadow: 0 12px 34px rgba(239, 183, 93, 0.18); }
.button-gold:hover { box-shadow: 0 16px 40px rgba(239, 183, 93, 0.28); }
.button-ghost { color: var(--cream); border-color: var(--line); background: rgba(255,255,255,.035); }
.button-ghost:hover { border-color: rgba(255,255,255,.24); background: rgba(255,255,255,.07); }
.button-cream { color: var(--ink); background: var(--cream); }
.eyebrow { display: flex; align-items: center; gap: 10px; margin-bottom: 20px; color: var(--gold-light); font-size: 0.73rem; font-weight: 800; letter-spacing: 0.15em; text-transform: uppercase; }
.eyebrow > span { width: 25px; height: 1px; background: var(--gold); box-shadow: 0 0 16px rgba(239,183,93,.75); }

.hero { position: relative; min-height: 880px; padding: 165px 0 100px; overflow: hidden; isolation: isolate; }
.hero::before { content: ""; position: absolute; inset: 0; z-index: -3; background: linear-gradient(90deg, rgba(6,20,22,.98) 0%, rgba(6,20,22,.9) 39%, rgba(6,20,22,.56) 70%, rgba(6,20,22,.88) 100%), url("/assets/worship-light.webp") center 20% / cover no-repeat; opacity: .84; }
.hero::after { content: ""; position: absolute; inset: auto 0 0; z-index: -1; height: 280px; background: linear-gradient(transparent, var(--ink)); }
.hero-light { position: absolute; top: -300px; left: 58%; width: 520px; height: 960px; z-index: -2; opacity: .5; transform: rotate(7deg); background: linear-gradient(180deg, rgba(255,225,160,.26), transparent 75%); filter: blur(30px); clip-path: polygon(42% 0, 58% 0, 100% 100%, 0 100%); }
.hero-grid { display: grid; grid-template-columns: .86fr 1.14fr; align-items: center; gap: 66px; }
.hero-copy { position: relative; z-index: 2; padding-top: 25px; }
.hero-lede { max-width: 665px; margin-bottom: 32px; color: #c7d4d0; font-size: clamp(1.04rem, 1.5vw, 1.2rem); line-height: 1.78; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-note { display: flex; align-items: center; gap: 9px; margin: 25px 0 0; color: #9fb4af; font-size: .83rem; }
.hero-note span { color: var(--gold); }
.hero-visual { position: relative; min-height: 580px; margin-right: -160px; }
.window-card { position: absolute; overflow: hidden; background: #0b1417; border: 1px solid rgba(255,255,255,.16); border-radius: 14px; box-shadow: var(--shadow); }
.window-bar { height: 34px; display: flex; align-items: center; gap: 6px; padding: 0 12px; color: #8fa3a0; background: #111b1e; border-bottom: 1px solid rgba(255,255,255,.08); font-size: .62rem; }
.window-bar i { width: 7px; height: 7px; border-radius: 50%; background: #566361; }
.window-bar i:first-child { background: #ef7b69; }.window-bar i:nth-child(2) { background: #efb75d; }.window-bar i:nth-child(3) { background: #2bb9aa; }
.window-bar span { margin-left: 6px; }
.controller-window { top: 16px; left: 0; width: min(820px, 92%); transform: perspective(1400px) rotateY(-4deg) rotateX(1deg); }
.stage-window { right: 0; bottom: 20px; width: min(510px, 63%); border-color: var(--line-gold); }
.hero-badge { position: absolute; left: -34px; bottom: 82px; z-index: 3; padding: 14px 18px; display: grid; color: var(--ink); background: linear-gradient(135deg, #ffe0a0, var(--gold)); border-radius: 12px; box-shadow: 0 16px 40px rgba(0,0,0,.35); }
.hero-badge strong { font-size: .83rem; }.hero-badge span { font-size: .67rem; opacity: .7; }

.proof-strip { position: relative; z-index: 2; border-block: 1px solid var(--line); background: rgba(10,32,34,.74); }
.proof-grid { min-height: 112px; display: grid; grid-template-columns: repeat(5, 1fr); align-items: center; }
.proof-grid > div { min-width: 0; padding: 0 22px; display: flex; align-items: center; gap: 13px; border-right: 1px solid var(--line); }
.proof-grid > div:first-child { padding-left: 0; }.proof-grid > div:last-child { padding-right: 0; border: 0; }
.proof-grid svg { width: 27px; flex: 0 0 auto; color: var(--gold); }
.proof-grid span { min-width: 0; color: #8fa5a1; font-size: .67rem; line-height: 1.45; }
.proof-grid strong { display: block; overflow: hidden; color: var(--white); font-size: .82rem; text-overflow: ellipsis; white-space: nowrap; }

.section-heading { max-width: 710px; margin-bottom: 54px; }
.section-heading.centered { margin-inline: auto; text-align: center; }
.section-heading.centered .eyebrow { justify-content: center; }
.section-heading > p:last-child { max-width: 620px; font-size: 1.05rem; }
.section-heading.centered > p:last-child { margin-inline: auto; }
.features-section { background: linear-gradient(180deg, var(--ink), #081a1c 55%, var(--ink)); }
.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.feature-card { position: relative; min-height: 310px; padding: 30px; overflow: hidden; background: linear-gradient(145deg, rgba(255,255,255,.05), rgba(255,255,255,.018)); border: 1px solid var(--line); border-radius: 18px; transition: transform 200ms ease, border-color 200ms ease, background 200ms ease; }
.feature-card::after { content: ""; position: absolute; right: -80px; bottom: -90px; width: 180px; height: 180px; border-radius: 50%; background: rgba(43,185,170,.06); filter: blur(4px); }
.feature-card:hover { transform: translateY(-5px); border-color: var(--line-gold); background: linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.024)); }
.feature-card p { position: relative; z-index: 1; margin: 0; font-size: .92rem; }
.feature-wide { min-height: 250px; grid-column: span 3; display: grid; grid-template-columns: auto minmax(0, 1fr) 210px; align-items: center; gap: 26px; border-color: rgba(239,183,93,.2); background: linear-gradient(110deg, rgba(239,183,93,.07), rgba(43,185,170,.05)); }
.feature-wide h3 { max-width: 540px; font-family: var(--serif); font-size: 2rem; font-weight: 500; }
.feature-wide p { max-width: 620px; }
.feature-icon, .step-icon { width: 54px; height: 54px; margin-bottom: 44px; display: grid; place-items: center; color: var(--gold-light); background: rgba(239,183,93,.09); border: 1px solid rgba(239,183,93,.18); border-radius: 14px; }
.feature-icon svg, .step-icon svg { width: 25px; height: 25px; }
.feature-wide .feature-icon { width: 72px; height: 72px; margin: 0; }
.card-kicker { display: block; margin-bottom: 11px; color: var(--teal-light); font-size: .69rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.scripture-chip { padding: 19px; display: grid; background: #071416; border: 1px solid var(--line); border-radius: 14px; box-shadow: inset 0 1px rgba(255,255,255,.03); }
.scripture-chip small { color: var(--muted); }.scripture-chip strong { margin: 7px 0; color: var(--cream); font-family: var(--serif); font-size: 1.55rem; }.scripture-chip span { color: var(--gold); font-size: .75rem; }

.operator-section::before { content: ""; position: absolute; inset: 0 56% 0 0; background: linear-gradient(90deg, rgba(43,185,170,.05), transparent); }
.split-layout, .offline-grid { display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: 76px; }
.split-layout.reverse { grid-template-columns: 1.2fr .8fr; }
.section-copy { position: relative; z-index: 2; }
.section-copy .large-copy { color: #d8e1de; font-size: 1.16rem; line-height: 1.65; }
.check-list { margin: 28px 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; list-style: none; }
.check-list li { position: relative; padding-left: 26px; color: #c6d4d0; font-size: .86rem; }
.check-list li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--gold); font-weight: 900; }
.text-link { display: inline-flex; align-items: center; gap: 9px; color: var(--gold-light); font-size: .86rem; font-weight: 800; }
.text-link span { font-size: 1.2rem; transition: transform 160ms ease; }.text-link:hover span { transform: translateX(4px); }
.showcase-frame { position: relative; padding: 12px; overflow: hidden; color: var(--cream); background: #0c1b1e; border: 1px solid var(--line-gold); border-radius: 20px; box-shadow: var(--shadow); cursor: zoom-in; transform: perspective(1200px) rotateY(-2deg); }
.showcase-frame img { border-radius: 11px; }
.frame-label { position: absolute; top: 25px; left: 25px; z-index: 2; padding: 6px 10px; background: rgba(6,20,22,.82); border: 1px solid var(--line); border-radius: 7px; font-size: .65rem; }
.frame-action { position: absolute; right: 24px; bottom: 24px; z-index: 2; padding: 7px 10px; color: var(--ink); background: var(--gold-light); border-radius: 7px; font-size: .67rem; font-weight: 800; }

.offline-section { background: #092325; }
.offline-section::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 22% 50%, rgba(43,185,170,.18), transparent 28%), radial-gradient(circle at 82% 20%, rgba(239,183,93,.07), transparent 24%); }
.offline-grid { grid-template-columns: 1fr 1fr; }
.offline-visual { min-height: 460px; position: relative; display: grid; place-items: center; }
.signal-rings { position: relative; width: 330px; height: 330px; display: grid; place-items: center; }
.signal-rings > i { position: absolute; border: 1px solid rgba(43,185,170,.2); border-radius: 50%; }
.signal-rings > i:nth-child(1) { inset: 0; }.signal-rings > i:nth-child(2) { inset: 50px; }.signal-rings > i:nth-child(3) { inset: 100px; }
.signal-rings > span { width: 86px; height: 86px; display: grid; place-items: center; color: var(--gold-light); background: #0c3133; border: 1px solid var(--line-gold); border-radius: 50%; box-shadow: 0 0 60px rgba(43,185,170,.2); }
.signal-rings svg { width: 39px; }
.local-list { position: absolute; right: 0; bottom: 18px; width: 210px; padding: 20px; display: grid; gap: 9px; background: rgba(6,20,22,.88); border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow); }
.local-list strong { padding-bottom: 8px; color: var(--gold-light); font-size: .76rem; }.local-list span { color: #bdd0cc; font-size: .77rem; }.local-list span::before { content: "•"; margin-right: 9px; color: var(--teal-light); }
.truth-note { margin-top: 28px; padding: 18px; display: flex; gap: 13px; background: rgba(6,20,22,.48); border: 1px solid var(--line); border-radius: 12px; }
.truth-note svg { width: 22px; flex: 0 0 auto; color: var(--gold); }.truth-note span { color: #a9bfba; font-size: .78rem; }.truth-note strong { color: var(--cream); }

.stage-section { background: linear-gradient(180deg, var(--ink), #071a1b); }
.stage-showcase { position: relative; }
.stage-showcase button { padding: 10px; overflow: hidden; color: var(--cream); background: #0c1b1d; border: 1px solid var(--line-gold); border-radius: 18px; box-shadow: var(--shadow); cursor: zoom-in; }
.stage-showcase img { border-radius: 10px; }
.stage-showcase button > span { display: block; padding: 10px 5px 2px; color: var(--muted); font-size: .7rem; text-align: left; }
.stage-controls { width: max-content; margin: -15px auto 0; position: relative; z-index: 3; padding: 9px; display: flex; gap: 7px; background: #0c1b1d; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 16px 40px rgba(0,0,0,.3); }
.stage-controls span { padding: 7px 11px; color: #a9bbb8; background: rgba(255,255,255,.035); border-radius: 7px; font-size: .67rem; }.stage-controls span:last-child { color: var(--ink); background: var(--gold); font-weight: 800; }
.feature-lines { margin: 30px 0 0; padding: 0; display: grid; gap: 0; list-style: none; }
.feature-lines li { padding: 17px 0; display: grid; border-bottom: 1px solid var(--line); }.feature-lines strong { color: var(--cream); font-size: .88rem; }.feature-lines span { color: var(--muted); font-size: .78rem; }

.gallery-section { background: #0b2224; }
.gallery-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 16px; }
.gallery-card { position: relative; min-height: 290px; padding: 0; overflow: hidden; color: var(--cream); background: #081719; border: 1px solid var(--line); border-radius: 16px; cursor: zoom-in; text-align: left; }
.gallery-card img { width: 100%; height: 100%; object-fit: cover; opacity: .86; transition: transform 300ms ease, opacity 300ms ease; }
.gallery-card:hover img { transform: scale(1.025); opacity: 1; }
.gallery-card > span { position: absolute; inset: auto 0 0; padding: 48px 22px 19px; display: grid; background: linear-gradient(transparent, rgba(4,13,15,.96)); }
.gallery-card strong { color: var(--white); font-size: .9rem; }.gallery-card small { color: #a9bbb8; font-size: .69rem; }
.gallery-large { grid-row: span 2; min-height: 596px; }.gallery-crop img { object-position: 50% 35%; }

.steps-section { background: var(--ink); }
.steps-grid { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; list-style: none; }
.steps-grid li { min-height: 280px; position: relative; padding: 27px; background: rgba(255,255,255,.025); border: 1px solid var(--line); border-radius: 16px; }
.steps-grid li > span { position: absolute; right: 22px; top: 18px; color: rgba(239,183,93,.25); font-family: var(--serif); font-size: 2.3rem; }
.steps-grid .step-icon { margin: 0 0 46px; }.steps-grid p { margin: 0; font-size: .83rem; }

.download-section { padding-top: 70px; }
.download-card { min-height: 420px; position: relative; padding: 62px; overflow: hidden; display: grid; grid-template-columns: 1fr 340px; align-items: center; gap: 70px; background: linear-gradient(135deg, #0d3636, #071719 75%); border: 1px solid var(--line-gold); border-radius: 26px; box-shadow: var(--shadow); }
.download-card::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(239,183,93,.08), transparent 45%); }
.download-glow { position: absolute; right: 6%; top: -220px; width: 360px; height: 650px; opacity: .15; background: linear-gradient(var(--gold-light), transparent); filter: blur(30px); transform: rotate(18deg); }
.download-card > div { position: relative; z-index: 1; }.download-card h2 { max-width: 650px; }.download-card p:not(.eyebrow) { max-width: 620px; }
.download-panel { padding: 30px; display: grid; justify-items: center; background: rgba(6,20,22,.68); border: 1px solid var(--line); border-radius: 18px; text-align: center; }
.download-panel > strong { margin-top: 16px; font-size: 1.1rem; }.download-panel > span { margin-bottom: 21px; color: var(--muted); font-size: .75rem; }.download-panel .button { width: 100%; }.download-panel small { margin-top: 12px; color: #77908c; font-size: .62rem; overflow-wrap: anywhere; }
.checksum { width: 100%; margin-top: 10px; color: #78908c; font-size: .63rem; }.checksum summary { cursor: pointer; }.checksum code { display: block; margin-top: 8px; color: #9cb2ae; font-size: .56rem; overflow-wrap: anywhere; }.checksum a { display: inline-block; margin-top: 6px; color: var(--gold-light); text-decoration: underline; text-underline-offset: 2px; }
.windows-mark { width: 54px; height: 54px; display: grid; grid-template-columns: 1fr 1fr; gap: 3px; transform: perspective(100px) rotateY(-8deg); }.windows-mark i { background: var(--gold-light); }

.faq-section { background: #091c1e; }
.faq-layout { display: grid; grid-template-columns: .65fr 1.35fr; align-items: start; gap: 90px; }
.faq-layout .section-heading { position: sticky; top: 120px; }
.faq-list { display: grid; }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 20px; color: var(--cream); font-size: .94rem; font-weight: 700; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { width: 18px; height: 18px; position: relative; flex: 0 0 auto; }
.faq-list summary span::before, .faq-list summary span::after { content: ""; position: absolute; inset: 50% 0 auto; height: 1px; background: var(--gold); transition: transform 180ms ease; }.faq-list summary span::after { transform: rotate(90deg); }.faq-list details[open] summary span::after { transform: rotate(0); }
.faq-list details p { max-width: 670px; margin: -5px 0 25px; color: #96aca8; font-size: .85rem; }

.support-band { padding: 75px 0; background: linear-gradient(100deg, #efb75d, #f5ca7f); }
.support-inner { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 32px; }
.support-band .eyebrow, .support-band h2, .support-band p { color: #0b2423; }.support-band h2 { margin-bottom: 9px; font-size: clamp(2rem, 3vw, 3rem); }.support-band p { max-width: 680px; margin: 0; opacity: .74; }
.support-symbol { width: 74px; height: 74px; display: grid; place-items: center; color: #0b2423; background: rgba(255,255,255,.28); border: 1px solid rgba(11,36,35,.16); border-radius: 18px; }.support-symbol svg { width: 34px; }
.support-actions { display: grid; gap: 11px; text-align: center; }.support-actions > a:last-child { color: #0b2423; font-size: .78rem; font-weight: 800; }

.site-footer { padding: 74px 0 25px; background: #041012; }
.footer-grid { display: grid; grid-template-columns: 2fr repeat(3, 1fr); gap: 60px; padding-bottom: 60px; }
.footer-grid > div:not(.footer-brand) { display: grid; align-content: start; gap: 9px; }
.footer-grid strong { margin-bottom: 8px; color: var(--cream); font-size: .78rem; }.footer-grid a:not(.brand) { color: #839995; font-size: .76rem; }.footer-grid a:hover { color: var(--gold-light); }
.footer-brand p { max-width: 330px; margin-top: 20px; font-size: .78rem; }
.footer-bottom { padding-top: 24px; display: flex; justify-content: space-between; gap: 30px; color: #607672; border-top: 1px solid var(--line); font-size: .68rem; }

.lightbox { width: min(1260px, calc(100% - 32px)); max-height: calc(100dvh - 32px); padding: 10px; overflow: visible; color: white; background: #061416; border: 1px solid rgba(255,255,255,.2); border-radius: 15px; box-shadow: 0 50px 140px rgba(0,0,0,.8); }
.lightbox::backdrop { background: rgba(0,7,8,.88); backdrop-filter: blur(8px); }.lightbox img { width: 100%; max-height: calc(100dvh - 54px); object-fit: contain; border-radius: 9px; }.lightbox button { position: absolute; top: -14px; right: -14px; width: 40px; height: 40px; color: var(--ink); background: var(--gold-light); border: 0; border-radius: 50%; font-size: 1.45rem; cursor: pointer; }

.legal-main { min-height: 72vh; padding: 165px 0 100px; background: radial-gradient(circle at 80% 0, rgba(43,185,170,.12), transparent 32%); }
.legal-hero { max-width: 820px; margin-bottom: 58px; }
.legal-hero h1 { margin-bottom: 18px; font-size: clamp(3rem, 6vw, 5.6rem); }
.legal-hero p { max-width: 700px; font-size: 1.05rem; }
.legal-hero .updated { color: #718985; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.legal-layout { display: grid; grid-template-columns: 240px minmax(0, 760px); gap: 70px; align-items: start; }
.legal-aside { position: sticky; top: 110px; padding: 22px; display: grid; gap: 10px; background: rgba(255,255,255,.025); border: 1px solid var(--line); border-radius: 14px; }
.legal-aside strong { color: var(--gold-light); font-size: .75rem; letter-spacing: .09em; text-transform: uppercase; }.legal-aside a { color: #8fa5a1; font-size: .78rem; }.legal-aside a:hover { color: var(--cream); }
.legal-content { display: grid; gap: 38px; }
.legal-content section { scroll-margin-top: 115px; }
.legal-content h2 { margin-bottom: 13px; font-family: var(--sans); font-size: 1.45rem; font-weight: 750; letter-spacing: -.025em; }
.legal-content h3 { margin: 22px 0 9px; font-size: 1rem; }.legal-content p, .legal-content li { color: #a9bbb8; font-size: .91rem; }.legal-content ul { padding-left: 20px; }.legal-content a { color: var(--gold-light); text-decoration: underline; text-underline-offset: 3px; }
.legal-callout { padding: 22px; color: #c9d5d2; background: rgba(239,183,93,.06); border: 1px solid var(--line-gold); border-radius: 13px; font-size: .87rem; }
.support-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.support-card { min-height: 220px; padding: 26px; background: rgba(255,255,255,.03); border: 1px solid var(--line); border-radius: 15px; }.support-card svg { width: 28px; margin-bottom: 36px; color: var(--gold); }.support-card p { margin: 0; font-size: .82rem; }
.support-contact { margin-top: 55px; padding: 38px; display: flex; align-items: center; justify-content: space-between; gap: 30px; background: #0b2a2b; border: 1px solid var(--line-gold); border-radius: 18px; }.support-contact h2 { margin-bottom: 9px; }.support-contact p { margin: 0; }

.js .reveal { opacity: 1; transform: none; transition: opacity 650ms ease, transform 650ms ease; }

@media (max-width: 1160px) {
  .nav-wrap { width: min(100% - 28px, 1100px); }.primary-nav { gap: 16px; }.nav-actions .button-ghost { display: none; }
  .hero { min-height: 820px; }.hero-grid { gap: 30px; }.hero-visual { margin-right: -80px; }.hero-badge { left: -15px; }
  .proof-grid { grid-template-columns: repeat(3, 1fr); padding: 15px 0; }.proof-grid > div { min-height: 72px; }.proof-grid > div:nth-child(3) { border: 0; }
  .split-layout, .offline-grid { gap: 48px; }.download-card { padding: 46px; }
}

@media (max-width: 980px) {
  .section { padding: 95px 0; }.nav-toggle { display: block; }.nav-actions { margin-left: 0; }.nav-actions .button-gold { display: none; }
  .site-header { isolation: isolate; }
  .primary-nav { position: fixed; z-index: 1001; top: 72px; left: 14px; right: 14px; padding: 13px; display: grid; gap: 0; background-color: #061416; border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 24px 80px rgba(0,0,0,.72); visibility: hidden; pointer-events: none; transform: translateY(-10px); transition: transform 160ms ease, visibility 0s linear 160ms; }
  .primary-nav.is-open { visibility: visible; pointer-events: auto; transform: none; transition-delay: 0s; }.primary-nav a { padding: 12px; border-bottom: 1px solid rgba(255,255,255,.06); }.primary-nav a:last-child { border: 0; }.primary-nav a::after { display: none; }.primary-nav .mobile-download { margin-top: 8px; display: flex; justify-content: center; color: var(--ink); background: var(--gold); border-radius: 9px; }
  .hero { min-height: auto; padding-top: 145px; }.hero-grid { grid-template-columns: 1fr; }.hero-copy { max-width: 780px; }.hero-visual { min-height: 580px; margin: 10px -70px 0 0; }
  .proof-grid { grid-template-columns: repeat(2, 1fr); }.proof-grid > div { border-right: 1px solid var(--line) !important; }.proof-grid > div:nth-child(2n) { border-right: 0 !important; }
  .feature-grid { grid-template-columns: repeat(2, 1fr); }.feature-wide { grid-column: span 2; grid-template-columns: auto 1fr; }.scripture-chip { display: none; }
  .split-layout, .split-layout.reverse, .offline-grid { grid-template-columns: 1fr; }.section-copy { max-width: 720px; }.operator-section .showcase-frame { order: -1; }.offline-visual { max-width: 620px; }.stage-section .section-copy { order: -1; }
  .steps-grid { grid-template-columns: repeat(2, 1fr); }.download-card { grid-template-columns: 1fr; }.download-panel { max-width: 420px; }
  .faq-layout { grid-template-columns: 1fr; gap: 30px; }.faq-layout .section-heading { position: static; margin-bottom: 15px; }
  .legal-layout { grid-template-columns: 1fr; gap: 40px; }.legal-aside { position: static; grid-template-columns: repeat(3, 1fr); }.support-grid { grid-template-columns: 1fr 1fr; }
  .support-inner { grid-template-columns: auto 1fr; }.support-actions { grid-column: 2; justify-items: start; }.footer-grid { grid-template-columns: 2fr 1fr 1fr; }.footer-grid > div:last-child { grid-column: 2; }
}

@media (max-width: 680px) {
  .container { width: min(100% - 28px, 620px); }.section { padding: 76px 0; } h1 { font-size: clamp(3.1rem, 15vw, 4.8rem); } h2 { font-size: clamp(2.25rem, 11vw, 3.3rem); }
  .site-header { padding: 10px 0; }.nav-wrap { width: calc(100% - 24px); }.brand span { font-size: .8rem; }.brand strong { font-size: .94rem; }.brand img { width: 40px; height: 40px; }.nav-actions { display: none; }
  .hero { padding: 125px 0 60px; }.hero-copy { padding: 0; }.hero-lede { font-size: 1rem; }.hero-actions { display: grid; }.hero-actions .button { width: 100%; }.hero-note { align-items: flex-start; }
  .hero-visual { min-height: 390px; margin: 15px -70px 0 0; }.controller-window { top: 10px; width: 100%; }.stage-window { right: 0; bottom: 5px; width: 70%; }.window-bar { height: 25px; }.hero-badge { left: 5px; bottom: 45px; padding: 10px 12px; }
  .proof-grid { grid-template-columns: 1fr; }.proof-grid > div { padding: 0 !important; border-right: 0 !important; border-bottom: 1px solid var(--line); }.proof-grid > div:last-child { border: 0; }
  .feature-grid { grid-template-columns: 1fr; }.feature-wide { grid-column: auto; display: block; }.feature-wide .feature-icon { margin-bottom: 32px; }.feature-card { min-height: 280px; padding: 25px; }.feature-icon { margin-bottom: 35px; }
  .check-list { grid-template-columns: 1fr; }.showcase-frame { padding: 7px; transform: none; }.frame-label, .frame-action { display: none; }
  .offline-visual { min-height: 410px; }.signal-rings { width: 280px; height: 280px; }.local-list { right: 5px; bottom: 0; width: 185px; }.truth-note { align-items: flex-start; }
  .stage-controls { max-width: 92%; flex-wrap: wrap; justify-content: center; }.gallery-grid { grid-template-columns: 1fr; }.gallery-card, .gallery-large { min-height: 270px; grid-row: auto; }
  .steps-grid { grid-template-columns: 1fr; }.steps-grid li { min-height: 240px; }.download-section { padding-top: 45px; }.download-card { width: calc(100% - 20px); padding: 34px 22px; gap: 35px; border-radius: 20px; }.download-panel { padding: 22px 16px; }
  .faq-list summary { min-height: 70px; font-size: .87rem; }.support-inner { grid-template-columns: 1fr; text-align: left; }.support-actions { grid-column: 1; justify-items: start; }.support-symbol { width: 60px; height: 60px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 38px 25px; }.footer-brand { grid-column: span 2; }.footer-grid > div:last-child { grid-column: auto; }.footer-bottom { flex-direction: column; gap: 8px; }
  .legal-main { padding: 125px 0 75px; }.legal-aside { display: none; }.support-grid { grid-template-columns: 1fr; }.support-contact { padding: 28px 22px; align-items: flex-start; flex-direction: column; }
  .lightbox { width: calc(100% - 18px); }.lightbox button { top: -9px; right: -5px; }
}

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