/* PIXMUZE — Noir Editorial. Tokens, base, then sections. No inline styles anywhere (CSP forbids them). */
/* Metric-matched fallbacks for Bodoni Moda: the web font swaps in without re-wrapping the headline (CLS). */
@font-face{font-family:'Bodoni Fallback';src:local('Times New Roman'),local('Times'),local('Liberation Serif');size-adjust:111.8%}
@font-face{font-family:'Bodoni Fallback';font-style:italic;src:local('Times New Roman Italic'),local('Times Italic'),local('Liberation Serif Italic');size-adjust:101%}
@font-face{font-family:'Bodoni Fallback Georgia';src:local('Georgia');size-adjust:103.1%}
@font-face{font-family:'Bodoni Fallback Georgia';font-style:italic;src:local('Georgia Italic');size-adjust:92.4%}
:root{
  --ink:#0A0A0B; --surface:#111113; --line:#2A2A2D; --bone:#F4F0E8;
  --muted:#B9B4AA; --faint:#A8A39A; --on-bone:#3E3B35; --on-bone-muted:#5B574F; --line-bone:#D8D2C4;
  --accent:#FF2E63; /* proposed, pending approval. Keep as the only accent token. */
  --serif:'Bodoni Moda','Bodoni Fallback Georgia','Bodoni Fallback',Georgia,'Times New Roman',serif;
  --sans:'Inter Tight',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --gutter:clamp(20px,4vw,48px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--ink);color:var(--bone);font-family:var(--sans);font-size:16px;line-height:1.5;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:hover{opacity:.78}
img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0}
em{font-style:italic}
:focus-visible{outline:2px solid var(--bone);outline-offset:3px}
.on-bone :focus-visible,.join-copy :focus-visible{outline-color:var(--ink)}
.btn:focus-visible{outline-offset:4px}
.skip{position:absolute;left:-9999px;top:0;background:var(--bone);color:var(--ink);padding:12px 16px;z-index:10}
.skip:focus{left:8px;top:8px}
.wrap{max-width:1280px;margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.section-pad{padding-top:clamp(64px,9vw,128px);padding-bottom:clamp(64px,9vw,128px)}
.eyebrow{margin:0;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--accent)}
.meta{margin:0;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--faint)}
.accent{color:var(--accent)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:16px 30px;font:600 13px/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;border:1px solid transparent;cursor:pointer;border-radius:0}
.btn-primary{background:var(--accent);color:var(--ink)}
.btn-outline{border-color:var(--bone);color:var(--bone);font-weight:500;background:transparent}
.btn-inverse{background:var(--bone);color:var(--ink)}
.btn-dark{background:var(--ink);color:var(--bone)}
.btn[disabled]{opacity:.6;cursor:progress}

/* Header */
.site-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;padding-top:28px;padding-bottom:28px}
.logo{display:flex;align-items:center;gap:6px;padding:8px 0;font-family:var(--serif);font-size:26px;font-weight:600;letter-spacing:.14em}
.logo i{display:inline-block;width:8px;height:8px;margin-top:10px;background:var(--accent)}
.nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px 32px;font-size:13px;letter-spacing:.16em;text-transform:uppercase}
.nav a{padding:15px 0}
.nav .btn{padding:14px 22px;min-height:44px}

