:root{--bg:#242326;--bg-soft:#2d2b30;--bg-card:#333036;--text:#fff0f5;--text-muted:#cbbcc4;--accent:#f0a5c5;--accent-soft:#db89b0;--border:#ffffff16;--font-display:'Cormorant Garamond',Georgia,serif;--font-body:Inter,system-ui,sans-serif;--reading-size:1.18rem;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.7 var(--font-body)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-display);font-weight:400;line-height:1.07}a{color:var(--accent);text-decoration:none}a:hover{color:var(--text)}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,audio:focus-visible{outline:2px solid var(--accent);outline-offset:5px}img{max-width:100%;display:block}.container{width:min(1200px,100% - 96px);margin:auto}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 23px;min-height:48px;border:1px solid var(--border);border-radius:4px;font-size:12px;font-weight:600;letter-spacing:.035em;cursor:pointer;transition:background .2s,transform .2s;background:transparent;color:var(--text)}.btn:hover{transform:translateY(-2px);border-color:var(--accent)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#30232b}.btn-primary:hover{background:#ffc6df;color:#30232b}.btn-outline{border-color:#f0a5c566}.btn-ghost{color:var(--text-muted)}.skip-link{position:fixed;top:-100px;left:20px;z-index:10000;padding:10px;background:var(--bg)}.skip-link:focus{top:10px}body>header{position:sticky;top:0;z-index:10;background:#242326ee;backdrop-filter:blur(15px);border-bottom:1px solid var(--border)}.nav{min-height:88px;display:flex;justify-content:space-between;align-items:center;gap:24px}.logo{color:var(--text);font:26px var(--font-display);white-space:nowrap}.logo span{color:var(--accent);font-style:italic}.nav-links{display:flex;list-style:none;gap:32px;padding:0;margin:0}.nav-links a{font-size:12px;color:var(--text-muted)}.nav-links a.active{color:var(--accent)}.eyebrow,.meta,.story-meta{color:var(--accent);text-transform:uppercase;font-size:10px;font-weight:500;letter-spacing:.17em}.hero{padding:64px 0 72px;background:radial-gradient(ellipse at 75% 50%,#f18bb72c,transparent 65%)}.hero>.container{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:75px}.hero h1{font-size:clamp(60px,6.8vw,96px);max-width:550px;letter-spacing:-.045em;margin:30px 0 25px}.hero h1 span{font-style:italic;color:var(--accent)}.tagline{max-width:450px;font-size:16px;line-height:1.9;color:var(--text-muted)}.hero-cta,.story-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.hero-note{display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;margin-top:62px;padding-top:20px;border-top:1px solid var(--border);font-size:9px;letter-spacing:.1em;color:var(--text-muted)}.hero-note span:last-child{font:italic 17px var(--font-display);letter-spacing:0}.hero-art{height:540px;position:relative;overflow:hidden;border:1px solid #f0a5c530;display:block;border-radius:160px 160px 4px 4px;background:#40323c}.hero-art>img{height:100%;width:100%;object-fit:cover;transition:transform .8s}.hero-art:hover>img{transform:scale(1.035)}.art-caption{position:absolute;bottom:0;left:0;right:0;padding:75px 32px 30px;background:linear-gradient(transparent,#242326f5);color:var(--accent);font-size:9px;letter-spacing:.14em}.art-caption b{display:block;color:var(--text);font:36px var(--font-display);letter-spacing:0;margin:10px 0}.art-caption>span{color:var(--text-muted);letter-spacing:0;font-size:12px}.section{padding:70px 0}.featured{display:grid;grid-template-columns:230px 1fr;gap:44px;align-items:center;border:1px solid var(--border);background:var(--bg-soft);padding:24px;position:relative}.featured-visual{height:250px;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:20px;font:32px/1 var(--font-display)}.featured-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 25%;opacity:.45}.featured-visual span{position:relative}.featured h3{font-size:42px;margin:14px 0}.featured p{color:var(--text-muted);max-width:630px;font-size:14px}.featured .story-actions{margin-top:20px}.section-header{display:flex;gap:24px;align-items:end;justify-content:space-between;margin-bottom:30px}.section-header h2{font-size:46px}.section-header p{font-size:12px;color:var(--text-muted)}.stories-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.story-card{border:1px solid var(--border);background:var(--bg-soft);display:flex;flex-direction:column;overflow:hidden;transition:border-color .25s}.story-card:hover{border-color:#f0a5c560}.story-cover{height:220px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(135deg,#4c3543,#29262d)}.story-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;opacity:.6}.story-cover:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#2d2b3099)}.story-cover-label{font:34px/1.05 var(--font-display);position:relative;z-index:1;text-align:center}.upcoming .story-cover{background:repeating-linear-gradient(45deg,transparent 0 25px,#f0a5c508 26px 27px),#2d2b30}.upcoming:nth-child(3) .story-cover{background:radial-gradient(ellipse at center,#5d435b33,transparent 70%),#2d2b30}.upcoming .story-cover-label{color:#d9a9c0;font-style:italic}.story-body{padding:25px;display:flex;flex-direction:column;flex:1}.story-meta{font-size:9px;letter-spacing:.12em}.story-body h3{font-size:28px;margin:13px 0}.story-body p{font-size:13px;color:var(--text-muted);flex:1}.story-actions .btn{padding:10px 20px}.about-strip{margin-top:25px;padding:76px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:radial-gradient(ellipse at 10% 50%,#44343b30,transparent 65%)}.about-strip .container{display:grid;grid-template-columns:1fr 1.5fr;gap:80px}.about-strip h2{font-size:48px}.about-strip p{max-width:620px;color:var(--text-muted);font-size:15px;line-height:2}footer{padding:40px 0;color:var(--text-muted);font-size:11px}footer .container{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:15px}footer .logo{font-size:22px}footer p:last-child{width:100%;text-align:right}.story-page{padding:65px 0 80px}.story-header{max-width:760px;margin:0 auto 35px;text-align:center;background:none;position:static;border:none}.back-link{display:block;font-size:12px;color:var(--text-muted);margin-bottom:40px}.story-header .meta{margin-bottom:20px}.story-header h1{font-size:clamp(46px,6vw,76px);margin-bottom:22px}.audio-player{background:var(--bg-soft);border:1px solid var(--border);padding:24px;border-radius:4px;scroll-margin-top:105px}.audio-label{font-size:11px;color:var(--accent);letter-spacing:.04em;margin-bottom:14px}.audio-player audio{width:100%;height:40px}.audio-status{font-size:12px;color:var(--text-muted);margin-top:10px}.reader-controls{max-width:680px;margin:0 auto 35px;padding:15px 0;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}.reader-controls span{font-size:11px;color:var(--text-muted);margin-right:auto}.reader-controls button{background:var(--bg-soft);color:var(--text);border:1px solid var(--border);padding:8px 12px;border-radius:4px;cursor:pointer;min-height:40px}.story-content{max-width:680px;margin:auto;font:var(--reading-size)/1.95 Georgia,serif}.story-content p{margin-bottom:1.6em}.story-content p:first-of-type:first-letter{float:left;font:70px/.9 var(--font-display);margin:8px 12px 0 0;color:var(--accent)}.reader-light{--bg:#fff4f8;--bg-soft:#f3dfe8;--text:#29252a;--text-muted:#705b66;--accent:#964165;--accent-soft:#964165;--border:#29252a25;color-scheme:light}.reader-light body>header{background:#fff4f8ed}.reader-light .btn-primary{color:#fff}.reader-light footer{border-top:1px solid var(--border)}.text-center{text-align:center}.mt-2{margin-top:24px}#age-gate{position:fixed;inset:0;z-index:1000;background:#0d0c12f5;display:flex;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(12px)}#age-gate.hidden,.hidden{display:none!important}.age-card{width:480px;max-width:100%;border:1px solid #f0a5c540;background:#2d2b30;border-radius:8px;padding:42px;text-align:center;color:#fff0f5;box-shadow:0 24px 100px #0006}.gate-mark{display:block;color:#f0a5c5;font:italic 58px var(--font-display);margin-bottom:15px}.age-card h2{font-size:40px;margin-bottom:20px}.age-card p{font-size:13px;color:#cbbcc4;margin-bottom:28px}.age-buttons{display:flex;flex-direction:column;gap:10px}.age-buttons .btn-ghost{color:#cbbcc4}.error-page{max-width:600px;margin:15vh auto;padding:30px}.error-page h1{font-size:60px;margin:20px 0}.error-page p{margin-bottom:25px}.age-open{overflow:hidden}
@media(min-width:1400px){.hero{padding-top:90px;padding-bottom:90px}}
@media(max-width:900px){.container{width:calc(100% - 48px)}.hero>.container{gap:32px}.hero-art{height:450px}.hero h1{font-size:64px}.hero-note{margin-top:35px}.stories-grid{gap:15px}.story-body{padding:20px}.about-strip .container{gap:40px}.nav-links{gap:22px}}
@media(max-width:650px){.container{width:calc(100% - 36px)}.nav{min-height:76px;gap:12px}.logo{font-size:21px}.nav-links{gap:14px}.nav-links a{font-size:11px}.hero{padding:38px 0 45px}.hero>.container{grid-template-columns:1fr;gap:30px}.hero h1{font-size:64px;margin-top:22px;max-width:360px}.eyebrow{font-size:9px}.hero-note{margin-top:30px}.hero-art{height:400px;border-radius:100px 100px 4px 4px}.hero-art img{object-position:center 38%}.tagline{font-size:14px}.section{padding:45px 0}.featured{grid-template-columns:1fr;gap:24px;padding:18px}.featured-visual{height:190px}.featured-visual img{object-position:center 22%}.featured h3{font-size:36px}.section-header{display:block}.section-header h2{font-size:40px;margin-bottom:12px}.stories-grid{grid-template-columns:1fr;gap:24px}.story-cover{height:210px}.story-body{padding:24px}.about-strip{padding:45px 0}.about-strip .container{grid-template-columns:1fr;gap:24px}.about-strip h2{font-size:40px}.about-strip p{font-size:14px}footer .container{display:block}footer p{margin-top:14px}footer p:last-child{text-align:left}.story-page{padding-top:35px}.story-header h1{font-size:52px}.reader-controls{flex-wrap:wrap}.reader-controls span{width:100%;margin-bottom:5px}.story-content{font-size:var(--reading-size)}.age-card{padding:30px 22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Pink and charcoal refinement */
.hero h1{color:#f6bfd7}.hero h1 span{color:#ff8dbc}.btn{border-radius:999px}.featured{border-radius:24px;background:linear-gradient(120deg,#382d35,#2d2b30)}.featured-visual{border-radius:16px}.story-card{border-radius:20px}.hero-art{border-radius:180px 180px 24px 24px;box-shadow:0 0 70px #ef91b31a}.hero{background:radial-gradient(ellipse at 70% 25%,#e889af24,transparent 65%)}.story-cover-label{color:#ffd3e6}.age-card{border-radius:24px}.about-strip{background:radial-gradient(ellipse at 20% 50%,#b65d8530,transparent 70%)}.logo span{color:#ff9ec9}

/* Explicit heading contrast on charcoal surfaces */
h1,h2,h3,h4{color:#ffd1e5}.hero h1{color:#f6bfd7}.reader-light h1,.reader-light h2,.reader-light h3,.reader-light h4{color:#70334f}

:root{--heading-color:#ffd1e5}.reader-light{--heading-color:#70334f}
.av-panel{text-align:center;padding:6px 0 2px}.av-panel[hidden]{display:none}.av-text{font-size:14px;color:var(--text);margin-bottom:16px}.av-start{background:var(--accent);border-color:var(--accent);color:#30232b}.av-start:hover{background:#ffc6df;color:#30232b}.av-small{font-size:11px;color:var(--text-muted);margin-top:14px;line-height:1.6}

/* ===== SX brand: black + magenta (logo pink #EC4196) ===== */
:root{--bg:#0b0a0d;--bg-soft:#151217;--bg-card:#1c171e;--text:#fbeef5;--text-muted:#c3b3bd;--accent:#EC4196;--accent-soft:#c92d7c;--border:#ffffff17;--font-brand:Montserrat,'Arial Black',Arial,sans-serif}
.logo{font:900 22px/1 var(--font-brand)!important;letter-spacing:.01em;color:var(--accent)!important;text-transform:uppercase}
footer .logo{font-size:18px!important}
.logo span{color:inherit;font-style:normal}
body>header{background:#0b0a0def}
.hero{background:radial-gradient(ellipse at 75% 50%,#ec419629,transparent 62%)}
.hero h1 span,.featured h3,.section-header h2 span{color:var(--accent)}
.hero-art{border-color:#ec419640;background:#1d1219}
.art-caption{background:linear-gradient(transparent,#0b0a0df5)}
.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn-primary:hover{background:#ff5aac;border-color:#ff5aac;color:#fff}
.btn-outline{border-color:#ec419670}
.btn:hover{border-color:var(--accent)}
.featured,.story-card,.audio-player{background:var(--bg-soft);border-color:var(--border)}
.story-card:hover{border-color:#ec419670}
.story-cover{background:linear-gradient(135deg,#3a1229,#120d12)}
.upcoming .story-cover{background:repeating-linear-gradient(45deg,transparent 0 25px,#ec41960c 26px 27px),#151217}
.upcoming:nth-child(3) .story-cover{background:radial-gradient(ellipse at center,#ec41961f,transparent 70%),#151217}
.upcoming .story-cover-label{color:#f08cc0}
.about-strip{background:radial-gradient(ellipse at 10% 50%,#ec41961a,transparent 65%)}
#age-gate{background:#050406f5}
.age-card{background:#151217;border-color:#ec419655;color:var(--text)}
.gate-mark{color:var(--accent);font:900 64px/1 var(--font-brand)}
.age-card p,.age-buttons .btn-ghost{color:var(--text-muted)}
.av-start{background:var(--accent);border-color:var(--accent);color:#fff}
.av-start:hover{background:#ff5aac;color:#fff}
.story-content p:first-of-type:first-letter{color:var(--accent)}
.reader-light{--bg:#fff5fa;--bg-soft:#fbe4ef;--text:#1d1219;--text-muted:#6e5563;--accent:#b81f6c;--accent-soft:#b81f6c;--border:#1d121925}
.reader-light body>header{background:#fff5faed}
:root{--heading-color:#fff6fb}
.reader-light{--heading-color:#1d1219}
.hero h1{font-family:var(--font-brand);font-weight:900;letter-spacing:-.03em;text-transform:uppercase;font-size:clamp(48px,6vw,84px);line-height:.98}
.hero h1 span{font-style:normal}
.audio-label{display:flex;align-items:center;gap:10px}.narrator{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid var(--accent)}
.lucy-portrait{width:150px;height:150px;border-radius:50%;object-fit:cover;border:3px solid var(--accent);margin:0 auto 18px;display:block}
.about-head{display:flex;flex-direction:column;gap:22px}.about-portrait{width:min(300px,100%);aspect-ratio:4/5;object-fit:cover;border-radius:120px 120px 6px 6px;border:1px solid #ec419655}
.letter-audio{width:100%;height:40px;margin:2px 0 14px}
