/* ===== ROOT ===== */
:root {
  --bg: #060606;
  --surface: #0d0d0d;
  --card: #111111;
  --border: #1c1c1c;
  --border2: #2a2a2a;
  --gold: #F5C518;
  --gold-dim: rgba(245,197,24,.1);
  --red: #9B1B1B;
  --red-b: #C0392B;
  --cyan: #00B4CC;
  --orange: #FF6B2B;
  --white: #F2EFE4;
  --gray: #c2bcb0;
  --gray2: #3a3a3a;
  --film: linear-gradient(135deg,#00B4CC 0%,#FF6B2B 55%,#C0392B 100%);
  --fd: 'Bebas Neue', sans-serif;
  --fp: 'Playfair Display', serif;
  --fb: 'Space Grotesk', sans-serif;
  --fm: 'IBM Plex Mono', monospace;
  --pad: clamp(18px, 4.5vw, 72px);
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; overflow-x:hidden; }
body { background:var(--bg); color:var(--white); font-family:var(--fb); overflow-x:hidden; }
a { text-decoration:none; color:inherit; }

/* ===== GRAIN ===== */
.grain { position:fixed; inset:0; pointer-events:none; z-index:9990; opacity:.038;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:256px; animation:grain .35s steps(1) infinite; }
@keyframes grain { 0%,100%{transform:translate(0,0)} 10%{transform:translate(-2%,-3%)} 20%{transform:translate(3%,1%)} 30%{transform:translate(-1%,4%)} 40%{transform:translate(2%,-2%)} 50%{transform:translate(-3%,2%)} 60%{transform:translate(1%,-1%)} 70%{transform:translate(-2%,3%)} 80%{transform:translate(3%,-2%)} 90%{transform:translate(-1%,2%)} }

/* ===== CURSOR ===== */
.cursor-dot, .cursor-ring { position:fixed; top:0; left:0; pointer-events:none; z-index:9998; border-radius:50%; will-change:transform; }
.cursor-dot { width:12px; height:12px; background:rgba(245,197,24,.88); box-shadow:0 0 14px rgba(245,197,24,.45); }
.cursor-ring { width:36px; height:36px; border:1.5px solid rgba(245,197,24,.55); box-shadow:0 0 14px rgba(245,197,24,.2); transition:width .28s,height .28s,background .28s,border-color .28s,border-style .28s; }
body:hover .cursor-ring.hover { width:58px; height:58px; background:rgba(245,197,24,.06); border-color:rgba(245,197,24,.75); }
body:hover .cursor-ring.drag { width:70px; height:70px; border-color:rgba(245,197,24,.85); border-style:dashed; background:transparent; }

/* ===== SCROLL BAR ===== */
#spbar { position:fixed; top:0; left:0; height:3px; width:0%; z-index:10001; background:var(--film); pointer-events:none; transition:width .08s linear; }

/* ===== LOADER ===== */
#loader { position:fixed; inset:0; background:var(--bg); z-index:99999; display:flex; align-items:center; justify-content:center; overflow:hidden; transition:opacity .5s,visibility .5s; }
#loader.done { opacity:0; visibility:hidden; pointer-events:none; }
.loader-vid { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.28; filter:saturate(1.6) brightness(.7); }
.loader-glow { position:absolute; border-radius:50%; pointer-events:none; animation:lgp 4s ease-in-out infinite; }
.loader-glow-r { width:700px; height:700px; bottom:-15%; right:-12%; background:radial-gradient(circle,rgba(155,27,27,.45) 0%,transparent 65%); }
.loader-glow-c { width:600px; height:600px; top:-12%; left:-10%; background:radial-gradient(circle,rgba(0,180,204,.28) 0%,transparent 65%); animation-delay:2s; }
.loader-glow-g { width:400px; height:400px; top:40%; left:45%; background:radial-gradient(circle,rgba(245,197,24,.1) 0%,transparent 65%); animation-delay:1s; animation-duration:5s; }
@keyframes lgp { 0%,100%{transform:scale(1);opacity:.7} 50%{transform:scale(1.18);opacity:1} }
.loader-card { position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; gap:18px; padding:52px 68px; border-radius:36px;
  background:linear-gradient(145deg,rgba(255,255,255,.09) 0%,rgba(255,255,255,.03) 50%,rgba(255,255,255,.07) 100%);
  backdrop-filter:blur(44px) saturate(220%) brightness(1.18); -webkit-backdrop-filter:blur(44px) saturate(220%) brightness(1.18);
  border:1px solid rgba(255,255,255,.16); box-shadow:0 0 0 .5px rgba(255,255,255,.07) inset, 0 1.5px 0 0 rgba(255,255,255,.22) inset, 0 -1.5px 0 0 rgba(0,0,0,.3) inset, 0 40px 90px rgba(0,0,0,.75), 0 0 0 1px rgba(0,0,0,.45), 0 0 80px rgba(245,197,24,.05); }
.loader-specular { content:''; position:absolute; top:0; left:14%; right:14%; height:1.5px; background:linear-gradient(90deg,transparent,rgba(255,255,255,0) 5%,rgba(255,255,255,.55) 30%,rgba(255,255,255,1) 50%,rgba(255,255,255,.55) 70%,rgba(255,255,255,0) 95%,transparent); border-radius:50%; animation:specsh 3.5s ease-in-out infinite; }
@keyframes specsh { 0%,100%{opacity:.5;transform:scaleX(.85)} 50%{opacity:1;transform:scaleX(1.1)} }
.loader-logo { width:100px; height:100px; border-radius:14px; object-fit:cover; box-shadow:0 4px 20px rgba(0,0,0,.5),0 0 30px rgba(245,197,24,.12); opacity:0; animation:fIn .5s .2s forwards; position:relative; z-index:1; }
.loader-title { font-family:var(--fd); font-size:clamp(14px,2.5vw,28px); letter-spacing:4px; text-align:center; line-height:1.3; opacity:0; animation:fIn .5s .4s forwards; }
.loader-title em { color:var(--gold); font-style:normal; }
.loader-bar { width:160px; height:2px; background:rgba(255,255,255,.1); overflow:hidden; border-radius:1px; position:relative; z-index:1; }
.loader-fill { height:100%; background:var(--film); width:0; animation:ldFill 2.2s cubic-bezier(.77,0,.175,1) .4s forwards; }
@keyframes ldFill { to{width:100%} }
.loader-sub { font-family:var(--fm); font-size:.58rem; color:rgba(194,188,176,.8); letter-spacing:3px; text-transform:uppercase; opacity:0; animation:fIn .5s .7s forwards; position:relative; z-index:1; }
.loader-skip { display:block; margin:18px auto 0; padding:10px 28px; font-family:var(--fm); font-size:.6rem; letter-spacing:3px; text-transform:uppercase; color:rgba(255,255,255,.6); background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius:40px; cursor:pointer; transition:all .3s; opacity:0; animation:fIn .5s 1.2s forwards; }
.loader-skip:hover { background:rgba(255,255,255,.14); color:rgba(255,255,255,.9); border-color:rgba(255,255,255,.25); }
@keyframes fIn { to{opacity:1} }

/* ===== NAV ===== */
#navbar { position:fixed; top:0; left:0; right:0; z-index:1000; height:74px; display:flex; align-items:center; justify-content:space-between; padding:0 var(--pad);
  background:linear-gradient(180deg,rgba(255,255,255,.16) 0%,rgba(255,255,255,.07) 100%); backdrop-filter:blur(36px) saturate(260%) brightness(1.22); -webkit-backdrop-filter:blur(36px) saturate(260%) brightness(1.22);
  border-bottom:1.5px solid rgba(255,255,255,.22); box-shadow:0 0 0 .5px rgba(255,255,255,.12) inset, 0 2px 0 0 rgba(255,255,255,.28) inset, 0 -1px 0 0 rgba(0,0,0,.2) inset, 0 12px 44px rgba(0,0,0,.5);
  transition:all .35s ease; }
