:root { --ink:#070a0d; --paper:#f4f0e7; --brass:#b68345; --amber:#c47a32; --muted:#9da4a8; --font-sans:Arial,Helvetica,sans-serif; --font-mono:"Courier New",monospace; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ink); color:var(--paper); font-family:var(--font-sans), Arial, sans-serif; }
a { color:inherit; text-decoration:none; }
.site-header { height:84px; padding:0 clamp(24px,5vw,76px); display:flex; align-items:center; justify-content:space-between; overflow:hidden; border-bottom:1px solid #ffffff17; position:relative; z-index:10; background:#07090a; }
.brand { display:flex; align-items:center; gap:12px; min-width:0; text-transform:uppercase; letter-spacing:-.04em; font-size:18px; font-weight:600; }
.brand b { color:var(--brass); }
.brand-mark-image { display:block; width:48px; height:48px; max-width:48px; max-height:48px; flex:0 0 48px; object-fit:contain; }
.brand-name,.nav-cta { white-space:nowrap; }
nav { display:flex; align-items:center; gap:34px; text-transform:uppercase; font:600 12px var(--font-mono); letter-spacing:.12em; }
.nav-cta { padding:13px 19px; border:1px solid #ffffff4f; }
.eyebrow { text-transform:uppercase; letter-spacing:.19em; font:700 13px var(--font-mono); color:var(--brass); display:flex; align-items:center; gap:12px; }
.eyebrow span { width:32px; height:2px; background:currentColor; }
h1 { font-size:clamp(54px,7.2vw,108px); line-height:.91; letter-spacing:-.065em; margin:27px 0 30px; text-transform:uppercase; max-width:960px; }
h1 em { color:var(--brass); font-style:normal; position:relative; }
.button { display:inline-flex; gap:20px; align-items:center; justify-content:center; padding:18px 23px; text-transform:uppercase; font:700 13px var(--font-mono); letter-spacing:.12em; border:0; cursor:pointer; }
.button-primary { background:var(--brass); color:var(--ink); box-shadow:7px 7px 0 #ffffff16; }
.button-soon { background:transparent; color:#f4f0e7; border:1px solid #ffffff4f; box-shadow:none; cursor:default; pointer-events:none; }
.rooms-section { padding:80px clamp(24px,7vw,104px) 90px; background:var(--paper); color:var(--ink); }
.rooms-heading { margin-bottom:38px; max-width:1120px; }
.rooms-section .eyebrow { color:#8a6035; margin:0 0 18px; }
.rooms-section h1 { font-size:clamp(42px,6vw,78px); line-height:.96; margin:0; text-transform:uppercase; letter-spacing:-.055em; }
.beta-section { padding:110px clamp(24px,7vw,104px); background:#07090a; display:grid; grid-template-columns:1.05fr .95fr; gap:8vw; align-items:start; }
.beta-copy h2 { text-transform:uppercase; font-size:clamp(42px,5.6vw,76px); line-height:.96; letter-spacing:-.055em; margin:20px 0 22px; max-width:720px; }
.beta-copy>p:not(.beta-perk) { color:#9ba1a2; font-size:18px; line-height:1.7; max-width:560px; margin:0; }
.beta-perk { color:var(--brass); font:700 13px var(--font-mono); letter-spacing:.1em; text-transform:uppercase; line-height:1.55; max-width:560px; margin:22px 0 0; }
.beta-perk--form { margin:4px 0 0; text-align:center; max-width:none; }
.beta-form { display:grid; gap:16px; max-width:480px; padding-top:18px; }
.beta-form label { display:grid; gap:8px; font:700 12px var(--font-mono); letter-spacing:.1em; text-transform:uppercase; color:#c9c3b7; }
.beta-form input { background:#101417; color:var(--paper); border:1px solid #ffffff2b; padding:14px 16px; font:500 16px var(--font-sans); }
.beta-form input:focus { outline:2px solid var(--brass); outline-offset:1px; }
.beta-form .button { width:100%; }
.beta-status { margin:4px 0 0; font:600 13px var(--font-mono); letter-spacing:.04em; line-height:1.5; }
.beta-status.is-ok { color:#b7e0c4; }
.beta-status.is-err { color:#f3d4d4; }
.hp-field { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.rooms-heading p { max-width:780px; margin:22px 0 0; color:#555d5f; font-size:clamp(17px,2vw,21px); line-height:1.55; }
.rooms-list { display:grid; gap:28px; }
.room-card { position:relative; display:grid; grid-template-columns:minmax(0,2.2fr) minmax(250px,.8fr); overflow:hidden; background:#0a0d0f; color:white; }
.room-art { position:relative; overflow:hidden; aspect-ratio:16/9; background:#050708; }
.sphinx-card-title { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:end; padding:6%; background:linear-gradient(transparent 35%,#10120dec); pointer-events:none; }
.sphinx-card-title small { color:#e7c48a; letter-spacing:.25em; font:13px Georgia,serif; }
.sphinx-card-title strong { color:#f1dbb0; font:clamp(25px,4.5vw,64px)/1.1 Georgia,serif; margin-top:8px; }
.room-card img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.room-card:hover img { transform:scale(1.018); }
.room-card:hover .button-primary { filter:brightness(1.08); }
.room-content { position:relative; z-index:2; padding:30px; display:flex; flex-direction:column; justify-content:space-between; gap:24px; }
.room-name { margin:0; font-size:clamp(20px,2.1vw,28px); line-height:1.1; letter-spacing:-.04em; text-transform:uppercase; }
.room-teaser { margin:0; color:#c9c3b7; font-size:15px; line-height:1.6; }
.room-content>.button { width:100%; padding:15px 18px; }
.steps-section,.manifesto-section,.faq-section { padding:120px clamp(24px,7vw,104px); }
.steps-section { background:#0a0d0f; }
.section-heading { display:grid; grid-template-columns:1.2fr .8fr; gap:60px; align-items:end; margin-bottom:72px; }
.section-heading h2,.manifesto-section h2,.faq-section h2 { text-transform:uppercase; font-size:clamp(42px,5.6vw,76px); line-height:.96; letter-spacing:-.055em; margin:20px 0 0; }
.section-heading>p { color:#9ba1a2; max-width:480px; font-size:17px; line-height:1.7; }
.steps-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #ffffff22; }
.steps-grid article { padding:35px 35px 20px 0; border-right:1px solid #ffffff22; min-height:230px; }
.steps-grid article+article { padding-left:35px; }
.steps-grid article:last-child { border-right:0; }
.steps-grid b { color:var(--brass); font:600 12px var(--font-mono); }
.steps-grid h3 { text-transform:uppercase; font-size:24px; margin:46px 0 12px; letter-spacing:-.03em; }
.steps-grid p { color:#92999b; line-height:1.65; max-width:310px; }
.manifesto-section { color:var(--ink); background:#b98b54; }
.manifesto-section .eyebrow { color:#4e321a; }
.manifesto-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:10vw; align-items:start; }
.manifesto-grid h2 { max-width:760px; }
.manifesto-grid h2 em { font-style:normal; color:#5a381b; }
.manifesto-grid>div>p { font-size:19px; line-height:1.72; margin:28px 0 48px; }
.feature-list { display:grid; grid-template-columns:1fr 1fr; gap:0; border-top:1px solid #0a0d0f42; }
.feature-list span { padding:18px 5px; border-bottom:1px solid #0a0d0f42; text-transform:uppercase; font:700 12px var(--font-mono); letter-spacing:.1em; }
.review-section { padding:120px max(24px,14vw); text-align:center; background:#f4f0e7; color:var(--ink); }
.quote-mark { color:var(--brass); font:700 130px/0.7 Georgia,serif; text-shadow:2px 2px 0 #0a0d0f; }
.review-section blockquote { font-size:clamp(30px,4.2vw,58px); line-height:1.2; letter-spacing:-.04em; font-weight:650; margin:30px auto; max-width:1100px; }
.review-section p { font:600 12px var(--font-mono); text-transform:uppercase; letter-spacing:.12em; color:#777; }
.faq-section { background:#0a0d0f; display:grid; grid-template-columns:.8fr 1.2fr; gap:9vw; }
.faq-list { border-top:1px solid #ffffff26; }
.faq-list details { border-bottom:1px solid #ffffff26; padding:25px 0; }
.faq-list summary { cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:20px; text-transform:uppercase; font-weight:700; font-size:18px; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary span { color:var(--brass); font:400 23px var(--font-mono); }
.faq-list details[open] summary span { transform:rotate(45deg); }
.faq-list p { color:#9ba1a2; line-height:1.7; margin:18px 45px 0 0; max-width:680px; }
footer { padding:52px clamp(24px,7vw,104px) 35px; display:grid; grid-template-columns:1fr 1fr auto; align-items:center; gap:35px; border-top:1px solid #ffffff22; background:#07090a; }
footer>p { color:#7e8587; font-size:13px; }
footer>div { display:flex; gap:24px; text-transform:uppercase; font:600 12px var(--font-mono); letter-spacing:.1em; }
footer small { grid-column:1/-1; padding-top:25px; border-top:1px solid #ffffff18; color:#62696b; font:500 12px var(--font-mono); text-transform:uppercase; letter-spacing:.1em; }
.nightfall-header { position:absolute; }
.back-link { text-transform:uppercase; font:700 12px var(--font-mono); letter-spacing:.12em; }
.nightfall-hero { min-height:800px; position:relative; display:flex; align-items:center; overflow:hidden; }
.nightfall-hero>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.nightfall-shade { position:absolute; inset:0; background:linear-gradient(90deg,#050708ef 0,#050708b0 46%,transparent 80%),linear-gradient(0deg,#050708cc,transparent 40%); }
.nightfall-copy { position:relative; z-index:2; padding:150px clamp(24px,7vw,104px) 130px; max-width:860px; }
.nightfall-copy h1 { font-size:clamp(72px,10vw,145px); margin-bottom:28px; }
.nightfall-copy>p { color:#c3c7c6; line-height:1.7; font-size:18px; max-width:630px; }
.nightfall-copy .button { margin-top:32px; }
.nightfall-data { position:absolute; z-index:3; left:0; right:0; bottom:0; min-height:90px; padding:0 clamp(24px,7vw,104px); display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #ffffff2b; background:#050708b8; backdrop-filter:blur(8px); }
.nightfall-data span { display:flex; flex-direction:column; justify-content:center; padding-left:24px; border-left:1px solid #ffffff20; color:#838b8d; text-transform:uppercase; font:600 12px var(--font-mono); letter-spacing:.12em; }
.nightfall-data b { color:white; font-size:13px; margin-top:7px; }
.briefing { padding:130px clamp(24px,8vw,130px); background:var(--paper); color:var(--ink); display:grid; grid-template-columns:.45fr 1.55fr; gap:8vw; }
.briefing-label { width:180px; height:240px; border:1px solid #1014185c; padding:20px; display:flex; flex-direction:column; justify-content:space-between; transform:rotate(-2deg); box-shadow:8px 8px 0 #d8d4cb; }
.briefing-label span { color:#686e70; text-transform:uppercase; font:700 12px var(--font-mono); letter-spacing:.12em; }
.briefing-label b { font:700 28px var(--font-mono); }
.briefing-copy .eyebrow { color:#8a6035; }
.briefing-copy h2,.mission-preview h2,.nightfall-cta h2 { text-transform:uppercase; font-size:clamp(48px,6.5vw,90px); line-height:.96; letter-spacing:-.055em; margin:24px 0 35px; }
.briefing-copy>p:not(.eyebrow) { max-width:800px; color:#4e5455; line-height:1.75; font-size:18px; }
.mission-preview { padding:120px clamp(24px,7vw,104px); display:grid; grid-template-columns:.8fr 1.2fr; gap:8vw; align-items:center; background:#0a0d0f; }
.preview-copy h2 em { color:var(--brass); font-style:normal; }
.preview-copy>p { color:#9ba1a2; font-size:17px; line-height:1.7; }
.preview-copy ul { list-style:none; padding:0; margin:35px 0 0; border-top:1px solid #ffffff21; }
.preview-copy li { padding:16px 0; border-bottom:1px solid #ffffff21; text-transform:uppercase; font:600 12px var(--font-mono); letter-spacing:.1em; }
.preview-copy li::before { content:"✓"; color:var(--brass); margin-right:12px; }
.preview-image { background:#151b1f; padding:12px; transform:rotate(1.5deg); box-shadow:24px 30px 80px #000; }
.preview-image img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; object-position:top; }
.preview-image span { display:block; padding:13px 4px 4px; color:#7c8587; text-transform:uppercase; font:600 12px var(--font-mono); letter-spacing:.12em; }
.nightfall-cta { min-height:600px; padding:110px 24px; text-align:center; display:flex; flex-direction:column; align-items:center; justify-content:center; background:radial-gradient(circle,#273035,#07090a 58%); }
.nightfall-cta>p:not(.eyebrow) { color:#969d9e; font-size:17px; }
.nightfall-cta .button { margin-top:28px; }
.nightfall-footer { grid-template-columns:1fr auto 1fr; }
.nightfall-footer>a:last-child { justify-self:end; text-transform:uppercase; font:600 12px var(--font-mono); letter-spacing:.1em; }
@media (max-width:850px) { nav a:not(.nav-cta){display:none}.room-card{grid-template-columns:1fr}.room-content{padding:22px 24px}.room-content>.button{min-height:56px}.section-heading,.manifesto-grid,.faq-section,.beta-section{grid-template-columns:1fr}.steps-grid{grid-template-columns:1fr}.steps-grid article,.steps-grid article+article{border-right:0;border-bottom:1px solid #ffffff22;padding:30px 0;min-height:0}.steps-grid h3{margin:25px 0 10px}.faq-section{gap:60px}footer{grid-template-columns:1fr 1fr}footer>div{grid-column:1/-1} }
@media (max-width:850px) { .briefing,.mission-preview{grid-template-columns:1fr}.briefing-label{display:none}.nightfall-footer{grid-template-columns:1fr}.nightfall-footer>a:last-child{justify-self:start} }
@media (max-width:620px) { .room-content{padding:20px;gap:20px}.room-content>.button{min-height:58px;padding:17px 18px;font-size:14px}.feature-list span{font-size:12px}.review-section p{font-size:12px}footer>div{font-size:12px}footer small{font-size:11px} }
@media (max-width:520px) { .site-header{height:68px;padding:0 12px;gap:8px}.brand{flex:0 1 auto;gap:7px;font-size:13px;letter-spacing:-.045em}.brand-name{display:block}.brand-mark-image{width:30px;height:30px;max-width:30px;max-height:30px;flex:0 0 30px}.nav-cta{flex:0 0 auto;padding:10px 11px;font-size:12px}.eyebrow{font-size:12px}.rooms-section{padding:56px 18px 64px}.rooms-section h1,.section-heading h2,.manifesto-section h2,.faq-section h2,.beta-copy h2{font-size:clamp(34px,11vw,42px)}.rooms-heading{margin-bottom:30px}.rooms-heading p{margin-top:18px;font-size:17px}.rooms-list{gap:22px}.steps-section,.manifesto-section,.faq-section,.beta-section{padding:72px 20px}.section-heading{gap:25px}.review-section{padding:76px 20px}.review-section blockquote{font-size:clamp(27px,8.5vw,38px)}.faq-list summary{font-size:16px}footer{grid-template-columns:1fr;padding-left:20px;padding-right:20px}footer>div{flex-wrap:wrap}.nightfall-hero{min-height:760px}.nightfall-shade{background:linear-gradient(90deg,#050708f2,#0507089e),linear-gradient(0deg,#050708,transparent)}.nightfall-copy{padding:125px 22px 150px}.nightfall-copy h1{font-size:58px}.nightfall-data{grid-template-columns:1fr 1fr;padding:0}.nightfall-data span{min-height:70px}.briefing,.mission-preview{padding:85px 22px}.nightfall-footer{grid-template-columns:1fr} }
@media (max-width:360px) { .rooms-section{padding-left:14px;padding-right:14px}.steps-section,.manifesto-section,.faq-section,.review-section,.beta-section{padding-left:16px;padding-right:16px}.room-content{padding:18px 16px}.site-header .nav-cta{padding-left:9px;padding-right:9px} }
