:root{
  --ink:#0b0d1a; --ink-2:#13162b; --ink-3:#1c2040;
  --cream:#f3ead8; --muted:#b9b3c9;
  --red:#ff3b4e; --red-glow:rgba(255,59,78,.55);
  --blue:#3ec8ff; --blue-glow:rgba(62,200,255,.5);
  --gold:#d8b46a; --line:rgba(216,180,106,.28);
  --paper:#efe6d2;
  --max:1100px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--cream);font-family:"Work Sans",system-ui,sans-serif;line-height:1.65;font-size:17px;overflow-x:hidden}
a{color:var(--blue)}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}

/* nav */
nav{position:sticky;top:0;z-index:20;background:rgba(11,13,26,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
nav .wrap{display:flex;align-items:center;justify-content:space-between;height:60px}
.brand{font-family:"Monoton",cursive;color:var(--red);text-decoration:none;font-size:26px;text-shadow:0 0 8px var(--red-glow)}
nav ul{display:flex;gap:20px;list-style:none}
nav ul a{color:var(--cream);text-decoration:none;font-size:13px;letter-spacing:.12em;text-transform:uppercase}
nav ul a:hover{color:var(--gold)}
.menu-btn{display:none;background:none;border:1px solid var(--line);color:var(--cream);padding:6px 10px;border-radius:4px;font:inherit;font-size:14px}

/* hero */
.hero{position:relative;min-height:88vh;display:grid;place-items:center;text-align:center;padding:80px 20px 80px;
  background:radial-gradient(ellipse at 50% 30%,var(--ink-3) 0%,var(--ink) 65%)}
.hero::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 46px,rgba(216,180,106,.04) 46px 47px);pointer-events:none}
.marquee{position:relative;display:inline-block;padding:28px 44px 22px;border:2px solid var(--gold);border-radius:6px;
  box-shadow:0 0 0 6px var(--ink),0 0 0 7px var(--line),0 0 60px rgba(62,200,255,.12) inset}
