@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;0,700;1,400;1,600&family=Outfit:wght@300;400;500;600&display=swap');

:root {
  --cream:#FBF8F3; --ink:#120E08; --gold:#B8843F; --gold-light:#F5EAD8;
  --c-children:#2E6B45; --c-children-bg:#E8F5EE; --c-children-mid:#4A9462;
  --c-social:#1D5C8A; --c-social-bg:#E4F0FA; --c-social-mid:#2E7EC4;
  --c-comic:#C25E0A; --c-comic-bg:#FDF0E4; --c-comic-mid:#E07A2A;
  --c-horror:#4A1020; --c-horror-bg:#F5E8EC; --c-horror-mid:#8B2040;
  --border:#E8E2D8; --muted:#8A7D6E;
  --font-display:'Cormorant Garamond',serif;
  --font-body:'Outfit',sans-serif;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-body);background:var(--cream);color:var(--ink);overflow-x:hidden;font-size:16px;line-height:1.6;}
img{max-width:100%;height:auto;display:block;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
button{cursor:pointer;font-family:var(--font-body);}

/* NAV */
#site-nav{position:fixed;top:0;width:100%;z-index:500;background:rgba(251,248,243,0.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);height:62px;display:flex;align-items:center;padding:0 5%;gap:2rem;}
.nav-logo{font-family:var(--font-display);font-size:1.55rem;font-weight:700;color:var(--ink);}
.nav-logo span{color:var(--gold);}
#site-nav .nav-menu{display:flex;gap:1.5rem;align-items:center;margin-left:auto;}
#site-nav .nav-menu a{font-size:.83rem;font-weight:500;color:var(--muted);letter-spacing:.3px;transition:color .2s;}
#site-nav .nav-menu a:hover,#site-nav .nav-menu a.current-menu-item{color:var(--ink);}
.nav-hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;margin-left:auto;padding:4px;}
.nav-hamburger span{display:block;width:24px;height:2px;background:var(--ink);border-radius:2px;transition:all .3s;}
.admin-bar #site-nav{top:32px;}

/* HERO */
.hero-section{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 5% 60px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 70% 30%,rgba(184,132,63,.08) 0%,transparent 60%),radial-gradient(ellipse at 20% 80%,rgba(46,107,69,.06) 0%,transparent 50%),var(--cream);}
.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;background:var(--gold-light);color:var(--gold);font-size:.72rem;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;padding:7px 18px;border-radius:100px;margin-bottom:2rem;animation:fadeUp .8s ease both;}
.hero-h1{font-family:var(--font-display);font-size:clamp(3.2rem,8vw,6.5rem);font-weight:700;line-height:1.07;letter-spacing:-1px;margin-bottom:1.8rem;animation:fadeUp .8s .1s ease both;}
.hero-h1 em{font-style:italic;color:var(--gold);}
.hero-sub{font-size:1.05rem;color:var(--muted);line-height:1.8;max-width:500px;margin:0 auto 2.8rem;font-weight:300;animation:fadeUp .8s .2s ease both;}
.hero-cta-row{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;animation:fadeUp .8s .3s ease both;}
.btn-gold{background:var(--gold);color:white;border:none;padding:14px 36px;border-radius:100px;font-size:.92rem;font-weight:600;transition:all .25s;letter-spacing:.3px;display:inline-block;font-family:var(--font-body);}
.btn-gold:hover{background:#9A6A28;transform:translateY(-2px);color:white;}
.btn-ghost{background:transparent;color:var(--ink);border:2px solid var(--ink);padding:13px 36px;border-radius:100px;font-size:.92rem;font-weight:600;transition:all .25s;display:inline-block;font-family:var(--font-body);}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold);}
.hero-scroll-indicator{margin-top:4rem;display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--muted);font-size:.72rem;letter-spacing:2px;text-transform:uppercase;animation:fadeUp .8s .5s ease both;}
.scroll-line{width:1px;height:56px;background:linear-gradient(to bottom,var(--gold),transparent);animation:scrollAnim 2s ease-in-out infinite;}

/* INFO STRIP */
.info-strip{background:var(--ink);padding:1.2rem 5%;display:flex;justify-content:center;gap:4rem;flex-wrap:wrap;}
.info-strip-item{text-align:center;padding:.4rem 0;}
.info-strip-num{font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--gold);display:block;}
.info-strip-label{font-size:.72rem;color:rgba(251,248,243,.55);letter-spacing:1px;text-transform:uppercase;}

