:root {
  --gold: #E8B84B; --deep-gold: #C49A35; --coral: #D94F6B; --crimson: #C0395B;
  --dark: #1A1208; --dark-warm: #261C0D; --ink: #0E0A04;
  --cream: #FAF3E4; --muted: rgba(250,243,228,0.5);
  --border: rgba(232,184,75,0.2); --border-s: rgba(232,184,75,0.4);
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:var(--dark); color:var(--cream); font-family:'Barlow',sans-serif; overflow-x:hidden; }
body::after {
  content:''; position:fixed; inset:0; pointer-events:none; z-index:9999; opacity:.4;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
}

/* NAV */
nav { position:fixed; top:0; width:100%; z-index:500; padding:1.15rem 3rem; display:flex; align-items:center; justify-content:space-between; transition:all .35s; }
nav.scrolled { background:rgba(14,10,4,.97); backdrop-filter:blur(20px); border-bottom:1px solid var(--border); }
.nav-logo { display:flex; align-items:center; gap:.7rem; text-decoration:none; }
.nav-logo svg { width:32px; height:32px; }
.nav-logo-text { font-family:'Playfair Display',serif; font-size:1.15rem; font-weight:700; color:var(--gold); letter-spacing:.04em; }
.nav-links { display:flex; gap:2.2rem; list-style:none; }
.nav-links a { text-decoration:none; color:rgba(250,243,228,.62); font-size:.73rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase; transition:color .2s; position:relative; padding-bottom:3px; }
.nav-links a::after { content:''; position:absolute; bottom:0; left:0; width:0; height:1px; background:var(--gold); transition:width .25s; }
.nav-links a:hover, .nav-links a.active { color:var(--gold); }
.nav-links a:hover::after, .nav-links a.active::after { width:100%; }
.nav-cta { background:transparent; border:1px solid var(--coral); color:var(--coral); padding:.42rem 1rem; font-family:'Barlow',sans-serif; font-size:.7rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; text-decoration:none; transition:all .25s; }
.nav-cta:hover { background:var(--coral); color:var(--dark); }

/* TICKER */
.ticker { background:var(--coral); padding:.48rem 0; overflow:hidden; }
.ticker-track { display:flex; gap:0; animation:tickerScroll 30s linear infinite; width:max-content; }
@keyframes tickerScroll { from{transform:translateX(0)} to{transform:translateX(-50%)} }
.ticker-item { display:flex; align-items:center; gap:1.2rem; white-space:nowrap; font-size:.66rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--dark); padding:0 2rem; }
.ticker-dot { width:4px; height:4px; background:var(--dark); border-radius:50%; flex-shrink:0; }

/* PAGE HERO */
.page-hero { padding:11rem 3rem 5rem; background:linear-gradient(160deg, var(--ink) 0%, var(--dark-warm) 100%); position:relative; overflow:hidden; }
.page-hero::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 70% 50% at 50% 30%, rgba(232,184,75,.07) 0%, transparent 70%); }
.page-hero-inner { max-width:1200px; margin:0 auto; position:relative; }
.page-hero-label { font-size:.63rem; letter-spacing:.32em; text-transform:uppercase; color:var(--coral); margin-bottom:.8rem; font-weight:600; }
.page-hero-title { font-family:'Playfair Display',serif; font-size:clamp(2.8rem,6vw,5.2rem); font-weight:900; color:var(--gold); line-height:.95; }
.page-hero-title em { color:var(--cream); font-style:italic; }
.page-hero-sub { font-family:'Libre Baskerville',serif; font-style:italic; font-size:1rem; color:var(--muted); max-width:540px; line-height:1.7; margin-top:1.1rem; }

/* SECTION */
.section { padding:6rem 3rem; }
.section-inner { max-width:1200px; margin:0 auto; }
.section-label { font-size:.63rem; letter-spacing:.3em; text-transform:uppercase; color:var(--coral); font-weight:600; margin-bottom:.8rem; display:flex; align-items:center; gap:.9rem; }
.section-label::after { content:''; height:1px; width:34px; background:var(--coral); display:block; }
.section-title { font-family:'Playfair Display',serif; font-size:clamp(1.9rem,3.5vw,2.8rem); font-weight:700; color:var(--cream); line-height:1.1; margin-bottom:1rem; }
.section-title em { color:var(--gold); font-style:italic; }

/* BUTTONS */
.btn-primary { background:var(--coral); color:var(--dark); padding:.78rem 1.9rem; font-family:'Barlow',sans-serif; font-weight:700; font-size:.74rem; letter-spacing:.12em; text-transform:uppercase; text-decoration:none; border:none; cursor:pointer; transition:all .25s; display:inline-block; }
.btn-primary:hover { background:var(--crimson); transform:translateY(-2px); }
.btn-outline { background:transparent; color:var(--gold); padding:.72rem 1.6rem; font-family:'Barlow',sans-serif; font-weight:600; font-size:.74rem; letter-spacing:.12em; text-transform:uppercase; text-decoration:none; border:1px solid var(--gold); cursor:pointer; transition:all .25s; display:inline-block; }
.btn-outline:hover { background:var(--gold); color:var(--dark); }