.palms{display:flex;justify-content:space-between;position:absolute;top:-58px;left:-10px;right:-10px}
.palms svg{width:54px;height:64px}
.neon{font-family:"Monoton",cursive;font-size:clamp(72px,18vw,170px);line-height:1;color:#ffd6da;
  text-shadow:0 0 4px #fff,0 0 12px var(--red),0 0 28px var(--red),0 0 60px var(--red-glow);animation:flick 6s infinite}
@keyframes flick{0%,92%,100%{opacity:1}93%{opacity:.55}94%{opacity:1}96%{opacity:.7}97%{opacity:1}}
@media (prefers-reduced-motion:reduce){.neon{animation:none}}
.neon-sub{margin-top:10px;font-family:"Poiret One";font-size:clamp(16px,3.4vw,22px);letter-spacing:.35em;color:#d6f4ff;
  text-shadow:0 0 6px var(--blue),0 0 18px var(--blue-glow);text-transform:uppercase}
.hero h1{font-family:"Poiret One";font-weight:400;font-size:clamp(26px,4.5vw,42px);margin:44px auto 14px;max-width:760px;line-height:1.25}
.hero p.lede{color:var(--muted);max-width:620px;margin:0 auto 30px}
.btn{display:inline-block;background:var(--red);color:#fff;text-decoration:none;padding:13px 26px;border-radius:3px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:14px;border:0;cursor:pointer;box-shadow:0 0 22px var(--red-glow)}
.btn.ghost{background:transparent;border:1px solid var(--gold);color:var(--gold);box-shadow:none;margin-left:10px}
.btn:hover{filter:brightness(1.1)}
.since{margin-top:40px;font-size:13px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}

/* sections */
section{padding:90px 0;border-top:1px solid var(--line)}
.kicker{color:var(--gold);font-size:13px;letter-spacing:.3em;text-transform:uppercase;margin-bottom:10px}
h2{font-family:"Poiret One";font-weight:400;font-size:clamp(32px,5vw,50px);line-height:1.15;margin-bottom:20px}
h3{font-family:"Poiret One";font-weight:400;font-size:26px;margin-bottom:8px;color:var(--cream)}
.intro{max-width:720px;color:var(--muted);font-size:18px}
.intro + .intro{margin-top:16px}
.alt{background:var(--ink-2)}

/* photos */
figure.photo{margin:0}
figure.photo img{width:100%;border-radius:3px;filter:sepia(.35) contrast(1.05);border:1px solid var(--line);background:var(--paper)}
figure.photo figcaption{font-size:14px;color:var(--muted);margin-top:10px;line-height:1.5}
figure.photo figcaption b{color:var(--gold);font-weight:500;letter-spacing:.08em}
.then-pair{display:grid;grid-template-columns:1.25fr 1fr;gap:26px;margin-top:44px;align-items:end}

/* facts */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;margin-top:40px}
.fact{border:1px solid var(--line);padding:22px;border-radius:4px;background:rgba(255,255,255,.015)}
.fact b{display:block;font-family:"Poiret One";font-size:34px;color:var(--gold);font-weight:400;line-height:1.1;margin-bottom:6px}
.fact span{color:var(--muted);font-size:15px}

/* timeline */
.timeline{position:relative;margin-top:50px;padding-left:34px}
.timeline::before{content:"";position:absolute;left:8px;top:6px;bottom:6px;width:2px;background:linear-gradient(var(--red),var(--blue))}
.t{position:relative;margin-bottom:42px}
.t::before{content:"";position:absolute;left:-32px;top:8px;width:14px;height:14px;border-radius:50%;background:var(--ink);border:2px solid var(--gold)}
.t .yr{font-family:"Poiret One";font-size:30px;color:var(--gold);line-height:1}
.t p{color:var(--muted);max-width:700px}
.t.now::before{background:var(--red);border-color:var(--red);box-shadow:0 0 14px var(--red)}
.world{margin-top:12px;max-width:700px;font-size:14.5px;color:#cfd6f0;border:1px solid rgba(62,200,255,.25);border-left:3px solid var(--blue);background:rgba(62,200,255,.05);padding:10px 14px;border-radius:2px}
.world::before{content:"Meanwhile · ";color:var(--blue);font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:600}

/* two col */
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:start;margin-top:40px}
.card{border:1px solid var(--line);border-radius:4px;padding:26px;background:var(--ink-3)}
.card ul{list-style:none}
.card li{padding:10px 0;border-bottom:1px dashed var(--line);color:var(--muted);font-size:15px}
.card li:last-child{border:0}
.card li strong{color:var(--cream);font-weight:500}
blockquote{border-left:3px solid var(--red);padding:6px 0 6px 18px;margin:26px 0;font-family:"Poiret One";font-size:23px;line-height:1.4;color:var(--cream)}
blockquote cite{display:block;font-family:"Work Sans";font-style:normal;font-size:13px;color:var(--gold);letter-spacing:.1em;margin-top:8px;text-transform:uppercase}

/* bel-air */
.belair{background:linear-gradient(180deg,var(--ink) 0%,#0c1530 100%);position:relative;overflow:hidden}
.stars{position:absolute;inset:0;background-image:radial-gradient(1px 1px at 20% 30%,#fff8,transparent),radial-gradient(1px 1px at 70% 20%,#fff6,transparent),radial-gradient(1.5px 1.5px at 85% 60%,#fff7,transparent),radial-gradient(1px 1px at 40% 70%,#fff5,transparent),radial-gradient(1px 1px at 10% 80%,#fff6,transparent),radial-gradient(1px 1px at 55% 45%,#fff4,transparent);pointer-events:none}
.belair .wrap{position:relative}
.plane{width:120px;opacity:.85;margin-bottom:10px}
.badge{display:inline-block;font-size:12px;letter-spacing:.2em;text-transform:uppercase;border:1px solid var(--blue);color:var(--blue);padding:4px 10px;border-radius:2px;margin-bottom:16px}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:30px}
.grid3 .card{background:rgba(255,255,255,.03)}
.where{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--blue);margin-bottom:6px}
.grid3 .card p{color:var(--muted);font-size:15px}

/* archive */
.clips{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:22px;margin-top:40px}
.clip{background:none;border:0;padding:0;text-align:left;cursor:zoom-in;color:inherit;font:inherit}
.clip .thumb{display:block;aspect-ratio:3/4;overflow:hidden;border-radius:2px;background:var(--paper);border:1px solid var(--line);box-shadow:0 10px 30px rgba(0,0,0,.4);transition:transform .2s}
.clip:hover .thumb,.clip:focus-visible .thumb{transform:translateY(-4px) rotate(-.6deg)}
.clip .thumb img{width:100%;height:100%;object-fit:cover;object-position:top;filter:sepia(.25)}
.clip .date{display:block;margin-top:12px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.clip .ttl{display:block;font-family:"Poiret One";font-size:21px;line-height:1.25;margin-top:2px}
.clip .sub{display:block;font-size:14px;color:var(--muted);margin-top:4px;line-height:1.45}
dialog.lb{border:0;padding:0;background:transparent;max-width:min(96vw,1000px);max-height:94vh;margin:auto;color:var(--cream)}
dialog.lb::backdrop{background:rgba(5,6,14,.92)}
dialog.lb .inner{position:relative;max-height:94vh;overflow:auto;background:var(--paper);border-radius:3px}
dialog.lb img{width:100%;height:auto}
dialog.lb .bar{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--ink);padding:10px 14px;font-size:14px;color:var(--muted)}
dialog.lb button{background:var(--red);color:#fff;border:0;border-radius:3px;padding:7px 14px;font:inherit;font-size:14px;cursor:pointer}
.credit{font-size:13px;color:var(--muted);margin-top:28px}

/* next */
.render{margin-top:40px;position:relative;border-radius:4px;overflow:hidden;border:1px solid var(--line);box-shadow:0 30px 80px rgba(0,0,0,.5)}
.render img{width:100%}
.render figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 20px 16px;background:linear-gradient(transparent,rgba(5,6,14,.85));font-size:14px;color:var(--cream)}
.render figcaption b{color:var(--gold);letter-spacing:.15em;text-transform:uppercase;font-size:12px;font-weight:600;margin-right:8px}

/* forms */
form{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px;max-width:560px}
input,textarea{flex:1 1 240px;background:var(--ink);border:1px solid var(--line);color:var(--cream);padding:13px 14px;border-radius:3px;font:inherit;font-size:16px}
textarea{flex-basis:100%;min-height:110px;resize:vertical}
input:focus,textarea:focus{outline:2px solid var(--blue);outline-offset:1px}
.form-msg{width:100%;font-size:14px;color:var(--blue);min-height:1em}
.ask-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:26px 0}
.ask-list div{border:1px solid var(--line);padding:14px;border-radius:4px;font-size:15px;color:var(--muted)}
.ask-list div::before{content:"✦ ";color:var(--red)}

footer{border-top:1px solid var(--line);padding:50px 0 60px;text-align:center;color:var(--muted);font-size:14px}
footer .brand{font-size:40px;display:inline-block;margin-bottom:10px}
footer p{margin:4px 0}

@media (max-width:820px){
  nav ul{display:none;position:absolute;top:60px;left:0;right:0;flex-direction:column;gap:0;background:var(--ink);border-bottom:1px solid var(--line)}
  nav ul.open{display:flex}
  nav ul a{display:block;padding:14px 20px;border-top:1px solid var(--line)}
  .menu-btn{display:block}
  .split,.then-pair{grid-template-columns:1fr;gap:30px}
  section{padding:64px 0}
  .marquee{padding:22px 22px 18px}
  .btn.ghost{margin:12px 0 0}
  .palms svg{width:40px;height:48px}
  .palms{top:-46px}
  .clips{grid-template-columns:repeat(2,1fr);gap:16px}
  .render figcaption{position:static;background:var(--ink-3);padding:12px 14px}
}

/* ---------- v5 additions ---------- */
.nav-cta{background:var(--red);color:#fff!important;padding:7px 14px;border-radius:3px;box-shadow:0 0 14px var(--red-glow)}
nav ul a[aria-current="page"]{color:var(--gold)}

/* photo hero */
.hero.photo{background:#05060e;min-height:94vh;overflow:hidden}
.hero.photo::before{display:none}
.hero-bg{position:absolute;inset:0;background:url(/img/rendering-interior.jpg) center/cover no-repeat;transform:scale(1.04);animation:drift 24s ease-in-out infinite alternate}
@keyframes drift{to{transform:scale(1.12) translateY(-1.5%)}}
@media (prefers-reduced-motion:reduce){.hero-bg{animation:none}}
.hero-shade{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,rgba(5,6,14,.35) 0%,rgba(5,6,14,.82) 70%),linear-gradient(transparent 60%,var(--ink))}
.hero.photo > div:last-child{position:relative;z-index:1}
.hero.photo .marquee{background:rgba(11,13,26,.55);backdrop-filter:blur(3px)}
.hero.photo h1{text-shadow:0 2px 20px #000}
.hero.photo p.lede{color:#ddd8e8}
.concept-tag{position:absolute;right:16px;bottom:16px;z-index:1;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#cfc8dc;background:rgba(5,6,14,.6);padding:5px 9px;border-radius:2px;border:1px solid var(--line)}
.signup-inline{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;max-width:520px;margin:0 auto}
.signup-inline input{flex:1 1 240px}
.signup-inline .form-msg{text-align:center}
.small-note{font-size:13px;color:var(--muted);margin-top:10px}

/* features */
.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:40px}
.feature{border:1px solid var(--line);border-radius:4px;padding:24px;background:linear-gradient(160deg,var(--ink-3),var(--ink-2))}
.feature svg{width:34px;height:34px;margin-bottom:14px;stroke:var(--gold);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.feature h3{font-size:24px}
.feature p{color:var(--muted);font-size:15.5px}

/* then / next */
.compare{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:44px;border-radius:4px;overflow:hidden;border:1px solid var(--line)}
.compare figure{position:relative;margin:0;aspect-ratio:4/3;background:var(--paper)}
.compare img{width:100%;height:100%;object-fit:cover}
.compare figure:first-child img{filter:sepia(.4) contrast(1.05)}
.compare figcaption{position:absolute;left:12px;top:12px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;padding:5px 9px;border-radius:2px;background:rgba(5,6,14,.75);color:var(--gold)}
.compare figure:last-child figcaption{color:var(--blue)}

/* signup band */
.band{background:linear-gradient(90deg,#2a0d18,var(--ink-3) 50%,#0b2333);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:56px 0;text-align:center}
.band h2{font-size:clamp(28px,4.4vw,42px);margin-bottom:8px}
.band p{color:var(--muted);margin-bottom:24px}

/* events */
.tickets{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:40px}
.ticket{position:relative;display:flex;border-radius:6px;overflow:hidden;background:var(--cream);color:var(--ink);min-height:150px}
.ticket .stub{flex:0 0 74px;background:var(--red);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:"Poiret One";border-right:2px dashed rgba(11,13,26,.35)}
.ticket .stub b{font-size:30px;line-height:1;font-weight:400}
.ticket .stub span{font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-family:"Work Sans"}
.ticket .body{padding:18px 18px 16px;display:flex;flex-direction:column;justify-content:center}
.ticket .body small{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#7a6a55}
.ticket .body h3{color:var(--ink);font-size:24px;margin:2px 0 4px}
.ticket .body p{font-size:14px;color:#4b4558}
.ticket:nth-child(2) .stub{background:#1d6f95}
.ticket:nth-child(3) .stub{background:#a5813a}

/* history teaser */
.eras{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;margin-top:40px}
.era{border:1px solid var(--line);border-radius:4px;overflow:hidden;background:var(--ink-3);display:flex;flex-direction:column}
.era .pic{aspect-ratio:4/3;background:var(--paper);overflow:hidden}
.era .pic img{width:100%;height:100%;object-fit:cover;object-position:top;filter:sepia(.35)}
.era .pic.none{display:grid;place-items:center;background:repeating-linear-gradient(45deg,var(--ink-2) 0 12px,var(--ink-3) 12px 24px)}
.era .pic.none span{font-family:"Monoton";font-size:44px;color:var(--gold);opacity:.6}
.era .txt{padding:18px 20px 22px}
.era .yr{font-family:"Poiret One";font-size:28px;color:var(--gold);line-height:1}
.era h3{font-size:22px;margin:4px 0 6px}
.era p{color:var(--muted);font-size:15px}
.more{display:inline-block;margin-top:34px;color:var(--gold);text-decoration:none;letter-spacing:.12em;text-transform:uppercase;font-size:14px;border-bottom:1px solid var(--gold);padding-bottom:2px}
.more:hover{color:var(--cream);border-color:var(--cream)}

/* fly-in feature */
.flyin-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;margin-top:30px}
.flyin-grid figure.photo img{max-height:520px;object-fit:cover;object-position:top}

/* gallery */
.gallery{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:180px;gap:10px;margin-top:40px}
.gallery button{all:unset;display:block;cursor:zoom-in;position:relative;overflow:hidden;border-radius:3px;border:1px solid var(--line);background:var(--paper)}
.gallery button:focus-visible{outline:2px solid var(--blue)}
.gallery img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .4s}
.gallery button:hover img{transform:scale(1.04)}
.gallery .old img{filter:sepia(.35)}
.gallery span{position:absolute;left:0;right:0;bottom:0;padding:22px 12px 9px;font-size:12px;letter-spacing:.08em;color:#fff;background:linear-gradient(transparent,rgba(5,6,14,.85))}
.gallery .g1{grid-column:span 4;grid-row:span 2}.gallery .g2{grid-column:span 2;grid-row:span 2}.gallery .g3,.gallery .g4,.gallery .g5{grid-column:span 2}

/* history page header */
.page-hero{padding:90px 0 60px;text-align:center;background:radial-gradient(ellipse at 50% 0%,var(--ink-3),var(--ink) 70%)}
.page-hero h1{font-family:"Poiret One";font-weight:400;font-size:clamp(36px,6vw,64px);line-height:1.1;margin:10px 0 16px}
.page-hero p{color:var(--muted);max-width:640px;margin:0 auto}

footer .addr{font-size:16px;color:var(--cream)}

@media (max-width:820px){
  .flyin-grid{grid-template-columns:1fr;gap:30px}
  .compare{grid-template-columns:1fr}
  .gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}
  .gallery .g1{grid-column:span 2;grid-row:span 2}.gallery .g2{grid-column:span 1;grid-row:span 2}.gallery .g3,.gallery .g4{grid-column:span 1}.gallery .g5{grid-column:span 2}
  .hero.photo{min-height:auto;padding:90px 20px 70px}
  .nav-cta{display:inline-block;margin:10px 20px}
}
