@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--bg:#090c13;--fg:#edf1f5;--muted:#a1abb9;--accent:#d6b58a;--line:rgba(222,229,247,.13);--card:#121824;--sans:'DM Sans',system-ui,sans-serif;--display:'Space Grotesk',system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--sans);line-height:1.6;overflow-x:hidden}body::selection{background:#d6b58a;color:#10131c}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid #e7bc83;outline-offset:4px}img{max-width:100%;display:block}button{font:inherit}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.ambient{position:fixed;z-index:-1;filter:blur(20px);pointer-events:none;border-radius:50%}.ambient-one{width:65vw;height:65vw;left:-27vw;top:15vh;background:radial-gradient(circle,rgba(49,66,110,.20),transparent 62%)}.ambient-two{width:50vw;height:50vw;right:-24vw;top:72vh;background:radial-gradient(circle,rgba(103,61,55,.13),transparent 63%)}.page-wrap{width:min(1500px,calc(100% - 88px));margin:auto}.site-header{height:106px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;gap:15px;align-items:center;flex-shrink:0}.brand-symbol{font-family:var(--display);letter-spacing:-.14em;font-size:32px;font-weight:700;line-height:1}.brand-mark{color:var(--accent);font-size:25px;padding:0 5px}.brand-name{font-family:var(--display);font-size:12px;letter-spacing:.24em;font-weight:700;line-height:1.6}.brand-name small{display:block;color:#8d99a9;font-size:8px;letter-spacing:.18em;font-weight:600}.primary-nav{display:flex;align-items:center;gap:clamp(12px,2vw,35px)}.primary-nav a{font-size:12px;font-weight:700;letter-spacing:.045em;color:#96a3b5;transition:color .2s}.primary-nav a:hover,.primary-nav a.active{color:#f0f5ff}.primary-nav a.active::after{content:'';height:3px;background:var(--accent);display:block;position:relative;top:12px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.04fr .96fr;min-height:640px;gap:clamp(32px,5vw,90px);align-items:center;padding:62px 0 100px}.hero-copy{position:relative;z-index:1}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.22em;color:var(--accent);margin:0 0 28px;text-transform:uppercase}.section-num{color:#677385;margin-right:14px}.pulse-dot{display:inline-block;width:7px;height:7px;background:var(--accent);border-radius:100%;margin-right:12px;box-shadow:0 0 19px #d6b58a}.hero h1,.page-hero h1{font-family:var(--display);font-weight:500;font-size:clamp(58px,6.2vw,112px);letter-spacing:-.065em;line-height:1.03;margin:0 0 33px}.hero h1 em,.page-hero h1 em,.section h2 em,.album-feature h2 em,.game-feature h2 em,.scene-story h2 em,.bio-copy h2 em,.demo-details h2 em{font-family:Georgia,serif;font-style:italic;font-weight:400;color:var(--accent);letter-spacing:-.05em}.hero-lead,.large-copy{max-width:520px;font-size:clamp(16px,1.4vw,21px);line-height:1.6;color:#c2cbd7;margin:0 0 32px}.hero-actions,.album-actions{display:flex;flex-wrap:wrap;gap:12px}.btn{min-height:50px;padding:13px 23px;border:1px solid #566273;display:inline-flex;align-items:center;justify-content:center;gap:20px;border-radius:4px;font-weight:700;font-size:12px;letter-spacing:.05em;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-3px)}.btn-primary{background:#d6b58a;border-color:#d6b58a;color:#10131c}.btn-primary:hover{background:#e9c9a0}.btn-outline{color:#e9eef7}.btn-outline:hover{background:#1e2738}.hero-bottom{display:flex;gap:28px;margin-top:70px;color:#778495;font-weight:700;font-size:9px;letter-spacing:.17em}.hero-art{height:540px;position:relative;overflow:hidden;isolation:isolate;background:#141821}.hero-art::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,12,19,.19),transparent 40%),linear-gradient(0deg,rgba(9,12,19,.5),transparent 30%)}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:64% center;filter:contrast(1.06) saturate(.65)}.hero-art-caption{position:absolute;z-index:2;bottom:24px;left:24px;font-size:10px;font-weight:700;letter-spacing:.17em}.hero-art-rule{position:absolute;height:3px;left:24px;right:24px;bottom:16px;background:var(--accent);z-index:2;transform:scaleX(.34);transform-origin:left}.section{padding:72px 0 110px;border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:46px}.section h2,.scene-story h2,.demo-details h2{font-family:var(--display);font-size:clamp(36px,4.3vw,68px);line-height:1.1;font-weight:500;letter-spacing:-.055em;margin:0 0 26px}.section-heading p{max-width:380px;color:var(--muted);font-size:16px;margin-bottom:18px}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.feature-card{min-width:0}.card-image{display:block;aspect-ratio:1.25;overflow:hidden;background:#131a25}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1)}.card-image:hover img{transform:scale(1.065)}.card-meta{color:var(--accent);font-size:10px;letter-spacing:.17em;margin-top:22px;font-weight:700}.feature-card h3{font-family:var(--display);font-size:29px;letter-spacing:-.03em;line-height:1.15;margin:10px 0}.feature-card p{color:var(--muted);font-size:14px;margin:0 0 14px}.inline-link,.text-button{color:#e6cfaf;font-size:12px;font-weight:700;letter-spacing:.035em;display:inline-flex;align-items:center;gap:12px}.inline-link:hover,.text-button:hover{color:#fff}.statement-band{padding:42px 46px;display:flex;gap:36px;align-items:center;background:linear-gradient(110deg,#191e2a,#111721);border:1px solid var(--line);margin:10px 0 100px}.statement-band .big-asterisk{font-size:50px;color:var(--accent);line-height:1}.statement-band p{font-family:var(--display);font-size:clamp(18px,1.8vw,26px);line-height:1.35;max-width:850px;margin:0}.statement-band strong{color:var(--accent);font-weight:500}.statement-band a{white-space:nowrap;color:var(--accent);margin-left:auto;font-size:12px;font-weight:700}.two-up{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.two-up p{color:var(--muted);max-width:500px;font-size:17px}.experiment-visual{background:#060a14;height:370px;overflow:hidden;position:relative;border:1px solid var(--line)}.orbit-art{position:absolute;inset:0}.orbit-path{position:absolute;display:block;width:470px;height:160px;left:50%;top:46%;transform:translate(-50%,-50%) rotate(-22deg);border:1px solid rgba(112,140,197,.5);border-radius:50%}.orbit-b{width:270px;height:95px;transform:translate(-50%,-50%) rotate(-15deg)}.orbit-c{width:630px;height:225px;transform:translate(-50%,-50%) rotate(-25deg);opacity:.5}.solar-core{position:absolute;width:46px;height:46px;left:50%;top:46%;transform:translate(-50%,-50%);border-radius:50%;background:#fff1b7;box-shadow:0 0 12px 7px #f6c36b,0 0 72px 32px rgba(245,115,33,.35)}.interstellar-object{position:absolute;width:140px;height:3px;transform:rotate(-25deg);top:36%;right:12%;background:#86aaf9;box-shadow:0 0 14px #739cee}.visual-label,.demo-art-caption{position:absolute;bottom:18px;left:22px;font-size:10px;font-weight:700;letter-spacing:.15em;color:#dce5fc}.site-footer{display:grid;grid-template-columns:1fr auto;gap:34px;padding:50px 0 36px;border-top:1px solid var(--line);align-items:center}.footer-monogram{font-family:var(--display);font-size:34px;letter-spacing:-.06em;color:var(--accent)}.site-footer p{color:#83909f;font-size:12px;margin:0}.footer-links{display:flex;gap:27px}.footer-links a{font-size:12px;color:#bfcbdb}.footer-links a:hover{color:var(--accent)}.site-footer .copyright{grid-column:1/-1;font-size:10px;letter-spacing:.06em}.page-hero{padding:100px 0 88px;max-width:1180px}.page-hero h1{font-size:clamp(58px,7.5vw,112px);margin-bottom:26px}.page-hero .large-copy{max-width:720px}.compact-hero{padding-bottom:66px}.bio-layout{display:grid;grid-template-columns:.87fr 1.13fr;gap:clamp(42px,6vw,110px);padding-bottom:120px}.bio-photo{height:620px;position:relative;overflow:hidden;background:#111827}.bio-photo img{width:100%;height:100%;object-fit:cover;object-position:63% center}.image-credit{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(0deg,#070a13,transparent);padding:44px 20px 20px;font-size:10px;font-weight:700;letter-spacing:.16em}.bio-copy h2{font:500 52px/1.12 var(--display);letter-spacing:-.055em;margin:0 0 28px}.bio-copy p{color:#bec9d7;font-size:16px;line-height:1.82;margin:0 0 20px}.bio-copy strong{color:#eef4fc}.bio-copy em{color:#f0d7ae}.bio-chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}.bio-chips span{border:1px solid var(--line);padding:8px 12px;font-size:10px;letter-spacing:.12em;color:#9caec2}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:38px}.principles article{padding-top:24px;border-top:1px solid #485267}.principles article>span{color:var(--accent);font-size:12px}.principles h3{font-size:26px;font-weight:500;font-family:var(--display)}.principles p{color:var(--muted)}.footnote-section{padding:35px 0 80px;border-top:1px solid var(--line);max-width:900px}.footnote-section p{font-size:13px;color:#9daabb}.footnote-section a{color:#d7bb93;text-decoration:underline;text-underline-offset:3px}.music-hero{padding-bottom:80px}.platform-links{display:flex;gap:25px;flex-wrap:wrap}.platform-links a{font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--accent);padding-bottom:4px}.album-list{border-top:1px solid var(--line)}.album-feature{display:grid;grid-template-columns:45% 1fr;gap:clamp(40px,7vw,125px);align-items:center;padding:75px 0;border-bottom:1px solid var(--line)}.album-feature.reverse{grid-template-columns:1fr 45%}.album-feature.reverse img{grid-column:2;grid-row:1}.album-feature.reverse>div{grid-column:1;grid-row:1}.album-feature>img{width:100%;height:490px;object-fit:cover;background:#131925}.album-feature h2{font-family:var(--display);font-size:clamp(42px,4.5vw,70px);font-weight:500;letter-spacing:-.06em;line-height:1.06;margin:0 0 24px}.album-feature p{color:var(--muted);font-size:17px;max-width:490px;margin-bottom:27px}.small-section{padding-bottom:70px}.mini-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.mini-art img{width:100%;aspect-ratio:1.4;object-fit:cover}.mini-art span{display:block;font-size:10px;letter-spacing:.15em;color:#9aa7b7;margin-top:12px}.games-grid{display:grid;gap:25px;padding-bottom:100px}.game-feature{display:grid;grid-template-columns:43% 1fr;background:#111723;border:1px solid var(--line);min-height:420px}.game-symbol{position:relative;overflow:hidden;display:grid;place-items:center;min-height:380px}.game-logic{background:radial-gradient(circle at center,#142d30,#071616 75%)}.chip-center{z-index:1;width:155px;height:155px;background:#173d42;border:12px solid #1b777b;display:grid;place-items:center;box-shadow:0 0 0 24px rgba(33,120,115,.10),0 0 70px #0a8b82}.chip-face{color:#c7eee2;font-size:74px}.trace{position:absolute;width:120%;height:2px;background:#2ff2cc;box-shadow:0 0 13px #2ff2cc}.trace-a{transform:rotate(25deg)}.trace-b{transform:rotate(-38deg)}.game-rock{background:radial-gradient(circle,#5c2a2a,#1a101c 70%);display:flex;flex-direction:column;justify-content:center}.rock-lightning{font-size:155px;color:#ffd0a1;line-height:1;text-shadow:0 0 40px #dc4f36}.rock-label{font-family:var(--display);font-size:24px;text-align:center;line-height:1.1;letter-spacing:.12em;font-weight:700}.game-body{padding:55px 52px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.game-feature h2{font-family:var(--display);font-size:clamp(35px,4vw,60px);font-weight:500;line-height:1.06;letter-spacing:-.055em;margin:0 0 25px}.game-body p{color:var(--muted);max-width:580px;margin:0 0 28px}.demo-hero .btn{margin-top:5px}.demo-showcase{display:grid;grid-template-columns:1.1fr .9fr;gap:55px;align-items:center;padding:10px 0 130px}.demo-art{height:460px;position:relative;overflow:hidden;background:#050910;border:1px solid var(--line)}.demo-starfield{position:absolute;inset:0;background-image:radial-gradient(circle at 15% 20%,#9ac0ff 0 1px,transparent 1.8px),radial-gradient(circle at 77% 33%,#8eb7f5 0 1px,transparent 1.8px),radial-gradient(circle at 46% 73%,#c9ddff 0 1px,transparent 1.8px);background-size:110px 140px,169px 110px,234px 189px;opacity:.5}.demo-sun{width:95px;height:95px;border-radius:50%;background:#ffecb0;position:absolute;top:48%;left:30%;box-shadow:0 0 20px #ffcc7b,0 0 100px 64px rgba(243,99,27,.24)}.demo-orbit{position:absolute;top:56%;left:44%;border:1px solid rgba(132,167,238,.52);border-radius:50%;transform:translate(-50%,-50%) rotate(-28deg)}.demo-orbit-one{width:440px;height:190px}.demo-orbit-two{width:720px;height:330px}.demo-comet{width:220px;height:4px;background:linear-gradient(90deg,transparent,#a7cbff);box-shadow:0 0 13px #3b80ff;position:absolute;top:34%;right:12%;transform:rotate(-28deg)}.demo-details h2{font-family:var(--display);font-size:clamp(38px,4vw,62px);line-height:1.08;letter-spacing:-.055em}.demo-details p{color:var(--muted)}.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:30px 0}.spec-grid>div{border:1px solid var(--line);padding:13px 15px}.spec-grid small{font-size:9px;letter-spacing:.17em;color:#7f90a7;display:block}.spec-grid strong{font:600 14px var(--display)}.small{font-size:12px}.demoscene-hero{position:relative}.demoscene-hero::after{content:'MARILLION';position:absolute;right:0;bottom:55px;color:rgba(206,229,255,.025);font-family:var(--display);font-weight:700;font-size:clamp(90px,13vw,210px);pointer-events:none}.demo-terminal{display:inline-block;background:#0d1b15;color:#81dfa2;padding:14px 17px;font:12px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.04em;border:1px solid #224533;max-width:100%;overflow:hidden;white-space:nowrap}.terminal-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#80e0a4;margin-right:11px}.cursor{animation:blink .9s steps(2) infinite}@keyframes blink{50%{opacity:0}}.scene-feature{display:grid;grid-template-columns:46% 1fr;gap:clamp(40px,6vw,100px);padding:30px 0 120px}.old-photo{position:relative;height:520px;overflow:hidden;background:#181823}.old-photo img{height:100%;width:100%;object-fit:cover;filter:saturate(.7) contrast(1.05)}.scene-story p{color:var(--muted);font-size:16px;line-height:1.78}.scene-story strong{color:#eee}.timeline{border-top:1px solid var(--line)}.timeline-item{display:grid;grid-template-columns:190px 1fr;padding:25px 0;border-bottom:1px solid var(--line)}.timeline-year{font:500 19px var(--display);color:var(--accent)}.timeline-item h3{font:500 25px var(--display);margin:0 0 7px}.timeline-item p{color:var(--muted);margin:0}.archive-strip{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:30px 40px;background:#121d29;margin-bottom:80px}.archive-strip>div{display:flex;align-items:center;gap:22px}.archive-number{font:500 72px var(--display);line-height:1;color:var(--accent)}.archive-label{font-size:14px}.archive-label small{color:var(--muted)}.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s cubic-bezier(.18,.8,.24,1)}.reveal.visible{opacity:1;transform:none}@media(max-width:1200px){.page-wrap{width:min(100% - 56px,1500px)}.hero{min-height:0}.hero h1{font-size:clamp(54px,6vw,88px)}.hero-art{height:460px}.primary-nav{gap:15px}.primary-nav a{font-size:11px}.brand-name{font-size:11px}.bio-photo{height:560px}}@media(max-width:850px){.page-wrap{width:calc(100% - 36px)}.site-header{height:82px}.menu-toggle{width:44px;height:44px;border:1px solid var(--line);background:transparent;display:flex;flex-direction:column;justify-content:center;gap:5px;align-items:center;cursor:pointer;z-index:22}.menu-toggle span:not(.sr-only){width:18px;height:2px;background:#e9eff8}.primary-nav{position:absolute;z-index:21;top:82px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;padding:8px 18px 18px;background:#0b101b;border-bottom:1px solid var(--line);box-shadow:0 20px 35px #0008}.primary-nav.open{display:flex}.primary-nav a{padding:12px 6px;font-size:13px}.primary-nav a.active::after{display:none}.hero{grid-template-columns:1fr;padding:52px 0 75px;gap:35px}.hero h1{font-size:clamp(48px,9vw,83px)}.hero-art{height:420px}.hero-bottom{margin-top:40px}.feature-grid{grid-template-columns:1fr 1fr}.section-heading{align-items:flex-start;flex-direction:column;gap:0}.two-up,.bio-layout,.scene-feature,.demo-showcase{grid-template-columns:1fr;gap:35px}.bio-photo{height:460px}.album-feature,.album-feature.reverse{grid-template-columns:1fr;gap:35px}.album-feature.reverse img,.album-feature.reverse>div{grid-column:auto;grid-row:auto}.album-feature>img{height:auto;max-height:600px}.game-feature{grid-template-columns:1fr}.game-symbol{min-height:270px}.statement-band{flex-wrap:wrap}.statement-band a{margin-left:0}.principles{gap:22px}.page-hero{padding:65px 0}.page-hero h1{font-size:clamp(46px,8vw,78px)}}@media(max-width:570px){.page-wrap{width:calc(100% - 30px)}.brand-name{font-size:10px;letter-spacing:.13em}.brand-name small{font-size:7px}.hero h1{font-size:clamp(45px,12vw,69px)}.hero-art{height:330px}.hero-lead,.large-copy{font-size:16px}.hero-bottom{gap:12px;flex-direction:column}.section{padding:53px 0 76px}.section h2{font-size:40px}.feature-grid,.principles,.mini-gallery{grid-template-columns:1fr}.feature-card{margin-bottom:18px}.statement-band{padding:24px;gap:12px;margin-bottom:65px}.statement-band p{font-size:20px}.big-asterisk{font-size:40px}.experiment-visual{height:260px}.site-footer{display:block}.footer-links{margin:24px 0;flex-wrap:wrap;gap:15px}.page-hero h1{font-size:clamp(47px,11vw,65px)}.bio-photo{height:330px}.bio-copy h2{font-size:40px}.bio-copy p{font-size:15px}.album-feature{padding:48px 0}.album-feature h2{font-size:42px}.game-body{padding:34px 24px}.game-feature h2{font-size:42px}.scene-feature{padding-bottom:75px}.old-photo{height:330px}.timeline-item{grid-template-columns:1fr;gap:10px}.archive-strip{padding:25px;display:block}.archive-strip .btn{margin-top:25px}.demo-art{height:300px}.spec-grid{gap:8px}.spec-grid strong{font-size:12px}.demo-terminal{font-size:9px}.copyright{margin-top:20px!important}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}


