/* ==========================================================================
   Lavish Entertainment  |  styles v3  (cinematic, light theme, gold accents)
   Modern entertainment type. Image heroes that fade to ivory. Alive and bold.
   No em dashes anywhere in this project.
   ========================================================================== */

:root{
  --ivory:#F8F4EC; --cream:#FCFAF4; --white:#ffffff;
  --char:#15110C; --ink:#3A332B; --muted:#6B6256;
  --gold:#C4992F; --gold-dk:#9A7A33; --gold-br:#E7C25C; --gold-soft:#F0DCA6;
  --night:#100C07; --night-2:#1C160E;
  --line:#E7DCC2; --line-dk:#3a3122; --panel:#F3EBD8;
  --display:"Archivo", "Segoe UI", system-ui, sans-serif;
  --sans:"Inter", "Segoe UI", system-ui, -apple-system, sans-serif;
  --maxw:1520px; --wide:1760px;
  --shadow:0 30px 80px rgba(21,17,12,.18);
  --shadow-sm:0 14px 38px rgba(21,17,12,.12);
  --shadow-gold:0 18px 44px -14px rgba(196,153,47,.5);
  --shadow-pop:0 48px 100px -28px rgba(16,12,7,.55), 0 20px 44px -18px rgba(16,12,7,.4), 0 2px 0 rgba(255,255,255,.5) inset;
  --ease:cubic-bezier(.22,1,.36,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth; -webkit-text-size-adjust:100%}
body{margin:0; background:var(--ivory); color:var(--ink);
  font-family:var(--sans); font-size:16px; line-height:1.6; font-weight:400;
  -webkit-font-smoothing:antialiased; overflow-x:hidden; animation:pageIn .5s var(--ease)}
@keyframes pageIn{from{opacity:0}to{opacity:1}}
img{max-width:100%; display:block}
a{color:inherit; text-decoration:none}
h1,h2,h3,h4{font-family:var(--display); color:var(--char); font-weight:800; line-height:1.03; margin:0; letter-spacing:-.015em}
p{margin:0 0 1.15rem}
.container{width:100%; max-width:var(--maxw); margin:0 auto; padding:0 32px}
.container.wide{max-width:var(--wide)}
.narrow{max-width:76ch}

/* ---------- fluid type ---------- */
.eyebrow{font-family:var(--sans); font-weight:600; font-size:.7rem; letter-spacing:.26em; text-transform:uppercase; color:var(--gold-dk); margin:0 0 .9rem}
h1{font-size:clamp(2.1rem, 5vw, 3.8rem)}
h2{font-size:clamp(1.55rem, 3.2vw, 2.5rem)}
h3{font-size:clamp(1.1rem, 1.8vw, 1.35rem)}
.lead{font-size:clamp(1rem, 1.4vw, 1.15rem); color:var(--ink); line-height:1.6; font-weight:400}
.muted{color:var(--muted)}
.gold-grad{background:linear-gradient(100deg,var(--gold-dk),var(--gold-br) 55%,var(--gold)); -webkit-background-clip:text; background-clip:text; color:transparent}
.shimmer{background:linear-gradient(100deg,var(--gold-dk) 0%,var(--gold) 24%,var(--gold-br) 50%,var(--gold) 76%,var(--gold-dk) 100%); background-size:220% 100%; -webkit-background-clip:text; background-clip:text; color:transparent; animation:shimmer 4.5s ease-in-out infinite}
.hero h1 .shimmer, .feature-band .shimmer, .cta-band .shimmer{background:linear-gradient(100deg,var(--gold) 0%,var(--gold-br) 30%,#fff4d6 50%,var(--gold-br) 70%,var(--gold) 100%); background-size:220% 100%; -webkit-background-clip:text; background-clip:text; color:transparent}
@keyframes shimmer{0%{background-position:14% 50%}50%{background-position:86% 50%}100%{background-position:14% 50%}}
.status{display:inline-block; font-family:var(--sans); font-size:.68rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-dk); border:1px solid var(--gold); border-radius:999px; padding:5px 13px; margin-bottom:14px; background:rgba(196,153,47,.06)}
.hero .status{color:var(--gold-soft); border-color:rgba(240,220,166,.55); background:rgba(0,0,0,.22)}
.hero h1 .shimmer{filter:drop-shadow(0 3px 14px rgba(0,0,0,.6))}
.venture .status, .card .status{margin-bottom:10px}

/* ---------- scroll progress ---------- */
.scroll-progress{position:fixed; top:0; left:0; height:3px; width:100%; z-index:200;
  background:linear-gradient(90deg,var(--gold-dk),var(--gold),var(--gold-br));
  transform:scaleX(0); transform-origin:left center; will-change:transform; pointer-events:none}

/* ---------- header / nav (centered tabs) ---------- */
.site-header{position:sticky; top:0; z-index:120; background:rgba(248,244,236,.92);
  backdrop-filter:saturate(160%) blur(14px);
  border-width:0 0 2px; border-style:solid;
  border-image:linear-gradient(90deg, rgba(196,153,47,0) 0%, var(--gold-dk) 22%, var(--gold-br) 50%, var(--gold-dk) 78%, rgba(196,153,47,0) 100%) 1;
  box-shadow:0 12px 30px -18px rgba(16,12,7,.22)}
.nav{display:flex; align-items:center; justify-content:space-between; height:92px; gap:24px; width:100%; max-width:none; padding:0 clamp(18px,3vw,54px)}
.brand{display:flex; align-items:center; gap:13px; flex:0 0 auto; transition:opacity .3s var(--ease)}
.brand .brand-logo{height:70px; width:auto}
.brand-lockup{display:none; align-items:center; gap:13px}
.brand-mark{height:48px; width:auto}
.brand-wordmark{font-family:var(--display); font-weight:700; font-size:1.02rem; color:var(--char); letter-spacing:.04em; line-height:1; white-space:nowrap}
.brand-wordmark b{color:var(--gold-dk); font-weight:700}
.brand .brand-fallback{font-family:var(--display); font-weight:700; font-size:1.2rem; color:var(--char); letter-spacing:.02em; white-space:nowrap}
.brand .brand-fallback b{color:var(--gold-dk); font-weight:700}
.nav-right{display:flex; align-items:center; gap:14px; flex:0 0 auto}
.nav-right .btn{display:none}
.nav-links{display:none}
.nav-toggle{appearance:none; border:1px solid var(--line); background:var(--cream); width:48px; height:44px; border-radius:10px; cursor:pointer; display:grid; place-items:center}
.nav-toggle span, .nav-toggle span::before, .nav-toggle span::after{content:""; display:block; width:22px; height:2px; background:var(--char); position:relative; transition:.2s}
.nav-toggle span::before{position:absolute; top:-7px}
.nav-toggle span::after{position:absolute; top:7px}
.mobile-panel{display:none; border-top:1px solid var(--line); background:var(--cream); max-height:82vh; overflow:auto}
.mobile-panel.open{display:block}
.mobile-panel a{display:block; padding:16px 32px; border-bottom:1px solid var(--line); font-weight:500; letter-spacing:.02em; color:var(--char)}
.mobile-panel a.active{color:var(--gold-dk)}

@media (min-width:1040px){
  .nav-toggle{display:none}
  .mobile-panel{display:none !important}
  .nav-links{display:flex; align-items:center; gap:19px}
  .nav-links a{position:relative; font-size:.74rem; letter-spacing:.11em; text-transform:uppercase; font-weight:600; color:var(--ink); padding:8px 0; white-space:nowrap; transition:color .2s}
  .nav-links a::after{content:""; position:absolute; left:50%; right:50%; bottom:0; height:2px; background:var(--gold); border-radius:2px; transition:left .3s var(--ease), right .3s var(--ease)}
  .nav-links a:hover{color:var(--char)}
  .nav-links a:hover::after, .nav-links a.active::after{left:0; right:0}
  .nav-links a.active{color:var(--gold-dk)}
  .nav-right .btn{display:inline-block}
}

/* ---------- buttons ---------- */
.btn{position:relative; overflow:hidden; isolation:isolate; display:inline-block; font-family:var(--sans); font-weight:600; font-size:.96rem; letter-spacing:.03em; padding:16px 34px; border-radius:8px; cursor:pointer; transition:transform .2s var(--ease), box-shadow .2s var(--ease), filter .2s; background:linear-gradient(180deg,var(--gold-br),var(--gold)); color:#241a06; border:1px solid var(--gold-dk)}
.btn::after{content:""; position:absolute; inset:0; background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.4) 50%,transparent 70%); transform:translateX(-120%); transition:transform .7s var(--ease); z-index:0}
.btn:hover{transform:translateY(-2px); box-shadow:var(--shadow-gold)}
.btn:hover::after{transform:translateX(120%)}
.btn-outline{background:transparent; color:var(--char); border:1px solid var(--gold)}
.btn-outline:hover{background:var(--panel); box-shadow:none}
.btn-light{background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.85)}
.btn-light::after{display:none}
.btn-light:hover{background:#fff; color:#15110C; border-color:#fff; transform:translateY(-2px); box-shadow:0 16px 34px rgba(0,0,0,.35)}
.btn-row{display:flex; flex-wrap:wrap; gap:16px}

/* ---------- HERO (image, fades to ivory) ---------- */
.hero{position:relative; display:flex; align-items:center; text-align:center; overflow:hidden; isolation:isolate;
  background:radial-gradient(70% 55% at 50% 18%, rgba(231,194,92,.22), transparent 60%),
    linear-gradient(180deg,#15110b 0%,#241b0f 38%,#5a4a30 66%,#b6a277 86%,var(--ivory) 100%)}
.hero::before{content:""; position:absolute; inset:0; z-index:0; opacity:0;
  background-image:var(--hero-image); background-size:cover; background-position:center;
  transform:scale(1.08); transition:opacity 1s var(--ease)}
.hero.has-image::before{opacity:1; animation:kenburns 22s ease-out both}
@keyframes kenburns{from{transform:scale(1.12)}to{transform:scale(1)}}
.hero::after{content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    radial-gradient(72% 56% at 50% 40%, rgba(6,4,2,.58) 0%, rgba(6,4,2,0) 72%),
    linear-gradient(180deg, rgba(8,6,3,.74) 0%, rgba(8,6,3,.5) 38%, rgba(18,13,8,.42) 60%, rgba(248,244,236,.5) 86%, var(--ivory) 100%)}
.hero-inner{position:relative; z-index:3; width:100%}
.hero-home{min-height:88vh; padding:118px 0 104px}
.hero-page{min-height:50vh; padding:100px 0 76px}
.hero-logo img{height:clamp(110px,18vw,200px); width:auto; margin:0 auto 24px; filter:drop-shadow(0 14px 44px rgba(0,0,0,.5))}
.hero .kicker{font-family:var(--sans); text-transform:uppercase; letter-spacing:.34em; font-size:.72rem; color:var(--gold-soft); margin-bottom:18px; font-weight:600}
.hero h1{color:#fff; margin:0 auto; max-width:18ch; text-shadow:0 4px 40px rgba(0,0,0,.5), 0 1px 2px rgba(0,0,0,.4)}
.hero .lead{color:#f1e8d6; max-width:50ch; margin:24px auto 34px; text-shadow:0 2px 16px rgba(0,0,0,.5)}
.hero .btn-row{justify-content:center}
.hero .breadcrumb{color:var(--gold-soft)}
.scroll-cue{position:absolute; left:50%; bottom:30px; transform:translateX(-50%); z-index:4; color:#fff; font-size:.7rem; letter-spacing:.34em; text-transform:uppercase; opacity:.85; mix-blend-mode:difference}
.scroll-cue::after{content:""; display:block; width:1px; height:36px; background:#fff; margin:10px auto 0; animation:cue 1.8s ease-in-out infinite}
@keyframes cue{0%,100%{transform:scaleY(.35); opacity:.3} 50%{transform:scaleY(1); opacity:.9}}
.breadcrumb{font-size:.78rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-dk); margin-bottom:16px; font-weight:600}

/* ---------- sections ---------- */
.section{padding:clamp(44px,6vw,88px) 0; position:relative}
.section.tight{padding:clamp(42px,6vw,72px) 0}
.section.alt{background:var(--cream); border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
.section.gold{background:linear-gradient(180deg,#fbf4e4,#f5ead2); border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
.section-head{max-width:66ch; margin-bottom:clamp(32px,5vw,56px)}
.section-head.center{margin-left:auto; margin-right:auto; text-align:center}
.goldline{width:88px; height:3px; background:linear-gradient(90deg,var(--gold-dk),var(--gold-br)); border-radius:3px; margin:0 0 26px}
.center .goldline, .goldline.center{margin-left:auto; margin-right:auto}

/* aurora glow for light sections */
.aurora{position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:0}
.aurora::before,.aurora::after{content:""; position:absolute; border-radius:50%; filter:blur(80px); opacity:.5}
.aurora::before{top:-160px; left:-120px; width:520px; height:520px; background:radial-gradient(circle,rgba(231,194,92,.3),transparent 60%); animation:drift1 24s ease-in-out infinite}
.aurora::after{bottom:-180px; right:-120px; width:480px; height:480px; background:radial-gradient(circle,rgba(196,153,47,.22),transparent 60%); animation:drift2 28s ease-in-out infinite}
@keyframes drift1{0%,100%{transform:translate(0,0)}50%{transform:translate(70px,40px)}}
@keyframes drift2{0%,100%{transform:translate(0,0)}50%{transform:translate(-60px,-50px)}}
.section > .container{position:relative; z-index:1}

/* ---------- grids and cards ---------- */
.grid{display:grid; gap:26px}
@media (min-width:680px){.grid.cols-2{grid-template-columns:1fr 1fr}}
@media (min-width:940px){.grid.cols-3{grid-template-columns:repeat(3,1fr)} .grid.cols-4{grid-template-columns:repeat(4,1fr)}}
.card{background:var(--white); border:1px solid var(--line); padding:24px 22px; box-shadow:0 18px 38px -18px rgba(16,12,7,.32), 0 5px 12px -6px rgba(16,12,7,.22); position:relative; overflow:hidden; transition:transform .3s var(--ease), box-shadow .3s var(--ease)}
.card:hover{transform:translateY(-5px); box-shadow:0 30px 60px -22px rgba(16,12,7,.42), 0 10px 20px -10px rgba(16,12,7,.28)}
.card::before{content:""; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--gold),var(--gold-br)); transform:scaleX(0); transform-origin:left; transition:transform .4s var(--ease)}
.card:hover::before{transform:scaleX(1)}
.card h3{margin-bottom:.45rem; font-size:1.12rem}
.card p:last-child{margin-bottom:0}
.card .tag{font-size:.74rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-dk); font-weight:700; display:block; margin-bottom:.55rem}

.feature{display:flex; gap:18px; align-items:flex-start}
.feature .dot{flex:0 0 auto; width:12px; height:12px; border-radius:50%; background:var(--gold); margin-top:11px; box-shadow:0 0 0 4px rgba(196,153,47,.16)}
.feature h3{font-size:1.05rem; margin-bottom:.2rem}

/* ---------- oversized stats ---------- */
.xl-stats{display:grid; gap:34px; grid-template-columns:1fr}
@media (min-width:720px){.xl-stats{grid-template-columns:repeat(3,1fr)}}
.xl-stat .num{font-family:var(--display); font-weight:800; font-size:clamp(2.3rem,4.6vw,3.5rem); color:var(--char); line-height:.95; letter-spacing:-.03em; white-space:nowrap}
.xl-stat .num span{color:var(--gold-dk); font-size:.5em; font-weight:700}
.xl-stat .label{font-size:.85rem; color:var(--muted); margin-top:10px}

/* ---------- VENTURE showcase rows ---------- */
.ventures{display:flex; flex-direction:column; gap:clamp(34px,6vw,80px)}
.venture{display:grid; gap:28px; align-items:center}
@media (min-width:920px){.venture{grid-template-columns:1.05fr 1fr; gap:64px} .venture.reverse .venture-media{order:2}}
.venture-media{position:relative; border-radius:18px; overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow-pop); background:linear-gradient(135deg,#efe6d2,#f6efe0); aspect-ratio:4/3; will-change:transform}
.venture-media img{width:100%; height:100%; object-fit:cover; transition:transform .9s var(--ease)}
.venture:hover .venture-media img{transform:scale(1.05)}
.venture-media .placeholder{position:absolute; inset:0; display:grid; place-items:center; text-align:center; color:var(--muted); letter-spacing:.16em; text-transform:uppercase; font-size:.78rem; padding:24px}
.venture-media::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(16,12,7,.28)); opacity:0; transition:opacity .4s}
.venture:hover .venture-media::after{opacity:1}
.venture-index{font-family:var(--display); font-weight:800; font-size:1rem; color:var(--gold-dk); letter-spacing:.22em; margin-bottom:12px}
.venture h2{font-size:clamp(1.45rem,2.8vw,2.1rem); margin-bottom:.45rem}
.venture .v-tag{font-size:.74rem; letter-spacing:.22em; text-transform:uppercase; color:var(--gold-dk); font-weight:700; display:block; margin-bottom:14px}
.venture p{font-size:.96rem}
.more{display:inline-flex; align-items:center; gap:11px; margin-top:12px; color:var(--gold-dk); font-weight:700; letter-spacing:.08em; text-transform:uppercase; font-size:.82rem}
.more::after{content:""; width:28px; height:2px; background:var(--gold-dk); transition:width .3s var(--ease)}
.venture:hover .more::after, .more:hover::after{width:48px}

/* ---------- split / panel ---------- */
.split{display:grid; gap:38px; align-items:center}
@media (min-width:900px){.split{grid-template-columns:1fr 1fr; gap:66px}}
.panel{background:var(--panel); border:1px solid var(--line); border-radius:18px; padding:38px 34px}
.imgframe{border-radius:18px; overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow-pop); background:linear-gradient(135deg,#efe6d2,#f6efe0); min-height:320px; position:relative; will-change:transform}
.imgframe img{width:100%; height:100%; object-fit:cover; min-height:320px}
.imgframe .placeholder{display:grid; place-items:center; min-height:320px; color:var(--muted); font-size:.82rem; letter-spacing:.14em; text-transform:uppercase; text-align:center; padding:24px}

/* ---------- feature band (full-bleed image with gold overlay) ---------- */
.feature-band{position:relative; padding:clamp(70px,10vw,150px) 0; color:#fff; text-align:center; isolation:isolate; overflow:hidden}
.feature-band::before{content:""; position:absolute; inset:0; z-index:0; background-image:var(--band-image); background-size:cover; background-position:center; transform:scale(1.03)}
.feature-band::after{content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(16,12,7,.78),rgba(16,12,7,.55))}
.feature-band .container{position:relative; z-index:2}
.feature-band h2{color:#fff; text-shadow:0 4px 30px rgba(0,0,0,.5)}
.feature-band .eyebrow{color:var(--gold-soft)}
.feature-band .lead{color:#f1e8d6}
.feature-band .xl-stat .num{color:#fff}
.feature-band .xl-stat .num span{color:var(--gold-br)}
.feature-band .xl-stat .label{color:#d8cdb4}

/* ---------- pull quote ---------- */
.pullquote{font-family:var(--display); font-weight:600; font-size:clamp(1.4rem,3vw,2.1rem); line-height:1.22; color:var(--char); max-width:26ch; margin:0 auto; text-align:center; letter-spacing:-.02em}
.pullquote .by{display:block; font-family:var(--sans); font-weight:600; font-size:.82rem; letter-spacing:.22em; text-transform:uppercase; color:var(--gold-dk); margin-top:26px}

/* ---------- timeline ---------- */
.timeline{display:grid; gap:24px}
@media (min-width:880px){.timeline{grid-template-columns:repeat(4,1fr)}}
.tl-step{border-top:2px solid var(--gold); padding-top:18px}
.tl-step .ph{font-size:.74rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-dk); font-weight:700}
.tl-step h3{font-size:1.35rem; margin:.4rem 0 .5rem}
@media (min-width:980px){.timeline.five{grid-template-columns:repeat(5,1fr)}}
@media (min-width:620px) and (max-width:979px){.timeline.five{grid-template-columns:repeat(2,1fr)}}
.tl-status{display:inline-block; font-size:.6rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; padding:3px 9px; border:1px solid var(--line); color:var(--muted); margin-bottom:10px; border-radius:999px}
.tl-status.done{background:var(--green); color:#fff; border-color:var(--green)}
.tl-status.now{background:var(--gold); color:#241a06; border-color:var(--gold); box-shadow:0 0 0 3px rgba(196,153,47,.18)}
.legal{max-width:80ch}
.legal .meta{color:var(--muted); font-size:.9rem; margin-bottom:1.6rem}
.legal h3{margin-top:2.2rem; margin-bottom:.6rem; font-size:1.25rem}
.legal p, .legal li{font-size:1rem; line-height:1.75}
.legal ul{margin:0 0 1.15rem 1.25rem}
.legal li{margin-bottom:.5rem}
.legal strong{color:var(--char)}
.footer-bottom .footer-legal{margin-top:10px}
.footer-bottom a{display:inline-block; color:#9a8f78; text-decoration:underline; margin-right:18px; font-size:.85rem}
.footer-bottom a:hover{color:var(--gold-br)}

/* ---------- list ---------- */
.checklist{list-style:none; padding:0; margin:0}
.checklist li{position:relative; padding:0 0 14px 28px; font-size:.95rem}
.checklist li::before{content:""; position:absolute; left:0; top:11px; width:10px; height:10px; background:var(--gold); transform:rotate(45deg); box-shadow:0 0 0 4px rgba(196,153,47,.14)}

/* ---------- CTA band (image) ---------- */
.cta-band{position:relative; text-align:center; padding:clamp(72px,10vw,140px) 0; color:#fff; isolation:isolate; overflow:hidden;
  background:linear-gradient(180deg,#15110b,#241b0f);
  border-top:3px solid; border-image:linear-gradient(90deg, rgba(196,153,47,0) 0%, var(--gold-dk) 20%, var(--gold-br) 50%, var(--gold-dk) 80%, rgba(196,153,47,0) 100%) 1}
.feature-band + .cta-band, .feature-band + .feature-band{border-top:3px solid; border-image:linear-gradient(90deg, rgba(196,153,47,0) 0%, var(--gold-dk) 20%, var(--gold-br) 50%, var(--gold-dk) 80%, rgba(196,153,47,0) 100%) 1}
.cta-band::before{content:""; position:absolute; inset:0; z-index:0; background-image:var(--band-image); background-size:cover; background-position:center; opacity:.5}
.cta-band::after{content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(16,12,7,.7),rgba(16,12,7,.82))}
.cta-band .container{position:relative; z-index:2}
.cta-band h2{color:#fff; text-shadow:0 4px 30px rgba(0,0,0,.5)}
.cta-band .eyebrow{color:var(--gold-soft)}
.cta-band .lead{color:#eae0cb; max-width:56ch; margin:16px auto 30px}
.cta-band .btn-row{justify-content:center}

/* ---------- footer ---------- */
.site-footer{background:var(--night); color:#b8ad96; padding:70px 0 36px; border-top:3px solid var(--gold)}
.footer-grid{display:grid; gap:36px}
@media (min-width:760px){.footer-grid{grid-template-columns:1.7fr 1fr 1fr 1.1fr}}
.site-footer img{height:96px; width:auto; margin-bottom:18px}
.site-footer .brand-fallback{font-family:var(--display); font-weight:700; color:var(--gold-br); font-size:1.5rem; letter-spacing:.02em; margin-bottom:12px; display:block}
.site-footer h4{color:#fff; font-family:var(--sans); font-size:.76rem; letter-spacing:.2em; text-transform:uppercase; margin:0 0 16px; font-weight:600}
.site-footer a{display:block; padding:5px 0; color:#b8ad96; font-size:.96rem; transition:color .2s}
.site-footer a:hover{color:var(--gold-br)}
.footer-bottom{border-top:1px solid rgba(231,220,194,.14); margin-top:40px; padding-top:22px; font-size:.82rem; color:#8c8270}
.footer-bottom p{margin:0}

/* ---------- contact form ---------- */
.form{display:grid; gap:18px; max-width:600px}
.form label{font-size:.76rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); font-weight:600; margin-bottom:6px; display:block}
.form input,.form select,.form textarea{width:100%; font-family:var(--sans); font-size:1rem; padding:15px 16px; border:1px solid var(--line); border-radius:10px; background:var(--white); color:var(--char); transition:border-color .2s, box-shadow .2s}
.form input:focus,.form select:focus,.form textarea:focus{outline:none; border-color:var(--gold); box-shadow:0 0 0 4px rgba(196,153,47,.16)}
.form textarea{min-height:150px; resize:vertical}
.form .row2{display:grid; gap:18px}
@media (min-width:620px){.form .row2{grid-template-columns:1fr 1fr}}

/* ---------- reveal ---------- */
.js .reveal{opacity:0; transform:translateY(26px); transition:opacity .8s var(--ease), transform .8s var(--ease)}
.js .reveal.in{opacity:1; transform:none}
@media (prefers-reduced-motion:reduce){
  .js .reveal{opacity:1 !important; transform:none !important; transition:none}
  html{scroll-behavior:auto}
  .scroll-cue::after,.hero.has-image::before,.aurora::before,.aurora::after,.shimmer{animation:none}
}

/* ---------- custom scrollbar (desktop) ---------- */
@media (hover:hover) and (pointer:fine){
  ::-webkit-scrollbar{width:11px; height:11px}
  ::-webkit-scrollbar-track{background:var(--cream)}
  ::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--gold),var(--gold-dk)); border-radius:6px; border:2px solid var(--cream)}
}

/* utilities */
.center{text-align:center}.mt-0{margin-top:0}.mb-0{margin-bottom:0}
.stack-lg > * + *{margin-top:34px}

@media (max-width:768px){
  .aurora::before,.aurora::after{animation:none; opacity:.4}
  .nav-links a::after{display:none}
}

/* ---------- square edges (pro, dense) ---------- */
.card,.panel,.imgframe,.imgframe img,.venture-media,.venture-media img,.feature-band,.btn,.btn-outline,.btn-light,.form input,.form select,.form textarea,.nav-toggle,.status{border-radius:2px}

/* ---------- home transparent header + brighter footer logo ---------- */
.brand-logo.logo-light{display:none}
@media (max-width:919px){.site-header.transparent:not(.scrolled) .brand{opacity:0; pointer-events:none}}
[id]{scroll-margin-top:104px}
.site-header.transparent{position:fixed; left:0; right:0; top:0; background:transparent; backdrop-filter:none; border-bottom:0; border-image:none; box-shadow:none; transition:background .3s var(--ease), box-shadow .3s var(--ease)}
.site-header.transparent .logo-dark{display:none}
.site-header.transparent .logo-light{display:block}
.site-header.transparent .nav-links a{color:#fff}
.site-header.transparent .nav-links a:hover{color:#fff}
.site-header.transparent .nav-links a::after{background:var(--gold-br)}
.site-header.transparent .nav-links a.active{color:#fff}
.site-header.transparent .nav-toggle{background:rgba(18,14,9,.32); border-color:rgba(255,255,255,.6)}
.site-header.transparent .nav-toggle span, .site-header.transparent .nav-toggle span::before, .site-header.transparent .nav-toggle span::after{background:#fff}
.site-header.transparent.scrolled{background:rgba(248,244,236,.95); backdrop-filter:saturate(160%) blur(14px); box-shadow:0 12px 30px -18px rgba(16,12,7,.22); border-bottom:2px solid; border-image:linear-gradient(90deg, rgba(196,153,47,0) 0%, var(--gold-dk) 22%, var(--gold-br) 50%, var(--gold-dk) 78%, rgba(196,153,47,0) 100%) 1}
.site-header.transparent.scrolled .logo-dark{display:block}
.site-header.transparent.scrolled .logo-light{display:none}
.site-header.transparent.scrolled .nav-links a{color:var(--ink)}
.site-header.transparent.scrolled .nav-links a.active{color:var(--gold-dk)}
.site-header.transparent.scrolled .nav-toggle{background:var(--cream); border-color:var(--line)}
.site-header.transparent.scrolled .nav-toggle span, .site-header.transparent.scrolled .nav-toggle span::before, .site-header.transparent.scrolled .nav-toggle span::after{background:var(--char)}
.site-footer .footer-logo{filter:brightness(1.22) saturate(1.08) drop-shadow(0 0 14px rgba(203,168,91,.3))}