#navbar.scrolled { background:linear-gradient(180deg,rgba(20,18,15,.75) 0%,rgba(8,7,6,.6) 100%); backdrop-filter:blur(44px) saturate(240%) brightness(1.12); border-bottom:1px solid rgba(255,255,255,.13); }
.nav-logo { display:flex; align-items:center; gap:10px; }
.nav-pulse { width:6px; height:6px; border-radius:50%; background:var(--gold); animation:pulse 2.2s ease-in-out infinite; flex-shrink:0; }
@keyframes pulse { 0%,100%{box-shadow:0 0 0 0 rgba(245,197,24,.4)} 50%{box-shadow:0 0 0 8px rgba(245,197,24,0)} }
.nav-logo-img { width:44px; height:44px; border-radius:10px; object-fit:cover; }
.nav-brand { font-family:var(--fd); font-size:1.35rem; letter-spacing:2px; color:var(--white); }
.nav-brand em { color:var(--gold); font-style:normal; }
.nav-links { display:flex; gap:30px; list-style:none; }
.nav-links a { font-family:var(--fm); font-size:.65rem; color:var(--gray); letter-spacing:2px; text-transform:uppercase; position:relative; transition:color .2s; }
.nav-links a::after { content:''; position:absolute; bottom:-4px; left:0; width:0; height:1px; background:var(--gold); transition:width .3s; }
.nav-links a:hover { color:var(--gold); }
.nav-links a:hover::after { width:100%; }
.nav-cta { font-family:var(--fm); font-size:.64rem; color:var(--bg); background:var(--gold); padding:9px 18px; letter-spacing:2px; text-transform:uppercase; clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%); transition:all .2s; }
.nav-cta:hover { background:var(--white); transform:translateY(-2px); }
.nav-burger { display:none; flex-direction:column; gap:5px; padding:6px; background:transparent; border:none; cursor:pointer; }
.nav-burger span { display:block; width:22px; height:2px; background:var(--white); transition:all .3s; }
#mobile-menu { display:none; position:fixed; inset:0; z-index:999; background:var(--bg); flex-direction:column; align-items:center; justify-content:center; gap:26px; }
#mobile-menu.open { display:flex; }
.menu-close { position:absolute; top:20px; right:22px; background:none; border:none; color:var(--white); font-size:1.7rem; cursor:pointer; }
#mobile-menu a { font-family:var(--fd); font-size:clamp(2rem,8vw,3.2rem); letter-spacing:3px; color:var(--white); transition:color .2s; }
#mobile-menu a:hover { color:var(--gold); }

/* ===== VIDEO BG ===== */
.vid-bg { position:absolute; inset:0; width:100%; height:120%; top:-10%; object-fit:cover; z-index:0; pointer-events:none; opacity:.4; filter:grayscale(10%) brightness(.9); will-change:transform; }

/* ===== HERO ===== */
#hero { min-height:100dvh; position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:center; padding:clamp(100px,12vw,150px) var(--pad) 40px; }
.hero-bg-r { position:absolute; inset:0; background:radial-gradient(ellipse 75% 55% at 108% 112%,rgba(155,27,27,.24) 0%,transparent 60%); pointer-events:none; z-index:1; }
.hero-bg-c { position:absolute; inset:0; background:radial-gradient(ellipse 45% 35% at -6% -6%,rgba(0,180,204,.08) 0%,transparent 60%); pointer-events:none; z-index:1; }
.hero-scan { position:absolute; inset:0; background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.032) 2px,rgba(0,0,0,.032) 4px); pointer-events:none; z-index:1; }
.hero-vig { position:absolute; inset:0; background:radial-gradient(ellipse 100% 100% at 50% 50%,transparent 38%,rgba(6,6,6,.55) 100%); pointer-events:none; z-index:1; }
.hero-filmbar { position:absolute; top:0; left:0; right:0; height:3px; background:var(--film); z-index:5; transform-origin:left; transform:scaleX(0); transition:transform 1.6s cubic-bezier(.77,0,.175,1); }
.hero-filmbar.loaded { transform:scaleX(1); }
.fstrip { position:absolute; top:-8%; bottom:-8%; width:46px; display:flex; flex-direction:column; opacity:.07; pointer-events:none; z-index:1; }
.fstrip-left { left:0; }
.fstrip-right { right:0; }
.fstrip::before { content:''; display:block; flex:1; background:repeating-linear-gradient(180deg, transparent 0px, transparent 14px, var(--white) 14px, var(--white) 22px, transparent 22px, transparent 36px ); border-right:1px solid var(--white); border-left:1px solid var(--white); }
.hero-content { position:relative; z-index:2; }
.hero-eye { display:flex; align-items:center; gap:10px; font-family:var(--fm); font-size:.62rem; color:var(--gold); letter-spacing:4px; text-transform:uppercase; margin-bottom:16px; opacity:0; transform:translateY(12px); transition:opacity .7s, transform .7s; }
.hero-line { display:block; width:22px; height:1px; background:var(--gold); flex-shrink:0; }
.hero-title { font-size:clamp(44px,9vw,134px); line-height:1; position:relative; z-index:2; margin-bottom:10px; }
.ln1 { display:block; font-family:var(--fp); font-style:italic; font-weight:700; color:var(--white); letter-spacing:-1px; line-height:1.06; clip-path:inset(0 0 100% 0); transition:clip-path .9s cubic-bezier(.77,0,.175,1); }
.ln1.revealed { clip-path:inset(0 0 0% 0); }
.ln2 { display:block; font-family:var(--fd); color:rgba(242,239,228,.38); letter-spacing:2px; font-size:.68em; -webkit-text-stroke:1px rgba(242,239,228,.22); margin-bottom:.1em; clip-path:inset(0 0 100% 0); transition:clip-path .85s cubic-bezier(.77,0,.175,1) .15s; }
.ln2.revealed { clip-path:inset(0 0 0% 0); }
.ln3 { display:block; font-family:var(--fd); letter-spacing:3px; font-size:.93em; line-height:1; position:relative; clip-path:inset(0 0 100% 0); transition:clip-path .9s cubic-bezier(.77,0,.175,1) .3s; }
.ln3.revealed { clip-path:inset(0 0 0% 0); }