/* Hero */
.hero{display:flex;flex-direction:column;gap:36px;padding-top:clamp(40px,8vw,110px);padding-bottom:clamp(48px,7vw,96px)}
.hero h1{max-width:1100px;font-size:clamp(52px,10.5vw,152px);line-height:.94;letter-spacing:-.02em}
.hero h1 em,.join h2 em,.house h2 em,.process h2 em,.faq h2 em{color:var(--accent)}
.hero-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:32px}
.lead{margin:0;max-width:520px;font-size:clamp(17px,1.6vw,20px);line-height:1.55;color:#C9C4BA}
.cta-row{display:flex;flex-wrap:wrap;gap:14px}

/* Ticker */
.ticker{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 40px;margin:0;padding:20px 24px;list-style:none;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px;letter-spacing:.3em;text-transform:uppercase;color:var(--faint)}
.ticker li{white-space:nowrap}
.ticker li::before{content:"●";margin-right:12px;color:var(--accent)}

/* Roster */
.sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:48px}
.sec-head h2{font-size:clamp(40px,6vw,84px);line-height:1;letter-spacing:-.01em}
.feature{display:flex;flex-wrap:wrap;border:1px solid var(--line);background:var(--surface)}
.feature-media{position:relative;flex:1 1 440px;min-height:560px;display:flex;align-items:flex-end;padding:28px;background:radial-gradient(120% 80% at 30% 20%,#6B5326 0%,#241B0C 45%,#0A0A0B 100%)}
.feature-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tag-placeholder{position:relative;padding:8px 12px;border:1px solid #6B5326;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#E6D3A3}
.feature-body{flex:1 1 440px;display:flex;flex-direction:column;justify-content:center;gap:24px;padding:clamp(28px,4vw,64px)}
.feature-body h3{font-size:clamp(44px,5.6vw,80px);line-height:1;letter-spacing:-.01em}
.feature-body p{margin:0;max-width:460px;font-size:18px;line-height:1.6;color:#C9C4BA}
.tags{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.tags li{padding:8px 14px;border:1px solid #3A3A3D;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#D8D3C9}
.feature-links{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding-top:8px}
.host{font-size:14px;letter-spacing:.06em;color:var(--faint)}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:clamp(12px,1.6vw,20px);margin:20px 0 0;padding:0;list-style:none}
.card{display:flex;flex-direction:column;justify-content:space-between;aspect-ratio:3/4;padding:clamp(14px,2vw,24px);border:1px solid var(--line);background:linear-gradient(160deg,#1B1B22 0%,#0E0E12 70%)}
.card:nth-child(2){background:linear-gradient(160deg,#221A1E 0%,#0E0E12 70%)}
.card:nth-child(3){background:linear-gradient(160deg,#1A2022 0%,#0E0E12 70%)}
.card{position:relative;overflow:hidden}
.card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(8px);transform:scale(1.08)}
.card:has(>img)::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,11,.55) 0%,rgba(10,10,11,.1) 30%,rgba(10,10,11,.55) 60%,rgba(10,10,11,.92) 100%)}
.card>.num,.card>div{position:relative;z-index:1}
.card .num{font-family:var(--serif);font-style:italic;font-size:clamp(44px,5vw,72px);line-height:1;color:#E6D3A3}
.card .soon{margin:0;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
.card .name{margin:8px 0 0;font-family:var(--serif);font-size:clamp(18px,2vw,28px);line-height:1.15}
.card-open{padding:0;border:1px dashed #5A5A5E;background:none}
.card-open a{flex:1;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(14px,2vw,24px)}
.card-open .plus{font-size:clamp(44px,5vw,64px);line-height:1;color:var(--accent)}
.card-open .label{margin:0;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--faint)}

/* The house */
.house h2{max-width:980px;font-size:clamp(38px,6vw,88px);line-height:1;letter-spacing:-.01em}
.pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));margin:56px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}
.pillar{display:flex;flex-direction:column;gap:14px;padding:32px 28px 32px 0;border-bottom:1px solid var(--line)}
.pillar .n{font-size:12px;letter-spacing:.3em;color:var(--accent)}
.pillar h3{font-size:28px}
.pillar p{margin:0;font-size:16px;line-height:1.6;color:var(--muted)}

/* Services (light band) */
.on-bone{background:var(--bone);color:var(--ink)}
.on-bone h2{font-size:clamp(38px,6vw,84px);line-height:1;letter-spacing:-.01em}
.panels{display:flex;flex-wrap:wrap;gap:24px;margin-top:56px}
.panel{flex:1 1 440px;display:flex;flex-direction:column;gap:22px;padding:clamp(28px,3.5vw,48px)}
.panel-light{border:1px solid var(--ink)}
.panel-dark{background:var(--ink);color:var(--bone)}
.panel .kicker{margin:0;font-size:12px;letter-spacing:.3em;text-transform:uppercase}
.panel-light .kicker{color:var(--on-bone-muted)}
.panel-dark .kicker{color:var(--accent)}
.panel h3{font-size:clamp(30px,3.4vw,44px);line-height:1.1}
.panel p{margin:0;font-size:17px;line-height:1.6}
.panel-light p{color:var(--on-bone)}
.panel-dark p{color:#C9C4BA}
.panel ul{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;font-size:16px}
.panel li{padding-bottom:12px;border-bottom:1px solid}
.panel li:last-child{padding-bottom:0;border-bottom:0}
.panel-light li{border-color:var(--line-bone)}
.panel-dark li{border-color:var(--line)}
.panel .btn{align-self:flex-start;margin-top:8px}

/* Process */
.process h2,.faq h2{font-size:clamp(38px,6vw,84px);line-height:1;letter-spacing:-.01em}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:32px;margin:56px 0 0;padding:0;list-style:none}
.step{display:flex;flex-direction:column;gap:14px;padding-top:20px;border-top:2px solid var(--accent)}
.step .n{font-family:var(--serif);font-style:italic;font-size:56px;line-height:1;color:#4A4A4F}
.step h3{font:500 20px/1.3 var(--sans)}
.step p{margin:0;line-height:1.6;color:var(--muted)}

/* FAQ */
.faq{padding-bottom:clamp(72px,10vw,144px)}
.faq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:0 56px;margin-top:48px}
.faq-item{display:flex;flex-direction:column;gap:12px;padding:28px 0;border-top:1px solid var(--line)}
.faq-item h3{font-size:26px;line-height:1.2}
.faq-item p{margin:0;line-height:1.65;color:var(--muted)}

/* Join / contact */
.join{background:var(--accent);color:var(--ink)}
.join-inner{display:flex;flex-wrap:wrap;gap:56px}
.join-copy{flex:1 1 420px;display:flex;flex-direction:column;justify-content:center;gap:24px}
.join-copy .eyebrow{color:var(--ink)}
.join h2{font-size:clamp(40px,6vw,88px);line-height:.98;letter-spacing:-.01em}
.join h2 em{color:var(--ink)}
.join-copy p{margin:0;max-width:460px;font-size:18px;line-height:1.55}
.form{flex:1 1 420px;display:flex;flex-direction:column;gap:18px;padding:clamp(24px,3vw,44px);background:var(--ink);color:var(--bone)}
.field,.choices legend{display:flex;flex-direction:column;gap:8px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:#C9C4BA}
.field input,.field textarea{width:100%;padding:14px 0;border:0;border-bottom:1px solid #5A5A5E;border-radius:0;background:transparent;color:var(--bone);font:400 18px/1.4 var(--sans);letter-spacing:0;text-transform:none}
.field textarea{resize:vertical;min-height:96px}
.field input:focus,.field textarea:focus{border-bottom-color:var(--accent)}
.choices{margin:0;padding:0;border:0;display:flex;flex-wrap:wrap;gap:10px}
.choices legend{width:100%;padding:0;margin-bottom:2px}
.choice{position:relative}
.choice input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer}
.choice span{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1px solid #5A5A5E;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--bone)}
.choice input:checked+span{border-color:var(--accent);background:var(--accent);color:var(--ink);font-weight:600}
.choice input:focus-visible+span{outline:2px solid var(--bone);outline-offset:3px}
.consent{display:flex;align-items:flex-start;gap:12px;min-height:44px;padding:8px 0;font-size:14px;line-height:1.5;color:#C9C4BA}
.consent input{flex:none;width:22px;height:22px;margin:0;accent-color:var(--accent)}
.consent a{text-decoration:underline}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.status{min-height:1.5em;margin:0;font-size:15px;line-height:1.5}
.status.ok{color:#9BE7A5}
.status.err{color:#FF9AA8}

/* Footer */
.footer{display:flex;flex-direction:column;gap:48px;padding-top:72px;padding-bottom:40px}
.footer-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:40px}
.footer-brand{display:flex;flex-direction:column;gap:16px;max-width:360px}
.footer-brand .logo{font-size:32px;padding:0}
.footer-brand p{margin:0;font-size:15px;line-height:1.6;color:var(--faint)}
.footer-cols{display:flex;flex-wrap:wrap;gap:56px;font-size:14px}
.footer-col{display:flex;flex-direction:column}
.footer-col h2{margin:0 0 6px;font:400 12px/1.4 var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--faint)}
.footer-col a,.footer-col span{padding:14px 0}
.footer-col span{color:#8C877E}
.legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:24px;border-top:1px solid var(--line);font-size:13px;line-height:1.5;color:#8C877E}
.legal a{padding:14px 0;display:inline-block}
.legal-links{display:flex;gap:24px}

/* Prose pages (privacy, terms, thanks, 404) */
.prose{max-width:760px;padding-top:clamp(32px,6vw,72px);padding-bottom:clamp(64px,9vw,120px)}
.prose h1{font-size:clamp(40px,6vw,72px);line-height:1;letter-spacing:-.01em;margin-bottom:16px}
.prose h2{margin-top:40px;margin-bottom:12px;font-size:28px;line-height:1.2}
.prose p,.prose li{line-height:1.7;color:var(--muted)}
.prose ul{padding-left:20px}
.prose a{text-decoration:underline}
.prose .btn{margin-top:24px;text-decoration:none}