/* SECTIONS OVERVIEW */
.sections-overview{padding:5rem 5%;}
.section-intro{text-align:center;margin-bottom:3.5rem;}
.eyebrow-text{font-size:.72rem;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:.6rem;}
.section-intro h2{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);font-weight:700;margin-bottom:.6rem;}
.section-intro p{color:var(--muted);font-weight:300;font-size:.95rem;}
.worlds-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;max-width:960px;margin:0 auto;}
.world-card{border-radius:22px;padding:2.5rem 2rem;cursor:pointer;transition:all .3s;position:relative;overflow:hidden;border:2px solid transparent;text-decoration:none;display:block;}
.world-card:hover{transform:translateY(-5px);}
.world-card.children{background:var(--c-children-bg);}
.world-card.children:hover{border-color:var(--c-children);}
.world-card.social{background:var(--c-social-bg);}
.world-card.social:hover{border-color:var(--c-social);}
.world-card.comic{background:var(--c-comic-bg);}
.world-card.comic:hover{border-color:var(--c-comic);}
.world-card.horror{background:var(--c-horror-bg);}
.world-card.horror:hover{border-color:var(--c-horror-mid);}
.world-icon{font-size:2.8rem;margin-bottom:1rem;display:block;}
.world-name{font-family:var(--font-display);font-size:1.8rem;font-weight:700;margin-bottom:.5rem;}
.world-card.children .world-name{color:var(--c-children);}
.world-card.social .world-name{color:var(--c-social);}
.world-card.comic .world-name{color:var(--c-comic);font-style:italic;}
.world-card.horror .world-name{color:var(--c-horror-mid);}
.world-desc{font-size:.88rem;color:var(--muted);line-height:1.7;margin-bottom:1.4rem;font-weight:300;}
.world-stats{display:flex;gap:1.5rem;margin-bottom:1.4rem;}
.world-stat{font-size:.78rem;font-weight:500;}
.world-stat strong{display:block;font-size:1.1rem;font-weight:700;}
.world-card.children .world-stat strong{color:var(--c-children);}
.world-card.social .world-stat strong{color:var(--c-social);}
.world-card.comic .world-stat strong{color:var(--c-comic);}
.world-card.horror .world-stat strong{color:var(--c-horror-mid);}
.world-enter-btn{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:600;padding:9px 22px;border-radius:100px;transition:all .2s;color:white;border:none;font-family:var(--font-body);}
.world-card.children .world-enter-btn{background:var(--c-children);}
.world-card.social .world-enter-btn{background:var(--c-social);}
.world-card.comic .world-enter-btn{background:var(--c-comic);}
.world-card.horror .world-enter-btn{background:var(--c-horror-mid);}

