:root {
  color-scheme: dark;
  --black:#07090b;
  --ink:#0d1114;
  --panel:#12171b;
  --paper:#f2eee6;
  --paper-deep:#ded7cb;
  --steel:#b8c0c6;
  --muted:#9ba6ad;
  --line:rgba(255,255,255,.13);
  --orange:#ff761a;
  --orange-soft:#ffb274;
  --cyan:#23c9f3;
  --forest:#145b44;
  --sage:#d7e7dc;
  --shell:min(1280px, calc(100% - 48px));
  --radius:30px;
  --shadow:0 30px 80px rgba(6,10,12,.2);
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:92px; }
body { margin:0; overflow-x:hidden; background:var(--black); color:#f7f8f8; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.55; }
body::before { content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.028; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitchTiles'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E"); }
img { display:block; max-width:100%; height:auto; }
a { color:inherit; }
button { color:inherit; font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid var(--cyan); outline-offset:4px; }
.skip-link { position:fixed; top:12px; left:12px; z-index:100; padding:.75rem 1rem; border-radius:9px; background:#fff; color:#000; transform:translateY(-160%); }
.skip-link:focus { transform:none; }
.shell { width:var(--shell); margin-inline:auto; }
.scroll-progress { position:fixed; inset:0 0 auto; z-index:80; height:3px; background:rgba(255,255,255,.03); }
.scroll-progress span { display:block; width:0; height:100%; background:linear-gradient(90deg,var(--orange),var(--cyan)); box-shadow:0 0 14px rgba(35,201,243,.65); }

.site-header { position:fixed; inset:0 0 auto; z-index:60; border-bottom:1px solid rgba(255,255,255,.08); background:rgba(7,9,11,.82); backdrop-filter:blur(22px); }
.site-header.is-scrolled { background:rgba(7,9,11,.94); box-shadow:0 16px 44px rgba(0,0,0,.3); }
.nav-shell { width:min(1440px, calc(100% - 34px)); min-height:84px; margin:auto; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:28px; }
.brand { display:block; }
.brand img { width:178px; height:auto; object-fit:contain; object-position:left center; }
.site-nav { display:flex; justify-content:center; align-items:center; gap:clamp(17px,2.5vw,42px); }
.site-nav a { position:relative; color:#c1c9ce; font-size:.75rem; font-weight:800; letter-spacing:.07em; text-decoration:none; text-transform:uppercase; }
.site-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:-10px; height:2px; background:linear-gradient(90deg,var(--orange),var(--cyan)); transition:right .22s ease; }
.site-nav a:hover,.site-nav a[aria-current="page"] { color:#fff; }
.site-nav a:hover::after,.site-nav a[aria-current="page"]::after { right:0; }
.nav-toggle { display:none; width:46px; height:46px; border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.035); }
.button { display:inline-flex; min-height:52px; align-items:center; justify-content:center; gap:11px; padding:.8rem 1.4rem; border:1px solid var(--orange); border-radius:11px; background:var(--orange); color:#111; box-shadow:0 16px 38px rgba(255,118,26,.19); font-size:.85rem; font-weight:850; letter-spacing:.025em; text-decoration:none; cursor:pointer; transition:transform .2s ease,filter .2s ease,box-shadow .2s ease; }
.button:hover { transform:translateY(-3px); filter:brightness(1.07); box-shadow:0 20px 48px rgba(255,118,26,.3); }
.button-small { min-height:43px; padding:.62rem 1rem; }
.text-link { display:inline-flex; gap:8px; align-items:center; color:#dde2e5; font-weight:760; text-decoration:none; }
.text-link:hover { color:var(--cyan); }

.hero { position:relative; min-height:970px; padding:158px 0 0; overflow:hidden; background:radial-gradient(circle at 76% 34%,rgba(35,201,243,.08),transparent 25%),linear-gradient(150deg,#07090b 12%,#0d1114 70%,#121b20); }
.hero-grid { position:absolute; inset:0; opacity:.12; background-image:linear-gradient(rgba(255,255,255,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.13) 1px,transparent 1px); background-size:70px 70px; mask-image:linear-gradient(90deg,#000,transparent 88%); }
.hero-grid::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent 49.85%,rgba(255,118,26,.58) 50%,transparent 50.15%); transform:translateX(18%); }
.hero-glow { position:absolute; width:520px; height:520px; border-radius:50%; filter:blur(110px); opacity:.12; }
.hero-glow-orange { left:-250px; top:220px; background:var(--orange); }
.hero-glow-cyan { right:-250px; top:80px; background:var(--cyan); }
.hero-inner { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(460px,.86fr); align-items:center; gap:clamp(46px,6vw,86px); }
.eyebrow { display:flex; align-items:center; gap:10px; margin:0 0 18px; color:var(--orange-soft); font-size:.7rem; font-weight:850; letter-spacing:.16em; text-transform:uppercase; }
.eyebrow span { width:34px; height:2px; flex:0 0 auto; background:linear-gradient(90deg,var(--orange),var(--cyan)); }
.hero h1,.section-heading h2,.sidequests-heading h2,.story h2,.destination h2 { margin:0; font-size:clamp(3.35rem,6.7vw,7.3rem); line-height:.88; letter-spacing:-.065em; }
.hero h1 em { display:inline-block; color:transparent; font-style:normal; -webkit-text-stroke:1px #aeb8bd; }
.hero-lead { max-width:680px; margin:32px 0 0; color:#bac4c9; font-size:clamp(1.02rem,1.5vw,1.22rem); }
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:22px; margin-top:34px; }
.hero-note { display:flex; align-items:center; gap:10px; margin:40px 0 0; color:#7f8b92; font-size:.72rem; font-weight:750; letter-spacing:.09em; text-transform:uppercase; }
.hero-note i { width:8px; height:8px; border-radius:50%; background:#49d17c; box-shadow:0 0 14px #49d17c; }

.forge-console { position:relative; min-width:0; overflow:hidden; border:1px solid rgba(255,255,255,.15); border-radius:24px; background:linear-gradient(145deg,rgba(23,29,34,.92),rgba(8,11,13,.96)); box-shadow:0 34px 90px rgba(0,0,0,.48),inset 0 1px rgba(255,255,255,.07); }
.forge-console::before { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(120deg,rgba(255,255,255,.07),transparent 26%); }
.console-topline { position:relative; display:flex; align-items:center; justify-content:space-between; padding:15px 18px; border-bottom:1px solid var(--line); color:#859198; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.65rem; letter-spacing:.12em; }
.console-topline strong { display:flex; align-items:center; gap:7px; color:#a9e7bd; }
.console-topline i { width:7px; height:7px; border-radius:50%; background:#49d17c; box-shadow:0 0 11px #49d17c; animation:pulse 1.8s ease-in-out infinite; }
.console-core { position:relative; min-height:335px; display:grid; place-items:center; padding:34px 30px 68px; overflow:hidden; }
.console-core::before { content:""; position:absolute; inset:0; opacity:.18; background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size:34px 34px; mask-image:radial-gradient(circle,#000,transparent 75%); }
.console-core img { position:relative; z-index:2; width:84%; filter:drop-shadow(0 24px 48px rgba(0,0,0,.55)); transition:transform .5s ease,filter .5s ease; }
.forge-console.is-pulsing .console-core img { transform:scale(1.05); filter:drop-shadow(0 24px 52px rgba(35,201,243,.2)); }
.console-core > p { position:absolute; z-index:3; bottom:19px; margin:0; color:#aeb8be; font-size:.78rem; text-align:center; }
.console-orbit { position:absolute; width:290px; aspect-ratio:1; border:1px dashed rgba(255,118,26,.3); border-radius:50%; animation:spin 28s linear infinite; }
.console-orbit::before { content:""; position:absolute; inset:13%; border:1px solid rgba(35,201,243,.18); border-radius:50%; }
.console-orbit span { position:absolute; width:8px; height:8px; border-radius:50%; background:var(--orange); box-shadow:0 0 15px currentColor; }
.console-orbit span:nth-child(1) { left:7%; top:23%; }
.console-orbit span:nth-child(2) { right:8%; bottom:26%; background:var(--cyan); }
.console-orbit span:nth-child(3) { left:48%; bottom:-4px; background:#fff; }
.console-controls { position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:6px; padding:8px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(0,0,0,.22); }
.console-controls button { min-height:42px; border:1px solid transparent; border-radius:8px; background:transparent; color:#89959c; font-size:.69rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; }
.console-controls button:hover { color:#fff; background:rgba(255,255,255,.05); }
.console-controls button.is-active { border-color:rgba(35,201,243,.32); background:rgba(35,201,243,.08); color:#fff; box-shadow:inset 0 -2px var(--cyan); }
.console-output { position:relative; display:grid; grid-template-columns:auto 1fr; gap:15px; min-height:106px; align-items:center; padding:17px 20px; }
.console-output > span { display:grid; place-items:center; width:45px; aspect-ratio:1; border:1px solid rgba(255,118,26,.35); border-radius:50%; color:var(--orange-soft); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.75rem; }
.console-output strong { display:block; font-size:.94rem; }
.console-output p { margin:3px 0 0; color:#87939a; font-size:.75rem; }
.hero-stats { position:relative; display:grid; grid-template-columns:repeat(3,1fr); margin-top:78px; border-top:1px solid var(--line); }
.hero-stats div { display:flex; align-items:center; gap:18px; min-height:108px; padding:18px 28px; border-right:1px solid var(--line); }
.hero-stats div:first-child { border-left:1px solid var(--line); }
.hero-stats strong { color:var(--orange); font-size:1.32rem; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }
.hero-stats span { color:var(--muted); font-size:.73rem; font-weight:750; letter-spacing:.09em; text-transform:uppercase; }

.lifecore { padding:142px 0; background:var(--paper); color:#11171a; }
.section-heading { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr); align-items:end; gap:78px; margin-bottom:62px; }
.section-heading h2 { font-size:clamp(3rem,6vw,6.5rem); }
.section-heading > p { max-width:500px; margin:0 0 8px; color:#556067; font-size:1.04rem; }
.lifecore .eyebrow,.principles .eyebrow { color:#88410f; }
.lifecore-stage { position:relative; min-height:720px; overflow:hidden; border-radius:var(--radius); box-shadow:var(--shadow); transform-style:preserve-3d; }
.lifecore-backdrop,.lifecore-shade { position:absolute; inset:0; width:100%; height:100%; }
.lifecore-backdrop { object-fit:cover; object-position:center; }
.lifecore-shade { background:linear-gradient(90deg,rgba(255,252,245,.98) 0%,rgba(255,252,245,.88) 45%,rgba(255,252,245,.12) 76%),linear-gradient(0deg,rgba(7,48,36,.35),transparent 45%); }
.project-number { position:absolute; right:32px; top:28px; z-index:3; display:flex; align-items:center; gap:12px; color:rgba(11,32,26,.58); text-transform:uppercase; }
.project-number span { font-size:.64rem; letter-spacing:.14em; }
.project-number strong { font-size:2rem; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }
.lifecore-content { position:relative; z-index:2; max-width:680px; padding:62px; }
.lifecore-wordmark { width:300px; max-height:112px; margin:0 0 38px; object-fit:contain; object-position:left center; }
.lifecore-wordmark--new{display:block;width:min(390px,100%);max-height:none}.lifecore-wordmark--new img{display:block;width:100%;height:auto;object-fit:contain}
@media(max-width:640px){.lifecore-wordmark--new{width:min(300px,100%);max-width:100%}.lifecore-wordmark--new img{width:100%;height:auto}}
.status-row { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-bottom:20px; color:#52615c; font-size:.7rem; font-weight:750; letter-spacing:.06em; text-transform:uppercase; }
.status { display:inline-flex; align-items:center; gap:7px; padding:7px 10px; border:1px solid currentColor; border-radius:999px; }
.status::before { content:""; width:7px; height:7px; border-radius:50%; background:currentColor; box-shadow:0 0 10px currentColor; }
.status-green { color:var(--forest); }
.lifecore-content h3 { max-width:640px; margin:0; font-size:clamp(2.6rem,5vw,5rem); line-height:.95; letter-spacing:-.055em; }
.lifecore-content > p { max-width:620px; color:#3d4a45; font-size:1.04rem; }
.project-points { display:flex; flex-wrap:wrap; gap:8px; margin:28px 0 0; padding:0; list-style:none; }
.project-points li { padding:8px 11px; border:1px solid rgba(14,49,38,.14); border-radius:9px; background:rgba(255,255,255,.57); font-size:.74rem; font-weight:750; }
.project-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px; margin-top:36px; }
.project-actions > span { max-width:255px; color:#53615d; font-size:.74rem; }
.button-forest { border-color:var(--forest); background:var(--forest); color:#fff; box-shadow:0 14px 34px rgba(21,95,71,.2); }
.interface-window { margin-top:32px; overflow:hidden; border:1px solid rgba(10,20,22,.16); border-radius:24px; background:#111719; box-shadow:var(--shadow); }
.window-bar { display:flex; align-items:center; gap:8px; min-height:48px; padding:0 18px; background:#111719; color:#8f9a9f; }
.window-bar > span { width:9px; height:9px; border-radius:50%; background:#ff6d63; }
.window-bar > span:nth-child(2) { background:#ffbd44; }
.window-bar > span:nth-child(3) { background:#46c657; }
.window-bar p { margin:0 0 0 10px; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.65rem; letter-spacing:.12em; }
.window-bar b { margin-left:auto; color:#8fd7ae; font-size:.62rem; letter-spacing:.12em; }
.interface-window > img { width:100%; height:auto; aspect-ratio:auto; object-fit:contain; object-position:top; }

.sidequests { position:relative; padding:150px 0; overflow:hidden; background:radial-gradient(circle at 18% 22%,rgba(91,43,177,.25),transparent 28%),radial-gradient(circle at 85% 46%,rgba(35,201,243,.17),transparent 31%),#070b18; }
.sidequests::before { content:""; position:absolute; inset:0; opacity:.2; background-image:linear-gradient(rgba(35,201,243,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(35,201,243,.08) 1px,transparent 1px); background-size:62px 62px; mask-image:linear-gradient(#000,transparent 80%); }
.sidequests-sky { position:absolute; inset:0; pointer-events:none; }
.sidequests-sky i { position:absolute; width:4px; height:4px; border-radius:50%; background:#fff; box-shadow:0 0 12px #fff; animation:float 7s ease-in-out infinite; }
.sidequests-sky i:nth-child(1) { left:8%; top:12%; }
.sidequests-sky i:nth-child(2) { left:74%; top:16%; animation-delay:-2s; }
.sidequests-sky i:nth-child(3) { left:92%; top:54%; animation-delay:-4s; }
.sidequests-sky i:nth-child(4) { left:26%; top:71%; animation-delay:-1s; }
.sidequests-heading { position:relative; display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:center; gap:80px; }
.sidequests-heading > div:first-child img { width:min(100%,500px); filter:drop-shadow(0 22px 50px rgba(64,15,163,.35)); }
.sidequests-heading h2 { font-size:clamp(3.1rem,6vw,6.4rem); }
.sidequests-heading > div:last-child > p { max-width:600px; color:#b8c3d0; font-size:1.03rem; }
.quest-lab { position:relative; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr); gap:16px; margin-top:72px; padding:16px; border:1px solid rgba(116,217,255,.17); border-radius:28px; background:rgba(4,7,17,.66); box-shadow:0 35px 100px rgba(0,0,0,.45); backdrop-filter:blur(18px); }
.quest-builder,.quest-result { min-width:0; border-radius:20px; }
.quest-builder { padding:38px; background:linear-gradient(145deg,rgba(23,29,52,.91),rgba(13,17,34,.93)); }
.quest-kicker { margin:0 0 9px; color:#65dcfa; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.66rem; letter-spacing:.14em; }
.quest-builder > h3 { margin:0 0 30px; font-size:clamp(1.8rem,3vw,3rem); line-height:1; letter-spacing:-.045em; }
.quest-builder fieldset { display:flex; flex-wrap:wrap; gap:8px; margin:17px 0 0; padding:0; border:0; }
.quest-builder legend { width:100%; margin-bottom:7px; color:#8f9dad; font-size:.67rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.quest-builder fieldset button { min-height:42px; padding:.65rem .9rem; border:1px solid rgba(255,255,255,.12); border-radius:10px; background:rgba(255,255,255,.045); color:#b9c4cf; font-size:.76rem; font-weight:760; cursor:pointer; }
.quest-builder fieldset button:hover { border-color:rgba(35,201,243,.48); color:#fff; }
.quest-builder fieldset button[aria-pressed="true"] { border-color:#6f60ff; background:linear-gradient(120deg,rgba(111,96,255,.3),rgba(35,201,243,.16)); color:#fff; box-shadow:inset 0 -2px #55d4f6; }
.quest-button { margin-top:30px; border-color:#6657ed; background:linear-gradient(110deg,#764be8,#1fc7ef); color:#fff; box-shadow:0 16px 42px rgba(80,73,229,.3); }
.quest-result { position:relative; display:flex; min-height:500px; flex-direction:column; justify-content:flex-end; overflow:hidden; padding:36px; background:linear-gradient(160deg,rgba(86,46,185,.96),rgba(8,145,191,.9)); isolation:isolate; }
.quest-result::before { content:""; position:absolute; z-index:-2; inset:0; opacity:.5; background:radial-gradient(circle at 68% 22%,rgba(255,255,255,.48),transparent 17%),linear-gradient(140deg,transparent 30%,rgba(255,255,255,.12)); }
.quest-result::after { content:""; position:absolute; z-index:-1; width:460px; height:460px; left:-150px; bottom:-260px; border:1px solid rgba(255,255,255,.3); border-radius:50%; box-shadow:0 0 0 42px rgba(255,255,255,.06),0 0 0 88px rgba(255,255,255,.04); }
.quest-result.is-shuffling { animation:questFlash .55s ease; }
.quest-card-top { position:absolute; inset:24px 26px auto; display:flex; justify-content:space-between; color:rgba(255,255,255,.72); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.65rem; letter-spacing:.13em; }
.quest-icon { position:absolute; right:30px; top:85px; display:grid; place-items:center; width:86px; aspect-ratio:1; border:1px solid rgba(255,255,255,.25); border-radius:50%; background:rgba(255,255,255,.09); font-size:2rem; transform:rotate(-12deg); }
.quest-result > p[data-quest-meta] { margin:0 0 8px; color:#e2f8ff; font-size:.68rem; font-weight:850; letter-spacing:.13em; }
.quest-result h3 { max-width:390px; margin:0; font-size:clamp(2.5rem,4.5vw,5rem); line-height:.88; letter-spacing:-.06em; }
.quest-result > p[data-quest-copy] { max-width:430px; margin:20px 0 0; color:#e3eff5; }
.quest-stamp { width:max-content; margin-top:30px; padding:8px 12px; border:1px solid rgba(255,255,255,.3); border-radius:999px; color:#fff; font-size:.64rem; font-weight:850; letter-spacing:.12em; }
.sidequests-board { position:relative; margin-top:32px; overflow:hidden; border:1px solid rgba(121,218,255,.18); border-radius:26px; background:#080c16; box-shadow:0 32px 80px rgba(0,0,0,.42); }
.sidequests-board img { width:100%; aspect-ratio:2/1; object-fit:cover; }
.sidequests-board p { position:absolute; right:18px; bottom:18px; max-width:360px; margin:0; padding:12px 15px; border:1px solid rgba(255,255,255,.14); border-radius:12px; background:rgba(5,9,17,.82); color:#c4d1da; font-size:.74rem; backdrop-filter:blur(14px); }

.story { padding:150px 0; background:linear-gradient(145deg,#0d1114,#171d22); }
.story-grid { display:grid; grid-template-columns:minmax(400px,.88fr) minmax(0,1.12fr); align-items:center; gap:clamp(60px,8vw,110px); }
.story-visual { position:relative; min-height:580px; display:grid; place-items:center; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:radial-gradient(circle,rgba(255,118,26,.13),transparent 54%),#090c0e; }
.story-visual::before { content:""; position:absolute; inset:0; opacity:.22; background:repeating-linear-gradient(0deg,transparent 0 30px,rgba(255,255,255,.05) 31px); }
.story-rings { position:absolute; width:74%; aspect-ratio:1; border:1px solid rgba(255,118,26,.26); border-radius:50%; box-shadow:0 0 0 45px rgba(255,118,26,.035),0 0 0 90px rgba(35,201,243,.025); }
.story-visual img { position:relative; z-index:2; width:86%; filter:drop-shadow(0 24px 52px rgba(0,0,0,.55)); }
.story-visual > p { position:absolute; left:25px; bottom:20px; margin:0; color:#738087; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.65rem; letter-spacing:.13em; }
.story h2 { font-size:clamp(3.2rem,6vw,6.4rem); }
.story-copy > p:not(.eyebrow) { max-width:700px; color:#b8c1c6; font-size:1.06rem; }
.story blockquote { max-width:680px; margin:36px 0; padding:25px 0 25px 26px; border-left:3px solid var(--orange); color:#fff; font-size:clamp(1.25rem,2.2vw,1.75rem); font-weight:650; line-height:1.35; }
.founder { display:flex; align-items:center; gap:14px; }
.founder > span { display:grid; place-items:center; width:48px; aspect-ratio:1; border:1px solid rgba(255,118,26,.4); border-radius:50%; background:rgba(255,118,26,.09); color:var(--orange-soft); font-weight:900; }
.founder p { margin:0; color:#879299; font-size:.78rem; }
.founder strong { color:#fff; font-size:.9rem; }

.principles { padding:140px 0; background:var(--paper); color:#11171a; }
.principle-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; perspective:1000px; }
.principle-grid article { position:relative; min-height:340px; padding:28px; overflow:hidden; border:1px solid rgba(12,20,24,.13); border-radius:21px; background:rgba(255,255,255,.6); transform-style:preserve-3d; transition:transform .25s ease,background .25s ease,box-shadow .25s ease; }
.principle-grid article::after { content:""; position:absolute; width:150px; height:150px; right:-85px; top:-85px; border-radius:50%; background:radial-gradient(circle,var(--orange-soft),transparent 67%); opacity:0; transition:opacity .25s ease; }
.principle-grid article:hover,.principle-grid article:focus-visible { background:#fff; box-shadow:0 22px 50px rgba(16,24,28,.13); }
.principle-grid article:hover::after,.principle-grid article:focus-visible::after { opacity:.28; }
.principle-grid article > span { color:#9e4b13; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-weight:850; }
.principle-grid article > i { position:absolute; right:24px; top:20px; color:#9ba3a6; font-style:normal; font-size:1.2rem; }
.principle-grid h3 { margin:118px 0 12px; font-size:1.35rem; line-height:1.08; }
.principle-grid p { margin:0; color:#59636a; font-size:.89rem; }

.destination { padding:112px 0; background:var(--paper); }
.destination-card { position:relative; display:grid; grid-template-columns:1.15fr .85fr; align-items:center; min-height:590px; overflow:hidden; padding:70px; border-radius:var(--radius); background:linear-gradient(125deg,#592507 0%,#10171a 48%,#073449 100%); box-shadow:var(--shadow); }
.destination-card::before { content:""; position:absolute; inset:0; opacity:.1; background-image:linear-gradient(rgba(255,255,255,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.14) 1px,transparent 1px); background-size:52px 52px; }
.destination-card > div { position:relative; z-index:2; }
.destination h2 { font-size:clamp(3.1rem,6vw,6.3rem); }
.destination-card > div:first-child > p:not(.eyebrow) { max-width:560px; color:#bbc5ca; font-size:1.04rem; }
.destination-card .button { margin-top:18px; }
.eyebrow.light { color:#ffd0ac; }
.destination-mark { display:grid; justify-items:center; }
.destination-mark img { width:min(100%,330px); filter:drop-shadow(0 25px 55px rgba(0,0,0,.45)); animation:gentleFloat 5s ease-in-out infinite; }
.destination-mark span { margin-top:18px; color:#97d9e9; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.72rem; letter-spacing:.18em; }

.site-footer { padding:72px 0 24px; background:#07090b; }
.footer-grid { display:grid; grid-template-columns:1.3fr .7fr .7fr; gap:80px; padding-bottom:54px; }
.footer-brand img { width:245px; height:auto; object-fit:contain; object-position:left center; }
.footer-brand p { color:var(--muted); font-size:.8rem; }
.footer-grid > div:not(.footer-brand) { display:grid; align-content:start; gap:10px; }
.footer-grid strong { margin-bottom:5px; color:#fff; font-size:.68rem; letter-spacing:.13em; text-transform:uppercase; }
.footer-grid a { width:max-content; color:#9ca6ad; font-size:.8rem; text-decoration:none; }
.footer-grid a:hover { color:#fff; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; padding-top:24px; border-top:1px solid var(--line); color:#717b82; font-size:.66rem; font-weight:750; letter-spacing:.1em; }
.footer-bottom span:last-child { display:flex; align-items:center; gap:7px; }
.footer-bottom i { width:7px; height:7px; border-radius:50%; background:#49d17c; box-shadow:0 0 11px #49d17c; }

[data-reveal] { opacity:1; transform:none; }
.has-js [data-reveal] { opacity:0; transform:translateY(28px); transition:opacity .7s ease,transform .7s ease; }
.has-js [data-reveal].is-visible { opacity:1; transform:none; }
.spark { position:fixed; z-index:100; width:5px; height:5px; pointer-events:none; border-radius:50%; background:var(--orange); box-shadow:0 0 12px currentColor; animation:spark .65s ease-out forwards; }
.not-found { min-height:100vh; display:grid; place-items:center; padding:100px 0; }
.not-found-content { text-align:center; }
.not-found-logo { width:220px; margin:0 auto 28px; }
.not-found-eyebrow { justify-content:center; }
.not-found h1 { font-size:clamp(3rem,9vw,7rem); }
.not-found .hero-lead { margin:28px auto; }
.redirect-page { min-height:100vh; display:grid; place-content:center; gap:20px; width:min(100% - 32px,900px); margin:auto; text-align:center; }
.redirect-page h1 { margin:0; font-size:clamp(2.6rem,8vw,6rem); line-height:.92; letter-spacing:-.055em; }
.redirect-page p { margin:0; }

@keyframes spin { to { transform:rotate(360deg); } }
@keyframes pulse { 50% { opacity:.35; transform:scale(.8); } }
@keyframes float { 50% { transform:translateY(-18px) scale(1.5); opacity:.5; } }
@keyframes gentleFloat { 50% { transform:translateY(-10px) rotate(1deg); } }
@keyframes questFlash { 35% { transform:scale(.98); filter:brightness(1.35); } }
@keyframes spark { to { opacity:0; transform:translate(var(--sx),var(--sy)) scale(0); } }

@media (max-width:1120px) {
  .nav-shell > .button { display:none; }
  .hero { padding-top:142px; }
  .hero-inner { grid-template-columns:1fr; }
  .hero-copy { max-width:870px; }
  .forge-console { width:min(100%,760px); margin:auto; }
  .section-heading { grid-template-columns:1fr; gap:28px; }
  .sidequests-heading { gap:42px; }
  .story-grid { grid-template-columns:minmax(340px,.8fr) 1.2fr; gap:52px; }
  .principle-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:820px) {
  :root { --shell:min(100% - 32px,1280px); }
  .nav-shell { min-height:74px; grid-template-columns:auto 1fr auto; gap:12px; }
  .brand img { width:142px; height:auto; }
  .nav-toggle { display:block; justify-self:end; }
  .nav-toggle span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  .nav-toggle i,.nav-toggle i::before,.nav-toggle i::after { display:block; width:21px; height:2px; background:#fff; transition:transform .2s ease,top .2s ease,opacity .2s ease; }
  .nav-toggle i { position:relative; margin:auto; }
  .nav-toggle i::before,.nav-toggle i::after { content:""; position:absolute; left:0; }
  .nav-toggle i::before { top:-7px; }
  .nav-toggle i::after { top:7px; }
  .nav-toggle[aria-expanded="true"] i { background:transparent; }
  .nav-toggle[aria-expanded="true"] i::before { top:0; transform:rotate(45deg); }
  .nav-toggle[aria-expanded="true"] i::after { top:0; transform:rotate(-45deg); }
  .site-nav { position:absolute; top:74px; left:0; right:0; display:none; padding:12px 20px 25px; border-bottom:1px solid var(--line); background:rgba(7,9,11,.98); box-shadow:0 24px 48px rgba(0,0,0,.35); }
  .site-nav[data-open="true"] { display:grid; gap:0; }
  .site-nav a { padding:15px 4px; border-bottom:1px solid var(--line); }
  .site-nav a::after { display:none; }
  .hero { min-height:auto; padding-top:126px; }
  .hero h1 { font-size:clamp(3rem,12vw,5.5rem); }
  .hero-stats { margin-top:58px; }
  .hero-stats div { padding-inline:18px; }
  .lifecore,.sidequests,.story,.principles { padding:100px 0; }
  .lifecore-stage { min-height:760px; }
  .lifecore-shade { background:linear-gradient(180deg,rgba(255,252,245,.78),rgba(255,252,245,.96) 46%,rgba(255,252,245,.98)); }
  .lifecore-content { padding:72px 34px 42px; }
  .sidequests-heading { grid-template-columns:1fr; }
  .sidequests-heading > div:first-child img { width:410px; }
  .quest-lab { grid-template-columns:1fr; }
  .quest-result { min-height:480px; }
  .story-grid { grid-template-columns:1fr; }
  .story-visual { min-height:480px; }
  .destination { padding:86px 0; }
  .destination-card { grid-template-columns:1fr; gap:48px; padding:52px; }
  .destination-mark { justify-self:center; width:min(100%,360px); }
}

@media (max-width:580px) {
  :root { --shell:min(100% - 24px,1280px); --radius:22px; }
  html { scroll-padding-top:76px; }
  .hero { padding-top:112px; }
  .hero h1 { font-size:clamp(3rem,15vw,4.8rem); }
  .hero-lead { font-size:1rem; }
  .hero-actions { align-items:flex-start; flex-direction:column; }
  .hero-actions .button { width:100%; }
  .hero-note { align-items:flex-start; }
  .forge-console { border-radius:18px; }
  .console-core { min-height:280px; padding-inline:14px; }
  .console-core img { width:92%; }
  .console-orbit { width:230px; }
  .console-controls { grid-template-columns:repeat(2,1fr); }
  .console-output { min-height:122px; }
  .hero-stats { grid-template-columns:1fr; }
  .hero-stats div,.hero-stats div:first-child { min-height:75px; border-left:1px solid var(--line); border-bottom:1px solid var(--line); }
  .lifecore,.sidequests,.story,.principles { padding:78px 0; }
  .section-heading { margin-bottom:42px; }
  .section-heading h2,.sidequests-heading h2,.story h2,.destination h2 { font-size:clamp(2.75rem,14vw,4.4rem); }
  .lifecore-stage { min-height:800px; }
  .lifecore-content { padding:76px 22px 30px; }
  .lifecore-wordmark { width:245px; margin-bottom:28px; }
  .lifecore-content h3 { font-size:clamp(2.25rem,11vw,3.7rem); }
  .project-actions { align-items:flex-start; flex-direction:column; }
  .project-actions .button { width:100%; }
  .project-actions > span { max-width:none; }
  .project-number { right:19px; top:16px; }
  .window-bar p { display:none; }
  .window-bar b { font-size:.56rem; }
  .interface-window > img{min-height:0;height:auto;object-fit:contain;object-position:top}.sidequests-board img { min-height:320px; aspect-ratio:auto; object-fit:cover; object-position:center; }
  .sidequests-heading > div:first-child img { width:100%; }
  .quest-lab { margin-top:45px; padding:8px; border-radius:21px; }
  .quest-builder { padding:26px 20px; }
  .quest-builder fieldset button { flex:1 1 30%; min-width:87px; padding-inline:.6rem; }
  .quest-button { width:100%; }
  .quest-result { min-height:460px; padding:28px 23px; }
  .quest-icon { width:68px; top:76px; right:22px; }
  .sidequests-board p { position:relative; right:auto; bottom:auto; max-width:none; border:0; border-radius:0; background:#080c16; }
  .story-visual { min-height:380px; }
  .principle-grid { grid-template-columns:1fr; }
  .principle-grid article { min-height:235px; }
  .principle-grid h3 { margin-top:62px; }
  .destination { padding:70px 0; }
  .destination-card { min-height:0; padding:38px 24px; }
  .destination-card .button { width:100%; }
  .destination-mark img { width:220px; }
  .footer-grid { grid-template-columns:1fr; gap:36px; }
  .footer-bottom { flex-direction:column; }
}

@media (hover:hover) and (pointer:fine) {
  [data-tilt] { will-change:transform; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none !important; transition:none !important; }
  .has-js [data-reveal] { opacity:1; transform:none; }
  [data-tilt] { transform:none !important; }
  .spark { display:none; }
}
