/* ════════════════════════════════════════════════════════════
   site-core.css — shared base for every BLISS content page
   (home + episodes). Page-specific layout lives in home.css /
   episode.css. Mobile + component overrides stay in site.css,
   which must load AFTER this file.
   ════════════════════════════════════════════════════════════ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --pink:#FF5FAE;--pink-dim:rgba(255,95,174,0.15);--pink-glow:rgba(255,95,174,0.07);
  --purple:rgba(155,89,255,0.5);
  --dark:#111111;--dark-2:#181818;--dark-3:#1E1E1E;--dark-4:#252525;
  --white:#FFFFFF;--white-dim:rgba(255,255,255,0.55);
  --nav-h:60px;
}
html{scroll-behavior:smooth;}
body{background:var(--dark);color:var(--white);font-family:'Space Grotesk',sans-serif;font-weight:400;line-height:1.7;overflow-x:hidden;}
::-webkit-scrollbar{width:4px;}::-webkit-scrollbar-track{background:var(--dark);}::-webkit-scrollbar-thumb{background:var(--pink-dim);border-radius:2px;}

/* ── Navigation ── */
nav{position:fixed;top:0;left:0;right:0;height:var(--nav-h);background:rgba(17,17,17,0.97);border-bottom:1px solid rgba(255,95,174,0.1);z-index:100;display:flex;align-items:center;padding:0 28px;}
.nav-brand{display:flex;flex-direction:column;line-height:1;text-decoration:none;flex-shrink:0;margin-right:28px;}
.nav-brand-zh{font-size:17px;font-weight:500;color:var(--pink);letter-spacing:0.1em;}
.nav-brand-en{font-family:'Bebas Neue',sans-serif;font-size:10px;letter-spacing:0.24em;color:rgba(255,255,255,0.3);}
.nav-episodes{display:flex;overflow-x:auto;flex:1;scrollbar-width:none;}
.nav-episodes::-webkit-scrollbar{display:none;}
.nav-ep{font-family:'Bebas Neue',sans-serif;font-size:12px;letter-spacing:0.14em;color:rgba(255,255,255,0.28);padding:6px 14px;text-decoration:none;white-space:nowrap;border-bottom:2px solid transparent;transition:all 0.25s;flex-shrink:0;}
.nav-ep:hover{color:var(--pink);border-bottom-color:var(--pink);}
.nav-right{flex-shrink:0;margin-left:16px;}
.lang-switch{font-family:'Bebas Neue',sans-serif;font-size:12px;letter-spacing:0.16em;color:rgba(255,255,255,0.4);text-decoration:none;padding:4px 10px;border:1px solid rgba(255,255,255,0.1);transition:all 0.25s;}
.lang-switch:hover{border-color:var(--pink);color:var(--pink);}

/* ── Section scaffold ── */
.section{padding:88px 48px;max-width:1280px;margin:0 auto;}
@media(max-width:700px){.section{padding:56px 24px;}}
.section-label{font-family:'Bebas Neue',sans-serif;font-size:11px;letter-spacing:0.35em;color:var(--pink);margin-bottom:36px;display:flex;align-items:center;gap:14px;}
.section-label::after{content:'';flex:1;max-width:44px;height:1px;background:var(--pink-dim);}

/* ── Footer ── */
footer{background:var(--dark);border-top:1px solid rgba(255,255,255,0.04);padding:20px 48px;text-align:center;}
.footer-line{font-size:10px;letter-spacing:0.18em;color:rgba(255,255,255,0.1);text-transform:uppercase;}

/* ── Scroll-reveal animation ── */
.reveal{opacity:0;transform:translateY(20px);transition:opacity 0.7s ease,transform 0.7s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