/* Cinema shimmer */
.cinema-shimmer { background:linear-gradient(90deg,#F5C518 0%,#ffe98a 30%,#F5C518 55%,#c8920a 80%,#F5C518 100%); background-size:250% 100%; -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; animation:cinemaShimmer 2.6s linear infinite; }
@keyframes cinemaShimmer { 0%{background-position:100% 50%} 100%{background-position:-100% 50%} }

/* Glitch */
.glitch-text { position:relative; }
.glitch-text::before, .glitch-text::after { content:attr(data-text); position:absolute; top:0; left:0; width:100%; height:100%; font-family:var(--fd); font-size:1em; letter-spacing:3px; }
.glitch-text::before { animation:g1 3.5s infinite; color:var(--cyan); clip-path:polygon(0 15%,100% 15%,100% 38%,0 38%); transform:translate(-2px,0); }
.glitch-text::after { animation:g2 3.5s infinite; color:var(--orange); clip-path:polygon(0 62%,100% 62%,100% 80%,0 80%); transform:translate(2px,0); }
@keyframes g1 { 0%,73%,100%{opacity:0} 74%,79%{opacity:1} 77%{transform:translate(3px,1px)} }
@keyframes g2 { 0%,77%,100%{opacity:0} 78%,83%{opacity:1} 81%{transform:translate(-3px,-1px)} }

.hero-sub { position:relative; z-index:2; margin-bottom:34px; font-size:clamp(13px,1.3vw,15px); color:var(--gray); max-width:455px; line-height:1.88; font-weight:400; opacity:0; transform:translateY(12px); transition:opacity .7s .4s, transform .7s .4s; }
.hero-sub em { color:var(--gold); font-style:normal; font-weight:500; }
.hero-sub strong { color:var(--white); font-weight:500; }
.hero-btns { position:relative; z-index:2; display:flex; gap:14px; align-items:center; flex-wrap:wrap; opacity:0; transform:translateY(12px); transition:opacity .6s .5s, transform .6s .5s; }
.btn-gold { display:inline-flex; align-items:center; gap:8px; background:var(--gold); color:var(--bg); font-family:var(--fm); font-size:.67rem; font-weight:500; letter-spacing:2px; text-transform:uppercase; padding:13px 24px; clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%); transition:all .22s; border:none; cursor:pointer; }
.btn-gold:hover { background:var(--white); transform:translateY(-2px); }
.btn-ghost { display:inline-flex; align-items:center; gap:7px; color:var(--gray); font-family:var(--fm); font-size:.67rem; letter-spacing:2px; text-transform:uppercase; border-bottom:1px solid var(--border2); padding-bottom:2px; transition:color .2s; }
.btn-ghost:hover { color:var(--gold); }

.hero-right { position:absolute; right:clamp(55px,7vw,110px); top:50%; transform:translateY(-50%); z-index:2; display:flex; flex-direction:column; align-items:end; gap:28px; opacity:0; transform:translateY(-40%); transition:opacity .9s .6s, transform .9s .6s; }
.cover-wrap { position:relative; animation:coverFloat 5.5s ease-in-out infinite; }
.cover-ring1 { position:absolute; -inset:14px; border:1px solid rgba(245,197,24,.1); border-radius:24px; animation:spin 22s linear infinite; pointer-events:none; inset:-14px; }
.cover-ring2 { position:absolute; inset:-28px; border:1px dashed rgba(245,197,24,.04); border-radius:36px; animation:spin 40s linear infinite reverse; pointer-events:none; }
.cover-img { display:block; width:clamp(150px,14.5vw,220px); aspect-ratio:1; border-radius:16px; object-fit:cover; box-shadow:0 20px 80px rgba(0,0,0,.8),0 0 50px rgba(245,197,24,.08); border:1px solid var(--border2); }
@keyframes coverFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }
@keyframes spin { to{transform:rotate(360deg)} }
.hero-stats { display:flex; flex-direction:column; gap:16px; align-items:end; }
.stat { text-align:right; }
.stat-num { display:block; font-family:var(--fd); font-size:2.6rem; color:var(--gold); line-height:1; animation:statGlow 2s ease-in-out infinite alternate; }
@keyframes statGlow { from{text-shadow:0 0 18px rgba(245,197,24,.25)} to{text-shadow:0 0 55px rgba(245,197,24,.7),0 0 12px rgba(245,197,24,.4)} }
.stat-label { display:block; font-family:var(--fm); font-size:.55rem; color:var(--gray); letter-spacing:2px; text-transform:uppercase; }
.scroll-indic { position:absolute; bottom:24px; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:6px; z-index:2; }
.scroll-indic span { font-family:var(--fm); font-size:.52rem; color:var(--gray); letter-spacing:3px; text-transform:uppercase; animation:scrollLblPulse 2.5s ease-in-out infinite alternate; }
@keyframes scrollLblPulse { from{opacity:.4} to{opacity:1} }
.scroll-line { width:1px; height:44px; background:linear-gradient(to bottom,var(--gold),transparent); animation:sscr 2.2s ease-in-out infinite; }
@keyframes sscr { 0%{transform:scaleY(0);transform-origin:top} 50%{transform:scaleY(1);transform-origin:top} 51%{transform:scaleY(1);transform-origin:bottom} 100%{transform:scaleY(0);transform-origin:bottom} }

