:root{
  --bg:#0a0a0f;
  --panel:#15151f;
  --panel2:#1d1d2b;
  --accent:#ff2e63;
  --accent2:#ffb547;
  --hot:#ff5e8a;
  --text:#f4f4fa;
  --muted:#9a9ab8;
  --maxw:1080px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Segoe UI',system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.65}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}

/* STICKY HEADER + FLASHING CTA */
.header{position:sticky;top:0;z-index:50;background:rgba(10,10,15,.92);backdrop-filter:blur(8px);border-bottom:1px solid #26263a;display:flex;justify-content:space-between;align-items:center;padding:12px 20px}
.header .logo{font-size:1.5rem;font-weight:900;letter-spacing:-.5px}
.header .logo span{color:var(--accent)}
.header nav{display:flex;gap:18px;align-items:center}
.header nav a{color:var(--text);font-weight:600;font-size:.92rem}
.header nav a:hover{color:var(--accent)}
.flash-btn{display:inline-block;background:var(--accent);color:#fff;font-weight:800;padding:10px 20px;border-radius:30px;animation:flash 1.3s infinite;box-shadow:0 0 12px rgba(255,46,99,.6)}
.flash-btn:hover{text-decoration:none;color:#fff}
@keyframes flash{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.06)}}

/* HERO */
.hero{text-align:center;padding:80px 20px 60px;background:radial-gradient(circle at 50% 0%,#2a0f24 0%,var(--bg) 65%)}
.hero h1{font-size:3.2rem;font-weight:900;line-height:1.08;margin-bottom:16px}
.hero h1 em{color:var(--accent);font-style:normal}
.hero p{color:var(--muted);font-size:1.18rem;max-width:640px;margin:0 auto 28px}
.hero .cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-block;background:var(--accent);color:#fff;font-weight:700;padding:15px 32px;border-radius:40px;font-size:1.05rem;transition:.2s}
.btn:hover{background:#ff4577;text-decoration:none;transform:translateY(-2px);color:#fff}
.btn.alt{background:transparent;border:2px solid var(--accent2);color:var(--accent2)}

/* SECTION */
.section{padding:60px 0}
.section h2{font-size:2.1rem;text-align:center;margin-bottom:8px}
.section .sub{text-align:center;color:var(--muted);margin-bottom:36px}

/* FETISH GRID */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}
.fcard{background:var(--panel);border:1px solid #26263a;border-radius:14px;padding:24px;transition:.2s}
.fcard:hover{border-color:var(--accent);transform:translateY(-3px)}
.fcard h3{color:var(--accent2);font-size:1.15rem;margin-bottom:8px}
.fcard p{color:var(--muted);font-size:.93rem;margin-bottom:12px}
.fcard a{font-weight:700}

/* POST HERO (per post top block) */
.posthero{background:linear-gradient(135deg,#2a0f24,#3a1030);border-radius:0 0 18px 18px;padding:46px 20px;text-align:center;margin-bottom:30px}
.posthero .tag{color:var(--accent2);font-weight:700;text-transform:uppercase;letter-spacing:1px;font-size:.78rem}
.posthero h1{font-size:2.5rem;margin:10px 0 18px;line-height:1.12}
.posthero .talk{display:inline-block;background:var(--accent);color:#fff;font-weight:800;padding:12px 26px;border-radius:30px;animation:flash 1.3s infinite}
.posthero .talk:hover{color:#fff;text-decoration:none}

/* POST BODY */
.post{max-width:720px;margin:0 auto;padding:0 20px 40px}
.post p{margin-bottom:18px;color:#e8e8f2}
.post h2{font-size:1.5rem;margin:30px 0 12px;color:var(--hot)}
.cta-box{background:var(--panel2);border:1px solid var(--accent);border-radius:14px;padding:24px;margin:30px 0;text-align:center}
.cta-box a{font-weight:800;color:var(--accent)}
.intlink{color:var(--accent2);font-weight:700}

/* CARDS (blog feed) */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}
.card{background:var(--panel);border:1px solid #26263a;border-radius:14px;padding:24px;transition:.2s}
.card:hover{border-color:var(--accent);transform:translateY(-3px)}
.card .tag{font-size:.72rem;text-transform:uppercase;letter-spacing:1px;color:var(--accent2);font-weight:700}
.card h3{font-size:1.18rem;margin:8px 0 10px}
.card p{color:var(--muted);font-size:.93rem}
.card a{font-weight:700;display:inline-block;margin-top:12px}

/* PROMO */
.promo{background:var(--panel);border-radius:16px;padding:46px;text-align:center;margin:30px 0;border:1px solid #2a1830}
.promo h2{font-size:2rem;margin-bottom:12px}
.promo p{color:var(--muted);max-width:560px;margin:0 auto 22px}

/* PAGE (static) */
.page{max-width:760px;margin:0 auto;padding:50px 20px}
.page h1{font-size:2.4rem;margin-bottom:18px;color:var(--accent)}
.page h2{font-size:1.6rem;margin:28px 0 10px;color:var(--hot)}
.page p{margin-bottom:16px;color:#e8e8f2}
.page ul{margin:0 0 16px 22px;color:#e8e8f2}
.page li{margin-bottom:8px}

footer{border-top:1px solid #26263a;padding:28px 0;color:var(--muted);font-size:.85rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
footer a{color:var(--muted)}

/* AGE GATE */
#gate{position:fixed;inset:0;background:radial-gradient(circle at 50% 30%,#241024,#0c0c10 70%);z-index:9999;display:flex;align-items:center;justify-content:center;text-align:center}
#gate .box{max-width:460px;padding:40px;border:1px solid #2a1830;border-radius:16px;background:#15151f;margin:20px}
#gate h1{font-size:2rem;margin-bottom:14px}
#gate p{color:var(--muted);margin-bottom:24px}
#gate a{display:block;margin:10px 0;padding:14px;border-radius:40px;font-weight:700}
#gate .yes{background:var(--accent);color:#fff}
#gate .no{background:transparent;border:2px solid var(--muted);color:var(--muted)}
body.locked{overflow:hidden}

@media(max-width:640px){.hero h1{font-size:2.1rem}.header nav{gap:10px}.header nav a{font-size:.8rem}.posthero h1{font-size:1.8rem}}