/* Signal & Orbit design system: immersive editorial layout. The page should fit the screen,
 * not negotiate with it. */
:root{--bg:#040712;--fg:#f5f8ff;--muted:#a8b7cc;--accent:#92d7ff;--line:rgba(170,210,255,.16);--card:#0b1222}
body{background:#030711;background-image:radial-gradient(circle at 72% 4%,rgba(27,85,154,.20),transparent 26%),radial-gradient(circle at 9% 60%,rgba(43,22,86,.19),transparent 38%)}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:10;opacity:.21;background:repeating-linear-gradient(0deg,transparent 0px,transparent 3px,rgba(110,174,255,.015) 4px);mix-blend-mode:screen}
.ambient-one{background:radial-gradient(circle,rgba(31,119,210,.15),transparent 64%)}
.ambient-two{background:radial-gradient(circle,rgba(88,44,162,.13),transparent 65%)}
.page-wrap{max-width:none;width:min(1760px,calc(100% - 72px))}
.site-header{height:92px;position:relative;z-index:12;border-bottom:1px solid rgba(130,179,255,.20)}
.brand-symbol{color:var(--accent);text-shadow:0 0 35px rgba(85,189,255,.4)}
.brand-mark{color:#e6f5ff}
.primary-nav a{position:relative;transition:color .3s,text-shadow .3s}
.primary-nav a:hover,.primary-nav a.active{color:#f1faff;text-shadow:0 0 23px rgba(84,192,255,.55)}
.primary-nav a.active::after{background:#70d7ff;box-shadow:0 0 14px #5bcaff}
.home-hero{position:relative;isolation:isolate;min-height:min(820px,calc(100svh - 90px));display:flex;align-items:center;overflow:hidden;grid-template-columns:none;gap:0;padding:clamp(85px,12vh,135px) clamp(28px,5vw,92px);margin:0 calc((min(1760px,100vw - 72px) - 100vw)/2);width:100vw;background:#050c1b}
.home-hero .hero-art{position:absolute;inset:0;width:100%;height:100%;z-index:-1;background:#020612;overflow:hidden;clip-path:none}
.home-hero .hero-art img{height:100%;width:100%;object-fit:cover;object-position:68% 43%;filter:brightness(.7) contrast(1.24) saturate(.55) hue-rotate(4deg);transform:scale(1.06);animation:heroFloat 25s ease-in-out infinite alternate}
.home-hero .hero-art::before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,#030913 0%,rgba(3,9,19,.97) 18%,rgba(3,9,19,.83) 39%,rgba(3,9,19,.20) 70%,rgba(3,9,19,.08) 100%),linear-gradient(0deg,#030913 0%,transparent 28%,transparent 82%,rgba(3,9,19,.38) 100%)}
.home-hero .hero-art::after{inset:0;background:radial-gradient(ellipse at 74% 44%,transparent 7%,rgba(3,9,19,.27) 65%,#030913 115%)}
.home-hero .hero-art-caption{display:none}
.home-hero .hero-art-rule{display:none}
.home-hero:after{content:"";position:absolute;z-index:0;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 46%,rgba(54,170,255,.07) 58%,transparent 72%);mix-blend-mode:screen}
.home-hero .hero-copy{position:relative;z-index:3;width:min(850px,69%);padding-top:20px;text-shadow:0 2px 34px rgba(0,0,0,.37)}
.home-hero h1{font-size:clamp(65px,7.4vw,142px);font-weight:600;line-height:.92;letter-spacing:-.095em;max-width:1050px;margin-bottom:33px}
.home-hero h1 .outline-word{-webkit-text-stroke:1px rgba(227,242,255,.75);color:transparent;text-shadow:none}
.home-hero h1 em{color:#9addff;font-style:italic;text-shadow:0 0 32px rgba(24,120,231,.32)}
.home-hero .hero-lead{max-width:640px;color:#e4eeff;font-size:clamp(16px,1.4vw,21px);line-height:1.57}
.home-hero .eyebrow{color:#a0ddff;letter-spacing:.31em}
.home-hero .hero-bottom{margin-top:62px;color:#a3bcdb}
.hero-coordinate{position:absolute;z-index:4;bottom:24px;right:30px;font:10px ui-monospace,monospace;letter-spacing:.16em;color:#accce5;opacity:.74}
.section{border-color:rgba(117,161,227,.14)}
.section h2 em,.bio-copy h2 em,.scene-story h2 em,.demo-details h2 em,.album-feature h2 em,.game-feature h2 em{color:#91d2ff}
.section-heading h2{font-size:clamp(44px,5vw,83px)}
.feature-card,.game-feature,.infoCard{transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.feature-card:hover{transform:translateY(-8px)}
.card-image{position:relative;border:1px solid rgba(126,171,240,.17);background:#06101e;box-shadow:0 20px 40px #0004}
.card-image:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(130deg,rgba(148,228,255,.12),transparent 48%);opacity:0;transition:opacity .35s}
.card-image:hover:after{opacity:1}
.card-image img{transition:transform 1.1s cubic-bezier(.16,1,.3,1),filter .9s}
.card-image:hover img{transform:scale(1.08);filter:saturate(1.25)}
.statement-band{position:relative;overflow:hidden;background:linear-gradient(110deg,rgba(13,31,58,.9),rgba(10,16,34,.9));border:1px solid rgba(105,180,255,.19)}
.statement-band:before{content:"";position:absolute;inset:-80%;border:1px solid rgba(86,163,248,.14);border-radius:50%;transform:rotate(-14deg);pointer-events:none}
.btn{border-radius:100px;transition:transform .3s,box-shadow .3s,background .3s}
.btn-primary{background:linear-gradient(105deg,#8edcff,#eef5ff);border:0;color:#05111d;box-shadow:0 0 32px rgba(43,166,255,.18)}
.btn-primary:hover{box-shadow:0 0 32px rgba(43,166,255,.39)}
.btn-outline{border-color:rgba(166,213,255,.45);background:rgba(6,17,37,.3);backdrop-filter:blur(8px)}
.page-hero{position:relative}
.page-hero:before{content:"";position:absolute;pointer-events:none;z-index:-1;top:-110px;right:5%;width:min(70vw,700px);height:480px;background:radial-gradient(ellipse,rgba(30,105,193,.13),transparent 60%);filter:blur(12px)}
.bio-photo,.old-photo,.album-feature>img,.demo-art,.game-poster{border:1px solid rgba(150,187,235,.16)}
.game-feature{border-radius:9px;overflow:hidden;background:linear-gradient(110deg,#081a28,#101326);box-shadow:0 22px 80px rgba(0,0,0,.24)}
.game-feature:hover{transform:translateY(-4px)}
.game-poster{background:#050916;position:relative;overflow:hidden;display:block}
.game-poster img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.game-feature:hover .game-poster img{transform:scale(1.04)}
.game-body{padding:clamp(28px,4vw,70px)}
.game-body h2 em{color:#9bdcff}
.old-photo img{filter:saturate(.88) contrast(1.08)}
.demo-terminal{box-shadow:0 0 35px rgba(31,234,115,.08)}
/* Motion layer: pointer-reactive stars and gentle scroll-aware transforms. Space is large.
 * Blank screens are not the intended effect. */
.signal-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.48}
.page-wrap{position:relative;z-index:1}
@keyframes heroFloat{0%{transform:scale(1.06) translate3d(0,0,0)}100%{transform:scale(1.12) translate3d(-1.4%,1%,0)}}
@media(min-width:1600px){.home-hero{margin-left:calc((1760px - 100vw)/2)}}
@media(max-width:850px){.page-wrap{width:calc(100% - 32px)}.home-hero{width:100vw;margin-left:-16px;margin-right:-16px;min-height:660px;padding:80px 28px}.home-hero .hero-copy{width:100%}.home-hero h1{font-size:clamp(55px,10vw,93px)}.home-hero .hero-art img{object-position:70% center}.home-hero .hero-art::before{background:linear-gradient(90deg,#030913 0%,rgba(3,9,19,.9) 30%,rgba(3,9,19,.43) 75%),linear-gradient(0deg,#030913,transparent 40%)}.hero-coordinate{display:none}}
@media(max-width:570px){.home-hero{padding:90px 22px 70px;min-height:680px}.home-hero h1{font-size:clamp(52px,13vw,78px);letter-spacing:-.07em}.home-hero .hero-art img{object-position:73% center;filter:brightness(.55) contrast(1.12) saturate(.55)}.home-hero .hero-lead{font-size:16px}.home-hero .hero-bottom{margin-top:46px}.game-poster{min-height:240px}}
@media(prefers-reduced-motion:reduce){.home-hero .hero-art img{animation:none}.signal-canvas{display:none}}
/* Reliable full-bleed hero independent of the root container width. */
.home-hero{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
@media(min-width:1600px){.home-hero{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}}

/* Photography: untouched professionally shot portrait. */
.home-hero .hero-art img,.home-hero .hero-art img:hover{filter:none!important;animation:none!important;transform:none!important;object-position:65% 44%}
.home-hero .hero-art::before{background:linear-gradient(90deg,rgba(2,6,13,.92) 0%,rgba(2,6,13,.76) 29%,rgba(2,6,13,.35) 52%,transparent 80%)}
.home-hero .hero-art::after{background:none}
.home-hero::after{background:none}
.home-hero .hero-copy{text-shadow:0 2px 28px rgba(0,0,0,.55)}
@media(max-width:850px){.home-hero .hero-art img{object-position:68% center}.home-hero .hero-art::before{background:linear-gradient(90deg,rgba(2,6,13,.91),rgba(2,6,13,.62) 65%,rgba(2,6,13,.26))}}
/* Film-style interactive orbital illustration. Planets are expected to remain near their
 * orbits. */
.passage-feature,.experiment-visual{position:relative;isolation:isolate;overflow:hidden;background:#020610}
.passage-feature{min-height:clamp(390px,57vw,740px);border:1px solid rgba(136,192,255,.22)}
.passage-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;z-index:0}
.passage-feature::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(2,6,13,.72),transparent 28%,transparent 66%,rgba(2,6,13,.28))}
.passage-overlay{position:absolute;z-index:2;top:clamp(24px,5vw,70px);left:clamp(22px,5vw,80px);pointer-events:none}
.passage-kicker{display:block;color:#92cfff;font:700 10px/1.5 ui-monospace,monospace;letter-spacing:.22em;margin-bottom:23px}
.passage-overlay strong{display:block;color:#f8faff;font:600 clamp(28px,5vw,80px)/.98 var(--display);letter-spacing:-.055em;text-shadow:0 5px 35px #020610}
.passage-hud{position:absolute;z-index:2;bottom:26px;left:26px;right:26px;display:flex;justify-content:space-between;gap:20px;font:10px ui-monospace,monospace;letter-spacing:.13em;color:#9bb6d5;pointer-events:none}
.passage-feature .passage-hud{left:clamp(22px,5vw,80px);right:clamp(22px,5vw,80px)}
.passage-aside{display:grid;grid-template-columns:1.2fr .9fr;align-items:center;column-gap:clamp(35px,7vw,120px);padding:clamp(65px,8vw,120px) 0}
.passage-aside .eyebrow,.passage-aside h2,.passage-aside p{grid-column:1}
.passage-aside h2,.story-intro h2,.cinematic-note h2{font:500 clamp(42px,5.5vw,82px)/1.06 var(--display);letter-spacing:-.06em;margin:0 0 24px}
.passage-aside h2 em,.story-intro h2 em,.cinematic-note h2 em{color:#a0d9ff;font-family:Georgia,serif;font-weight:400}
.passage-aside p,.story-intro p,.fact-story p,.cinematic-note p{font-size:clamp(15px,1.2vw,18px);line-height:1.77;color:#adbed5}
.passage-aside .spec-grid{grid-column:2;grid-row:1/span 3;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.passage-aside .spec-grid>div{background:linear-gradient(135deg,#0f2540,#0a1223);padding:24px 18px;border:1px solid #26425e}
.passage-aside .spec-grid small{display:block;color:#91b9db;font-size:10px;letter-spacing:.15em;margin-bottom:10px}
.passage-aside .spec-grid strong{color:#f4f9ff;font:600 18px var(--display)}
.passage-aside .btn{justify-self:start;grid-column:1;grid-row:4}
.story-intro{padding:80px 0 45px;border-top:1px solid var(--line)}
.story-intro p:not(.eyebrow){max-width:760px;font-size:18px;color:#b8c7d9;line-height:1.8}
.fact-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-bottom:115px}
.fact-story{padding:clamp(22px,2.7vw,42px);background:linear-gradient(145deg,rgba(22,42,68,.68),rgba(5,12,24,.86));border:1px solid #203954;transition:transform .3s,border-color .3s}
.fact-story:hover{transform:translateY(-4px);border-color:#608db2}
.fact-number{display:block;color:#81cfff;letter-spacing:.15em;font:700 11px ui-monospace,monospace;margin-bottom:28px}
.fact-story h3{font:500 26px/1.15 var(--display);letter-spacing:-.035em;margin:0 0 17px}
.fact-story p{font-size:14px;line-height:1.75;margin:0}.fact-story strong{color:#f2f8ff}
.cinematic-note{padding:75px 0 100px;display:grid;grid-template-columns:1.25fr .75fr;gap:80px;border-top:1px solid var(--line)}
.cinematic-note p{max-width:680px}.cinematic-note aside{display:flex;flex-direction:column;justify-content:center;gap:18px;border-left:1px solid #284562;padding-left:32px}.cinematic-note aside span{font:700 11px ui-monospace,monospace;color:#81d3ff;letter-spacing:.2em}.cinematic-note aside a{color:#d7e8ff;text-decoration:underline;text-underline-offset:5px}
@media(max-width:950px){.passage-aside{grid-template-columns:1fr}.passage-aside .spec-grid{grid-column:1;grid-row:auto;margin:18px 0 30px}.passage-aside .btn{grid-row:auto}.fact-story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cinematic-note{gap:30px}}
@media(max-width:600px){.passage-feature{min-height:470px}.passage-overlay strong{font-size:clamp(30px,9vw,54px)}.passage-hud{font-size:8px;gap:10px}.passage-hud span:last-child{text-align:right}.fact-story-grid{grid-template-columns:1fr}.cinematic-note{grid-template-columns:1fr}.cinematic-note aside{padding-left:18px}.passage-aside .spec-grid>div{padding:18px 12px}}
@media(prefers-reduced-motion:reduce){.fact-story:hover{transform:none}}


/* About-page portrait fix: show the professional panoramic portrait properly. */
.about .bio-layout{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(28px,3vw,40px);
  align-items:start;
}
.about .bio-photo{
  height:auto;
  min-height:0;
  background:transparent;
  overflow:hidden;
}
.about .bio-photo img{
  width:100%;
  height:auto;
  object-fit:contain;
  object-position:center center;
  aspect-ratio:auto;
}
.about .bio-copy{
  max-width:980px;
}
.about .image-credit{
  padding-top:12px;
}
@media(max-width:850px){
  .about .bio-layout{
    grid-template-columns:1fr;
    gap:24px;
  }
  .about .bio-photo{
    height:auto;
  }
}

/* Cinematic passage composition, with no overlapping labels. */
.experiment-visual .passage-hud{left:auto;right:24px;bottom:22px;width:auto;justify-content:flex-end;max-width:46%;text-align:right}
.experiment-visual .passage-hud span:first-child{display:none}
.experiment-visual .visual-label{position:absolute;z-index:3;left:24px;bottom:22px;max-width:55%;margin:0;line-height:1.45}
.passage-feature .passage-overlay{max-width:min(700px,78%)}
.passage-feature .passage-overlay strong{text-shadow:0 3px 28px rgba(0,0,0,.95)}
@media(max-width:600px){.experiment-visual .passage-hud{right:12px;bottom:14px;max-width:44%}.experiment-visual .visual-label{left:12px;bottom:14px;max-width:52%;font-size:9px}.passage-feature .passage-overlay{max-width:90%}}

/* ʻOumuamua page rhythm and alignment. Scoped to this page only. */
.demo .demo-hero{padding:clamp(42px,5vw,70px) 0 clamp(32px,4vw,55px);max-width:1160px}
.demo .demo-hero .eyebrow{margin-bottom:15px}
.demo .demo-hero h1{font-size:clamp(48px,6.5vw,88px);line-height:1.04;margin-bottom:18px}
.demo .demo-hero .large-copy{margin-bottom:23px;max-width:740px;line-height:1.58}
.demo .demo-showcase{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(25px,3vw,48px);align-items:center;padding:0 0 58px}
.demo .passage-feature{min-height:clamp(390px,36vw,540px);width:100%}
.demo .passage-aside{display:flex;flex-direction:column;align-items:stretch;gap:0;min-width:0;padding:0}
.demo .passage-aside .eyebrow{margin:0 0 12px}
.demo .passage-aside h2{font-size:clamp(36px,3.65vw,54px);margin:0 0 16px;line-height:1.08}
.demo .passage-aside p{margin:0 0 16px;line-height:1.65;font-size:clamp(14px,1.05vw,16px)}
.demo .passage-aside .spec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:4px 0 19px}
.demo .passage-aside .spec-grid>div{min-width:0;padding:14px 15px}
.demo .passage-aside .spec-grid small{margin-bottom:5px;font-size:9px}
.demo .passage-aside .spec-grid strong{font-size:15px}
.demo .passage-aside .btn{align-self:flex-start}
.demo .story-intro{padding:46px 0 25px}
.demo .story-intro .eyebrow{margin-bottom:14px}
.demo .story-intro h2{font-size:clamp(40px,4.5vw,66px);margin-bottom:17px}
.demo .story-intro p:not(.eyebrow){max-width:850px;margin:0 0 12px;line-height:1.65;font-size:17px}
.demo .fact-story-grid{gap:12px;padding:0 0 54px}
.demo .fact-story{padding:clamp(20px,2vw,30px)}
.demo .fact-story h3{font-size:clamp(21px,1.8vw,25px);margin:0 0 12px}
.demo .fact-story p{line-height:1.66}
.demo .cinematic-note{padding:48px 0 64px;gap:clamp(28px,5vw,70px)}
.demo .cinematic-note .eyebrow{margin-bottom:14px}
.demo .cinematic-note h2{font-size:clamp(42px,4.7vw,68px);margin-bottom:16px}
.demo .cinematic-note p{line-height:1.65;margin-bottom:22px}
.demo .cinematic-note aside{gap:14px}
@media(max-width:1050px){
  .demo .demo-showcase{grid-template-columns:1fr;gap:25px;padding-bottom:42px}
  .demo .passage-feature{min-height:clamp(360px,58vw,540px)}
  .demo .passage-aside{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(220px,.85fr);column-gap:28px;align-items:start}
  .demo .passage-aside .eyebrow,.demo .passage-aside h2,.demo .passage-aside p,.demo .passage-aside .btn{grid-column:1}
  .demo .passage-aside .spec-grid{grid-column:2;grid-row:1/span 4;margin:0}
  .demo .passage-aside .btn{grid-row:4}
}
@media(max-width:650px){
  .demo .demo-hero{padding:36px 0 32px}
  .demo .demo-hero h1{font-size:clamp(44px,10vw,60px)}
  .demo .demo-showcase{gap:20px;padding-bottom:35px}
  .demo .passage-feature{min-height:clamp(380px,105vw,490px)}
  .demo .passage-aside{display:flex;gap:0}
  .demo .passage-aside .spec-grid{margin:4px 0 19px}
  .demo .story-intro{padding:34px 0 18px}
  .demo .story-intro h2{font-size:clamp(36px,9vw,48px)}
  .demo .fact-story-grid{padding-bottom:36px}
  .demo .cinematic-note{padding:35px 0 48px;gap:24px}
}

/* Comfortable spacing for the dedicated Nautilus Rising nav entry. */
@media(min-width:851px){.primary-nav{gap:clamp(10px,1.3vw,22px)}.primary-nav a{white-space:nowrap;font-size:clamp(10px,.7vw,12px)}}
@media(min-width:851px) and (max-width:1100px){.site-header{gap:10px}.brand{gap:9px}.brand-name small{display:none}}

/* Tighter editorial rhythm across the site. Retain generous visual breathing room around
 * hero photography and artwork. */
@media (min-width: 851px) {
  .page-hero:not(.demo-hero){padding-top:68px;padding-bottom:48px}
  .compact-hero{padding-bottom:40px}
  .section{padding-top:55px;padding-bottom:68px}
  .section-heading{margin-bottom:30px;gap:28px}
  .bio-layout{padding-bottom:68px}
  .about .bio-layout{gap:28px}
  .album-feature{padding:48px 0;gap:clamp(28px,4vw,72px)}
  .scene-feature{padding-top:10px;padding-bottom:66px;gap:clamp(28px,4vw,68px)}
  .two-up{gap:clamp(32px,4vw,60px)}
  .game-body{padding:clamp(30px,3.2vw,50px)}
  .site-footer{padding-top:36px}
}
/* Paragraph spacing and reading rhythm; all six pages. */
.page-hero .large-copy{line-height:1.58;margin-bottom:22px}
.bio-copy p{line-height:1.64;margin-bottom:13px}
.bio-copy h2{margin-bottom:17px}
.bio-chips{margin-top:19px}
.scene-story p{line-height:1.64;margin:0 0 14px}
.scene-story h2{margin-bottom:17px}
.album-feature p{line-height:1.63;margin-bottom:16px}
.album-feature h2{margin-bottom:16px}
.game-body p{line-height:1.64;margin-bottom:19px}
.game-feature h2{margin-bottom:18px}
.section h2{margin-bottom:18px}
.section-heading p{margin-bottom:10px;line-height:1.6}
.feature-card p{line-height:1.58;margin-bottom:12px}
.timeline-item{padding-top:19px;padding-bottom:19px}
.principles{gap:24px}
.principles article{padding-top:19px}
/* The Oumuamua page had already received a dedicated compact pass. Only bring paragraph
 * rhythm into line with the rest of the site. */
.demo .passage-aside p,.demo .story-intro p,
.demo .fact-story p,.demo .cinematic-note p{line-height:1.60}
.demo .fact-story h3{margin-bottom:10px}
.demo .fact-number{margin-bottom:19px}
.demo .cinematic-note p{margin-bottom:16px}
@media (max-width:850px) {
  .page-hero:not(.demo-hero){padding-top:43px;padding-bottom:34px}
  .section{padding-top:43px;padding-bottom:55px}
  .section-heading{margin-bottom:25px;gap:16px}
  .bio-layout{padding-bottom:48px;gap:22px}
  .about .bio-layout{gap:21px}
  .scene-feature{padding-top:10px;padding-bottom:55px;gap:25px}
  .album-feature{padding:39px 0;gap:25px}
  .album-feature.reverse{gap:25px}
  .site-footer{padding-top:32px}
}
@media (max-width:570px) {
  .bio-copy p,.scene-story p{line-height:1.60;margin-bottom:12px}
  .album-feature{padding:34px 0}
  .timeline-item{padding-top:16px;padding-bottom:16px}
  .demo .fact-story{padding:18px}
}

/* Amiga showcase: dark editorial interface meets 1990s disk culture. */
.amiga-archive{padding:34px 0 88px;--mint:#85f6da;--amber:#e7ba81;}
.archive-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:26px}
.archive-heading h2{font:600 clamp(36px,4.6vw,68px)/1.06 var(--display);letter-spacing:-.055em;margin:0 0 16px}
.archive-heading h2 em{color:var(--amber);font-style:normal}
.archive-heading p:not(.eyebrow){color:var(--muted);max-width:760px;line-height:1.55;margin:0}
.archive-stamp{font:600 10px/1.5 ui-monospace,monospace;letter-spacing:.15em;color:#91a9b9;white-space:nowrap;padding-bottom:7px}
.archive-led,.console-led{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 12px #85f6da70;margin-left:10px}
.amiga-console{background:#080c15;border:1px solid #34415a;border-radius:18px;padding:15px;box-shadow:0 35px 85px #0008,0 0 60px #2c4d7510;position:relative;overflow:hidden}
.amiga-console::before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,#ffffff09,transparent 36%)}
.console-topline,.console-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 12px 15px;font:700 10px ui-monospace,monospace;letter-spacing:.15em;color:#9eacc0}
.console-topline .console-led{margin:0 12px 0 0}
.console-screen{position:relative;aspect-ratio:16/8.6;background:#020308;border:1px solid #25324b;overflow:hidden;border-radius:9px;isolation:isolate}
.console-screen::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:4;background:repeating-linear-gradient(0deg,#0000 0 3px,#0000001a 3px 4px);opacity:.28}
.console-rest,.console-boot,.console-player{position:absolute;inset:0}
.console-rest{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:radial-gradient(ellipse at 50% 55%,#19364a 0%,#071321 48%,#020308 82%);text-align:center}
.rest-grid{position:absolute;inset:0;background:linear-gradient(#76e6d610 1px,transparent 1px),linear-gradient(90deg,#76e6d610 1px,transparent 1px);background-size:50px 50px;transform:perspective(430px) rotateX(62deg) translateY(23%);mask-image:linear-gradient(transparent 0%,black 45%,transparent 98%);pointer-events:none}
.rest-os{font:700 11px ui-monospace,monospace;letter-spacing:.38em;color:var(--mint);margin:0;position:relative}
.rest-logo{position:relative;font:800 clamp(43px,7.8vw,108px)/.90 var(--display);letter-spacing:-.082em;color:#eaf7ff;text-shadow:0 6px 27px #5398bc28}
.rest-logo i{font-style:normal;color:var(--mint)}.rest-cursor{animation:archiveblink 1.1s steps(1) infinite;color:var(--amber)}
.rest-caption,.rest-bottom{font:600 10px ui-monospace,monospace;color:#a6b7c7;letter-spacing:.13em;position:relative}
.rest-bottom{position:absolute;bottom:19px}
.archive-launch{position:relative;border:1px solid #8bf6e47a;color:#041b1b;background:var(--mint);border-radius:3px;font:800 11px ui-monospace,monospace;letter-spacing:.15em;padding:13px 22px;cursor:pointer;transition:transform .2s,box-shadow .2s}
.archive-launch:hover{transform:translateY(-3px);box-shadow:0 8px 30px #66e7cc50}
.console-boot{display:grid;place-items:center;background:#02060d;color:#8df8d9;font:14px ui-monospace,monospace;}
.console-boot[hidden],.console-player[hidden],.console-rest[hidden]{display:none!important}
.boot-content{width:min(440px,78%)}.boot-content p{font-weight:700;letter-spacing:.18em;font-size:13px}.boot-content pre{line-height:2;margin:25px 0}.boot-content small{font-size:9px;color:#a0b8b2;letter-spacing:.06em}
.boot-caret{animation:archiveblink .45s steps(1) infinite}.boot-progress{height:5px;background:#204238;margin:16px 0 23px;overflow:hidden}.boot-progress span{display:block;height:100%;width:100%;background:var(--mint);transform:scaleX(0);transform-origin:left;animation:archiveprogress 1s linear forwards}
.console-player iframe{width:100%;height:100%;border:0;display:block}
.console-controls{padding:14px 8px 2px;letter-spacing:.08em;flex-wrap:wrap}
.console-status{display:flex;gap:11px;align-items:center}.signal-bars{color:var(--mint)}
.console-actions{display:flex;gap:13px;align-items:center}.console-actions button,.console-actions a{border:1px solid #394c5f;border-radius:3px;background:#101b27;color:#cdd7e4;font:700 10px ui-monospace,monospace;padding:9px 12px;cursor:pointer}.console-actions button:disabled{opacity:.35;cursor:default}.console-actions button:not(:disabled):hover,.console-actions a:hover{border-color:var(--mint);color:var(--mint)}
.disk-select{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0 14px}
.demo-disk{min-width:0;display:flex;align-items:center;gap:18px;text-align:left;padding:22px 18px;border:1px solid #253249;background:linear-gradient(140deg,#10192a,#0a101c);color:#e7ecf6;border-radius:9px;cursor:pointer;position:relative;overflow:hidden;transition:transform .25s,border-color .25s,background .25s}
.demo-disk:hover{transform:translateY(-5px);border-color:#6f9eaa}.demo-disk.active{border-color:#80f5cf;background:linear-gradient(140deg,#18383a,#101c29);box-shadow:inset 0 0 35px #78ddbd10}
.disk-face{flex:0 0 76px;height:80px;background:#171b23;border:2px solid #596174;border-radius:4px 4px 8px 8px;position:relative;box-shadow:5px 5px 0 #03070e;transform:rotate(-5deg);transition:transform .3s}
.demo-disk:hover .disk-face{transform:rotate(0deg) translateY(-3px)}
.disk-metal{position:absolute;left:15px;right:15px;top:8px;height:23px;background:#676f7c;border:3px solid #10131b;border-radius:2px}
.disk-metal::after{content:'';position:absolute;left:50%;top:3px;width:12px;height:12px;border:2px solid #d0d9e6;border-radius:50%;transform:translateX(-50%)}
.disk-label{position:absolute;left:7px;right:7px;bottom:10px;padding:5px 2px;background:linear-gradient(#bbe8df,#69aca4);color:#123234;text-align:center;font:700 7px/1.3 ui-monospace,monospace;letter-spacing:.04em}
.disk-label b{font-size:10px}.disk-notch{position:absolute;right:5px;bottom:3px;width:8px;height:6px;background:#060b14}
.disk-copy{display:flex;flex-direction:column;gap:7px;min-width:0}.disk-copy strong{font:650 clamp(15px,1.7vw,22px)/1.1 var(--display)}.disk-copy small{font-size:11px;color:#91a1b5}.disk-number{font:700 9px ui-monospace,monospace;color:var(--mint);letter-spacing:.08em}
.disk-arrow{margin-left:auto;font-size:17px;color:#9dc8cf}.archive-note{color:#8291a7;font-size:12px;line-height:1.6;max-width:980px;margin:12px 0 0}
@keyframes archiveprogress{to{transform:scaleX(1)}}@keyframes archiveblink{50%{opacity:0}}
@media(max-width:900px){.archive-heading{display:block}.archive-stamp{display:block;margin-top:18px}.disk-select{grid-template-columns:1fr}.demo-disk{padding:12px 16px}.disk-face{height:65px;flex-basis:66px}.console-screen{aspect-ratio:16/10}}
@media(max-width:570px){.amiga-archive{padding:8px 0 54px}.archive-heading h2{font-size:39px}.amiga-console{padding:8px;border-radius:11px}.console-screen{aspect-ratio:16/11}.console-topline{font-size:8px;padding:8px 4px 12px}.console-counter{font-size:8px}.rest-logo{font-size:clamp(40px,10vw,58px)}.rest-caption{font-size:8px;padding:0 10px}.rest-bottom{font-size:7px}.rest-os{font-size:8px}.console-controls{gap:12px;align-items:start}.console-status{font-size:9px}.console-actions{width:100%;justify-content:space-between}.boot-content pre{font-size:11px}}
@media(prefers-reduced-motion:reduce){.rest-cursor,.boot-caret{animation:none}.boot-progress span{animation:none;transform:none}.demo-disk,.archive-launch{transition:none}}

/* Atari STE feature. */
.atari-feature{padding:clamp(36px,5vw,75px) 0 clamp(46px,6vw,90px);border-top:1px solid var(--line)}
.atari-heading{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:28px}
.atari-heading>div:first-child{max-width:750px}
.atari-heading h2{font:600 clamp(34px,4vw,64px)/1.08 var(--display);letter-spacing:-.055em;margin:0 0 20px}
.atari-heading h2 em{color:var(--accent);font-style:normal}
.atari-heading p:not(.eyebrow){color:var(--muted);margin:0;max-width:700px}
.atari-content{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(270px,.7fr);gap:clamp(22px,3.5vw,56px);align-items:center}
.atari-screen{padding:13px;border-radius:20px;background:linear-gradient(145deg,#1a2931,#0b141c 55%,#080d17);border:1px solid #334750;box-shadow:0 24px 65px #0008,inset 0 0 0 3px #080e15}
.atari-screen-top,.atari-screen-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:5px 7px 14px;font:600 10px ui-monospace,monospace;letter-spacing:.1em;color:#a6bbb9}
.atari-screen-bottom{padding:13px 7px 5px}.atari-screen-bottom button{border:1px solid #56706d;background:#14282a;color:#d8e7e3;padding:7px 12px;cursor:pointer;font:600 10px ui-monospace,monospace}.atari-screen-bottom button:disabled{opacity:.4;cursor:not-allowed}
.atari-player{position:relative;aspect-ratio:16/9;overflow:hidden;background:#04090d;border:1px solid #273f43}.atari-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.atari-poster{position:absolute;inset:0;display:grid;place-content:center;text-align:center;isolation:isolate;padding:20px}
.atari-poster-back{position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(0deg,transparent 0 3px,#142c291f 3px 4px),radial-gradient(ellipse at 50% 63%,#1e4e42 0%,#092026 46%,#010507 100%)}
.atari-poster-copy{display:grid;gap:6px}.atari-poster-copy>span,.atari-poster-copy>small{font:600 clamp(8px,1vw,11px) ui-monospace,monospace;letter-spacing:.14em;color:#89ac9d}
.atari-poster-copy strong{font:900 clamp(28px,5vw,66px)/1.15 ui-monospace,monospace;letter-spacing:-.05em;color:#e5f8ce;text-shadow:0 0 30px #52c99f66}
.atari-cursor{color:#b7ea82;animation:blink .8s steps(2) infinite}
.atari-play{justify-self:center;margin-top:24px;background:#bbde9d;color:#0c1a16;border:0;padding:13px 19px;font:800 12px ui-monospace,monospace;letter-spacing:.1em;cursor:pointer;transition:transform .18s,background .18s}
.atari-play:hover{background:#e0fac7;transform:translateY(-2px)}.atari-play span{margin-right:10px}
.atari-story h3{font:600 clamp(24px,2.5vw,37px)/1.15 var(--display);letter-spacing:-.04em;margin:0 0 20px}.atari-story p:not(.eyebrow){color:var(--muted);line-height:1.65;margin:0 0 15px}
.atari-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:25px}.atari-links a{border-bottom:1px solid #b7d7c4;padding-bottom:4px;font:700 11px ui-monospace,monospace;color:#c7dfce;letter-spacing:.07em}
@media(max-width:850px){.atari-heading{align-items:start;flex-direction:column;gap:20px}.atari-content{grid-template-columns:1fr}.atari-story{max-width:670px}}
@media(max-width:570px){.atari-feature{padding:35px 0 54px}.atari-heading{margin-bottom:20px}.atari-screen{padding:8px;border-radius:13px}.atari-screen-top,.atari-screen-bottom{font-size:8px}.atari-poster-copy strong{font-size:clamp(27px,8vw,48px)}.atari-play{padding:10px 12px;margin-top:15px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.atari-cursor{animation:none}}

/* Put the personal story and archival photograph at the very top. */
body.demoscene .scene-feature{padding-top:clamp(30px,4vw,58px);padding-bottom:clamp(48px,6vw,90px);align-items:center}
body.demoscene .scene-story h2{margin-top:0}
body.demoscene .old-photo{height:clamp(360px,42vw,580px)}
@media(max-width:850px){body.demoscene .scene-feature{padding-top:28px;padding-bottom:55px}body.demoscene .old-photo{height:auto;min-height:0}body.demoscene .old-photo img{height:auto;object-fit:contain;width:100%}}

/* Compact hardware context directly above the Amiga demo archive. The past deserves
 * preservation, preferably without broken buttons. */
.amiga-limits{display:grid;grid-template-columns:minmax(145px,210px) minmax(0,1fr);align-items:start;gap:clamp(16px,3vw,34px);margin:0 0 20px;padding:17px 22px;border:1px solid rgba(125,231,220,.18);background:linear-gradient(110deg,rgba(12,38,45,.40),rgba(12,16,28,.45));border-radius:12px}
.amiga-limits-tag{font:700 10px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.10em;color:#82d9cb}
.amiga-limits p{margin:0!important;font-size:clamp(13px,1.2vw,15px);line-height:1.6;color:#b9c5d4}
.amiga-limits strong{color:#ebf6f7}
@media(max-width:700px){.amiga-limits{display:block;padding:15px 17px;margin-bottom:15px}.amiga-limits-tag{display:block;margin-bottom:8px}.amiga-limits p{font-size:13px;line-height:1.52}}


/* Measured, consistent whitespace across the full site. Keep content blocks distinct, but
 * remove overly long empty transitions. */
@media (min-width:851px){
 .page-hero:not(.demo-hero){padding-top:52px;padding-bottom:30px}
 .section{padding-top:44px;padding-bottom:52px}
 .section-heading{margin-bottom:23px}
 .bio-layout{padding-bottom:48px}
 .about .bio-layout{gap:22px}
 .scene-feature,body.demoscene .scene-feature{padding-top:22px;padding-bottom:43px;gap:clamp(26px,3.1vw,50px)}
 .album-feature{padding:37px 0;gap:clamp(24px,3.3vw,54px)}
 .game-feature{margin-bottom:42px}
 .game-body{padding:clamp(26px,2.8vw,40px)}
 .site-footer{padding-top:28px}
}
/* Paragraphs should still form distinct units, without double-spacing. */
.bio-copy p,.scene-story p{line-height:1.59;margin-bottom:11px}
.album-feature p,.game-body p{line-height:1.58;margin-bottom:13px}
.bio-copy h2,.scene-story h2,.album-feature h2,.game-feature h2{margin-bottom:13px}
.section h2{margin-bottom:14px}
.section-heading p{line-height:1.54;margin-bottom:6px}
.feature-card p{line-height:1.55;margin-bottom:10px}
.eyebrow{margin-bottom:17px}
.timeline-item{padding-top:16px;padding-bottom:16px}
.principles{gap:19px}
.principles article{padding-top:15px}
.statement-band{margin-bottom:52px;padding:32px 36px;gap:24px}
.archive-strip{margin-bottom:48px}
.footnote-section{padding:28px 0 53px}
/* Music and Games. */
.music-hero{padding-bottom:35px}
.album-feature .album-actions{margin-top:13px}
/* Demoscene: photo and friendship remain the first and dominant section. */
body.demoscene .scene-feature{padding-bottom:44px}
.amiga-archive{padding-top:23px;padding-bottom:46px}
.archive-heading,.atari-heading{margin-bottom:20px}
.atari-feature{padding-top:39px;padding-bottom:49px}
.atari-heading h2{margin-bottom:13px}
.atari-story h3{margin-bottom:13px}
.atari-story p:not(.eyebrow){margin-bottom:11px;line-height:1.58}
.atari-links{margin-top:18px}
/* Oumuamua: respect its bespoke compact layout, remove only excess section gaps. The page
 * should fit the screen, not negotiate with it. */
.demo .demo-hero{padding-bottom:27px}
.demo .demo-showcase{padding-bottom:36px}
.demo .story-intro{padding-top:32px;padding-bottom:19px}
.demo .cinematic-note{padding-top:36px;padding-bottom:48px}
.demo .fact-story p,.demo .passage-aside p,.demo .cinematic-note p{line-height:1.57}
@media(max-width:850px){
 .page-hero:not(.demo-hero){padding-top:36px;padding-bottom:26px}
 .section{padding-top:36px;padding-bottom:44px}
 .section-heading{margin-bottom:20px}
 .bio-layout{padding-bottom:37px}
 body.demoscene .scene-feature{padding-top:18px;padding-bottom:37px}
 .album-feature,.album-feature.reverse{padding:32px 0;gap:21px}
 .statement-band{margin-bottom:43px;padding:25px;gap:15px}
 .amiga-archive{padding-top:16px;padding-bottom:40px}
 .atari-feature{padding-top:32px;padding-bottom:39px}
 .site-footer{padding-top:26px}
}
@media(max-width:570px){
 .section{padding-top:32px;padding-bottom:40px}
 .page-hero:not(.demo-hero){padding-top:32px;padding-bottom:21px}
 .album-feature,.album-feature.reverse{padding:29px 0}
 .feature-card{margin-bottom:8px}
 .bio-copy p,.scene-story p{line-height:1.54;margin-bottom:10px}
 .demo .demo-hero{padding-bottom:22px}
 .demo .demo-showcase{padding-bottom:27px}
 .demo .story-intro{padding-top:26px}
 .demo .cinematic-note{padding-top:30px;padding-bottom:37px}
}

/* Selected credited releases beyond the three screened videos. */
.archive-provenance{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin:12px 0 0;padding:14px 0;border-top:1px solid var(--line);font-size:10px;letter-spacing:.07em}
.archive-provenance>span{color:#8190a8;font-weight:700;margin-right:auto}
.archive-provenance>a{color:#b7d9e5;transition:color .2s}
.archive-provenance>a:hover{color:white}
.archive-deepcuts{padding:clamp(38px,5vw,68px) 0 clamp(34px,5vw,68px);border-top:1px solid var(--line)}
.deepcuts-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px}
.deepcuts-heading h2{font:500 clamp(30px,4vw,54px)/1.12 var(--display);letter-spacing:-.055em;margin:0 0 14px}
.deepcuts-heading h2 em{color:var(--accent);font-style:normal}
.deepcuts-heading p:not(.eyebrow){max-width:780px;color:var(--muted);margin:0;line-height:1.6}
.deepcuts-count{white-space:nowrap;font:700 10px/1.5 ui-monospace,monospace;color:#8fabc7;letter-spacing:.1em}
.deepcuts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.deepcut-card{min-width:0;display:flex;flex-direction:column;padding:clamp(20px,2.5vw,32px);border:1px solid rgba(180,202,230,.20);background:linear-gradient(145deg,rgba(22,34,57,.65),rgba(5,10,20,.75));min-height:228px;transition:border-color .22s,transform .22s}
.deepcut-card:hover{border-color:rgba(161,218,233,.55);transform:translateY(-3px)}
.deepcut-year{display:flex;justify-content:space-between;gap:10px;font:700 11px/1.4 ui-monospace,monospace;letter-spacing:.13em;color:#93d4d5}
.deepcut-year span{font-size:9px;color:#889ab5}
.deepcut-card h3{font:500 clamp(23px,2.5vw,32px)/1.14 var(--display);margin:23px 0 10px;letter-spacing:-.045em}
.deepcut-card p{color:var(--muted);font-size:13px;line-height:1.55;margin:0 0 20px}
.deepcut-card a{color:#d8edf3;letter-spacing:.06em;font:700 10px/1.5 ui-monospace,monospace;margin-top:auto}
.deepcut-card a:hover{color:white}
.deepcuts-footer{font-size:12px;color:#8f9eb0;margin:16px 0 0}
.deepcuts-footer a{color:#d6bd98;text-decoration:underline;text-underline-offset:3px}
@media(max-width:850px){.deepcuts-heading{align-items:start;flex-direction:column}.deepcuts-grid{grid-template-columns:1fr}.deepcut-card{min-height:0}.deepcut-card h3{margin-top:14px}}
@media(prefers-reduced-motion:reduce){.deepcut-card:hover{transform:none}}

/* Preserved tracker archive. The past deserves preservation, preferably without broken
 * buttons. */
.amp-history{margin:clamp(24px,3.7vw,56px) 0;padding:clamp(20px,3vw,36px);border:1px solid rgba(168,204,236,.20);border-radius:22px;background:linear-gradient(140deg,rgba(18,35,49,.9),rgba(8,12,23,.97) 60%,rgba(33,20,38,.84));box-shadow:inset 0 1px rgba(255,255,255,.035)}
.amp-history-head{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:clamp(20px,3vw,38px);align-items:center}
.amp-history h2{margin:4px 0 12px;font-size:clamp(30px,4vw,56px);letter-spacing:-.045em;line-height:1.05}.amp-history h2 em{font-style:normal;color:#98dfcb}
.amp-history-head p:not(.eyebrow){color:var(--muted);max-width:740px;line-height:1.57;margin:0}
.amp-count{padding:22px 12px;text-align:center;border:1px solid rgba(125,231,220,.27);background:rgba(5,13,20,.65);border-radius:16px}.amp-count strong{display:block;font-size:clamp(60px,7vw,91px);letter-spacing:-.075em;line-height:1;color:#a2f7e9}.amp-count span{display:block;font-size:10px;letter-spacing:.16em;font-weight:700}.amp-count small{display:block;margin-top:7px;color:#829ab0;font-size:9px;line-height:1.5}
.amp-track-grid{margin-top:24px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.amp-track{min-width:0;display:flex;flex-direction:column;gap:4px;padding:15px;border:1px solid rgba(171,194,216,.16);background:rgba(4,9,17,.64);border-radius:10px}
.amp-track span{font:700 10px/1.3 monospace;letter-spacing:.13em;color:#83b5a8}.amp-track strong{font-size:clamp(14px,1.4vw,18px);color:#f5f7fc}.amp-track small{font-size:12px;color:#a4aebe;line-height:1.45}
.amp-history-footer{display:flex;align-items:center;justify-content:space-between;gap:28px;border-top:1px solid rgba(171,194,216,.16);margin-top:21px;padding-top:21px}.amp-history-footer>div:first-child{max-width:620px}.amp-history-footer strong{font-size:15px}.amp-history-footer p{margin:5px 0 0;font-size:13px;color:#9daaba;line-height:1.55}.amp-history-links{display:flex;flex-direction:column;gap:9px;min-width:220px}.amp-history-links a{color:#a7ecdd;font:700 10px/1.5 monospace;letter-spacing:.04em}.amp-history-links a:hover{text-decoration:underline}
@media(max-width:770px){.amp-history-head{grid-template-columns:1fr}.amp-count{max-width:260px}.amp-track-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.amp-history-footer{align-items:flex-start;flex-direction:column;gap:16px}}
@media(max-width:440px){.amp-track-grid{grid-template-columns:1fr}.amp-history{padding:17px}.amp-count{max-width:none}}

/* Release polish: one consistent ET. identity and semantic demoscene heading. */
.brand-symbol{letter-spacing:-.075em;white-space:nowrap}
.brand-mark{padding:0 0 0 1px;font-size:.85em}
.scene-lead-heading{font-family:var(--display);font-size:clamp(36px,4.3vw,68px);line-height:1.1;font-weight:500;letter-spacing:-.055em;margin:0 0 26px}
.scene-lead-heading em{font-family:Georgia,serif;font-style:italic;font-weight:400;color:var(--accent);letter-spacing:-.05em}
@media(max-width:570px){.scene-lead-heading{font-size:40px}}


/* Compact, consistent footer hierarchy. */
.site-footer{
  display:flex;flex-direction:column;gap:0;
  padding:36px 0 24px;
  border-top:1px solid rgba(217,228,250,.19);
  background:transparent;
}
.footer-top{display:flex;align-items:center;justify-content:space-between;gap:36px;padding-bottom:34px}
.footer-intro{display:flex;align-items:center;gap:25px;min-width:0}
.footer-monogram{display:inline-block;flex-shrink:0;font-family:var(--display);font-size:clamp(34px,3vw,46px);font-weight:600;line-height:1;letter-spacing:-.065em;color:#d9e8fb}
.footer-dot{color:var(--accent)}
.site-footer .footer-intro p{max-width:285px;margin:0;color:#9aa8bb;font-size:13px;line-height:1.45}
.footer-links{display:flex;align-items:center;justify-content:flex-end;gap:clamp(16px,2.1vw,34px);flex-wrap:wrap}
.footer-links-label{color:#71829a;font-size:10px;font-weight:700;letter-spacing:.17em;white-space:nowrap}
.footer-links a{color:#c4d0de;font-size:12px;font-weight:600;white-space:nowrap;transition:color .2s ease}
.footer-links a span{color:var(--accent)}
.footer-links a:hover{color:#fff}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:18px;border-top:1px solid rgba(217,228,250,.11)}
.site-footer .footer-bottom .copyright{grid-column:auto;margin:0!important;color:#8696ad;font-size:11px;letter-spacing:.025em}
.site-footer .identity-signature{padding:0!important;margin:0;color:#8d9cb0;font-size:10px;letter-spacing:.15em;white-space:nowrap}
.footer-signature-mark{color:var(--accent);margin-left:9px;font-size:12px}
@media(max-width:850px){
  .footer-top{align-items:flex-start;flex-direction:column;gap:23px;padding-bottom:25px}
  .footer-intro{gap:20px}
  .footer-links{justify-content:flex-start;gap:14px 24px}
}
@media(max-width:570px){
  .site-footer{display:flex;padding:29px 0 22px}
  .footer-top{gap:23px;padding-bottom:23px}
  .footer-intro{gap:15px}
  .footer-monogram{font-size:37px}
  .site-footer .footer-intro p{font-size:12px}
  .footer-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
  .footer-links-label{grid-column:1/-1;font-size:9px}
  .footer-links a{font-size:12px}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:8px;padding-top:17px}
  .site-footer .identity-signature{font-size:9px;letter-spacing:.1em}
}

/* Unify ET. logomark between header and footer; four external destinations. */
.site-footer .footer-monogram{color:var(--accent);text-shadow:0 0 35px rgba(85,189,255,.4)}
.site-footer .footer-dot{color:#e6f5ff}
@media(max-width:570px){.footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}}

/* Clearer background stars; preserve dark cinematic contrast. Space is large. Blank screens
 * are not the intended effect. */
.signal-canvas{opacity:.84}

/* THE FINALS credits-video section. The credits are the one part of a game everyone
 * promises to watch. */
.finals-section{padding-top:clamp(48px,7vw,108px);padding-bottom:clamp(48px,7vw,108px)}
.finals-heading{max-width:860px;margin-bottom:28px}
.finals-heading h2{font-size:clamp(30px,4.2vw,58px);line-height:1.1;margin:10px 0 20px}
.finals-heading p:not(.eyebrow){color:var(--muted,#acb8ce);line-height:1.75}
.finals-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2.2vw,28px)}
.finals-video{overflow:hidden;border:1px solid rgba(168,193,245,.18);border-radius:18px;background:rgba(6,13,29,.64)}
.finals-video-frame{position:relative;aspect-ratio:16/9;background:#050913}
.finals-video-frame iframe{display:block;position:absolute;inset:0;width:100%;height:100%;border:0}
.finals-video-copy{padding:18px 20px 22px}
.finals-video-copy h3{font-size:16px;margin:0 0 14px}
.finals-video-copy a{color:#c6d9ff;text-decoration:none;font-size:11px;font-weight:700;letter-spacing:.09em}
.finals-video-copy a:hover{text-decoration:underline}
@media(max-width:740px){.finals-video-grid{grid-template-columns:1fr}}

/* Linked video thumbnails avoid YouTube embedded-player error 153. */
.finals-video-preview{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(circle at 60% 40%,#19102b,#050712);color:#fff;text-decoration:none}
.finals-video-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.78;transition:transform .25s ease,opacity .25s ease}
.finals-video-preview:hover img{transform:scale(1.035);opacity:.93}
.finals-video-preview::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.6),transparent 55%);pointer-events:none}
.finals-video-play{position:relative;z-index:1;display:grid;place-items:center;width:74px;height:52px;background:#e62117;border-radius:15px;font-size:27px;box-shadow:0 6px 28px #0008;line-height:1}
.finals-video-watch{position:absolute;z-index:1;bottom:13px;left:18px;font-size:11px;font-weight:700;letter-spacing:.1em;color:#fff}
.finals-video-preview:focus-visible{outline:3px solid #fff;outline-offset:-3px}

/* THE FINALS: matching the Demoscene embedded player architecture. The credits are the one
 * part of a game everyone promises to watch. */
.finals-console{border:1px solid rgba(236,196,87,.28);background:#0a0b10;border-radius:17px;box-shadow:0 18px 60px rgba(0,0,0,.3);overflow:hidden}
.finals-console-top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 18px;background:linear-gradient(90deg,#17151c,#101019);font:700 10px/1.4 system-ui,sans-serif;letter-spacing:.13em;color:#e8d8ab}
.finals-indicator{display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:#edbd3b;box-shadow:0 0 10px #f9c74f}
.finals-screen{aspect-ratio:16/9;position:relative;background:#08080e}
.finals-poster,.finals-embed{position:absolute;inset:0}
.finals-poster img{width:100%;height:100%;object-fit:cover;filter:saturate(.7) contrast(1.08);opacity:.69}
.finals-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,4,8,.95),transparent 54%),linear-gradient(90deg,rgba(5,5,10,.35),transparent)}
.finals-display-title{position:absolute;left:6%;top:10%;font:900 clamp(20px,3vw,38px)/.94 system-ui,sans-serif;letter-spacing:-.05em;color:#fff;text-shadow:0 2px 15px #000}
.finals-display-title b{color:#f2c94c}
.finals-display-title small{display:block;margin-top:11px;color:#f0e4ca;font-size:10px;font-weight:700;letter-spacing:.17em}
.finals-launch{position:absolute;left:50%;top:55%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:10px;border:1px solid #ffdb7a;background:#e4b733;color:#0d0b0e;border-radius:7px;cursor:pointer;padding:14px 20px;font-size:18px;box-shadow:0 8px 30px #000a;white-space:nowrap}
.finals-launch span{font:900 11px/1.2 system-ui,sans-serif;letter-spacing:.13em}
.finals-launch:hover{background:#ffdc75}
.finals-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.finals-console-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding:14px 18px;background:#11141d;border-top:1px solid #d5aa4930}
.finals-status{font:700 10px/1.4 system-ui,sans-serif;color:#e6c773;letter-spacing:.11em}
.finals-controls{display:flex;align-items:center;gap:14px}
.finals-controls button{border:1px solid #d4b45c77;border-radius:5px;background:#24212a;color:#f1e3c8;padding:8px 10px;font-size:10px;cursor:pointer}
.finals-controls button:disabled{opacity:.42;cursor:default}
.finals-controls a{font:700 10px/1.3 system-ui,sans-serif;letter-spacing:.09em;color:#f5d782;text-decoration:none}
.finals-controls a:hover{text-decoration:underline}
.finals-poster[hidden],.finals-embed[hidden]{display:none!important}
@media(max-width:500px){.finals-console-top{font-size:8px;padding:11px}.finals-console-controls{padding:12px}.finals-launch{padding:10px 12px}.finals-launch span{font-size:9px}}

/* Season chronology. */
.finals-release-calendar{margin:12px 0 32px;padding:22px;border:1px solid rgba(168,193,245,.18);border-radius:18px;background:rgba(7,15,31,.6)}
.finals-release-calendar h3{margin:0 0 16px;font-size:12px;letter-spacing:.18em;color:#e4ebff}
.season-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.season-columns h4{font-size:12px;color:#c8a76b;margin:0 0 12px;letter-spacing:.08em}
.season-columns p{display:flex;justify-content:space-between;gap:8px;margin:0 0 8px;font-size:12px;line-height:1.4;color:#c6d0e5}
.season-columns p span{white-space:nowrap;color:#9eacc9}
.finals-release-calendar .season-note{margin:14px 0 0;font-size:11px;line-height:1.5;color:#9eacc9}
.finals-release-calendar a{color:#d9bb83}
@media(max-width:700px){.season-columns{grid-template-columns:1fr;gap:12px}}

/* Music discography. */
.release-feature>img{height:auto;aspect-ratio:1;object-fit:cover;box-shadow:0 22px 80px rgba(0,0,0,.18)}
.release-feature h2{font-size:clamp(34px,4.1vw,66px);overflow-wrap:anywhere}
.release-feature .eyebrow{font-size:12px;letter-spacing:.14em;color:var(--accent)}
.release-feature .release-tagline{font-family:Georgia,serif;font-size:clamp(22px,2.3vw,32px);color:#e4c9ab;font-style:italic;line-height:1.2;margin-top:-4px;margin-bottom:19px}
.release-feature .release-copy >p:not(.eyebrow):not(.release-tagline){line-height:1.75}
.music-archive{padding-top:80px;padding-bottom:100px}
.music-archive-inner{display:grid;grid-template-columns:minmax(200px,30%) 1fr;gap:clamp(28px,6vw,85px);align-items:center;border:1px solid var(--line);background:linear-gradient(115deg,rgba(20,27,43,.94),rgba(9,12,19,.7));padding:clamp(22px,4vw,54px)}
.music-archive-art img{display:block;width:100%;aspect-ratio:1;object-fit:cover}
.music-archive h2{font-size:clamp(34px,4vw,60px);font-weight:500;line-height:1.1;letter-spacing:-.045em;margin:14px 0 22px}
.music-archive h2 em{font-family:Georgia,serif;color:var(--accent);font-weight:400}
.music-archive p:not(.eyebrow){font-size:17px;max-width:640px;color:var(--muted);line-height:1.75}
.archive-status{display:inline-block;margin-top:18px;font-size:10px;letter-spacing:.14em;color:#e5c9a4;border:1px solid rgba(214,181,138,.4);padding:11px 14px}
@media(max-width:700px){.music-archive-inner{grid-template-columns:1fr}.music-archive-art{max-width:400px}.release-feature h2{font-size:clamp(32px,8vw,52px)}}

/* Content-led layouts at arbitrary window widths and aspect ratios. The page should fit the
 * screen, not negotiate with it. */
html{min-width:0}body{min-width:0}main,section,article,.page-wrap{min-width:0}
.page-wrap{width:min(1500px,calc(100% - clamp(28px,5.9vw,88px)))}
:is(.hero,.hero-copy,.hero-art,.page-hero,.section-heading,.feature-grid,.feature-card,.bio-layout,.bio-copy,.scene-feature,.scene-story,.album-feature,.album-copy,.release-feature,.release-copy,.game-feature,.game-body,.two-up,.finals-section,.finals-video-grid,.finals-console,.finals-heading,.finals-release-calendar,.season-columns,.timeline-item,.music-archive-inner)>*{min-width:0}
:is(h1,h2,h3,h4,p,a,span){overflow-wrap:break-word}
img,video,iframe,canvas{max-width:100%}
/* Keep seasons and dates as a compact pair instead of opposite ends of wide columns. */
.finals-release-calendar{container-type:inline-size;padding:clamp(16px,2.1vw,26px)}
.season-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.5vw,38px);align-items:start}
.season-columns>div{min-width:0;max-width:340px}
.season-columns p{display:grid;grid-template-columns:minmax(0,auto) max-content;justify-content:start;column-gap:clamp(14px,2vw,26px);align-items:baseline;width:fit-content;max-width:100%;margin:0 0 9px;line-height:1.45}
.season-columns p span{white-space:nowrap;text-align:left}
@container (max-width:780px){.season-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container (max-width:495px){.season-columns{grid-template-columns:minmax(0,1fr)}.season-columns>div{max-width:none}}
.finals-heading{max-width:min(100%,1040px)}
.finals-heading p:not(.eyebrow){max-width:860px}
.finals-console-top,.finals-console-controls{min-width:0}
.finals-console-top>span{min-width:0;overflow-wrap:anywhere}
.finals-controls{flex-wrap:wrap;justify-content:flex-end}
.finals-display-title{font-size:clamp(18px,2.5vw,38px)}
/* Content must not force horizontal scroll at intermediate/tablet widths. Scrolling should
 * move the page, not start an argument. */
@media(max-width:1050px){.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finals-video-grid{gap:18px}}
@media(max-width:850px){.page-wrap{width:calc(100% - clamp(28px,6vw,52px))}.hero{min-height:0}.site-header{min-width:0}.brand{min-width:0}}
@media(max-width:700px){.feature-grid{grid-template-columns:minmax(0,1fr)}.finals-video-grid{grid-template-columns:minmax(0,1fr)}.finals-console{max-width:650px;width:100%;margin-inline:auto}.season-columns{gap:18px}.section-heading{flex-wrap:wrap}}
@media(max-width:500px){.page-wrap{width:calc(100% - 28px)}.finals-console-top{flex-wrap:wrap;row-gap:5px}.finals-console-controls{align-items:flex-start}.finals-controls{gap:10px}.finals-release-calendar{padding:14px}.season-columns p{font-size:11px;column-gap:12px}.season-columns p span{font-size:11px}.finals-launch{max-width:calc(100% - 20px)}.hero h1,.page-hero h1{overflow-wrap:anywhere}}
@media(max-width:360px){.finals-console-top{font-size:7px}.finals-controls{justify-content:flex-start}.finals-display-title small{font-size:8px}.season-columns p{grid-template-columns:minmax(0,auto) max-content}}

/* Narrative and visual together, followed by facts and science references. */
body.demo .cinematic-note{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
  gap:clamp(24px,4vw,68px);
  align-items:center;
  padding:clamp(28px,4vw,55px) 0 clamp(38px,5vw,72px);
}
body.demo .cinematic-note>div:first-child{min-width:0}
body.demo .cinematic-note .passage-feature{
  min-width:0;
  width:100%;
  min-height:0;
  aspect-ratio:1.22;
  align-self:stretch;
}
body.demo .cinematic-note .passage-overlay strong{font-size:clamp(28px,3.3vw,58px)}
body.demo .cinematic-note .passage-overlay{left:clamp(18px,3vw,48px);right:clamp(18px,3vw,48px);max-width:94%}
body.demo .demo-showcase{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(250px,.72fr);
  gap:clamp(26px,5vw,84px);
  align-items:start;
  padding:clamp(22px,3.5vw,54px) 0 clamp(44px,5vw,80px);
  border-top:1px solid var(--line);
}
body.demo .demo-showcase>.passage-aside{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-width:0;
  padding:0;
}
body.demo .demo-showcase>.passage-aside .spec-grid{width:100%;max-width:680px}
body.demo .demo-showcase>.science-references{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-width:0;
  gap:15px;
  padding:clamp(12px,3vw,40px) 0 clamp(12px,3vw,40px) clamp(20px,3vw,44px);
  border-left:1px solid #284562;
}
body.demo .science-references span{font:700 11px ui-monospace,monospace;color:#81d3ff;letter-spacing:.2em}
body.demo .science-references a{color:#d7e8ff;text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}
@media(max-width:950px){
 body.demo .cinematic-note{grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:25px}
 body.demo .cinematic-note h2{font-size:clamp(37px,4.5vw,56px)}
 body.demo .cinematic-note .passage-feature{aspect-ratio:.91}
 body.demo .cinematic-note .passage-overlay strong{font-size:clamp(28px,3.8vw,46px)}
 body.demo .demo-showcase{grid-template-columns:minmax(0,1fr) minmax(220px,.8fr);gap:24px}
}
@media(max-width:720px){
 body.demo .cinematic-note{grid-template-columns:minmax(0,1fr);gap:27px}
 body.demo .cinematic-note .passage-feature{aspect-ratio:1.4;min-height:300px}
 body.demo .demo-showcase{grid-template-columns:minmax(0,1fr);gap:24px}
 body.demo .demo-showcase>.science-references{border-left:0;border-top:1px solid #284562;padding:22px 0 0}
}
@media(max-width:430px){
 body.demo .cinematic-note .passage-feature{aspect-ratio:.98}
 body.demo .cinematic-note .passage-overlay strong{font-size:clamp(27px,8vw,43px)}
 body.demo .demo-showcase>.passage-aside .spec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* The navigation spans the viewport. The links need not migrate to different postcodes. */
:root{--dock-height:78px;--dock-top:0px}
.page-wrap{padding-top:calc(var(--dock-height) + 24px)}
.site-header{
  position:fixed;
  inset:0 0 auto 0;
  transform:none;
  width:100%;max-width:none;
  height:var(--dock-height);
  z-index:1000;
  display:flex;align-items:center;
  padding:0 max(22px,calc((100vw - 1500px)/2));
  border:0;border-bottom:1px solid rgba(221,232,255,.22);
  border-radius:0;
  background:rgba(20,27,42,.90);
  box-shadow:0 12px 34px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.12);
  isolation:isolate;
}
.site-header::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;
  border-radius:0;
  background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.025) 55%,rgba(148,182,236,.045));
}
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  .site-header{background:rgba(16,22,34,.66);-webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%)}
}
.site-header .primary-nav a.active::after{top:9px}
@media(max-width:850px){
 :root{--dock-height:68px}
 .page-wrap{padding-top:calc(var(--dock-height) + 18px)}
 .site-header{width:100%;height:var(--dock-height);padding:0 clamp(15px,3vw,26px);border-radius:0}
 .site-header .menu-toggle{position:relative;z-index:2;flex-shrink:0;border-radius:11px;background:rgba(255,255,255,.06)}
 .site-header .primary-nav{
   position:absolute;top:100%;left:0;right:0;width:100%;
   max-height:calc(100dvh - var(--dock-height));overflow-y:auto;overscroll-behavior:contain;
   border:0;border-bottom:1px solid rgba(221,232,255,.20);border-radius:0;
   padding:10px clamp(15px,3vw,26px) 16px;
   background:rgba(15,21,34,.98);box-shadow:0 22px 48px rgba(0,0,0,.43);
 }
 @supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
   .site-header .primary-nav{background:rgba(15,21,34,.88);-webkit-backdrop-filter:blur(22px) saturate(140%);backdrop-filter:blur(22px) saturate(140%)}
 }
}
@media(prefers-reduced-transparency:reduce){.site-header,.site-header .primary-nav{background:#151d2c;-webkit-backdrop-filter:none;backdrop-filter:none}}

/* v64: The first photograph meets the dock. The gap was not part of the composition. */
body.home .page-wrap{padding-top:var(--dock-height)}
@media(max-width:850px){
  body.demoscene .page-wrap{padding-top:var(--dock-height)}
  body.demoscene .scene-feature{padding-top:0}
}

/* Demoscene portrait fills the mobile viewport. The prose keeps its reading margins. */
@media(max-width:850px){
  body.demoscene .scene-feature{
    width:100vw;
    max-width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    padding-top:0;
    grid-template-columns:minmax(0,1fr);
  }
  body.demoscene .scene-feature .old-photo{
    width:100%;
    max-width:100%;
    margin:0;
    border:0;
    border-radius:0;
  }
  body.demoscene .scene-feature .old-photo img{width:100%;height:auto;display:block;}
  body.demoscene .scene-feature .scene-story{
    width:100%;
    padding-inline:clamp(14px,3vw,26px);
  }
}

/* Pinball Dreams: borrowed the dependable Atari player structure. It has survived worse hardware. */
.pinball-feature{padding:clamp(36px,5vw,75px) 0 clamp(46px,6vw,90px);border-top:1px solid var(--line)}
.pinball-feature .atari-heading h2 em{color:#dbb9da}
.pinball-screen{background:linear-gradient(145deg,#312638,#171322 65%,#080b14);border-color:#604763}
.pinball-poster-back{background:repeating-linear-gradient(0deg,transparent 0 3px,#a18ba012 3px 4px),radial-gradient(ellipse at 50% 65%,#634564 0%,#281c39 48%,#080911 100%)}
.pinball-poster-copy>span,.pinball-poster-copy>small{color:#e0b8d7}
.pinball-poster-copy strong{color:#f5d4ee;text-shadow:0 0 24px #ac5ea488;font-size:clamp(30px,5vw,68px)}
.pinball-play{background:#e6bdda;color:#271627}
.pinball-play:hover{background:#fae2f4}
.pinball-feature .atari-screen-top,.pinball-feature .atari-screen-bottom{color:#d7bbd0}
@media(max-width:570px){.pinball-feature{padding:35px 0 54px}.pinball-poster-copy strong{font-size:clamp(28px,9vw,48px)}}

/* Editorial links use colour, not underlines. Headings are plain text.
   Navigation, buttons and media cards retain their established treatments. */
main p a:not(.btn):not(.inline-link):not(.text-button),
main li a:not(.btn):not(.inline-link),
main .timeline-item a,
.footnote-section a,
.cinematic-note aside a,
.deepcuts-footer a,
.amp-history-links a,
body.demo .science-references a {
  color:#e9c998;
  text-decoration:none;
  transition:color .18s ease;
}
main p a:not(.btn):not(.inline-link):not(.text-button):hover,
main li a:not(.btn):not(.inline-link):hover,
main .timeline-item a:hover,
.footnote-section a:hover,
.cinematic-note aside a:hover,
.deepcuts-footer a:hover,
.amp-history-links a:hover,
body.demo .science-references a:hover {color:#fff0d4;text-decoration:none}
main p a:focus-visible,main li a:focus-visible {outline:2px solid #e9c998;outline-offset:3px}
/* Underlines should not suddenly reappear just because someone points at a link. */
main a:hover,.footnote-section a:hover,.amp-history-links a:hover,.finals-controls a:hover,.finals-video-copy a:hover{text-decoration:none}
