:root { --black:#080808; --paper:#f2efe9; --gold:#d6c39a; --line:rgba(242,239,233,.19); --sans:Arial, Helvetica, sans-serif; --serif:Georgia, 'Times New Roman', serif; }
* { box-sizing:border-box; }
img, video { -webkit-user-drag:none; user-select:none; -webkit-user-select:none; }
html { scroll-behavior:smooth; background:var(--black); }
body { margin:0; background:var(--black); color:var(--paper); font-family:var(--sans); font-size:16px; line-height:1.6; }
a { color:inherit; text-decoration:none; } button, input, textarea { font:inherit; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.site-header { position:fixed; inset:0 0 auto; z-index:10; transition:background .35s ease, border-color .35s ease; }
.site-header.is-scrolled { background:rgba(8,8,8,.72); backdrop-filter:blur(14px); border-bottom:1px solid rgba(242,239,233,.11); }
.nav { height:82px; max-width:1500px; padding:0 clamp(24px,5vw,76px); margin:auto; display:flex; align-items:center; justify-content:space-between; }
.nav-logo img { width:78px; display:block; }
.nav-links { display:flex; align-items:center; gap:clamp(18px,2.6vw,43px); text-transform:uppercase; letter-spacing:.14em; font-size:10px; }
.nav-links a { transition:color .25s ease; } .nav-links a:hover, .nav-links a:focus-visible { color:var(--gold); }
.nav-toggle { display:none; background:none; border:0; color:var(--paper); padding:8px; }
.hero { height:100svh; min-height:580px; isolation:isolate; position:relative; overflow:hidden; display:grid; place-items:center; background:#c8b89d url('assets/hero/hero%20poster.jpeg') center/cover no-repeat; }
.hero-video, .hero-shade { position:absolute; inset:0; width:100%; height:100%; }
.hero-video { object-fit:cover; z-index:-2; opacity:0; transition:opacity .12s linear; }.hero-video.is-active { opacity:1; }.hero-shade { z-index:-1; background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.06) 47%,rgba(0,0,0,.48)); }
.hero-content { text-align:center; padding:0 24px; transform:translateY(2vh); }.hero-logo { width:min(390px,72vw); }.hero-content p, .subtitle { text-transform:uppercase; letter-spacing:.22em; font-size:10px; margin:24px 0 0; }.hero-content span, .subtitle span { color:var(--gold); padding:0 .42em; }
.scroll-indicator { position:absolute; bottom:36px; width:22px; height:40px; display:grid; place-items:center; }.scroll-indicator::before { content:''; width:1px; height:32px; background:var(--paper); opacity:.75; }.scroll-indicator span { position:absolute; top:4px; width:4px; height:4px; border-radius:50%; background:var(--gold); animation:scroll 1.8s ease infinite; }@keyframes scroll { 0%,100% { transform:translateY(0); opacity:0; } 30% { opacity:1; } 70% { transform:translateY(21px); opacity:1; } }
.section { padding:clamp(84px,10vw,160px) clamp(24px,8vw,140px); }.eyebrow { color:var(--gold); text-transform:uppercase; letter-spacing:.2em; font-size:10px; margin:0 0 22px; }.about { max-width:1680px; margin:auto; }.about-header { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,500px); align-items:center; gap:clamp(56px,10vw,180px); }.about-intro { max-width:850px; }.about-portrait { width:min(100%,500px); justify-self:end; margin:0; overflow:hidden; border-radius:22px; box-shadow:0 24px 65px rgba(0,0,0,.46); }.about-portrait img { display:block; width:100%; aspect-ratio:2/3; object-fit:cover; transition:transform .8s cubic-bezier(.2,.7,.1,1); }.about-portrait:hover img { transform:scale(1.025); }.section h1,.section h2 { font:400 clamp(48px,7.7vw,130px)/.92 var(--serif); letter-spacing:-.055em; margin:0; }.about .subtitle { margin:28px 0 64px; }.bio { max-width:600px; font-size:clamp(17px,1.5vw,21px); }.bio p { margin:0 0 24px; }
.editorial-grid { margin-top:clamp(70px,8vw,120px); columns:4 240px; column-gap:clamp(12px,1.6vw,25px); }.editorial { break-inside:avoid; margin:0 0 clamp(12px,1.6vw,25px); overflow:hidden; border-radius:3px; background:#141414; cursor:zoom-in; }.editorial img { display:block; width:100%; height:auto; transition:transform .8s cubic-bezier(.2,.7,.1,1); }.editorial:hover img { transform:scale(1.035); }.lightbox { position:fixed; z-index:30; inset:0; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:clamp(12px,3vw,42px); padding:clamp(20px,5vw,72px); background:rgba(0,0,0,.96); opacity:0; visibility:hidden; transition:opacity .3s ease,visibility .3s; }.lightbox.is-open { opacity:1; visibility:visible; }.lightbox-image { display:block; max-width:100%; max-height:calc(100svh - clamp(40px,10vw,144px)); margin:auto; object-fit:contain; opacity:0; transform:scale(.985); transition:opacity .3s ease,transform .3s ease; }.lightbox.is-open .lightbox-image { opacity:1; transform:none; }.lightbox-control,.lightbox-close { border:0; color:var(--paper); background:transparent; cursor:pointer; transition:color .25s ease,transform .25s ease; }.lightbox-control { padding:12px; font:300 clamp(45px,6vw,72px)/1 var(--serif); }.lightbox-close { position:absolute; top:clamp(16px,3vw,34px); right:clamp(19px,4vw,52px); font:300 42px/1 var(--sans); }.lightbox-control:hover,.lightbox-control:focus-visible,.lightbox-close:hover,.lightbox-close:focus-visible { color:var(--gold); transform:scale(1.08); }
.series { background:#0d0d0d; display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); align-items:center; gap:clamp(50px,9vw,150px); }.series-copy { max-width:590px; }.series-copy h2,.lounge h2,.contact h2 { font-size:clamp(46px,5.4vw,90px); }.series-copy > p:last-child { max-width:590px; font-size:18px; margin:36px 0 0; }.trailer-wrap { width:min(100%,410px); justify-self:center; }.trailer { width:100%; display:block; aspect-ratio:9/16; object-fit:cover; background:#000; }
.lounge { display:grid; place-items:center; padding-block:clamp(100px,12vw,170px); background:linear-gradient(125deg,rgba(8,8,8,.71),rgba(8,8,8,.92)),url('assets/gallery/22.png') center/cover; text-align:center; }.lounge-panel { max-width:650px; }.lounge .eyebrow { margin-bottom:28px; }.lounge h2 { margin-bottom:38px; }.lounge p { font-size:18px; margin:0 0 8px; }.button { display:inline-flex; align-items:center; justify-content:center; min-height:51px; padding:0 30px; margin-top:35px; border:1px solid var(--gold); color:var(--paper); background:transparent; text-transform:uppercase; letter-spacing:.15em; font-size:10px; cursor:pointer; transition:background .25s,color .25s; }.button:hover,.button:focus-visible { background:var(--gold); color:var(--black); }.lounge-registration { width:min(100%,420px); margin:32px auto 0; text-align:left; gap:20px; }.lounge-registration:not([hidden]) { display:grid; animation:formReveal .45s ease both; }.lounge-registration div { display:grid; gap:8px; }.lounge-registration label { text-transform:uppercase; letter-spacing:.14em; font-size:10px; }.lounge-registration input { width:100%; padding:10px 0; color:var(--paper); background:transparent; border:0; border-bottom:1px solid var(--line); border-radius:0; outline:none; }.lounge-registration input:focus { border-color:var(--gold); }.lounge-registration .button { justify-self:center; margin-top:5px; } @keyframes formReveal { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
.contact { display:grid; grid-template-columns:1fr minmax(330px,.82fr); gap:clamp(50px,13vw,210px); max-width:1680px; margin:auto; }.contact-copy { max-width:560px; }.contact-copy > p:last-of-type { font-size:18px; margin:36px 0 46px; }.socials { display:flex; gap:22px; align-items:center; }.socials a { display:grid; place-items:center; width:24px; height:24px; transition:color .25s ease; }.socials a:hover,.socials a:focus-visible { color:var(--gold); }.socials svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }.socials .fill { fill:currentColor; stroke:none; }.contact-form { display:grid; gap:25px; padding-top:12px; }.contact-form div { display:grid; gap:9px; }.contact-form label { text-transform:uppercase; letter-spacing:.14em; font-size:10px; }.contact-form input,.contact-form textarea { width:100%; background:transparent; color:var(--paper); border:0; border-bottom:1px solid var(--line); border-radius:0; padding:10px 0; outline:none; transition:border-color .25s; }.contact-form textarea { resize:vertical; }.contact-form input:focus,.contact-form textarea:focus { border-color:var(--gold); }.contact-form .button { justify-self:start; margin-top:10px; }
.footer { border-top:1px solid var(--line); min-height:154px; padding:35px clamp(24px,8vw,140px); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:24px; }.footer img { width:70px; display:block; }.footer p { margin:0; color:rgba(242,239,233,.62); text-transform:uppercase; letter-spacing:.13em; font-size:9px; justify-self:end; }.footer .socials { gap:18px; }.footer .socials a,.footer .socials svg { width:24px; height:24px; }
.reveal { opacity:0; transform:translateY(20px); transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1); }.reveal.is-visible { opacity:1; transform:none; }
@media (max-width:960px) { .editorial-grid { columns:2 240px; } }
@media (max-width:760px) { .nav { height:68px; }.nav-logo img{width:68px}.nav-toggle { display:grid; gap:5px; }.nav-toggle i { display:block; width:21px; height:1px; background:currentColor; transition:transform .25s; }.nav-links { position:absolute; inset:68px 0 auto; background:rgba(8,8,8,.95); backdrop-filter:blur(15px); padding:28px 24px 33px; display:grid; gap:20px; transform:translateY(-120%); opacity:0; pointer-events:none; transition:transform .3s ease,opacity .3s; border-bottom:1px solid var(--line); }.nav-links.is-open { transform:none; opacity:1; pointer-events:auto; }.nav-links a { font-size:11px; }.hero { min-height:520px; }.section { padding-block:76px; }.about-header { grid-template-columns:1fr; gap:54px; }.about-portrait { width:min(100%,500px); justify-self:start; }.editorial-grid { columns:1; }.lightbox { grid-template-columns:1fr; padding:24px; }.lightbox-image { max-height:82svh; }.lightbox-control { position:absolute; top:50%; transform:translateY(-50%); }.lightbox-previous { left:5px; }.lightbox-next { right:5px; }.series,.contact { grid-template-columns:1fr; }.trailer-wrap { margin-top:10px; }.footer { min-height:unset; grid-template-columns:1fr; justify-items:center; }.footer p { justify-self:center; }.contact-form { padding-top:0; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.scroll-indicator span { animation:none; }.reveal { opacity:1; transform:none; transition:none; }.editorial img { transition:none; } }