/* STORY CARDS */
.stories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;}
.story-card{border-radius:20px;overflow:hidden;cursor:pointer;transition:all .3s;}
.story-card:hover{transform:translateY(-5px);}
.story-card-media{height:190px;display:flex;align-items:center;justify-content:center;font-size:4.5rem;position:relative;overflow:hidden;}
.story-card-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}
.story-card-emoji{position:relative;z-index:1;}
.story-play-btn{position:absolute;bottom:12px;right:12px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;font-size:.9rem;z-index:2;box-shadow:0 2px 10px rgba(0,0,0,.15);}
.story-card-body{padding:1.2rem 1.4rem;}
.story-card-cat{font-size:.68rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:.4rem;}
.story-card-title{font-family:var(--font-display);font-size:1.15rem;font-weight:700;margin-bottom:.5rem;line-height:1.3;}
.story-card-excerpt{font-size:.82rem;color:var(--muted);line-height:1.6;margin-bottom:.8rem;}
.story-card-footer{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;padding-top:.6rem;}
.story-card-readbtn{font-weight:600;padding:4px 12px;border-radius:100px;font-size:.75rem;}
.story-card.theme-children{background:white;border:2px solid #C8E8D4;box-shadow:0 4px 20px rgba(46,107,69,.1);}
.story-card.theme-children .story-card-media{background:linear-gradient(135deg,#D8F0E2,#C0E5D0);}
.story-card.theme-children .story-card-cat{color:var(--c-children);}
.story-card.theme-children .story-card-footer{border-top:1px solid #E0F0E8;color:var(--muted);}
.story-card.theme-children .story-card-readbtn{background:var(--c-children-bg);color:var(--c-children);}
.story-card.theme-social{background:white;border:2px solid #C0D8EC;box-shadow:0 4px 20px rgba(29,92,138,.1);}
.story-card.theme-social .story-card-media{background:linear-gradient(135deg,#D0E8F5,#B8D8EE);}
.story-card.theme-social .story-card-cat{color:var(--c-social);}
.story-card.theme-social .story-card-footer{border-top:1px solid #D8EAF5;color:var(--muted);}
.story-card.theme-social .story-card-readbtn{background:var(--c-social-bg);color:var(--c-social);}
.story-card.theme-comic{background:white;border:2px solid #F0C898;box-shadow:0 4px 20px rgba(194,94,10,.12);}
.story-card.theme-comic .story-card-media{background:linear-gradient(135deg,#FCE8CC,#FAD8A8);}
.story-card.theme-comic .story-card-cat{color:var(--c-comic);}
.story-card.theme-comic .story-card-title{font-style:italic;}
.story-card.theme-comic .story-card-footer{border-top:1px solid #F0DCC0;color:var(--muted);}
.story-card.theme-comic .story-card-readbtn{background:var(--c-comic-bg);color:var(--c-comic);}
.story-card.theme-horror{background:#1E0A10;border:1px solid #4A1828;}
.story-card.theme-horror .story-card-media{background:linear-gradient(135deg,#2A0C14,#180608);}
.story-card.theme-horror .story-card-cat{color:#C87090;}
.story-card.theme-horror .story-card-title{color:#F0D8E0;font-style:italic;}
.story-card.theme-horror .story-card-excerpt{color:#9A7080;}
.story-card.theme-horror .story-card-footer{border-top:1px solid #3A1828;color:#7A5060;}
.story-card.theme-horror .story-card-readbtn{background:#3A1020;color:#E8A0B0;}

/* SECTION PAGE HEROES */
.section-hero{padding:100px 5% 60px;position:relative;overflow:hidden;}
.section-hero .back-link{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border-radius:100px;font-size:.82rem;font-weight:500;margin-bottom:1.5rem;transition:all .2s;backdrop-filter:blur(8px);}
.section-hero-label{display:inline-block;color:white;font-size:.7rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:6px 16px;border-radius:100px;margin-bottom:1rem;}
.section-hero-title{font-family:var(--font-display);font-size:clamp(2.5rem,5vw,4.2rem);font-weight:700;line-height:1.15;margin-bottom:1rem;}
.section-hero-sub{font-size:1rem;line-height:1.7;font-weight:300;max-width:520px;}
.section-hero.children{background:linear-gradient(135deg,#E8F5EE 0%,#D0EEDD 100%);}
.section-hero.children .back-link{color:var(--c-children);background:rgba(46,107,69,.12);border:1px solid rgba(46,107,69,.25);}
.section-hero.children .section-hero-label{background:var(--c-children);}
.section-hero.children .section-hero-title{color:var(--c-children);}
.section-hero.children .section-hero-sub{color:#3A6B4A;}
.section-hero.social{background:linear-gradient(135deg,#E4F0FA 0%,#C8DDED 100%);}
.section-hero.social .back-link{color:var(--c-social);background:rgba(29,92,138,.12);border:1px solid rgba(29,92,138,.25);}
.section-hero.social .section-hero-label{background:var(--c-social);}
.section-hero.social .section-hero-title{color:var(--c-social);}
.section-hero.social .section-hero-sub{color:#1D4F73;}
.section-hero.comic{background:linear-gradient(135deg,#FDF0E4 0%,#FAE4C8 100%);}
.section-hero.comic .back-link{color:var(--c-comic);background:rgba(194,94,10,.12);border:1px solid rgba(194,94,10,.25);}
.section-hero.comic .section-hero-label{background:var(--c-comic);}
.section-hero.comic .section-hero-title{color:var(--c-comic);font-style:italic;}
.section-hero.comic .section-hero-sub{color:#8A4A0E;}
.section-hero.horror{background:linear-gradient(135deg,#1E0810 0%,#0A0306 100%);border-bottom:1px solid #3A1020;}
.section-hero.horror::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 60% 50%,rgba(139,32,64,.18),transparent 70%);}
.section-hero.horror .back-link{color:#E8C0CC;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.15);}
.section-hero.horror .section-hero-label{background:var(--c-horror-mid);}
.section-hero.horror .section-hero-title{color:#E8C0CC;font-style:italic;}
.section-hero.horror .section-hero-sub{color:#B890A0;}
.section-stories-wrap{padding:3rem 5% 5rem;}
.section-stories-wrap.horror-wrap{background:#120A0E;}
.section-stories-title{font-family:var(--font-display);font-size:1.8rem;font-weight:700;margin-bottom:2rem;}
.section-stories-wrap.horror-wrap .section-stories-title{color:#F0D8E0;}

/* SINGLE STORY */
.single-story-wrap{padding:100px 5% 5rem;max-width:820px;margin:0 auto;}
.single-story-cat{display:inline-block;padding:5px 16px;border-radius:100px;font-size:.72rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:white;margin-bottom:1rem;}
.single-story-title{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.2rem);font-weight:700;line-height:1.2;margin-bottom:1rem;}
.single-story-meta{color:var(--muted);font-size:.85rem;margin-bottom:2rem;}
.single-story-image{width:100%;height:340px;object-fit:cover;border-radius:20px;margin-bottom:2rem;}
.single-story-image-placeholder{width:100%;height:300px;border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:7rem;margin-bottom:2rem;background:var(--gold-light);}
.single-story-content{font-size:1.08rem;line-height:1.9;font-weight:300;}
.single-story-content p{margin-bottom:1.3rem;}
.single-story-video{width:100%;height:350px;background:#111;border-radius:18px;margin:2rem 0;overflow:hidden;}
.single-story-video iframe{width:100%;height:100%;border:none;}
body.horror-story .single-story-wrap{background:#120A0E;color:#E8D0D8;}
body.horror-story{background:#120A0E;}
body.horror-story .single-story-title{font-style:italic;}
body.horror-story .single-story-content{color:#C0A0B0;}

/* ABOUT */
.about-hero{padding:120px 5% 80px;background:linear-gradient(160deg,var(--cream) 60%,var(--gold-light) 100%);position:relative;overflow:hidden;}
.about-hero::before{content:'';position:absolute;right:0;top:0;width:400px;height:100%;background:radial-gradient(ellipse at right,rgba(184,132,63,.1),transparent 60%);}
.about-title{font-family:var(--font-display);font-size:clamp(2.2rem,5vw,3.8rem);font-weight:700;line-height:1.15;margin-bottom:1.5rem;}
.about-title em{color:var(--gold);font-style:italic;}
.about-lead{font-size:1.05rem;color:var(--muted);max-width:560px;line-height:1.8;font-weight:300;}
.about-content{padding:5rem 5%;max-width:1100px;margin:0 auto;}
.about-2col{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;margin-bottom:5rem;}
.about-text h2{font-family:var(--font-display);font-size:2rem;font-weight:700;margin-bottom:1.2rem;}
.about-text p{color:var(--muted);line-height:1.9;margin-bottom:1rem;font-weight:300;font-size:.95rem;}
.about-values{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.about-value{background:white;border:1px solid var(--border);border-radius:16px;padding:1.4rem;transition:all .2s;}
.about-value:hover{border-color:var(--gold);transform:translateY(-3px);}
.about-value-icon{font-size:1.6rem;margin-bottom:.6rem;}
.about-value h4{font-family:var(--font-display);font-size:1.1rem;font-weight:700;margin-bottom:.4rem;}
.about-value p{font-size:.82rem;color:var(--muted);line-height:1.6;font-weight:300;}
.about-team{text-align:center;padding:0 5% 5rem;}
.about-team h2{font-family:var(--font-display);font-size:2.2rem;font-weight:700;margin-bottom:.5rem;}
.about-team > p{color:var(--muted);margin-bottom:3rem;font-weight:300;}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:800px;margin:0 auto 3rem;}
.team-card{background:white;border:1px solid var(--border);border-radius:20px;padding:2rem 1.5rem;text-align:center;}
.team-avatar{width:64px;height:64px;border-radius:50%;background:var(--gold-light);display:flex;align-items:center;justify-content:center;font-size:1.8rem;margin:0 auto 1rem;}
.team-name{font-family:var(--font-display);font-size:1.1rem;font-weight:700;margin-bottom:.3rem;}
.team-role{font-size:.78rem;color:var(--muted);}
.about-cta{text-align:center;padding:0 5% 5rem;}
.about-cta p{color:var(--muted);margin-bottom:1.5rem;font-weight:300;}

/* FORMS */
.form-page-hero{padding:120px 5% 60px;}
.form-page-label{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:6px 16px;border-radius:100px;margin-bottom:1rem;}
.form-page-hero h1{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.2rem);font-weight:700;margin-bottom:1rem;line-height:1.2;}
.form-page-hero h1 em{color:var(--gold);font-style:italic;}
.form-page-hero p{color:var(--muted);max-width:500px;line-height:1.7;font-weight:300;font-size:.95rem;}
.form-section{padding:2rem 5% 5rem;max-width:820px;margin:0 auto;}
.styled-form{background:white;border:1px solid var(--border);border-radius:24px;padding:2.5rem;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-bottom:1.2rem;}
.form-row.single{grid-template-columns:1fr;}
.fg{display:flex;flex-direction:column;gap:6px;}
.fg label{font-size:.82rem;font-weight:600;color:var(--ink);letter-spacing:.3px;}
.fg input,.fg select,.fg textarea{border:1.5px solid var(--border);border-radius:12px;padding:11px 15px;font-family:var(--font-body);font-size:.9rem;background:var(--cream);color:var(--ink);outline:none;transition:border-color .2s;width:100%;}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--gold);}
.fg textarea{resize:vertical;min-height:130px;}
.fg .field-hint{font-size:.75rem;color:var(--muted);}
.form-section-title{font-size:.82rem;font-weight:600;color:var(--muted);letter-spacing:1px;text-transform:uppercase;padding-bottom:.5rem;border-bottom:1px solid var(--border);margin:1.5rem 0 1rem;}
.star-rating-row{display:flex;gap:.4rem;font-size:1.6rem;}
.star-opt{cursor:pointer;color:#D0C8BE;transition:color .15s;border:none;background:none;font-size:1.6rem;padding:0;}
.star-opt.active{color:var(--gold);}
.checkbox-row{display:flex;align-items:flex-start;gap:.7rem;font-size:.85rem;color:var(--muted);line-height:1.5;margin-bottom:.7rem;}
.checkbox-row input[type="checkbox"]{width:16px;height:16px;margin-top:2px;accent-color:var(--gold);flex-shrink:0;}
.form-submit-btn{width:100%;background:var(--ink);color:white;border:none;padding:15px;border-radius:12px;font-family:var(--font-body);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .25s;margin-top:1.5rem;letter-spacing:.3px;}
.form-submit-btn:hover{background:var(--gold);}
.form-submit-btn.comic-btn{background:var(--c-comic);}
.form-submit-btn.comic-btn:hover{background:#9A4808;}
.guidelines-box{background:var(--gold-light);border-radius:16px;padding:1.5rem 2rem;margin-bottom:2rem;border:1px solid #DECA9A;}
.guidelines-box h4{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--gold);margin-bottom:.8rem;}
.guidelines-box ul{display:flex;flex-direction:column;gap:.45rem;}
.guidelines-box li{font-size:.83rem;color:#6A5020;font-weight:300;padding-left:1.2rem;position:relative;}
.guidelines-box li::before{content:'✦';position:absolute;left:0;color:var(--gold);font-size:.6rem;top:.2rem;}
.word-count-display{font-size:.75rem;color:var(--muted);text-align:right;margin-top:3px;}
.form-success{display:none;background:#E8F5EE;border:1px solid #C0E0CC;border-radius:16px;padding:2rem;text-align:center;margin-top:1.5rem;}
.form-success.comic-success{background:#FDF0E4;border-color:#F0C898;}
.form-success .success-icon{font-size:2.5rem;margin-bottom:.8rem;}
.form-success h3{font-family:var(--font-display);font-size:1.4rem;font-weight:700;color:var(--c-children);margin-bottom:.4rem;}
.form-success.comic-success h3{color:var(--c-comic);}
.form-success p{font-size:.88rem;font-weight:300;color:#3A6B4A;}
.form-success.comic-success p{color:#8A4A0E;}
.form-success .btn-row{margin-top:1rem;display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;}

/* FOOTER */
.site-footer{background:var(--ink);color:rgba(251,248,243,.6);padding:3.5rem 5% 2rem;}
.footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem;max-width:1200px;}
.footer-logo{font-family:var(--font-display);font-size:1.8rem;font-weight:700;color:var(--cream);margin-bottom:.6rem;}
.footer-logo span{color:var(--gold);}
.footer-brand p{font-size:.83rem;line-height:1.7;max-width:240px;font-weight:300;}
.footer-col h5{font-size:.7rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:rgba(251,248,243,.3);margin-bottom:1rem;}
.footer-col a{display:block;font-size:.85rem;color:rgba(251,248,243,.6);margin-bottom:.5rem;transition:color .2s;font-weight:300;}
.footer-col a:hover{color:var(--gold);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:1.5rem;display:flex;align-items:center;justify-content:space-between;font-size:.75rem;flex-wrap:wrap;gap:.5rem;}
.site-footer.horror-footer{background:#0A0306;border-top:1px solid #2A0C14;}

/* HOME ABOUT TEASER */
.home-about-teaser{padding:2rem 5% 5rem;text-align:center;max-width:700px;margin:0 auto;}
.home-about-teaser h3{font-family:var(--font-display);font-size:2rem;font-weight:700;margin-bottom:1rem;line-height:1.3;}
.home-about-teaser h3 em{color:var(--gold);}
.home-about-teaser p{color:var(--muted);line-height:1.8;font-weight:300;margin-bottom:1.5rem;font-size:.95rem;}
.home-about-teaser .btn-row{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}

@keyframes fadeUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}
@keyframes scrollAnim{0%,100%{opacity:0;transform:scaleY(0);transform-origin:top;}40%,60%{opacity:1;transform:scaleY(1);}}

/* RESPONSIVE */
@media(max-width:900px){
  .worlds-grid,.about-2col,.footer-inner{grid-template-columns:1fr;}
  .team-grid{grid-template-columns:1fr 1fr;}
  .form-row{grid-template-columns:1fr;}
  .info-strip{gap:2rem;}
  #site-nav .nav-menu{display:none;}
  #site-nav .nav-menu.mobile-open{display:flex;flex-direction:column;position:fixed;top:62px;left:0;right:0;background:rgba(251,248,243,.97);padding:1.5rem;border-bottom:1px solid var(--border);gap:1rem;align-items:flex-start;z-index:499;}
  .nav-hamburger{display:flex;}
  .about-values{grid-template-columns:1fr;}
}
@media(max-width:600px){
  .worlds-grid{grid-template-columns:1fr;}
  .team-grid{grid-template-columns:1fr;}
  .hero-h1{font-size:2.8rem;}
  .styled-form{padding:1.5rem;}
}

/* ══════════════════════════════════════════════════════
   SINGLE STORY EXTRAS
══════════════════════════════════════════════════════ */
.story-back-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 16px;
  border-radius: 100px;
  font-size: .82rem;
  font-weight: 500;
  margin-bottom: 2rem;
  background: color-mix(in srgb, var(--sec-color, var(--gold)) 12%, transparent);
  color: var(--sec-color, var(--gold));
  border: 1px solid color-mix(in srgb, var(--sec-color, var(--gold)) 30%, transparent);
  transition: all .2s;
}
.story-back-link:hover { opacity: .8; }
.author-bio-box {
  margin-top: 3rem;
  padding: 1.5rem;
  border-radius: 16px;
  border-left: 4px solid currentColor;
}
.author-bio-label {
  font-size: .78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: .4rem;
}
.author-bio-text {
  font-size: .92rem;
  line-height: 1.7;
  font-weight: 300;
}
.related-stories-section { margin-top: 4rem; }
.related-title {
  font-family: var(--font-display);
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 2rem;
}
.meta-rating-stars { display: inline-flex; align-items: center; }

/* ══════════════════════════════════════════════════════
   STAR RATING WIDGET
══════════════════════════════════════════════════════ */
.rating-section {
  margin-top: 3.5rem;
  padding: 2.5rem;
  border-radius: 24px;
  background: white;
  border: 1px solid var(--border);
  text-align: center;
}
.rating-section.rating-horror {
  background: #1E0A10;
  border-color: #3A1828;
}
.rating-heading {
  font-family: var(--font-display);
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 1.2rem;
}
.rating-horror .rating-heading { color: #F0D8E0; }

.rating-current {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .5rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--border);
}
.rating-horror .rating-current { border-bottom-color: #3A1828; }
.rating-stars-display { display: flex; gap: 2px; }
.rating-summary {
  font-size: .85rem;
  color: var(--muted);
  font-weight: 300;
}
.rating-horror .rating-summary { color: #9A7080; }

.rating-widget { padding-top: .5rem; }
.rating-prompt {
  font-size: .9rem;
  color: var(--muted);
  margin-bottom: 1rem;
  font-weight: 300;
}
.rating-horror .rating-prompt { color: #9A7080; }

/* Interactive stars */
.rating-interactive-stars {
  display: flex;
  justify-content: center;
  gap: .2rem;
  margin-bottom: .8rem;
}
.istar {
  font-size: 2.4rem;
  background: none;
  border: none;
  color: #D0C8BE;
  cursor: pointer;
  transition: color .15s, transform .15s;
  line-height: 1;
  padding: 0 2px;
}
.istar:hover,
.istar.hovered,
.istar.selected { color: var(--sec-color, var(--gold)); transform: scale(1.15); }
.rating-label-text {
  font-size: .82rem;
  color: var(--muted);
  margin-bottom: 1rem;
  min-height: 1.2em;
  font-style: italic;
}
.rating-horror .rating-label-text { color: #7A5060; }

.rating-submit-btn {
  color: white;
  border: none;
  padding: 11px 32px;
  border-radius: 100px;
  font-family: var(--font-body);
  font-size: .88rem;
  font-weight: 600;
  cursor: pointer;
  transition: opacity .2s, transform .2s;
}
.rating-submit-btn:disabled { opacity: .4; cursor: not-allowed; transform: none !important; }
.rating-submit-btn:not(:disabled):hover { opacity: .85; transform: translateY(-1px); }

.rating-thankyou {
  font-size: .95rem;
  font-weight: 600;
  margin-top: .8rem;
  font-family: var(--font-display);
  font-size: 1.1rem;
}

/* ══════════════════════════════════════════════════════
   COMMENTS SECTION
══════════════════════════════════════════════════════ */
.story-comments-section {
  margin-top: 3.5rem;
  padding-top: 3rem;
  border-top: 1px solid var(--border);
}
.story-comments-section.comments-horror {
  border-top-color: #3A1828;
}

/* Comment list heading */
.comments-list-title {
  font-family: var(--font-display);
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 2rem;
}
.comments-horror .comments-list-title { color: #F0D8E0; }

/* Comment cards */
.comment-list { list-style: none; display: flex; flex-direction: column; gap: 1.2rem; margin-bottom: 3rem; }
.comment-list .children { margin-top: 1rem; padding-left: 2rem; list-style: none; display: flex; flex-direction: column; gap: 1rem; }

.sw-comment-card {
  background: white;
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 1.4rem 1.6rem;
  transition: border-color .2s;
}
.sw-comment-card:hover { border-color: var(--sec-color, var(--gold)); }
.comments-horror .sw-comment-card {
  background: #1E0A10;
  border-color: #3A1828;
}

.sw-comment-header {
  display: flex;
  align-items: center;
  gap: .8rem;
  margin-bottom: 1rem;
}
.sw-comment-avatar { flex-shrink: 0; }
.sw-comment-avatar img,
.sw-avatar-initial {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sw-comment-avatar img { object-fit: cover; }
.sw-avatar-initial {
  background: var(--sec-color, var(--gold));
  color: white;
  font-size: 1.1rem;
  font-weight: 700;
  font-family: var(--font-display);
}

.sw-comment-meta { flex: 1; }
.sw-comment-author {
  display: block;
  font-size: .9rem;
  font-weight: 600;
  color: var(--ink);
}
.comments-horror .sw-comment-author { color: #F0D8E0; }
.sw-comment-date {
  font-size: .75rem;
  color: var(--muted);
  font-weight: 300;
}
.comments-horror .sw-comment-date { color: #7A5060; }

.sw-comment-pending {
  font-size: .72rem;
  background: var(--gold-light);
  color: var(--gold);
  padding: 3px 10px;
  border-radius: 100px;
  font-weight: 600;
  letter-spacing: .5px;
}

.sw-comment-body {
  font-size: .92rem;
  line-height: 1.75;
  color: var(--ink);
  font-weight: 300;
}
.sw-comment-body p { margin-bottom: .7rem; }
.sw-comment-body p:last-child { margin-bottom: 0; }
.comments-horror .sw-comment-body { color: #C0A0B0; }

.sw-comment-actions {
  margin-top: 1rem;
  padding-top: .8rem;
  border-top: 1px solid var(--border);
  display: flex;
  gap: 1rem;
}
.comments-horror .sw-comment-actions { border-top-color: #3A1828; }
.sw-comment-actions a,
.comment-reply-link,
.sw-edit-link {
  font-size: .78rem;
  font-weight: 600;
  color: var(--sec-color, var(--gold));
  text-decoration: none;
  transition: opacity .2s;
}
.sw-comment-actions a:hover,
.comment-reply-link:hover,
.sw-edit-link:hover { opacity: .7; }

/* Comment pagination */
.comment-pagination { margin-top: 1rem; display: flex; gap: .5rem; flex-wrap: wrap; }
.comment-pagination a,
.comment-pagination span {
  padding: 5px 12px;
  border-radius: 8px;
  font-size: .8rem;
  background: var(--border);
  color: var(--ink);
  font-weight: 500;
}
.comment-pagination .current { background: var(--sec-color, var(--gold)); color: white; }

/* ── Comment Form ── */
.comments-form-title {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
}
.comments-horror .comments-form-title { color: #F0D8E0; }
.comments-form-title span { display: block; }

#commentform { display: flex; flex-direction: column; gap: 1rem; }
.comment-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.comment-fg { display: flex; flex-direction: column; gap: 5px; }
.comment-fg label {
  font-size: .82rem;
  font-weight: 600;
  color: var(--ink);
}
.comments-horror .comment-fg label { color: #D0B8C0; }
.required { color: var(--c-horror-mid); }

#commentform input[type="text"],
#commentform input[type="email"],
#commentform textarea {
  border: 1.5px solid var(--border);
  border-radius: 12px;
  padding: 11px 15px;
  font-family: var(--font-body);
  font-size: .9rem;
  background: var(--cream);
  color: var(--ink);
  outline: none;
  transition: border-color .2s;
  width: 100%;
}
#commentform input:focus,
#commentform textarea:focus {
  border-color: var(--sec-color, var(--gold));
}
.comments-horror #commentform input,
.comments-horror #commentform textarea {
  background: #0E0508;
  border-color: #3A1828;
  color: #E8D0D8;
}
.comments-horror #commentform input:focus,
.comments-horror #commentform textarea:focus {
  border-color: var(--c-horror-mid);
}
#commentform textarea { min-height: 120px; resize: vertical; }
.comment-fg-full { grid-column: 1 / -1; }
.comment-submit-row { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin-top: .5rem; }
.comment-submit-btn {
  color: white;
  border: none;
  padding: 12px 32px;
  border-radius: 100px;
  font-family: var(--font-body);
  font-size: .92rem;
  font-weight: 600;
  cursor: pointer;
  transition: opacity .2s, transform .2s;
}
.comment-submit-btn:hover { opacity: .85; transform: translateY(-1px); }
#cancel-comment-reply-link {
  font-size: .82rem;
  color: var(--muted);
  text-decoration: none;
}
#cancel-comment-reply-link:hover { color: var(--ink); }

/* Logged-in comment note */
.comment-form .logged-in-as {
  font-size: .82rem;
  color: var(--muted);
}
.comment-form .logged-in-as a {
  color: var(--sec-color, var(--gold));
  font-weight: 500;
}

/* ── No comments yet ── */
.no-comments {
  text-align: center;
  padding: 2rem;
  color: var(--muted);
  font-style: italic;
  font-size: .9rem;
}

@media(max-width:640px){
  .comment-form-row { grid-template-columns: 1fr; }
  .rating-section { padding: 1.5rem 1.2rem; }
  .istar { font-size: 2rem; }
}
