:root{--bg:#faf8f3;--bg2:#f1ece0;--panel:#ffffff;--line:#e7e0cf;--line-strong:#d3c9ac;--text:#1c1a15;--muted:#524c3f;--dim:#665d4d;--gold:#845a18;--gold2:#6f4a13;--gold-bright:#c8a96e;--gold-bright2:#d4b87a}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',system-ui,sans-serif}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}

/* header */
.site-header{height:68px;position:sticky;top:0;z-index:50;background:rgba(250,248,243,.94);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 2rem;backdrop-filter:blur(10px)}
.brand{font-family:'Bebas Neue';font-size:39px;letter-spacing:3px;line-height:1}
.brand em,.footer-logo em,h1 em,h2 em{font-style:italic;color:var(--gold)}
.brand img{max-height:42px;width:auto}
.main-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:1.6rem}
.main-nav a{font-size:14px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}
.main-nav a:hover{color:var(--gold)}
.header-actions{display:flex;align-items:center;gap:1rem}
.signin{font-size:14px;color:var(--muted);letter-spacing:1px}
.nav-cta,.btn-gold{display:inline-flex;align-items:center;justify-content:center;background:var(--gold);color:#0d0d0b!important;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:13px 24px;border:0;cursor:pointer}
.nav-cta{padding:9px 18px}
.btn-gold:hover,.nav-cta:hover{background:var(--gold2)}
.btn-ghost,.plan-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line-strong);color:var(--muted)!important;background:transparent;font-size:13px;letter-spacing:2px;text-transform:uppercase;padding:13px 24px}
.btn-ghost:hover,.plan-btn:hover{border-color:var(--gold);color:var(--gold)!important}
.btn-row{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.mobile-toggle{display:none;background:none;border:1px solid var(--line-strong);color:var(--gold);padding:8px 10px}

/* hero (video/image backed - stays dark for legibility over media) */
.hero{min-height:640px;background:#080807 center/cover no-repeat;position:relative;display:flex;align-items:flex-end;overflow:hidden}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hero:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 72% 45%,rgba(200,169,110,.09),transparent 45%)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,13,11,.96) 0%,rgba(13,13,11,.78) 42%,rgba(13,13,11,.25) 100%),linear-gradient(0deg,rgba(13,13,11,.95),transparent 55%)}
.hero-content{position:relative;z-index:2;max-width:680px;padding:0 2.5rem 4rem}
.hero-content h1{color:#f5f2ea}
.hero-content p{color:#d7d1c2}
.hero .eyebrow{color:var(--gold-bright)}
.hero .eyebrow.line:before{background:var(--gold-bright)}
.hero-content .btn-ghost{border-color:rgba(240,237,230,.35);color:#f0ede6!important}
.hero-content .btn-ghost:hover{border-color:var(--gold-bright);color:var(--gold-bright)!important}
.eyebrow{font-size:13px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:.7rem}
.eyebrow.line{display:flex;align-items:center;gap:10px}
.eyebrow.line:before{content:'';width:28px;height:1px;background:var(--gold)}
h1,h2,h3{font-family:'DM Serif Display',serif;font-weight:400;margin:0}
h1{font-size:78px;line-height:1.02;margin-bottom:1rem}
h2{font-size:42px;line-height:1.15}
h3{font-size:23px;line-height:1.2}
.hero p{font-size:20px;line-height:1.7;color:#d7d1c2;max-width:500px;margin:0 0 1.75rem}
.sub-hero p,.archive-hero p,.dashboard-hero p{font-size:20px;line-height:1.7;color:var(--muted);max-width:500px;margin:0 0 1.75rem}

/* sections */
.section{padding:3rem 2rem}
.section-dark{background:var(--bg2)}
.section-head{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--line);padding-bottom:1rem;margin-bottom:1.5rem}
.section-head h2{font-family:'Bebas Neue';font-size:31px;letter-spacing:3px}
.section-head a{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--gold)}

/* episode cards - thumbnail area stays dark like a video screen */
.episode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line)}
.episode-card{background:var(--bg);display:flex;flex-direction:column;min-height:100%;position:relative}
.episode-card.locked:before{content:'LOCKED';position:absolute;top:10px;left:10px;z-index:3;background:#111;color:var(--gold-bright);border:1px solid var(--gold-bright);font-size:10px;letter-spacing:2px;padding:3px 8px}
.episode-thumb{height:210px;background:#111;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.episode-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.episode-card:hover img{transform:scale(1.04)}
.thumb-placeholder{font-family:'Bebas Neue';font-size:36px;letter-spacing:4px;color:#8a8070}
.play-badge{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(13,13,11,.35);color:var(--gold-bright);font-size:36px}
.episode-body{padding:1.25rem;display:flex;flex-direction:column;gap:.4rem;flex:1}
.episode-body p{font-size:16px;line-height:1.55;color:var(--muted);margin:.2rem 0}
.episode-meta{margin-top:auto;padding-top:.8rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:13px;text-transform:uppercase;letter-spacing:1px;color:var(--dim)}

/* split / device mockup */
.split-section{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center;background:var(--bg2)}
.split-section p,.prose p{color:var(--muted);line-height:1.7}
.device-card{border:1px solid #1e1d19;background:#080807;padding:1.25rem;box-shadow:0 0 60px rgba(200,169,110,.06)}
.screen{min-height:260px;border:1px solid #1e1d19;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,rgba(200,169,110,.08),#0d0d0b 62%)}
.screen span{font-family:'Bebas Neue';font-size:57px;letter-spacing:5px;color:var(--gold-bright)}
.screen small{color:#999;letter-spacing:2px;text-transform:uppercase}

/* pricing / newsletter strips */
.pricing-strip{display:flex;align-items:center;justify-content:space-between;gap:2rem;background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.newsletter{display:flex;align-items:center;justify-content:space-between;gap:2rem;background:var(--bg2)}
.newsletter form{display:flex}
.newsletter input{background:#fff;border:1px solid var(--line-strong);border-right:0;color:var(--text);padding:14px 16px;min-width:280px}
.newsletter button{background:var(--gold);border:0;padding:0 22px;text-transform:uppercase;font-size:13px;font-weight:700;letter-spacing:2px}

/* page header bands */
.sub-hero,.archive-hero,.dashboard-hero{background:var(--bg2);border-bottom:1px solid var(--line);padding:4rem 2rem;text-align:center}
.dashboard-hero{text-align:left;display:flex;justify-content:space-between;gap:2rem;align-items:end}
.sub-hero h1,.archive-hero h1,.dashboard-hero h1{font-size:68px}
.sub-hero p,.archive-hero p{margin-left:auto;margin-right:auto}

/* plans */
.plans-section{padding:3rem 2rem}
.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line);max-width:1100px;margin:0 auto}
.plan-card{background:var(--bg);padding:2rem 1.75rem}
.plan-card.featured{background:var(--panel);border-top:3px solid var(--gold)}
.badge{display:inline-block;background:var(--gold);color:#0d0d0b;font-size:12px;letter-spacing:2px;text-transform:uppercase;font-weight:700;padding:3px 10px;margin-bottom:1rem}
.plan-name{font-size:14px;letter-spacing:3px;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem}
.plan-price{font-family:'Bebas Neue';font-size:68px;color:var(--text);line-height:1}
.plan-card p{font-size:17px;color:var(--muted);line-height:1.6}
.plan-card ul{list-style:none;margin:1.25rem 0;padding:0}
.plan-card li{font-size:16px;color:var(--muted);padding:.45rem 0;border-bottom:1px solid var(--line)}
.plan-card li:before{content:'✓';color:var(--gold);margin-right:8px}
.plan-btn{width:100%;margin-top:.5rem}
.featured-btn{background:var(--gold);border-color:var(--gold);color:#0d0d0b!important;font-weight:700}
.plan-btn.subtle{border-color:var(--line);color:var(--muted)!important}
.compare{max-width:950px;margin:0 auto 3rem;padding:0 2rem}
.compare h2{font-family:'Bebas Neue';letter-spacing:3px;font-size:29px;color:var(--muted);margin-bottom:1rem}
.compare-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2px;background:var(--line)}
.compare-row span{background:var(--bg);padding:.8rem 1rem;text-align:center;color:var(--muted);font-size:16px}
.compare-row span:first-child{text-align:left;color:var(--text)}
.compare-row.head span{background:var(--panel);color:var(--gold);font-size:13px;text-transform:uppercase;letter-spacing:2px}

/* auth */
.auth-page{min-height:calc(100vh - 68px);display:flex;align-items:center;padding:4rem 2rem;background:radial-gradient(ellipse at 70% 35%,rgba(200,169,110,.08),transparent 45%),var(--bg)}
.auth-wrap{display:grid;grid-template-columns:1fr 420px;gap:4rem;max-width:1050px;margin:0 auto;align-items:center}
.auth-wrap h1{font-size:62px}
.auth-wrap p,.login-card p{color:var(--muted);line-height:1.65}
.login-card{background:var(--panel);border:1px solid var(--line);padding:2rem}
.login-card label{display:block;font-size:14px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin:.8rem 0 .3rem}
.login-card input[type=text],.login-card input[type=password]{width:100%;background:var(--bg);border:1px solid var(--line-strong);color:var(--text);padding:12px}
.login-card input[type=submit]{width:100%;margin-top:1rem;background:var(--gold);border:0;color:#0d0d0b;padding:13px;text-transform:uppercase;font-size:13px;letter-spacing:2px;font-weight:700}

/* watch / episode player - frame stays dark like a screen */
.watch-hero{background:var(--bg2);border-bottom:1px solid var(--line);padding:4rem 2rem}
.watch-meta{max-width:900px;margin:auto}
.watch-section{padding:2rem;max-width:1100px;margin:0 auto}
.video-frame{background:#050504;border:1px solid #1e1d19;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;overflow:hidden}
.video-frame iframe,.video-frame video{width:100%;height:100%}
.video-placeholder{color:#999}
.paywall{background:var(--panel);border:1px solid var(--line);padding:2rem;margin:1rem 0}
.paywall p,.episode-content{color:var(--muted);line-height:1.7}
.episode-content{max-width:760px}

/* footer */
.site-footer{background:var(--bg2);border-top:1px solid var(--line);padding:3rem 2rem 1.5rem}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem}
.footer-logo{font-family:'Bebas Neue';font-size:36px;letter-spacing:3px}
.site-footer p,.site-footer a{display:block;color:var(--muted);font-size:16px;line-height:1.7;margin:.35rem 0}
.site-footer a:hover{color:var(--gold)}
.site-footer h4{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--dim)}
.footer-bottom{border-top:1px solid var(--line);margin-top:2rem;padding-top:1rem;color:var(--dim);font-size:14px}

.prose{max-width:860px;margin:auto}
.price{font-family:'Bebas Neue';font-size:31px;color:var(--gold)}
.hero-compact{min-height:460px}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;background:var(--bg);padding:4rem 2rem;position:relative}
.contact-grid:before{content:'';position:absolute;top:4rem;bottom:4rem;left:50%;width:1px;background:var(--line)}
.contact-col .underline{width:28px;height:2px;background:var(--gold);margin:1rem 0 2rem}
.contact-item{display:flex;gap:1rem;margin-bottom:1.5rem}
.contact-item .icon{width:40px;height:40px;flex:0 0 40px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:21px;background:var(--panel)}
.contact-item h4{font-size:17px;margin:0 0 .25rem;color:var(--text);font-weight:600}
.contact-item p{color:var(--muted);font-size:17px;margin:0;line-height:1.6}
.help-box{margin-top:.5rem;border:1px solid var(--line);background:var(--panel);padding:1.25rem;display:flex;gap:1rem;align-items:flex-start}
.help-box .icon{background:var(--bg2)}
.help-box strong{color:var(--gold);display:block;font-size:17px;margin-bottom:.35rem}
.help-box p{color:var(--muted);font-size:16px;line-height:1.6;margin:0 0 .6rem}
.help-box a{color:var(--gold);font-size:14px;letter-spacing:1px;text-transform:uppercase}
.contact-form input,.contact-form textarea{width:100%;background:var(--panel);border:1px solid var(--line-strong);color:var(--text);padding:14px 16px;margin-bottom:1rem;font-family:inherit;font-size:17px}
.contact-form textarea{min-height:130px;resize:vertical}
.btn-send{width:100%;background:var(--gold);border:0;color:#0d0d0b;padding:16px;text-transform:uppercase;font-size:14px;letter-spacing:2px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}
.btn-send:hover{background:var(--gold2)}
.form-note{font-size:14px;color:var(--dim);margin-top:.85rem;display:flex;align-items:center;gap:6px}
.faq-section{padding:4rem 2rem;text-align:center;background:var(--bg2);border-top:1px solid var(--line)}
.faq-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;max-width:1100px;margin:2rem auto}
.faq-item{border:1px solid var(--line);padding:1rem 1.25rem;display:flex;justify-content:space-between;align-items:center;color:var(--text);font-size:17px;text-align:left}
.faq-item span{color:var(--gold);font-size:21px}

/* episode nav */
.episode-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:2rem;padding-top:1.75rem;border-top:1px solid var(--line)}
.episode-nav__link{display:flex;align-items:center;gap:1.1rem;color:var(--muted);max-width:48%;padding:.6rem 0}
.episode-nav__link:hover{color:var(--gold)}
.episode-nav__prev{text-align:left}
.episode-nav__next{margin-left:auto;text-align:right;flex-direction:row-reverse}
.episode-nav__arrow{font-size:42px;color:var(--gold);flex:0 0 auto}
.episode-nav__text{display:flex;flex-direction:column;gap:.3rem;overflow:hidden;font-size:23px;color:var(--text);white-space:nowrap;text-overflow:ellipsis}
.episode-nav__label{font-size:16px;letter-spacing:2px;text-transform:uppercase;color:var(--dim)}

@media(max-width:900px){.main-nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--panel);border-bottom:1px solid var(--line);padding:1rem 2rem}.main-nav.open{display:block}.main-nav ul{display:flex;flex-direction:column}.mobile-toggle{display:block}.header-actions{display:none}.hero{min-height:520px}.hero-content{padding:0 1.5rem 3rem}h1{font-size:55px}.episode-grid,.plans-grid,.split-section,.auth-wrap,.footer-grid{grid-template-columns:1fr}.pricing-strip,.newsletter,.dashboard-hero{flex-direction:column;align-items:flex-start}.sub-hero h1,.archive-hero h1,.dashboard-hero h1{font-size:47px}.compare{overflow-x:auto}.compare-row{min-width:640px}.newsletter form{width:100%;flex-direction:column}.newsletter input{min-width:0;width:100%;border-right:1px solid var(--line-strong)}.newsletter button{padding:14px}.site-header{padding:0 1rem}.footer-grid{gap:1rem}}
@media(max-width:520px){.btn-row{flex-direction:column;align-items:stretch}.btn-gold,.btn-ghost{width:100%}.section,.plans-section,.watch-section{padding:2rem 1rem}.episode-thumb{height:180px}.hero-content{padding-left:1rem;padding-right:1rem}.sub-hero,.archive-hero,.dashboard-hero{padding:3rem 1rem}.auth-page{padding:2rem 1rem}.plan-price{font-size:55px}.episode-nav{flex-direction:column;gap:1.25rem}.episode-nav__link,.episode-nav__next{max-width:100%;margin-left:0;text-align:left;flex-direction:row}.episode-nav__next{text-align:left}.episode-nav__text{white-space:normal}}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;gap:2.5rem}.contact-grid:before{display:none}.faq-row{grid-template-columns:1fr}}
