body.blog{
  --bg:#240A1B;--rose:#FF6F98;--blush:#FFC2D4;--gold:#FFC98B;--ivory:#FFF4F7;--mute:#D9B7C6;--ink2:#2B0A1E;
  --fx:'Fraunces',Georgia,serif;
  color:var(--ivory);min-height:100vh;
  background:
    radial-gradient(900px 620px at 88% -8%,rgba(255,111,152,.34),transparent 62%),
    radial-gradient(760px 560px at -12% 30%,rgba(124,58,237,.26),transparent 60%),
    radial-gradient(700px 500px at 70% 100%,rgba(255,201,139,.12),transparent 60%),
    var(--bg);
}
body.blog a{color:var(--blush)}
body.blog .brand{color:var(--ivory)}
body.blog .pubbar nav a:not(.btn){color:var(--ivory)}
body.blog .pubbar .btn{border-color:rgba(255,244,247,.55);color:var(--ivory)}
body.blog .foot{color:var(--mute)}
body.blog .main{padding-top:0;max-width:1040px}
body.blog :focus-visible{outline-color:var(--gold)}
body.blog h1,body.blog h2,body.blog h3{font-family:var(--fx);font-weight:700;letter-spacing:-.015em;color:var(--ivory)}
body.blog .btn.lp-main{background:linear-gradient(135deg,#FF7FA6,#FFB67E);border-color:transparent;color:var(--ink2);font-weight:700;box-shadow:0 12px 30px -12px rgba(255,111,152,.8);text-decoration:none}
body.blog .btn.lp-ghost{background:rgba(255,255,255,.04);border-color:rgba(255,244,247,.5);color:var(--ivory);text-decoration:none}
body.blog .btn.lp-ghost:hover{background:rgba(255,255,255,.1)}

/* index hero */
.bl-hero{padding:30px 0 22px}
.bl-hero h1{font-size:clamp(2.6rem,10vw,4.8rem);line-height:1;margin:0 0 .3em}
.bl-hero p{font-size:1.12rem;color:var(--mute);max-width:52ch;margin-bottom:20px}
.bl-chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;-webkit-overflow-scrolling:touch}
.bl-chips a{flex:none;padding:8px 16px;border-radius:99px;border:1px solid rgba(255,244,247,.28);color:var(--ivory)!important;text-decoration:none;font-weight:600;font-size:.9rem;background:rgba(255,255,255,.04)}
.bl-chips a.on{background:linear-gradient(135deg,#FF7FA6,#FFB67E);border-color:transparent;color:var(--ink2)!important}

/* cards */
.bl-grid{display:grid;gap:18px;margin:22px 0}
.bl-card{display:flex;flex-direction:column;border-radius:22px;overflow:hidden;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);text-decoration:none;color:var(--ivory)!important;transition:transform .25s,box-shadow .25s,border-color .25s}
.bl-card:hover{transform:translateY(-4px);border-color:rgba(255,194,212,.5);box-shadow:0 24px 44px -24px rgba(255,111,152,.6)}
.bl-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:#3A1030}
.bl-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.bl-card:hover .bl-media img{transform:scale(1.05)}
.bl-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(36,10,27,.55))}
.bl-body{padding:16px 18px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.bl-body h2,.bl-body h3{margin:0;line-height:1.15}
.bl-body h3{font-size:1.25rem}
.bl-body p{margin:0;color:var(--mute);font-size:.96rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.bl-meta{margin-top:auto;font-size:.8rem;color:var(--mute)}
.bl-pill{align-self:flex-start;display:inline-block;padding:3px 11px;border-radius:99px;background:rgba(255,111,152,.2);color:var(--blush)!important;font-size:.74rem;font-weight:700;text-decoration:none;letter-spacing:.02em}

/* placeholders when no cover image */
.bl-ph{width:100%;height:100%;display:grid;place-items:center}
.bl-ph span{font:700 5rem var(--fx);color:rgba(255,255,255,.35)}
.cat-1{background:linear-gradient(135deg,#7B2CBF,#FF6F98)}
.cat-2{background:linear-gradient(135deg,#C2255C,#FFB67E)}
.cat-3{background:linear-gradient(135deg,#3A1C8F,#22B8CF)}
.cat-4{background:linear-gradient(135deg,#9D174D,#9D6BFF)}

.bl-feature .bl-body h2{font-size:clamp(1.6rem,5vw,2.3rem)}
.bl-feature .bl-body p{-webkit-line-clamp:4;font-size:1.02rem}

.bl-pager{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:10px 0 30px;color:var(--mute);font-size:.9rem}
.bl-empty{text-align:center;padding:60px 10px}
.bl-empty p{color:var(--mute)}

.bl-cta,.po-cta{margin:36px 0;padding:30px 22px;border-radius:26px;text-align:center;background:linear-gradient(135deg,#C2255C 0%,#7B2CBF 100%);position:relative;overflow:hidden}
.bl-cta::after,.po-cta::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(255,201,139,.45),transparent 70%)}
.bl-cta>*,.po-cta>*{position:relative;z-index:1}
.bl-cta h2,.po-cta h2{font-size:clamp(1.6rem,5vw,2.3rem);margin:0 auto .3em;max-width:20ch}
.bl-cta p,.po-cta p{color:#FFE4EC;max-width:48ch;margin:0 auto 18px}
.bl-cta-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.bl-cta .bl-disc,.po-cta .bl-disc{font-size:.78rem;color:#FFD3E0;margin:14px auto 0}

/* single post */
.po-hero{position:relative;min-height:380px;border-radius:28px;overflow:hidden;display:flex;align-items:flex-end;margin:10px 0 28px;background:#3A1030}
.po-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.po-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(36,10,27,.1) 20%,rgba(36,10,27,.92) 100%)}
.po-hero-in{position:relative;z-index:1;padding:26px 20px 24px;width:100%}
.po-hero h1{font-size:clamp(2rem,7.5vw,3.6rem);line-height:1.04;margin:10px 0 10px;text-shadow:0 2px 20px rgba(0,0,0,.4)}
.po-meta{margin:0;color:#F3DDE6;font-size:.9rem}
.po-lede{font:500 1.3rem/1.5 var(--fx);color:var(--blush);max-width:34em;margin:0 auto 26px}
.prose,.po-lede{max-width:700px;margin-left:auto;margin-right:auto}
.prose{font-size:1.1rem;line-height:1.78;color:#F5E3EB}
.prose p{margin:0 0 1.3em}
.prose h2{font-size:1.9rem;margin:1.8em 0 .5em;line-height:1.15}
.prose h3{font-size:1.4rem;margin:1.6em 0 .4em}
.prose a{text-decoration-color:rgba(255,194,212,.5);text-underline-offset:3px}
.prose strong{color:#fff}
.prose ul,.prose ol{padding-left:1.3em;margin:0 0 1.3em}
.prose li{margin-bottom:.45em}
.prose li::marker{color:var(--rose)}
.prose hr{border:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,194,212,.5),transparent);margin:2.2em 0}
.prose blockquote{margin:1.6em 0;padding:6px 0 6px 20px;border-left:3px solid var(--rose);font:italic 500 1.25rem/1.55 var(--fx);color:var(--ivory)}
.prose code{font:.9em ui-monospace,Menlo,Consolas,monospace;background:rgba(255,255,255,.1);padding:2px 6px;border-radius:6px}
.prose figure{margin:1.8em -4px}
.prose figure img{width:100%;height:auto;border-radius:18px;display:block;box-shadow:0 26px 50px -28px rgba(0,0,0,.8)}
.prose figcaption{margin-top:8px;text-align:center;font-size:.85rem;color:var(--mute)}

/* prompt cards */
.prompt-card{margin:1.6em 0;border-radius:18px;overflow:hidden;background:rgba(15,4,12,.7);border:1px solid rgba(255,194,212,.25);box-shadow:inset 3px 0 0 var(--rose)}
.pc-bar{display:flex;justify-content:space-between;align-items:center;padding:8px 10px 8px 16px;background:rgba(255,255,255,.06);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}
.pc-copy{min-height:34px;padding:0 14px;border-radius:99px;border:1px solid rgba(255,201,139,.55);background:transparent;color:var(--gold);font:600 .8rem var(--fb);cursor:pointer}
.pc-copy:hover{background:rgba(255,201,139,.14)}
.prompt-card pre{margin:0;padding:14px 16px 16px;white-space:pre-wrap;word-break:break-word;font:.92rem/1.6 ui-monospace,Menlo,Consolas,monospace;color:#FFE8F0}
.prompt-card code{background:none;padding:0;font:inherit}

.po-more{margin-top:44px}
.po-more h2{font-size:1.7rem}

@media(min-width:700px){
  .bl-grid{grid-template-columns:repeat(2,1fr)}
  .po-hero{min-height:480px}
  .po-hero-in{padding:40px 44px 36px}
}
@media(min-width:960px){
  .bl-grid{grid-template-columns:repeat(3,1fr)}
  .bl-feature{flex-direction:row;min-height:380px}
  .bl-feature .bl-media{flex:1.35;aspect-ratio:auto}
  .bl-feature .bl-body{flex:1;justify-content:center;padding:34px 36px;gap:14px}
  .bl-cta,.po-cta{padding:46px}
  .po-hero{min-height:540px}
}
@media(prefers-reduced-motion:reduce){.bl-card,.bl-media img{transition:none}.bl-card:hover{transform:none}.bl-card:hover .bl-media img{transform:none}}

/* age gate */
.age-gate{min-height:70vh;display:grid;place-items:center;padding:30px 0}
.ag-card{max-width:460px;width:100%;text-align:center;padding:36px 26px;border-radius:28px;background:linear-gradient(160deg,rgba(255,255,255,.1),rgba(255,255,255,.04));border:1px solid rgba(255,194,212,.3);backdrop-filter:blur(10px);box-shadow:0 30px 70px -30px rgba(255,111,152,.5)}
.ag-badge{display:inline-grid;place-items:center;width:84px;height:84px;border-radius:50%;margin-bottom:16px;font:700 1.9rem var(--fx);color:var(--ink2);background:linear-gradient(135deg,#FF7FA6,#FFB67E);box-shadow:0 0 0 8px rgba(255,111,152,.18)}
.ag-card h1{font-size:2.2rem;margin-bottom:.3em}
.ag-card p{color:var(--mute)}
.ag-card form{margin:20px 0 10px}
.ag-card .btn{width:100%}
.ag-fine{font-size:.8rem;margin:16px 0 0}

/* ---- category 5, info pages, contact form, guide hub ---- */
.cat-5{background:linear-gradient(135deg,#0F766E,#FF6F98)}
.pg{max-width:760px;margin:0 auto;padding:30px 0 10px}
.pg h1{font-size:clamp(2.1rem,8vw,3.3rem);line-height:1.05;margin-bottom:.4em}
.pg h2{font-size:1.5rem;margin:1.7em 0 .5em}
.pg p,.pg li{color:#F0DCE5;line-height:1.75}
.pg ul{padding-left:1.2em}
.pg li{margin-bottom:.4em}
.pg li::marker{color:var(--rose)}
.pg .lead{font-size:1.2rem;color:var(--blush)}
.pg .meta,.pg-note{font-size:.85rem;color:var(--mute)}
.pg code{font:.9em ui-monospace,Menlo,Consolas,monospace;background:rgba(255,255,255,.1);padding:2px 6px;border-radius:6px}
.panel{padding:18px 20px;border-radius:20px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);margin:14px 0;color:#F0DCE5;line-height:1.65}
.pg-form label{display:block;margin-bottom:14px;font-weight:600;font-size:.92rem}
.pg-form input,.pg-form select,.pg-form textarea{margin-top:6px;background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.24);color:var(--ivory)}
.pg-form select option{color:#17182B}
.pg-form input::placeholder,.pg-form textarea::placeholder{color:#B99AAA}
.pg-form input:focus,.pg-form select:focus,.pg-form textarea:focus{border-color:var(--rose);box-shadow:0 0 0 3px rgba(255,111,152,.25)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.gd-grid{display:grid;gap:16px;margin:22px 0}
.gd-card{padding:22px;border-radius:22px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);display:flex;flex-direction:column;gap:10px}
.gd-card h2{margin:0;font-size:1.5rem;line-height:1.15}
.gd-card p{margin:0;color:var(--mute)}
.gd-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px;align-items:center}
@media(min-width:760px){.gd-grid{grid-template-columns:1fr 1fr}}

/* ---- video (TikTok) page ---- */
.vd-grid{display:grid;gap:20px;margin:22px 0;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));align-items:start}
.vd-card{padding:8px 8px 4px;border-radius:22px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);overflow:hidden}
.vd-cap{margin:6px 8px 4px;color:var(--ivory);font-weight:600;font-size:.95rem;line-height:1.4}
.vd-card .tiktok-embed{margin:0 auto!important}
.vd-card .tiktok-embed section a{color:var(--blush)}
