:root {
    color-scheme: dark;
    --bg: #070a12;
    --bg-raised: #0c111b;
    --panel: #101722;
    --panel-raised: #141e2b;
    --text: #f1f4f2;
    --muted: #a0abb1;
    --faint: #74818a;
    --line: rgba(177, 206, 207, .14);
    --line-strong: rgba(177, 206, 207, .24);
    --mint: #87eee0;
    --cyan: #7de8eb;
    --violet: #b0a0ff;
    --font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --display: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --page-width: 1280px;
    --radius: 18px;
    font-synthesis: none;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body {
    min-width: 320px;
    margin: 0;
    overflow-x: hidden;
    color: var(--text);
    background:
        radial-gradient(ellipse at 86% 4%, rgba(31, 79, 83, .17), transparent 34rem),
        radial-gradient(ellipse at 6% 34%, rgba(64, 47, 106, .12), transparent 30rem),
        var(--bg);
    font: 400 16px/1.65 var(--font);
}
body::before {
    position: fixed;
    z-index: -1;
    inset: 0;
    pointer-events: none;
    content: "";
    opacity: .12;
    background-image: radial-gradient(rgba(191, 231, 228, .28) .55px, transparent .55px);
    background-size: 6px 6px;
    mask-image: linear-gradient(to bottom, black, transparent 70%);
}
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
::selection { color: #06100f; background: var(--mint); }
:focus-visible { outline: 2px solid var(--mint); outline-offset: 4px; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 100; top: 12px; left: 12px; padding: 10px 14px; transform: translateY(-150%); color: #06100f; background: var(--mint); border-radius: 8px; font-weight: 700; }
.skip-link:focus { transform: translateY(0); }

.site-header {
    position: relative;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: min(var(--page-width), 100% - 64px);
    min-height: 90px;
    margin: 0 auto;
    border-bottom: 1px solid rgba(195, 223, 222, .09);
}
.brand { display: inline-flex; align-items: center; gap: 11px; text-decoration: none; }
.brand-mark { display: grid; width: 37px; height: 37px; place-items: center; border: 1px solid rgba(135, 238, 224, .6); border-radius: 11px 4px 11px 4px; color: var(--mint); background: linear-gradient(145deg, rgba(135, 238, 224, .12), rgba(176, 160, 255, .09)); font: 700 .77rem/1 var(--display); letter-spacing: -.08em; box-shadow: 0 0 24px rgba(92, 221, 209, .09); }
.brand-name { color: var(--text); font: 750 .91rem/1 var(--display); letter-spacing: .14em; }
.brand-name span { color: var(--mint); }
.site-nav { display: flex; align-items: center; gap: clamp(15px, 2.15vw, 31px); }
.site-nav a, .nav-button { position: relative; color: #b6c0c4; font-size: .86rem; text-decoration: none; transition: color .2s ease; }
.site-nav a:not(.button)::after { position: absolute; right: 0; bottom: -7px; left: 0; height: 1px; content: ""; background: var(--mint); transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.site-nav a:hover, .nav-button:hover { color: var(--mint); }
.site-nav a:not(.button):hover::after { transform: scaleX(1); }
.nav-form { margin: 0; }
.nav-button { padding: 0; border: 0; background: none; cursor: pointer; }
.nav-toggle { display: none; }

.button {
    display: inline-flex;
    min-height: 51px;
    align-items: center;
    justify-content: center;
    gap: 13px;
    padding: 12px 19px;
    border: 1px solid transparent;
    border-radius: 7px;
    color: #07110f;
    background: linear-gradient(112deg, #9af3df 0%, #78e4e9 100%);
    box-shadow: 0 10px 34px rgba(88, 225, 207, .15);
    font-size: .9rem;
    font-weight: 750;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    transition: box-shadow .22s ease, transform .22s ease, filter .22s ease;
}
.button:hover { transform: translateY(-2px); filter: saturate(1.08); box-shadow: 0 13px 38px rgba(88, 225, 207, .23); }
.button:active { transform: translateY(0); }
.button-small { min-height: 39px; padding: 9px 13px; font-size: .81rem; }
.button-outline { border-color: rgba(135, 238, 224, .42); color: var(--mint); background: rgba(135, 238, 224, .035); box-shadow: none; }
.button-outline:hover { background: rgba(135, 238, 224, .09); box-shadow: 0 8px 30px rgba(88, 225, 207, .1); }
.button-arrow span, .text-action span { font-size: 1.15em; transition: transform .2s ease; }
.button-arrow:hover span, .text-action:hover span { transform: translate(2px, -2px); }
.text-action { display: inline-flex; align-items: center; gap: 8px; color: var(--mint); font-size: .88rem; font-weight: 650; text-decoration: none; }
.text-action:hover { color: #c2fff4; }
.flash-stack { width: min(var(--page-width), 100% - 48px); margin: 12px auto 0; }
.flash { margin-bottom: 8px; padding: 13px 16px; border: 1px solid var(--line); border-radius: 9px; }
.flash-success { color: #d1ffe8; background: #143b31; }
.flash-error { color: #ffd1d1; background: #4b2028; }
.flash-info { color: #d5edff; background: #172f4b; }

.hero-home {
    position: relative;
    display: grid;
    width: min(1350px, 100% - 64px);
    min-height: 660px;
    grid-template-columns: minmax(0, 1fr) minmax(400px, .92fr);
    align-items: center;
    gap: clamp(20px, 4vw, 62px);
    margin: 0 auto;
    padding: 61px 0 74px;
}
.hero-copy { position: relative; z-index: 2; max-width: 695px; padding: 16px 0; }
.eyebrow { display: flex; align-items: center; gap: 9px; margin: 0 0 18px; color: var(--mint); font-size: .69rem; font-weight: 750; letter-spacing: .19em; line-height: 1.4; text-transform: uppercase; }
.status-dot { position: relative; display: inline-block; flex: 0 0 7px; width: 7px; height: 7px; border-radius: 50%; background: var(--mint); box-shadow: 0 0 13px rgba(135, 238, 224, .72); }
.status-dot::after { position: absolute; inset: -4px; border: 1px solid rgba(135, 238, 224, .4); border-radius: 50%; content: ""; animation: dot-pulse 2.7s ease-out infinite; }
.hero h1, .error-page h1 { margin: 0; font: 650 clamp(3.2rem, 6.25vw, 6.05rem)/.99 var(--display); letter-spacing: -.075em; }
.hero h1 span, .section-intro h2 span, .integrity-copy h2 span, .final-cta h2 span { color: #9adfd5; }
.hero-intro { max-width: 610px; margin: 25px 0 0; color: #adb9bc; font-size: clamp(1rem, 1.35vw, 1.12rem); line-height: 1.8; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 20px 27px; margin-top: 31px; }
.hero-assurance { display: flex; align-items: center; gap: 10px; margin-top: 27px; color: var(--faint); font-size: .78rem; }
.assurance-icon { display: grid; width: 19px; height: 19px; place-items: center; border: 1px solid rgba(135, 238, 224, .35); border-radius: 50%; color: var(--mint); font-size: .68rem; }
.hero-visual { position: relative; min-height: 520px; isolation: isolate; }
.visual-glow { position: absolute; z-index: -1; top: 1%; right: -10%; width: 95%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(52, 140, 141, .19), rgba(67, 63, 125, .08) 37%, transparent 70%); filter: blur(7px); animation: glow-drift 9s ease-in-out infinite alternate; }
.signal-art { position: absolute; top: -7%; right: -4%; width: 111%; height: 108%; overflow: visible; animation: slow-turn 42s linear infinite; }
.visual-crosshair { position: absolute; top: 5%; right: 8%; width: 69px; height: 69px; opacity: .4; }
.visual-crosshair::before, .visual-crosshair::after, .visual-crosshair span { position: absolute; display: block; content: ""; background: var(--mint); }
.visual-crosshair::before { top: 34px; left: 0; width: 100%; height: 1px; }
.visual-crosshair::after { top: 0; left: 34px; width: 1px; height: 100%; }
.visual-crosshair span:first-child { top: 29px; left: 29px; width: 11px; height: 11px; border: 1px solid var(--mint); border-radius: 50%; background: transparent; }
.visual-crosshair span:nth-child(2) { display: none; }
.forecast-preview { position: absolute; top: 50%; left: 50%; width: min(360px, 77%); min-height: 322px; padding: 22px 24px 19px; border: 1px solid rgba(176, 211, 210, .2); border-radius: 13px; background: linear-gradient(145deg, rgba(20, 32, 43, .96), rgba(12, 18, 29, .98)); box-shadow: 0 24px 80px rgba(0, 0, 0, .38), inset 0 1px 0 rgba(225, 255, 249, .035); transform: translate(-50%, -46%); backdrop-filter: blur(12px); }
.forecast-preview::before { position: absolute; inset: 7px; border: 1px solid rgba(176, 211, 210, .055); border-radius: 8px; content: ""; pointer-events: none; }
.preview-heading, .preview-meta { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.live-label { display: inline-flex; align-items: center; gap: 8px; color: #d0e1df; font-size: .61rem; font-weight: 700; letter-spacing: .12em; }
.live-label .status-dot { flex-basis: 6px; width: 6px; height: 6px; }
.preview-index { color: #627179; font-size: .61rem; letter-spacing: .12em; }
.preview-category { position: relative; z-index: 1; margin: 32px 0 8px; color: var(--mint); font-size: .69rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.forecast-preview h2 { position: relative; z-index: 1; margin: 0; font: 600 1.5rem/1.24 var(--display); letter-spacing: -.035em; }
.preview-question { position: relative; z-index: 1; min-height: 50px; margin: 11px 0 15px; color: #9ca9ae; font-size: .82rem; line-height: 1.55; }
.preview-divider { position: relative; z-index: 1; height: 1px; background: rgba(191, 219, 218, .12); }
.preview-meta { margin-top: 12px; color: #819198; font-size: .67rem; }
.preview-link { position: relative; z-index: 1; display: inline-flex; gap: 8px; margin-top: 15px; color: var(--mint); font-size: .77rem; font-weight: 650; text-decoration: none; }
.preview-link span { transition: transform .2s ease; }
.preview-link:hover span { transform: translate(2px, -2px); }
.preview-empty h2 { font-size: 1.8rem; }
.visual-caption { position: absolute; right: 7%; bottom: 3%; left: 7%; display: flex; align-items: center; justify-content: center; gap: 15px; color: #6e8589; font-size: .58rem; font-weight: 700; letter-spacing: .16em; }
.visual-caption i { width: 20px; height: 1px; background: rgba(135, 238, 224, .35); }

.topic-band { width: min(1350px, 100% - 64px); margin: 0 auto; padding: 23px 0 26px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.topic-label { display: block; margin-bottom: 14px; color: #68777e; font-size: .62rem; font-weight: 700; letter-spacing: .17em; }
.topic-list { display: flex; align-items: center; flex-wrap: wrap; gap: 9px 18px; color: #b4c2c2; font-size: .83rem; }
.topic-list i { width: 3px; height: 3px; border-radius: 50%; background: #6a8c8b; }
.section-wrap { width: min(var(--page-width), 100% - 64px); margin-right: auto; margin-left: auto; }
.how-section { padding-top: 122px; }
.section-intro { max-width: 740px; margin-bottom: 40px; }
.section-intro .eyebrow, .integrity-copy .eyebrow, .section-heading .eyebrow { margin-bottom: 14px; }
.section-intro h2, .integrity-copy h2, .final-cta h2 { margin: 0; font: 600 clamp(2.5rem, 4.8vw, 4.2rem)/1.06 var(--display); letter-spacing: -.062em; }
.section-intro>p:last-child { max-width: 540px; margin: 17px 0 0; color: var(--muted); font-size: 1rem; }
.steps-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.step-card { position: relative; min-height: 265px; padding: 25px 25px 22px; overflow: hidden; border: 1px solid var(--line); border-radius: 11px; background: linear-gradient(145deg, rgba(20, 29, 40, .76), rgba(10, 15, 24, .88)); transition: border-color .25s ease, transform .25s ease, background .25s ease; }
.step-card::after { position: absolute; right: -50px; bottom: -80px; width: 175px; height: 175px; border: 1px solid rgba(135, 238, 224, .07); border-radius: 50%; content: ""; box-shadow: 0 0 0 22px rgba(135, 238, 224, .018), 0 0 0 44px rgba(135, 238, 224, .012); }
.step-card:hover { transform: translateY(-4px); border-color: rgba(135, 238, 224, .33); background: linear-gradient(145deg, rgba(22, 39, 48, .82), rgba(10, 15, 24, .93)); }
.step-top { display: flex; align-items: center; justify-content: space-between; }
.step-number { color: var(--mint); font-size: .68rem; font-weight: 750; letter-spacing: .14em; }
.step-symbol { color: rgba(135, 238, 224, .74); font-size: 1.7rem; line-height: 1; }
.step-card h3 { position: relative; z-index: 1; margin: 31px 0 8px; font-size: 1.22rem; font-weight: 620; letter-spacing: -.025em; }
.step-card p { position: relative; z-index: 1; max-width: 340px; margin: 0; color: var(--muted); font-size: .84rem; line-height: 1.75; }
.step-foot { position: absolute; z-index: 2; bottom: 19px; left: 25px; display: flex; align-items: center; gap: 8px; color: #788a8f; font-size: .58rem; font-weight: 700; letter-spacing: .14em; }
.step-foot span { color: var(--mint); font-size: .9rem; }

.questions-section { padding-top: 126px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 27px; }
.section-heading h1, .section-heading h2 { margin: 0; font: 590 clamp(1.9rem, 3.2vw, 2.7rem)/1.15 var(--display); letter-spacing: -.05em; }
.section-heading>div>p:last-child { margin: 9px 0 0; color: var(--muted); font-size: .91rem; }
.section-heading>.text-action { flex-shrink: 0; margin-bottom: 5px; }
.question-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.home-question-card { position: relative; display: flex; min-height: 238px; flex-direction: column; padding: 22px 23px 18px; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: linear-gradient(145deg, rgba(15, 24, 33, .9), rgba(10, 15, 23, .82)); color: var(--text); text-decoration: none; transition: border-color .22s ease, transform .22s ease, background .22s ease; }
.home-question-card::before { position: absolute; top: 0; right: 0; width: 150px; height: 1px; content: ""; background: linear-gradient(90deg, transparent, rgba(135, 238, 224, .65)); opacity: 0; transition: opacity .2s ease; }
.home-question-card:hover { transform: translateY(-3px); border-color: rgba(135, 238, 224, .33); background: linear-gradient(145deg, rgba(19, 33, 41, .97), rgba(10, 15, 23, .9)); }
.home-question-card:hover::before { opacity: 1; }
.home-card-meta, .home-card-bottom { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.home-card-meta { color: var(--mint); font-size: .68rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.card-number { color: #5d6e76; font-size: .65rem; letter-spacing: .12em; }
.home-question-card h3 { max-width: 90%; margin: 20px 0 8px; font-size: 1.16rem; font-weight: 620; line-height: 1.32; letter-spacing: -.025em; }
.home-question-card>p { max-width: 90%; margin: 0 0 20px; color: #9ca9ad; font-size: .81rem; line-height: 1.65; }
.home-card-bottom { margin-top: auto; padding-top: 13px; border-top: 1px solid rgba(191, 219, 218, .1); color: #718087; font-size: .66rem; }
.card-arrow { position: absolute; right: 21px; bottom: 16px; color: var(--mint); font-size: .92rem; opacity: 0; transform: translate(-3px, 3px); transition: opacity .2s ease, transform .2s ease; }
.home-question-card:hover .card-arrow { opacity: 1; transform: translate(0, 0); }

.integrity-section { display: grid; grid-template-columns: minmax(300px, .93fr) minmax(0, 1fr); align-items: center; gap: clamp(40px, 8vw, 120px); padding-top: 145px; }
.integrity-art { position: relative; min-height: 405px; overflow: hidden; border: 1px solid rgba(175, 211, 207, .1); border-radius: 14px; background: radial-gradient(ellipse at 50% 46%, rgba(48, 106, 104, .19), transparent 58%), linear-gradient(145deg, rgba(17, 26, 36, .85), rgba(9, 13, 21, .72)); }
.integrity-art::before { position: absolute; inset: 0; content: ""; opacity: .25; background-image: linear-gradient(rgba(184, 222, 216, .08) 1px, transparent 1px), linear-gradient(90deg, rgba(184, 222, 216, .08) 1px, transparent 1px); background-size: 38px 38px; mask-image: radial-gradient(ellipse at center, black, transparent 75%); }
.integrity-orbit { position: absolute; top: 50%; left: 50%; width: 250px; height: 126px; border: 1px solid rgba(135, 238, 224, .3); border-radius: 50%; transform: translate(-50%, -50%) rotate(-34deg); }
.orbit-b { width: 217px; height: 190px; border-color: rgba(176, 160, 255, .27); transform: translate(-50%, -50%) rotate(52deg); }
.integrity-core { position: absolute; top: 50%; left: 50%; display: grid; width: 76px; height: 76px; place-items: center; border: 1px solid rgba(135, 238, 224, .55); border-radius: 50%; color: var(--mint); background: radial-gradient(circle, #1a343b, #101a25 76%); font: 700 1.35rem var(--display); letter-spacing: -.1em; box-shadow: 0 0 42px rgba(78, 219, 207, .18); transform: translate(-50%, -50%); }
.integrity-tag { position: absolute; padding: 7px 10px; border: 1px solid rgba(157, 196, 192, .17); border-radius: 4px; color: #afc1be; background: rgba(12, 20, 27, .86); font-size: .57rem; font-weight: 700; letter-spacing: .1em; }
.tag-record { top: 23%; left: 11%; }
.tag-evidence { top: 30%; right: 8%; color: var(--mint); }
.tag-history { right: 19%; bottom: 18%; }
.integrity-copy h2 { font-size: clamp(2.25rem, 4vw, 3.5rem); }
.integrity-copy>p:not(.eyebrow) { max-width: 540px; margin: 17px 0 0; color: var(--muted); font-size: .94rem; line-height: 1.8; }
.feature-list { display: grid; gap: 12px; margin: 25px 0 27px; padding: 0; list-style: none; }
.feature-list li { display: flex; align-items: center; gap: 12px; color: #bdc8c9; font-size: .8rem; }
.feature-list span { color: var(--mint); font-size: .65rem; font-weight: 700; letter-spacing: .08em; }

.updates-section { padding-top: 132px; }
.update-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.update-card { display: flex; min-height: 220px; flex-direction: column; padding: 21px; border: 1px solid var(--line); border-radius: 9px; background: rgba(15, 23, 32, .75); text-decoration: none; transition: border-color .2s ease, transform .2s ease; }
.update-card:hover { transform: translateY(-3px); border-color: rgba(135, 238, 224, .32); }
.update-date { color: #7d9093; font-size: .61rem; font-weight: 650; letter-spacing: .1em; }
.update-card h3 { margin: 18px 0 8px; font-size: 1.08rem; line-height: 1.35; letter-spacing: -.02em; }
.update-card p { margin: 0; color: var(--muted); font-size: .79rem; }
.update-link { display: inline-flex; gap: 7px; margin-top: auto; padding-top: 18px; color: var(--mint); font-size: .73rem; font-weight: 650; }

.capsule-band { display: flex; align-items: center; gap: 29px; margin-top: 135px; padding: 31px 34px; border: 1px solid rgba(135, 238, 224, .19); border-radius: 12px; background: linear-gradient(105deg, rgba(17, 37, 42, .76), rgba(15, 24, 36, .88) 54%, rgba(30, 25, 51, .62)); }
.capsule-band>div:nth-child(2) { flex: 1; }
.capsule-band .eyebrow { margin-bottom: 9px; }
.capsule-band h2 { margin: 0; font-size: clamp(1.22rem, 2vw, 1.6rem); font-weight: 600; letter-spacing: -.04em; }
.capsule-band p:last-child { margin: 7px 0 0; color: var(--muted); font-size: .82rem; }
.capsule-mark { position: relative; display: grid; flex: 0 0 62px; width: 62px; height: 62px; place-items: center; border: 1px solid rgba(135, 238, 224, .23); border-radius: 50%; }
.capsule-mark::before, .capsule-mark::after, .capsule-mark span { position: absolute; display: block; width: 30px; height: 30px; border: 1px solid rgba(135, 238, 224, .5); border-radius: 50%; content: ""; }
.capsule-mark::before { transform: rotate(60deg) scaleX(.48); }
.capsule-mark::after { transform: rotate(-60deg) scaleX(.48); }
.capsule-mark span:nth-child(1) { width: 8px; height: 8px; border: 0; background: var(--mint); box-shadow: 0 0 16px var(--mint); }
.capsule-mark span:nth-child(2), .capsule-mark span:nth-child(3) { display: none; }
.final-cta { position: relative; margin-top: 135px; margin-bottom: 112px; padding: 75px 40px 72px; overflow: hidden; border: 1px solid rgba(156, 198, 194, .14); border-radius: 14px; text-align: center; background: radial-gradient(ellipse at 50% 110%, rgba(44, 129, 125, .23), transparent 53%), linear-gradient(145deg, rgba(16, 24, 34, .8), rgba(12, 17, 28, .85)); }
.final-cta::before, .final-cta::after { position: absolute; top: -92px; left: 50%; width: 530px; height: 230px; border: 1px solid rgba(135, 238, 224, .12); border-radius: 50%; content: ""; transform: translateX(-50%); }
.final-cta::after { top: -111px; width: 610px; border-color: rgba(176, 160, 255, .1); }
.final-cta>* { position: relative; z-index: 1; }
.final-cta>.eyebrow { justify-content: center; margin-bottom: 15px; }
.final-cta h2 { font-size: clamp(2.55rem, 5vw, 4.4rem); }
.final-cta>p:not(.eyebrow) { margin: 15px 0 0; color: var(--muted); }
.final-cta .hero-actions { justify-content: center; margin-top: 27px; }
.note { color: #849198; font-size: .75rem; }

.site-footer { border-top: 1px solid rgba(195, 223, 222, .1); background: rgba(5, 8, 14, .35); }
.footer-main, .footer-bottom { display: flex; width: min(var(--page-width), 100% - 64px); margin: 0 auto; }
.footer-main { align-items: center; gap: 28px; padding: 30px 0 24px; }
.footer-main>p { flex: 1; margin: 0; color: #7f8b91; font-size: .76rem; }
.footer-brand .brand-mark { width: 31px; height: 31px; font-size: .7rem; }
.footer-brand .brand-name { font-size: .76rem; }
.footer-links { display: flex; flex-wrap: wrap; gap: 9px 19px; }
.footer-links a { color: #9ca8ab; font-size: .74rem; text-decoration: none; }
.footer-links a:hover { color: var(--mint); }
.footer-bottom { justify-content: space-between; gap: 15px; padding: 14px 0 19px; border-top: 1px solid rgba(195, 223, 222, .07); color: #65747a; font-size: .66rem; }

.error-page { width: min(760px, 100% - 48px); min-height: 65vh; margin: auto; padding: 120px 0; }
.error-page h1 { margin-top: 15px; font-size: clamp(2.7rem, 6vw, 4.7rem); }
.error-page p { color: var(--muted); }
.error-page .button { margin-top: 20px; }
.form-page { width: min(650px, 100% - 40px); margin: 60px auto 100px; }
.form-card, .panel { padding: 30px; border: 1px solid var(--line); border-radius: 12px; background: linear-gradient(145deg, rgba(18, 27, 38, .95), rgba(12, 17, 27, .97)); }
.form-card h1 { margin: 7px 0 12px; font: 600 2.15rem/1.1 var(--display); letter-spacing: -.05em; }
.form-card>p { color: var(--muted); }
.form-grid { display: grid; gap: 17px; margin-top: 24px; }
.form-grid.two-col { grid-template-columns: 1fr 1fr; }
.form-grid label, .category-admin-row label { display: grid; gap: 6px; color: #dbe3f5; font-size: .87rem; }
.form-grid input, .form-grid textarea, .form-grid select, .category-admin-row input, .category-admin-row select, .toolbar select, .toolbar input { width: 100%; padding: 12px 13px; border: 1px solid #344354; border-radius: 7px; color: var(--text); background: #0a111a; }
.form-grid input:focus, .form-grid textarea:focus, .form-grid select:focus, .category-admin-row input:focus, .category-admin-row select:focus, .toolbar select:focus, .toolbar input:focus { outline: 2px solid rgba(135, 238, 224, .6); outline-offset: 1px; border-color: var(--mint); }
.form-grid textarea { min-height: 120px; resize: vertical; }
.form-grid .button { border: 0; cursor: pointer; }
.form-help { color: #92a0aa; font-size: .82rem; }
.form-link { color: var(--mint); }
.data-page { width: min(1120px, 100% - 48px); margin: 42px auto 90px; }
.data-page>h1, .data-page>h2 { letter-spacing: -.035em; }
.data-table { width: 100%; margin: 22px 0; border-collapse: collapse; }
.data-table th, .data-table td { padding: 13px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.data-table th { color: #90a0a8; font-size: .73rem; letter-spacing: .08em; text-transform: uppercase; }
.data-table a { color: var(--mint); }
.pill { display: inline-block; padding: 4px 10px; border: 1px solid rgba(135, 238, 224, .17); border-radius: 30px; color: #cfeaff; background: rgba(32, 49, 74, .65); font-size: .74rem; }
.empty-state { padding: 36px 20px; border: 1px solid var(--line); border-radius: 11px; color: var(--muted); background: rgba(15, 23, 34, .78); text-align: center; }
.grid-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.question-card { display: block; padding: 22px; border: 1px solid var(--line); border-radius: 10px; color: var(--text); background: rgba(15, 23, 34, .8); text-decoration: none; transition: border-color .2s ease, transform .2s ease; }
.question-card:hover { transform: translateY(-2px); border-color: rgba(135, 238, 224, .34); }
.question-card h2, .question-card h3 { margin: 12px 0; font: 600 1.18rem/1.35 var(--display); }
.question-card p { color: var(--muted); }
.question-card .card-meta { color: var(--mint); font-size: .8rem; }
.stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; }
.stat-card { padding: 18px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel); }
.stat-card strong { display: block; color: var(--mint); font: 600 1.7rem var(--display); }
.stat-card span { color: var(--muted); font-size: .84rem; }
.toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.toolbar label { color: #dbe3f5; font-size: .87rem; }
.toolbar select, .toolbar input { width: auto; min-width: 150px; }
.inline-form { display: inline; }
.warning-text { color: #ffd28b; }
.question-detail { width: min(900px, 100% - 48px); margin: 42px auto 95px; }
.question-detail .panel { margin: 18px 0; }
.question-detail h1 { font: 600 clamp(2rem, 5vw, 3.4rem)/1.08 var(--display); letter-spacing: -.05em; }
.question-detail p { color: var(--muted); }
.option-list { display: grid; gap: 10px; }
.option-row { display: flex !important; grid-template-columns: auto 1fr !important; align-items: center; padding: 12px 14px; border: 1px solid var(--line); border-radius: 8px; background: #0b1120; }
.option-row input { width: auto !important; accent-color: var(--mint); }
.pagination { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 24px; }
.profile-heading { display: flex; align-items: center; gap: 18px; }
.profile-heading h1 { margin: 0; }
.profile-heading p, .profile-bio { color: var(--muted); }
.profile-bio { max-width: 700px; }
.avatar { width: 92px; height: 92px; border: 1px solid rgba(98, 231, 255, .45); border-radius: 50%; object-fit: cover; }
.avatar-placeholder { display: grid; place-items: center; color: var(--mint); background: #182c3b; font: 700 1.5rem var(--display); }
.profile-extra { max-width: 600px; margin-top: 13px; grid-template-columns: repeat(2, 1fr); }
.category-admin-list { display: grid; gap: 14px; margin: 18px 0; }
.category-admin-row { display: grid; grid-template-columns: 1.1fr 1fr 1fr .5fr 1.4fr auto auto auto; align-items: end; gap: 10px; padding: 16px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel); }
.category-admin-row input, .category-admin-row select { min-width: 0; padding: 10px; }
.trial-pack-panel { margin: 22px 0; }
.wide { grid-column: 1 / -1; }
.wide-page { width: min(1320px, 100% - 48px); }
.rule-row, .user-admin-row, .user-admin-identity, .user-admin-list { color: var(--muted); }
.leaderboard-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.legal-page { width: min(900px, 100% - 48px); margin: 42px auto 100px; }
.post-body { max-width: 820px; color: #d0d9d9; line-height: 1.85; }

.has-js .reveal { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s cubic-bezier(.22, 1, .36, 1); }
.has-js .reveal.is-visible { opacity: 1; transform: none; }
.has-js .steps-grid .reveal:nth-child(2), .has-js .question-grid .reveal:nth-child(even), .has-js .update-grid .reveal:nth-child(2) { transition-delay: .08s; }
.has-js .steps-grid .reveal:nth-child(3), .has-js .update-grid .reveal:nth-child(3) { transition-delay: .15s; }
@keyframes dot-pulse { 0% { opacity: .75; transform: scale(.65); } 80%, 100% { opacity: 0; transform: scale(1.75); } }
@keyframes glow-drift { from { transform: translate3d(-2%, -1%, 0) scale(.98); } to { transform: translate3d(2%, 2%, 0) scale(1.03); } }
@keyframes slow-turn { from { transform: rotate(0); } to { transform: rotate(360deg); } }

@media (max-width: 1000px) {
    .hero-home { min-height: 610px; grid-template-columns: minmax(0, 1fr) minmax(340px, .85fr); gap: 10px; }
    .hero h1 { font-size: clamp(3.1rem, 6.4vw, 5rem); }
    .hero-visual { min-height: 475px; }
    .forecast-preview { width: min(340px, 84%); }
    .site-nav { gap: 16px; }
    .site-nav a, .nav-button { font-size: .81rem; }
    .integrity-section { gap: 50px; }
}
@media (max-width: 760px) {
    html { scroll-padding-top: 72px; }
    .site-header { width: calc(100% - 36px); min-height: 72px; }
    .brand-mark { width: 34px; height: 34px; }
    .brand-name { font-size: .84rem; }
    .site-header { flex-wrap: wrap; }
    .nav-toggle { display: none; }
    .site-nav { position: static; width: 100%; align-items: center; flex-wrap: wrap; justify-content: flex-start; gap: 0 16px; padding: 0 0 13px; border: 0; border-radius: 0; background: none; box-shadow: none; opacity: 1; pointer-events: auto; transform: none; visibility: visible; }
    .site-nav a:not(.button) { padding: 8px 0; }
    .has-js .site-header { flex-wrap: nowrap; }
    .has-js .nav-toggle { position: relative; z-index: 3; display: flex; width: 42px; height: 42px; flex-direction: column; align-items: center; justify-content: center; gap: 5px; border: 1px solid var(--line-strong); border-radius: 7px; color: var(--text); background: rgba(17, 25, 34, .92); cursor: pointer; }
    .nav-toggle>span:not(.visually-hidden) { display: block; width: 17px; height: 1px; background: #d5e4e1; transition: transform .2s ease; }
    .nav-toggle[aria-expanded="true"]>span:first-child { transform: translateY(3px) rotate(45deg); }
    .nav-toggle[aria-expanded="true"]>span:nth-child(2) { transform: translateY(-3px) rotate(-45deg); }
    .has-js .site-nav { position: absolute; top: calc(100% + 1px); right: 0; left: 0; display: flex; width: auto; align-items: stretch; flex-direction: column; gap: 0; padding: 9px 15px 15px; border: 1px solid var(--line-strong); border-top: 0; border-radius: 0 0 11px 11px; background: rgba(9, 14, 22, .98); box-shadow: 0 20px 40px rgba(0, 0, 0, .32); opacity: 0; pointer-events: none; transform: translateY(-7px); visibility: hidden; transition: opacity .18s ease, transform .18s ease, visibility .18s ease; }
    .has-js .site-nav.is-open { opacity: 1; pointer-events: auto; transform: translateY(0); visibility: visible; }
    .has-js .site-nav a:not(.button) { padding: 12px 2px; border-bottom: 1px solid rgba(195, 223, 222, .08); font-size: .9rem; }
    .site-nav a:not(.button)::after { display: none; }
    .site-nav .nav-join { align-self: flex-start; margin-top: 13px; }
    .nav-form { padding: 11px 2px; }
    .nav-button { font-size: .9rem; }
    .hero-home { width: calc(100% - 38px); min-height: unset; grid-template-columns: 1fr; gap: 0; padding: 73px 0 46px; }
    .hero-copy { padding: 0; }
    .hero h1 { max-width: 650px; font-size: clamp(3rem, 10.4vw, 5rem); }
    .hero-intro { max-width: 560px; margin-top: 19px; font-size: .98rem; }
    .hero-actions { gap: 17px 22px; margin-top: 24px; }
    .hero-assurance { margin-top: 21px; font-size: .72rem; }
    .hero-visual { min-height: 440px; margin-top: 3px; }
    .signal-art { top: 0; right: 0; width: 100%; height: 100%; }
    .forecast-preview { top: 49%; width: min(350px, 82%); min-height: 300px; padding: 20px 21px 17px; }
    .preview-category { margin-top: 27px; }
    .visual-caption { bottom: 1%; }
    .topic-band, .section-wrap { width: calc(100% - 38px); }
    .topic-band { padding: 20px 0 22px; }
    .topic-list { gap: 8px 12px; font-size: .75rem; }
    .topic-list i { width: 2px; height: 2px; }
    .how-section { padding-top: 84px; }
    .section-intro { margin-bottom: 28px; }
    .section-intro h2, .integrity-copy h2 { font-size: clamp(2.4rem, 9vw, 3.6rem); }
    .steps-grid { grid-template-columns: 1fr; gap: 10px; }
    .step-card { min-height: 220px; padding: 21px; }
    .step-card h3 { margin-top: 23px; }
    .step-foot { bottom: 16px; left: 21px; }
    .questions-section { padding-top: 88px; }
    .section-heading { align-items: flex-start; flex-direction: column; gap: 14px; margin-bottom: 21px; }
    .section-heading h1, .section-heading h2 { font-size: clamp(1.9rem, 7vw, 2.5rem); }
    .question-grid { grid-template-columns: 1fr; gap: 10px; }
    .home-question-card { min-height: 216px; padding: 19px; }
    .home-question-card h3 { margin-top: 16px; }
    .integrity-section { grid-template-columns: 1fr; gap: 31px; padding-top: 95px; }
    .integrity-art { min-height: 335px; }
    .integrity-orbit { width: 225px; height: 105px; }
    .orbit-b { width: 190px; height: 165px; }
    .updates-section { padding-top: 89px; }
    .update-grid { grid-template-columns: 1fr; gap: 10px; }
    .update-card { min-height: 190px; }
    .capsule-band { align-items: flex-start; flex-wrap: wrap; gap: 17px; margin-top: 92px; padding: 22px; }
    .capsule-mark { flex-basis: 48px; width: 48px; height: 48px; }
    .capsule-mark::before, .capsule-mark::after { width: 24px; height: 24px; }
    .capsule-band>div:nth-child(2) { flex: 1 1 calc(100% - 70px); }
    .capsule-band .button { margin-left: 65px; }
    .final-cta { margin-top: 92px; margin-bottom: 78px; padding: 55px 20px; }
    .final-cta h2 { font-size: clamp(2.45rem, 9vw, 3.7rem); }
    .final-cta .hero-actions { flex-direction: column; gap: 13px; }
    .footer-main, .footer-bottom { width: calc(100% - 38px); }
    .footer-main { align-items: flex-start; flex-direction: column; gap: 12px; padding: 24px 0 20px; }
    .footer-links { gap: 10px 17px; }
    .footer-bottom { align-items: flex-start; flex-direction: column; gap: 5px; font-size: .64rem; }
    .form-page { width: calc(100% - 32px); margin: 38px auto 72px; }
    .form-card, .panel { padding: 22px; }
    .data-page, .question-detail, .legal-page, .wide-page { width: calc(100% - 32px); }
    .data-page { overflow-x: auto; }
    .data-table { min-width: 660px; }
    .stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .section-heading { align-items: flex-start; }
    .form-grid.two-col { grid-template-columns: 1fr; }
    .category-admin-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .category-admin-row>label:nth-last-of-type(2) { grid-column: 1 / -1; }
    .error-page { width: calc(100% - 38px); padding: 90px 0; }
}
@media (max-width: 420px) {
    .hero h1 { font-size: clamp(2.7rem, 11.2vw, 3.3rem); }
    .hero-visual { min-height: 385px; }
    .forecast-preview { width: 88%; min-height: 285px; padding: 17px; }
    .forecast-preview h2 { font-size: 1.32rem; }
    .preview-category { margin-top: 24px; }
    .preview-meta { align-items: flex-start; flex-direction: column; gap: 4px; }
    .visual-caption { gap: 9px; font-size: .52rem; }
    .visual-caption i { width: 12px; }
    .capsule-band .button { margin-left: 0; }
    .data-table { min-width: 590px; }
    .category-admin-row { grid-template-columns: 1fr; }
    .category-admin-row>label:nth-last-of-type(2) { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
    .has-js .reveal { opacity: 1; transform: none; }
}
