: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; }
.button-primary { background:var(--brass); color:var(--ink); box-shadow:7px 7px 0 #ffffff16; }
.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 h1 { font-size:clamp(42px,6vw,78px); line-height:.96; margin:0; text-transform:uppercase; letter-spacing:-.055em; }
.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; }
.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-content { position:relative; z-index:2; padding:30px; display:flex; flex-direction:column; justify-content:space-between; gap:24px; }
.room-meta { margin:0; display:grid; }
.room-meta div { display:flex; align-items:baseline; justify-content:space-between; gap:18px; padding:16px 0; border-bottom:1px solid #ffffff1f; }
.room-meta div:first-child { padding-top:0; }
.room-meta dt { color:#8f989a; font:600 12px var(--font-mono); text-transform:uppercase; letter-spacing:.1em; }
.room-meta dd { margin:0; color:#f4f0e7; font:700 14px var(--font-mono); text-transform:uppercase; text-align:right; }
.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;display:grid;grid-template-columns:minmax(0,1fr) 150px;align-items:stretch;gap:22px}.room-meta{grid-template-columns:repeat(3,1fr)}.room-meta div,.room-meta div:first-child{display:block;padding:4px 18px;border-bottom:0;border-right:1px solid #ffffff2b}.room-meta div:first-child{padding-left:0}.room-meta div:last-child{padding-right:0;border-right:0}.room-meta dt{font-size:10px}.room-meta dd{margin-top:8px;text-align:left;font-size:13px}.room-content>.button{min-height:56px}.section-heading,.manifesto-grid,.faq-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;display:flex;gap:20px}.room-meta div,.room-meta div:first-child{padding:2px 12px}.room-meta div:first-child{padding-left:0}.room-meta div:last-child{padding-right:0}.room-meta dt{font-size:12px;letter-spacing:.07em}.room-meta dd{margin-top:7px;font-size:14px;line-height:1.25}.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{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{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:420px) { .room-meta{grid-template-columns:1fr 1fr}.room-meta div,.room-meta div:first-child{padding:2px 10px}.room-meta div:first-child{padding-left:0}.room-meta div:nth-child(2){padding-right:0;border-right:0}.room-meta div:last-child{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-top:12px;padding:13px 0 0;border-top:1px solid #ffffff2b;border-right:0}.room-meta div:last-child dd{margin-top:0;text-align:right} }
@media (max-width:360px) { .rooms-section{padding-left:14px;padding-right:14px}.steps-section,.manifesto-section,.faq-section,.review-section{padding-left:16px;padding-right:16px}.room-content{padding:18px 16px}.site-header .nav-cta{padding-left:9px;padding-right:9px} }
@media (max-width:850px) { .room-meta dt{font-size:12px} }
@media (max-width:620px) { footer small{font-size:12px} }