/* ===== SKYBOHEMIO EDGE ===== */
.skybohemio-edge { position:relative; z-index:100; display:flex; justify-content:center; margin-top:-220px; margin-bottom:-160px; pointer-events:none; }
.skybohemio-edge-img { height:clamp(340px,42vh,480px); width:auto; object-fit:contain; filter:drop-shadow(0 20px 60px rgba(0,0,0,.7)) drop-shadow(0 0 40px rgba(245,197,24,.08)); animation:coverFloat 6s ease-in-out infinite; }

/* ===== PITCH ===== */
#pitch { position:relative; overflow:hidden; padding:clamp(60px,7vw,90px) var(--pad); background:var(--bg); border-top:none; padding-top:clamp(100px,12vw,160px); }
.pitch-inner { position:relative; z-index:1; max-width:900px; margin:0 auto; text-align:center; display:flex; flex-direction:column; gap:28px; }
.pitch-title { font-family:var(--fp); font-style:italic; font-size:clamp(28px,4.5vw,56px); line-height:1.1; color:var(--white); }
.pitch-title em { color:var(--gold); font-style:normal; }
.pitch-body { display:flex; flex-direction:column; gap:20px; }
.pitch-body p { font-family:var(--fb); font-size:clamp(14px,1.4vw,17px); color:var(--gray); line-height:1.85; max-width:760px; margin:0 auto; }
.pitch-tags { font-family:var(--fm); font-size:.6rem; color:var(--gray2); letter-spacing:2px; text-transform:uppercase; }