/* CARDS */
.article-card { position:relative; overflow:hidden; cursor:pointer; display:block; text-decoration:none; }
.article-card:hover .card-img { transform:scale(1.05); }
.card-img-wrap { overflow:hidden; width:100%; height:100%; }
.card-img { width:100%; height:100%; object-fit:cover; transition:transform .55s ease; filter:saturate(.75) sepia(.12); }
.card-gradient { position:absolute; inset:0; background:linear-gradient(to top, rgba(14,10,4,.96) 0%, rgba(14,10,4,.35) 55%, transparent 100%); }
.card-body { position:absolute; bottom:0; left:0; right:0; padding:1.6rem; }
.card-cat { font-size:.58rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); margin-bottom:.45rem; }
.card-title { font-family:'Playfair Display',serif; font-weight:700; line-height:1.25; color:var(--cream); }
.card-meta { font-size:.62rem; color:rgba(250,243,228,.36); margin-top:.55rem; }

/* ARTICLE ROW */
.article-row { display:grid; grid-template-columns:64px 1fr auto; gap:1.4rem; align-items:center; padding:1.4rem 0; border-bottom:1px solid var(--border); text-decoration:none; color:inherit; transition:all .25s; }
.article-row:hover { padding-left:.4rem; }
.article-row:hover .ar-title { color:var(--gold); }
.article-row:hover .ar-arrow { color:var(--gold); transform:translateX(4px); }
.ar-num { font-family:'Playfair Display',serif; font-size:2rem; font-weight:700; color:rgba(232,184,75,.18); line-height:1; }
.ar-cat { font-size:.58rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--coral); margin-bottom:.3rem; }
.ar-title { font-family:'Playfair Display',serif; font-size:1.05rem; font-weight:700; color:var(--cream); line-height:1.3; transition:color .2s; }
.ar-meta { font-size:.65rem; color:rgba(250,243,228,.33); margin-top:.25rem; }
.ar-arrow { color:rgba(250,243,228,.18); font-size:1.1rem; transition:all .2s; }

/* FILM HOLES DECO */
.film-holes { position:absolute; right:2rem; top:0; bottom:0; display:flex; flex-direction:column; gap:6px; justify-content:flex-start; padding-top:2rem; opacity:.06; pointer-events:none; }
.film-hole { width:28px; height:20px; border:2px solid var(--gold); border-radius:3px; }

/* FADE */
.fade-up { opacity:0; transform:translateY(26px); transition:opacity .6s ease, transform .6s ease; }
.fade-up.visible { opacity:1; transform:translateY(0); }

/* FOOTER */
footer { background:var(--ink); padding:5rem 3rem 2.5rem; border-top:1px solid var(--border); }
.footer-inner { max-width:1200px; margin:0 auto; }
.footer-top { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:4rem; margin-bottom:4rem; }
.footer-brand-name { font-family:'Playfair Display',serif; font-size:1.45rem; font-weight:900; color:var(--gold); margin-bottom:.65rem; }
.footer-desc { font-size:.79rem; color:rgba(250,243,228,.36); line-height:1.75; max-width:270px; margin-bottom:1.4rem; }
.footer-socials { display:flex; gap:.75rem; }
.social-link { width:32px; height:32px; border:1px solid rgba(232,184,75,.2); display:flex; align-items:center; justify-content:center; font-size:.68rem; color:rgba(250,243,228,.42); text-decoration:none; font-weight:700; transition:all .2s; }
.social-link:hover { border-color:var(--gold); color:var(--gold); }
.footer-col-title { font-size:.6rem; letter-spacing:.22em; text-transform:uppercase; color:var(--coral); font-weight:600; margin-bottom:1rem; }
.footer-links { list-style:none; display:flex; flex-direction:column; gap:.5rem; }
.footer-links a { text-decoration:none; color:rgba(250,243,228,.4); font-size:.8rem; transition:color .2s; }
.footer-links a:hover { color:var(--gold); }
.footer-bottom { border-top:1px solid var(--border); padding-top:1.7rem; display:flex; justify-content:space-between; align-items:center; }
.footer-copy { font-size:.67rem; color:rgba(250,243,228,.2); }
.footer-copy a { color:inherit; }
.footer-tagline { font-family:'Playfair Display',serif; font-style:italic; font-size:.78rem; color:rgba(232,184,75,.36); }

@media(max-width:900px){
  nav { padding:1rem 1.5rem; }
  .nav-links { display:none; }
  .section { padding:4rem 1.5rem; }
  .footer-top { grid-template-columns:1fr 1fr; gap:2rem; }
  .page-hero { padding:8.5rem 1.5rem 3.5rem; }
}