/* ===== MARQUEE ===== */
.marquee { position:relative; overflow:hidden; padding:22px 0; background:var(--gold); }
.marquee::before, .marquee::after { content:''; position:absolute; top:0; bottom:0; width:60px; z-index:2; pointer-events:none; }
.marquee::before { left:0; background:linear-gradient(to right,var(--gold),transparent); }
.marquee::after { right:0; background:linear-gradient(to left,var(--gold),transparent); }
.marquee-inner { display:flex; gap:38px; white-space:nowrap; animation:mqr 22s linear infinite; width:max-content; }
.marquee:hover .marquee-inner { animation-play-state:paused; }
.marquee-inner span { font-family:var(--fd); font-size:1.2rem; letter-spacing:3px; color:var(--bg); text-transform:uppercase; }
@keyframes mqr { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ===== PLAYER ===== */
#player { position:relative; overflow:hidden; padding:clamp(60px,7vw,100px) var(--pad); background:var(--surface); border-top:1px solid var(--border); }
.player-tag { display:flex; align-items:center; gap:10px; font-family:var(--fm); font-size:.55rem; color:var(--gold); letter-spacing:4px; text-transform:uppercase; margin-bottom:36px; }
.player-line { display:block; width:14px; height:1px; background:var(--gold); }
.player-bar { position:absolute; bottom:0; left:0; right:0; height:3px; background:var(--film); opacity:.45; }

/* ===== SHARED TAGS/TITLES ===== */
.fs-tag { display:flex; align-items:center; gap:10px; font-family:var(--fm); font-size:.57rem; color:var(--gold); letter-spacing:4px; text-transform:uppercase; margin-bottom:10px; }
.fs-tag span { display:block; width:14px; height:1px; background:var(--gold); }
.sec-title { font-family:var(--fd); font-size:clamp(30px,5vw,62px); line-height:.95; letter-spacing:1px; }
.sec-title span { color:var(--gold); }
.divider { height:2px; background:var(--film); opacity:.4; }

/* ===== FILM STRIP ===== */
#filmstrip { position:relative; overflow:hidden; padding:clamp(50px,6vw,80px) 0; background:var(--bg); border-top:1px solid var(--border); }
.fs-header { display:flex; align-items:end; justify-content:space-between; flex-wrap:wrap; gap:10px; padding:0 var(--pad); margin-bottom:24px; }
.fs-hint { font-family:var(--fm); font-size:.55rem; color:var(--gray2); letter-spacing:2px; text-transform:uppercase; }
.fs-scroll { overflow-x:auto; cursor:grab; scrollbar-width:none; -ms-overflow-style:none; }
.fs-scroll::-webkit-scrollbar { display:none; }
.fs-scroll.dragging { cursor:grabbing; }
.fs-track { display:flex; gap:10px; padding:0 var(--pad) 4px; }
.fc-card { flex-shrink:0; width:260px; position:relative; overflow:hidden; background:var(--card); border:1px solid var(--border); border-radius:2px; padding:16px; display:flex; flex-direction:column; gap:8px; cursor:pointer; transition:border-color .2s, transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s; }
.fc-card:hover { transform:translateY(-5px) rotate(-.4deg); box-shadow:0 16px 48px rgba(0,0,0,.55); border-color:var(--border2); }
.fc-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--film); transform:scaleX(0); transform-origin:left; transition:transform .4s; }
.fc-card:hover::before { transform:scaleX(1); }
.fc-poster { position:relative; width:100%; overflow:hidden; border-radius:8px; aspect-ratio:2/3; max-height:200px; }
.fc-poster img { width:100%; height:100%; object-fit:cover; object-position:center top; transition:transform .5s cubic-bezier(.25,.46,.45,.94); }
.fc-card:hover .fc-poster img { transform:scale(1.07); }
.fc-poster::after { content:''; position:absolute; inset:0; background:linear-gradient(to top, rgba(17,17,17,.95) 0%, rgba(17,17,17,.4) 25%, transparent 55%); pointer-events:none; }
.fc-film-overlay { position:absolute; bottom:0; left:0; right:0; padding:12px 10px 8px; z-index:3; pointer-events:none; }
.fc-film-title { font-family:var(--fd); font-size:.88rem; color:#fff; line-height:1.1; letter-spacing:.6px; text-shadow:0 2px 10px rgba(0,0,0,.95), 0 1px 3px rgba(0,0,0,.8); }
.fc-film-year { font-family:var(--fm); font-size:.42rem; color:rgba(245,197,24,.85); letter-spacing:2px; margin-top:2px; }
.fc-nbadge { position:absolute; left:8px; top:8px; background:rgba(6,6,6,.82); backdrop-filter:blur(8px); border:1px solid rgba(245,197,24,.3); font-family:var(--fm); font-size:.4rem; letter-spacing:1.5px; color:var(--gold); padding:3px 7px; z-index:4; }
.fc-perfs { display:flex; justify-content:space-evenly; align-items:center; height:8px; }
.fc-perfs span { width:13px; height:7px; border:1px solid var(--border2); border-radius:2px; }
.fc-epnum { font-family:var(--fm); font-size:.5rem; color:var(--gold); letter-spacing:2px; opacity:.6; }
.fc-title { font-family:var(--fd); font-size:1rem; line-height:1.2; letter-spacing:.3px; }
.fc-film { font-family:var(--fm); font-size:.57rem; color:var(--gray); letter-spacing:1px; margin-top:auto; }
.fc-meta { font-family:var(--fm); font-size:.5rem; color:var(--gray2); letter-spacing:1.5px; }
.fc-desc { font-family:var(--fb); font-size:.7rem; color:rgba(194,188,176,.55); line-height:1.6; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
/* mini skybohemio removed */

/* ===== EPISODES ===== */
#episodes { position:relative; overflow:hidden; padding:clamp(60px,8vw,100px) var(--pad); }
.ep-inner { position:relative; z-index:1; }
.ep-header { display:flex; align-items:end; justify-content:space-between; margin-bottom:42px; gap:18px; flex-wrap:wrap; }
.ep-all { font-family:var(--fm); font-size:.62rem; color:var(--gray); letter-spacing:2px; text-transform:uppercase; border-bottom:1px solid var(--border2); padding-bottom:2px; transition:color .2s; }
.ep-all:hover { color:var(--gold); }
.ep-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(290px,1fr)); gap:2px; perspective:1000px; }
.ep-card { position:relative; overflow:hidden; background:linear-gradient(145deg,rgba(255,255,255,.12) 0%,rgba(255,255,255,.04) 40%,rgba(255,255,255,.08) 100%); backdrop-filter:blur(32px) saturate(220%) brightness(1.08); -webkit-backdrop-filter:blur(32px) saturate(220%) brightness(1.08); border:1px solid rgba(255,255,255,.18); box-shadow:0 0 0 .5px rgba(255,255,255,.08) inset, 0 1px 0 0 rgba(255,255,255,.2) inset, 0 -1px 0 0 rgba(0,0,0,.2) inset, 0 16px 55px rgba(0,0,0,.55), 0 0 60px rgba(245,197,24,.04); padding:22px 18px; display:flex; flex-direction:column; gap:11px; color:var(--white); text-decoration:none; transition:all .35s cubic-bezier(.2,.8,.2,1); transform-style:preserve-3d; }
.ep-card:hover { backdrop-filter:blur(44px) saturate(260%) brightness(1.12); border-color:rgba(255,255,255,.25); box-shadow:0 0 0 .5px rgba(255,255,255,.1) inset, 0 2px 0 0 rgba(255,255,255,.25) inset, 0 -1px 0 0 rgba(0,0,0,.25) inset, 0 24px 75px rgba(0,0,0,.65), 0 0 90px rgba(245,197,24,.08); transform:translateY(-4px); }
.ep-card:first-child { grid-column:span 2; }
.ep-card:first-child .ep-title { font-size:1.65rem; }
.ep-poster { position:relative; width:calc(100% + 36px); margin:-22px -18px 0; overflow:hidden; border-radius:8px; aspect-ratio:2/3; max-height:220px; }
.ep-poster img { width:100%; height:100%; object-fit:cover; object-position:center top; transition:transform .5s cubic-bezier(.25,.46,.45,.94); }
.ep-card:hover .ep-poster img { transform:scale(1.08); }
.ep-poster::after { content:''; position:absolute; inset:0; background:linear-gradient(to top, rgba(17,17,17,.97) 0%, rgba(17,17,17,.5) 30%, transparent 60%); pointer-events:none; }

/* Film title overlay — toujours visible en bas du poster */
.ep-film-overlay { position:absolute; bottom:0; left:0; right:0; padding:16px 14px 10px; z-index:3; pointer-events:none; }
.ep-film-title { font-family:var(--fd); font-size:clamp(.85rem,2.2vw,1.05rem); color:#fff; line-height:1.15; letter-spacing:.8px; text-shadow:0 2px 12px rgba(0,0,0,.95), 0 1px 3px rgba(0,0,0,.8); }
.ep-film-year { font-family:var(--fm); font-size:.45rem; color:rgba(245,197,24,.9); letter-spacing:2.5px; margin-top:2px; }

/* Episode number badge — top left */
.ep-nbadge { position:absolute; left:10px; top:10px; background:rgba(6,6,6,.82); backdrop-filter:blur(8px); border:1px solid rgba(245,197,24,.3); font-family:var(--fm); font-size:.42rem; letter-spacing:1.5px; color:var(--gold); padding:4px 8px; z-index:4; }

/* Gold duration badge — repositionné en haut droite */
.ep-badge { position:absolute; right:10px; top:10px; background:linear-gradient(135deg,var(--gold),#d4a008); color:var(--bg); font-family:var(--fm); font-size:.42rem; letter-spacing:1.5px; padding:4px 9px; font-weight:600; box-shadow:0 2px 12px rgba(245,197,24,.3); z-index:4; }
.ep-top { display:flex; align-items:center; justify-content:space-between; }
.ep-num { font-family:var(--fm); font-size:.52rem; color:var(--gold); letter-spacing:2px; opacity:.7; }
.ep-date { font-family:var(--fm); font-size:.52rem; color:var(--gray); letter-spacing:1px; }
.ep-title { font-family:var(--fd); font-size:1.1rem; line-height:1.2; letter-spacing:.5px; }
.ep-desc { font-size:.84rem; color:#b5b0a8; line-height:1.75; font-weight:400; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
.ep-footer { display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding-top:4px; }
.ep-film { display:flex; align-items:center; gap:4px; font-family:var(--fm); font-size:.56rem; color:var(--gray); letter-spacing:1px; }
.ep-film span { color:var(--gold); font-size:.38rem; }
.ep-arrow { width:24px; height:24px; border:1px solid var(--border); display:flex; align-items:center; justify-content:center; font-size:.55rem; color:var(--gray); transition:all .2s; }
.ep-card:hover .ep-arrow { border-color:var(--gold); color:var(--gold); }
/* mini skybohemio removed */

/* ===== ABOUT ===== */
#apropos { position:relative; overflow:hidden; padding:clamp(60px,8vw,100px) var(--pad); }
.about-inner { position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.about-left { display:flex; flex-direction:column; align-items:start; gap:0; }
.about-img-wrap { position:relative; }
.about-img { width:100%; max-width:440px; height:auto; border-radius:16px; object-fit:contain; filter:drop-shadow(0 24px 80px rgba(0,0,0,.8)) drop-shadow(0 0 50px rgba(155,27,27,.14)); animation:coverFloat 6s ease-in-out infinite; animation-delay:0.5s; position:relative; z-index:3; }
.about-badge { display:inline-flex; align-items:center; gap:8px; background:var(--gold); padding:9px 16px; clip-path:polygon(7px 0,100% 0,calc(100% - 7px) 100%,0 100%); animation:badgePulse 3.2s ease-in-out infinite, coverFloat 7s ease-in-out infinite; animation-delay:0s, 1.2s; position:relative; margin-top:-35px; margin-left:20px; z-index:2; }
@keyframes badgePulse { 0%,100%{box-shadow:3px 3px 0 rgba(245,197,24,.2)} 50%{box-shadow:6px 6px 0 rgba(245,197,24,.06)} }
.about-badge span { font-family:var(--fd); font-size:1.6rem; color:var(--bg); line-height:1; }
.about-badge { font-family:var(--fm); font-size:.54rem; color:var(--bg); letter-spacing:2px; text-transform:uppercase; }
.about-right { display:flex; flex-direction:column; gap:20px; }
.about-right blockquote { font-family:var(--fp); font-style:italic; font-size:clamp(14px,1.55vw,18px); line-height:1.65; border-left:3px solid var(--gold); padding-left:20px; }
.about-right p { font-size:.83rem; color:var(--gray); line-height:1.9; }
.about-right p strong { color:var(--white); font-weight:500; }
.about-tags { display:flex; flex-wrap:wrap; gap:6px; }
.about-tags span { font-family:var(--fm); font-size:.56rem; color:var(--gold); letter-spacing:2px; text-transform:uppercase; padding:4px 11px; border:1px solid rgba(245,197,24,.2); background:rgba(245,197,24,.02); }

/* ===== PODCAST SEO ===== */
#lepodcast { position:relative; overflow:hidden; padding:clamp(60px,7vw,90px) var(--pad); background:var(--bg); border-top:1px solid var(--border); }
.pod-inner { max-width:900px; margin:0 auto; }
.pod-title { font-family:var(--fp); font-style:italic; font-size:clamp(24px,4vw,42px); line-height:1.15; margin-bottom:24px; }
.pod-title em { color:var(--gold); font-style:italic; }
.pod-inner p { font-size:clamp(15px,1.5vw,17px); color:var(--gray); line-height:1.9; max-width:800px; margin-bottom:20px; }
.pod-inner p strong { color:var(--white); font-weight:500; }
.pod-btns { display:flex; gap:12px; flex-wrap:wrap; margin-top:28px; }

/* ===== CONTACT ===== */
#contact { padding:clamp(60px,8vw,100px) var(--pad); }
.contact-inner { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:start; }
.contact-left, .contact-right { display:flex; flex-direction:column; gap:20px; }
.contact-desc { font-size:.83rem; color:var(--gray); line-height:1.9; }
.social-list { display:flex; flex-direction:column; gap:2px; }
.social-a { display:flex; align-items:center; gap:14px; position:relative; overflow:hidden; padding:13px 16px; background:var(--card); border:1px solid var(--border); transition:all .22s; }
.social-a:hover { background:#181818; border-color:var(--border2); padding-left:22px; }
.social-bar { position:absolute; left:0; top:0; width:3px; height:100%; background:var(--film); transform:scaleY(0); transition:transform .28s; }
.social-a:hover .social-bar { transform:scaleY(1); }
.social-icon { font-size:.95rem; width:32px; text-align:center; flex-shrink:0; }
.social-name { display:block; font-family:var(--fd); font-size:.98rem; letter-spacing:1px; }
.social-handle { display:block; font-family:var(--fm); font-size:.56rem; color:var(--gray); letter-spacing:1px; }
.social-arrow { margin-left:auto; font-size:.65rem; color:var(--gray); transition:all .2s; }
.social-a:hover .social-arrow { color:var(--gold); transform:translateX(4px); }
.contact-right h3 { font-family:var(--fd); font-size:1.9rem; letter-spacing:1px; }
.contact-right h3 span { color:var(--gold); }
.form-group { display:flex; flex-direction:column; gap:6px; }
.form-group label { font-family:var(--fm); font-size:.56rem; color:var(--gold); letter-spacing:3px; text-transform:uppercase; }
.form-group input, .form-group textarea { background:var(--card); border:1px solid var(--border); border-bottom-color:#303030; color:var(--white); font-family:var(--fb); font-size:.83rem; padding:11px 13px; outline:none; transition:border-color .2s,background .2s; width:100%; }
.form-group input:focus, .form-group textarea:focus { border-color:var(--gold); background:#181818; }
.form-group textarea { min-height:90px; resize:none; }
.form-status { font-family:var(--fm); font-size:.7rem; letter-spacing:1px; margin-top:10px; min-height:18px; transition:all .3s; }
.form-status.success { color:#00B4CC; }
.form-status.error { color:#C0392B; }

/* ===== FOOTER ===== */
footer { display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; padding:28px var(--pad); border-top:1px solid var(--border); }
.footer-logo { display:flex; align-items:center; gap:8px; }
.footer-logo img { width:26px; height:26px; border-radius:4px; object-fit:cover; }
.footer-logo span { font-family:var(--fd); font-size:.9rem; letter-spacing:2px; }
.footer-logo em { color:var(--gold); font-style:normal; }
.footer-copy { font-family:var(--fm); font-size:.52rem; color:var(--gray); letter-spacing:1.5px; text-align:center; line-height:2; }
.footer-links { display:flex; gap:16px; }
.footer-links a { font-family:var(--fm); font-size:.52rem; color:var(--gray); letter-spacing:2px; text-transform:uppercase; transition:color .2s; }
.footer-links a:hover { color:var(--gold); }

/* ===== EXPANDING CARD ===== */
#ep-overlay { position:fixed; inset:0; z-index:8000; display:flex; align-items:center; justify-content:center; pointer-events:none; opacity:0; transition:opacity .3s; }
#ep-overlay.open { opacity:1; pointer-events:all; }
.ep-overlay-bg { position:absolute; inset:0; background:rgba(0,0,0,.88); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
.ep-expanded { position:relative; z-index:1; width:90%; max-width:700px; max-height:90vh; overflow-y:auto; background:var(--card); border:1px solid var(--border2); border-top:3px solid var(--gold); box-shadow:0 40px 120px rgba(0,0,0,.9),0 0 80px rgba(245,197,24,.06); display:flex; flex-direction:column;
  transform:perspective(900px) rotateX(-90deg) scale(0.6); transform-origin:center top; opacity:0;
  transition:transform .6s cubic-bezier(.2,.8,.2,1), opacity .4s;
}
.ep-expanded.expanded { transform:perspective(900px) rotateX(0deg) scale(1); opacity:1; }
.ep-expanded-poster { width:100%; max-height:350px; overflow:hidden; flex-shrink:0; }
.ep-expanded-poster img { width:100%; height:100%; object-fit:cover; object-position:center 20%; }
.ep-expanded-content { padding:32px 40px 40px; display:flex; flex-direction:column; gap:14px; }
.ep-expanded-top { display:flex; align-items:center; justify-content:space-between; font-family:var(--fm); font-size:.52rem; letter-spacing:2px; }
.ep-expanded-top span:first-child { color:var(--gold); opacity:.7; }
.ep-expanded-top span:last-child { color:var(--gray); }
.ep-expanded h3 { font-family:var(--fd); font-size:clamp(1.6rem,3vw,2.4rem); line-height:1.1; letter-spacing:.5px; margin:0; }
.ep-expanded-film { display:flex; align-items:center; gap:6px; font-family:var(--fm); font-size:.6rem; color:var(--gold); letter-spacing:2px; }
.ep-expanded-film span:first-child { font-size:.4rem; }
.ep-expanded-desc { font-size:.88rem; color:var(--gray); line-height:1.9; border-left:2px solid var(--gold); padding-left:18px; }
.ep-expanded-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-top:10px; padding-top:20px; border-top:1px solid var(--border); }

/* ===== MODAL ===== */
#film-modal { position:fixed; inset:0; background:rgba(0,0,0,.88); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); z-index:8000; display:flex; align-items:center; justify-content:center; padding:24px; opacity:0; pointer-events:none; transition:opacity .3s; }
#film-modal.open { opacity:1; pointer-events:all; }
.modal-card { position:relative; overflow:hidden; background:var(--card); border:1px solid var(--border2); border-top:3px solid var(--gold); max-width:600px; width:100%; max-height:90vh; display:flex; flex-direction:column; box-shadow:0 40px 120px rgba(0,0,0,.9),0 0 80px rgba(245,197,24,.06); animation:modalIn .58s cubic-bezier(.2,.8,.2,1); }
@keyframes modalIn {
  0%{transform:perspective(900px) rotateX(-110deg) scale(0.85);opacity:0}
  25%{opacity:1}
  55%{transform:perspective(900px) rotateX(8deg) scale(1.02)}
  75%{transform:perspective(900px) rotateX(-3deg) scale(0.98)}
  100%{transform:perspective(900px) rotateX(0deg) scale(1);opacity:1}
}
.modal-poster-wrap { display:flex; justify-content:center; padding:16px 16px 0; flex-shrink:0; }
.modal-poster-wrap img { max-height:240px; width:auto; max-width:100%; object-fit:contain; border-radius:8px; filter:drop-shadow(0 8px 24px rgba(0,0,0,.5)); }
.modal-header { padding:24px 44px 20px; border-bottom:1px solid var(--border); flex-shrink:0; }
.modal-ep { font-family:var(--fm); font-size:.52rem; color:var(--gold); letter-spacing:3px; text-transform:uppercase; margin-bottom:14px; opacity:.7; }
.modal-header h3 { font-family:var(--fd); font-size:clamp(1.35rem,3vw,2rem); line-height:1.12; letter-spacing:.5px; margin-bottom:10px; }
.modal-film { display:flex; align-items:center; gap:6px; font-family:var(--fm); font-size:.58rem; color:var(--gold); letter-spacing:2px; }
.modal-film span:first-child { font-size:.38rem; }
.modal-meta { font-family:var(--fm); font-size:.54rem; color:var(--gray2); letter-spacing:2px; text-transform:uppercase; margin-top:6px; }
.modal-body { flex:1; overflow-y:auto; padding:28px 44px 32px; font-family:var(--fb); font-size:.9rem; color:var(--gray); line-height:1.95; border-left:2px solid var(--gold); margin-left:44px; scrollbar-width:thin; scrollbar-color:var(--gold) var(--border); }
.modal-body::-webkit-scrollbar { width:5px; }
.modal-body::-webkit-scrollbar-track { background:var(--border); }
.modal-body::-webkit-scrollbar-thumb { background:var(--gold); border-radius:3px; }
.modal-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; flex-shrink:0; padding:20px 44px 30px; border-top:1px solid var(--border); }
.btn-close { margin-left:auto; font-family:var(--fm); font-size:.6rem; letter-spacing:2px; text-transform:uppercase; color:var(--gray2); background:none; border:none; padding:10px 8px; cursor:pointer; transition:color .2s; }
.btn-close:hover { color:var(--white); }
.modal-filmbar { position:absolute; top:0; left:0; right:0; height:3px; background:var(--film); pointer-events:none; }

/* ===== VIDEO FALLBACK BACKGROUNDS ===== */
.vid-bg { background:linear-gradient(135deg,#0a0a0a 0%,#1a1a1a 50%,#0d0d0d 100%); }
.vid-bg::after { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 80% 60% at 50% 50%,rgba(245,197,24,.03) 0%,transparent 70%); pointer-events:none; }

/* ===== EPISODES BADGE FIX ===== */
.ep-badge { position:absolute; right:10px; top:10px; background:linear-gradient(135deg,var(--gold),#d4a008); color:var(--bg); font-family:var(--fm); font-size:.42rem; letter-spacing:1.5px; padding:4px 9px; font-weight:600; box-shadow:0 2px 12px rgba(245,197,24,.3); z-index:4; border-radius:2px; }
.ep-film-overlay { position:absolute; bottom:0; left:0; right:0; padding:16px 14px 10px; z-index:3; pointer-events:none; }
.ep-film-title { font-family:var(--fd); font-size:clamp(.85rem,2.2vw,1.05rem); color:#fff; line-height:1.15; letter-spacing:.8px; text-shadow:0 2px 12px rgba(0,0,0,.95),0 1px 3px rgba(0,0,0,.8); }
.ep-film-year { font-family:var(--fm); font-size:.45rem; color:rgba(245,197,24,.9); letter-spacing:2.5px; margin-top:2px; }

/* ===== EXPANDING CARD CLOSE BUTTON ===== */
.ep-exp-close { position:absolute; top:14px; right:18px; background:rgba(255,255,255,.08); border:none; color:var(--white); font-size:1.4rem; width:36px; height:36px; border-radius:50%; cursor:pointer; z-index:10; display:flex; align-items:center; justify-content:center; transition:all .2s; line-height:1; }
.ep-exp-close:hover { background:rgba(255,255,255,.18); transform:scale(1.1) rotate(90deg); }
.ep-expanded { position:relative; }

/* ===== PLAYER IFRAME RESPONSIVE ===== */
#player iframe { border-radius:12px; overflow:hidden; }
@media(max-width:600px) { #player iframe { height:300px; } }

/* ===== CONTACT FORM STATUS ===== */
.form-status { font-family:var(--fm); font-size:.65rem; letter-spacing:1px; margin-top:10px; min-height:18px; transition:all .3s; }
.form-status.success { color:#00B4CC; }
.form-status.error { color:#C0392B; }

/* ===== IMPROVED REVEAL TRANSITIONS ===== */
.rv { opacity:0; transform:translateY(24px); transition:opacity .9s cubic-bezier(.16,1,.3,1), transform .9s cubic-bezier(.16,1,.3,1) !important; }
.rv.revealed { opacity:1 !important; transform:translateY(0) !important; }

/* ===== ENHANCED BUTTON HOVER ===== */
.btn-gold { position:relative; overflow:hidden; }
.btn-gold::before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent); transform:translateX(-100%); transition:transform .5s; }
.btn-gold:hover::before { transform:translateX(100%); }

/* ===== NAV ENHANCEMENTS ===== */
#navbar { transition:background .4s, backdrop-filter .4s, border-color .4s, box-shadow .4s; }
#navbar.scrolled { background:linear-gradient(180deg,rgba(10,9,8,.92) 0%,rgba(6,5,5,.85) 100%) !important; }

/* ===== FILMSTRIP DRAG CURSOR ===== */
.fs-scroll.dragging { cursor:grabbing !important; }
.fs-scroll.dragging * { cursor:grabbing !important; }

/* ===== BETTER FOCUS STATES ===== */
*:focus-visible { outline:2px solid var(--gold); outline-offset:3px; border-radius:3px; }
.fc-card:focus-visible, .ep-card:focus-visible, .exp-card:focus-visible { outline:2px solid var(--gold); outline-offset:4px; }

/* ===== SOCIAL ICONS HOVER ANIMATION ===== */
.social-a .social-icon { transition:transform .3s cubic-bezier(.2,.8,.2,1); }
.social-a:hover .social-icon { transform:scale(1.2) rotate(-5deg); }

/* ===== MARQUEE PAUSE ON HOVER ===== */
.marquee-inner { transition:animation-play-state .3s; }

/* ===== EPI CARD MORE POLISH ===== */
.ep-card { border-radius:4px; }
.ep-card::after { content:''; position:absolute; inset:0; border:1px solid transparent; border-radius:4px; transition:border-color .3s; pointer-events:none; }
.ep-card:hover::after { border-color:rgba(245,197,24,.15); }

/* ===== LOADER POLISH ===== */
.loader-skip { transition:all .3s, opacity .5s !important; }
.loader-skip:hover { background:rgba(255,255,255,.14) !important; color:rgba(255,255,255,.9) !important; transform:translateY(-2px); }

/* ===== CONTACT INPUT AUTOFILL POLISH ===== */
.form-group input:focus, .form-group textarea:focus { box-shadow:0 0 0 2px rgba(245,197,24,.15); }

/* ===== VIDEO BACKGROUND FALLBACK OVERLAY ===== */
.vid-bg-fallback { position:absolute; inset:0; z-index:0; pointer-events:none; }

/* ===== RESPONSIVE ===== */
@media(max-width:900px) {
  .nav-links, .nav-cta { display:none; }
  .nav-burger { display:flex; }
  .hero-right { display:none; }
  .about-inner { grid-template-columns:1fr; }
  .contact-inner { grid-template-columns:1fr; }
  .ep-grid { grid-template-columns:1fr; }
  .ep-card:first-child { grid-column:span 1; }
  .fc-card { width:240px; }
}



/* ===== SKIP TO CONTENT (accessibility) ===== */
.skip-to-content {
  position:fixed;
  top:-100%;
  left:16px;
  z-index:99999;
  background:var(--gold);
  color:var(--bg);
  font-family:var(--fm);
  font-size:.6rem;
  letter-spacing:2px;
  text-transform:uppercase;
  padding:10px 18px;
  clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%);
  transition:top .3s;
  text-decoration:none;
}
.skip-to-content:focus {
  top:16px;
  outline:3px solid var(--cyan);
  outline-offset:2px;
}
