/* ============================================================
   FlipFiction — Liquid Glass premium design system
   ============================================================ */
:root{
  /* Brand palette: purple-led with rose romance accent */
  --primary:#6500e1;          /* brand purple — matches app icon */
  --primary-2:#8b3df2;
  --primary-soft:rgba(101,0,225,.12);
  --primary-ring:rgba(101,0,225,.28);
  --rose:#be185d;             /* romance accent */
  --rose-2:#ec4899;
  --gold:#f5b86f;
  --plum:#3a0a5e;

  /* Surfaces */
  --bg:#fbf6fa;               /* warm blush-white */
  --bg-2:#f4e9f5;
  --card:#ffffff;
  --card-glass:rgba(255,255,255,.72);
  --card-glass-strong:rgba(255,255,255,.88);

  /* Ink */
  --ink:#10071a;              /* deep purple-black */
  --ink-2:#3b2444;
  --muted:#6b5471;
  --on-primary:#ffffff;

  /* Lines */
  --line:rgba(101,0,225,.10);
  --line-strong:rgba(101,0,225,.22);

  /* Elevation — purple-tinted shadows for premium feel */
  --shadow-sm:0 8px 24px -14px rgba(58,10,94,.28), 0 2px 6px -2px rgba(58,10,94,.08);
  --shadow:0 30px 60px -30px rgba(58,10,94,.42), 0 10px 28px -14px rgba(58,10,94,.20);
  --shadow-lg:0 60px 90px -40px rgba(58,10,94,.50), 0 20px 40px -20px rgba(58,10,94,.28);
  --shadow-glow:0 0 0 1px rgba(255,255,255,.6) inset, 0 24px 56px -28px rgba(101,0,225,.45);

  --radius:20px;
  --radius-lg:28px;
  --radius-pill:999px;

  --maxw:1200px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-spring:cubic-bezier(.34,1.56,.64,1);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth}

body{
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);
  background:
    radial-gradient(900px 460px at 88% -12%, rgba(236,72,153,.18) 0%, transparent 60%),
    radial-gradient(900px 460px at -12% 8%, rgba(139,61,242,.22) 0%, transparent 55%),
    radial-gradient(600px 360px at 60% 110%, rgba(245,184,111,.18) 0%, transparent 65%),
    linear-gradient(180deg, var(--bg) 0%, #ffffff 38%, var(--bg) 100%);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}

/* Subtle grain texture for premium depth */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  opacity:.5;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.06 0 0 0 0 0.04 0 0 0 0 0.10 0 0 0 .04 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}

img{max-width:100%;display:block}
a{color:inherit;text-decoration:none;transition:color .2s var(--ease)}

/* Typography */
h1,h2,h3{
  font-family:'Fraunces',Georgia,serif;
  font-weight:600;letter-spacing:-.018em;color:var(--ink);margin:0;
  font-variation-settings:"SOFT" 30, "WONK" 0;
}
h1{font-size:clamp(40px,5.8vw,72px);line-height:1.02;letter-spacing:-.024em}
h1 em{
  font-style:italic;
  background:linear-gradient(115deg,var(--primary) 0%,var(--rose-2) 40%,var(--gold) 95%);
  -webkit-background-clip:text;background-clip:text;color:transparent;display:inline;
}
h2{font-size:clamp(30px,3.6vw,46px);line-height:1.08;letter-spacing:-.018em}
h3{font-size:18px;font-weight:700;letter-spacing:-.01em}
p{margin:0;color:var(--ink-2)}

/* Selection */
::selection{background:var(--primary-soft);color:var(--plum)}

/* ============================================================
   NAV — Liquid glass
   ============================================================ */
.nav{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 28px;
  backdrop-filter:saturate(180%) blur(20px);
  -webkit-backdrop-filter:saturate(180%) blur(20px);
  background:rgba(251,246,250,.65);
  border-bottom:1px solid transparent;
  transition:background .3s var(--ease), border-color .3s var(--ease), padding .3s var(--ease);
}
.nav.scrolled{
  background:rgba(251,246,250,.85);
  border-bottom-color:var(--line);
  padding:10px 28px;
  box-shadow:0 1px 0 rgba(255,255,255,.6) inset, 0 12px 32px -24px rgba(58,10,94,.18);
}
.brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:18px;color:var(--ink)}
.brand img{
  border-radius:11px;
  box-shadow:0 6px 14px -6px rgba(101,0,225,.35), 0 0 0 1px rgba(255,255,255,.6) inset;
}
.links{display:flex;align-items:center;gap:24px}
.links a{color:var(--ink-2);font-weight:500;font-size:14.5px;position:relative}
.links a:not(.cta-mini):hover{color:var(--primary)}
.cta-mini{
  background:linear-gradient(135deg,var(--ink) 0%,var(--plum) 100%);
  color:#fff !important;
  padding:10px 16px;border-radius:var(--radius-pill);
  font-weight:600;font-size:14px;letter-spacing:.005em;
  box-shadow:0 8px 22px -8px rgba(58,10,94,.45), inset 0 1px 0 rgba(255,255,255,.18);
  transition:transform .25s var(--ease-spring), box-shadow .25s var(--ease), filter .25s var(--ease);
}
.cta-mini:hover{
  transform:translateY(-1px);
  filter:brightness(1.08);
  box-shadow:0 14px 30px -10px rgba(101,0,225,.55), inset 0 1px 0 rgba(255,255,255,.25);
}
@media (max-width:680px){
  .links a:not(.cta-mini){display:none}
  .nav{padding:12px 18px}
}

/* ============================================================
   HERO
   ============================================================ */
.hero{position:relative;max-width:var(--maxw);margin:0 auto;padding:56px 28px 48px;z-index:1}
.hero-glow{
  position:absolute;inset:-100px 0 auto 0;height:580px;z-index:-1;pointer-events:none;
  background:
    radial-gradient(440px 280px at 16% 32%, rgba(101,0,225,.28), transparent 70%),
    radial-gradient(460px 280px at 84% 18%, rgba(236,72,153,.26), transparent 70%),
    radial-gradient(360px 220px at 50% 80%, rgba(245,184,111,.22), transparent 70%);
  filter:blur(12px);
}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;min-height:580px}
.pill{
  display:inline-flex;align-items:center;gap:10px;
  padding:7px 14px;border-radius:var(--radius-pill);
  font-size:13px;font-weight:600;letter-spacing:.005em;
  background:var(--card-glass-strong);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  color:var(--primary);
  border:1px solid var(--line-strong);
  box-shadow:0 6px 18px -10px rgba(101,0,225,.30), 0 0 0 1px rgba(255,255,255,.6) inset;
}
.pill::before{
  content:"";width:7px;height:7px;border-radius:50%;
  background:var(--primary);
  box-shadow:0 0 0 5px rgba(101,0,225,.18), 0 0 14px rgba(101,0,225,.55);
  animation:pulse 2.4s ease-in-out infinite;
}
@keyframes pulse{
  0%,100%{box-shadow:0 0 0 5px rgba(101,0,225,.18), 0 0 14px rgba(101,0,225,.55)}
  50%{box-shadow:0 0 0 8px rgba(101,0,225,.08), 0 0 22px rgba(101,0,225,.85)}
}
.hero-copy h1{margin:20px 0 18px}
.lede{font-size:18.5px;color:var(--ink-2);max-width:540px;line-height:1.55}

.cta-row{display:flex;flex-wrap:wrap;gap:14px;margin:28px 0 14px;align-items:center}
.btn-play{
  display:inline-flex;align-items:center;gap:12px;
  background:linear-gradient(135deg,var(--ink) 0%,var(--plum) 100%);
  color:#fff !important;
  padding:14px 22px;border-radius:16px;
  box-shadow:0 14px 30px -12px rgba(58,10,94,.55), inset 0 1px 0 rgba(255,255,255,.18);
  transition:transform .25s var(--ease-spring), box-shadow .3s var(--ease), filter .25s var(--ease);
  position:relative;overflow:hidden;
}
.btn-play::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.16),transparent 40%);
}
.btn-play:hover{
  transform:translateY(-2px);
  filter:brightness(1.08);
  box-shadow:0 22px 42px -14px rgba(101,0,225,.65), inset 0 1px 0 rgba(255,255,255,.24);
}
.btn-text{display:flex;flex-direction:column;line-height:1.05;text-align:left}
.btn-text small{font-size:10.5px;letter-spacing:.20em;opacity:.78;text-transform:uppercase}
.btn-text strong{font-size:18px;font-weight:700;letter-spacing:.005em}
.btn-ghost{
  display:inline-flex;align-items:center;padding:14px 20px;border-radius:16px;
  border:1px solid var(--line-strong);color:var(--ink);font-weight:600;
  background:var(--card-glass-strong);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  transition:transform .25s var(--ease-spring), border-color .25s var(--ease), color .25s var(--ease), box-shadow .25s var(--ease);
}
.btn-ghost:hover{
  border-color:var(--primary);
  color:var(--primary);
  transform:translateY(-2px);
  box-shadow:0 14px 30px -16px rgba(101,0,225,.40);
}

.trust{margin-top:10px;color:var(--muted);font-size:13.5px;display:flex;align-items:center;gap:10px}
.trust .dot{width:8px;height:8px;border-radius:50%;background:#3ec98a;box-shadow:0 0 0 4px rgba(62,201,138,.18)}

/* Hero phones */
.hero-phone{position:relative;height:620px;display:flex;justify-content:center;align-items:center}
.shot{
  position:absolute;width:260px;height:auto;
  filter:drop-shadow(0 36px 50px rgba(58,10,94,.32)) drop-shadow(0 12px 20px rgba(58,10,94,.22));
  border-radius:8px;
  transition:transform .5s var(--ease);
}
.shot-center{position:relative;z-index:3;width:310px}
.shot-left{left:4%;top:50%;transform:translateY(-50%) rotate(-8deg);z-index:1;opacity:.96;width:248px}
.shot-right{right:4%;top:50%;transform:translateY(-50%) rotate(8deg);z-index:2;opacity:.96;width:248px}
.hero-phone:hover .shot-center{transform:translateY(-6px)}
.hero-phone:hover .shot-left{transform:translateY(calc(-50% - 4px)) rotate(-10deg)}
.hero-phone:hover .shot-right{transform:translateY(calc(-50% - 4px)) rotate(10deg)}

.float-card{
  position:absolute;
  background:var(--card-glass-strong);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border-radius:16px;padding:11px 16px;
  display:flex;align-items:center;gap:12px;
  box-shadow:var(--shadow-sm), 0 0 0 1px rgba(255,255,255,.55) inset;
  font-size:13px;z-index:5;
  border:1px solid var(--line);
  animation:float 6s ease-in-out infinite;
}
.float-card strong{display:block;font-size:13.5px;color:var(--ink);font-weight:600}
.float-card small{color:var(--muted);font-size:11.5px}
.float-card .emoji{font-size:22px}
.float-1{left:-12px;top:120px;animation-delay:0s}
.float-2{right:-12px;bottom:80px;animation-delay:-3s}
@keyframes float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-10px)}
}

@media (max-width:880px){
  .hero-grid{grid-template-columns:1fr;gap:24px;min-height:auto}
  .hero-phone{height:520px;margin-top:8px}
  .shot-center{width:270px}
  .shot-left,.shot-right{width:208px}
  .float-1{left:-4px;top:60px}
  .float-2{right:-4px;bottom:40px}
}
@media (max-width:480px){
  .hero-phone{height:450px}
  .shot-center{width:230px}
  .shot-left,.shot-right{width:180px}
  .shot-left{left:0}
  .shot-right{right:0}
  .float-card{display:none}
}

/* ============================================================
   STATS STRIP — Liquid glass cards
   ============================================================ */
.strip{
  max-width:var(--maxw);margin:8px auto 0;padding:0 28px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:18px;
  position:relative;z-index:1;
}
.strip-item{
  background:var(--card-glass-strong);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:20px 22px;display:flex;flex-direction:column;
  box-shadow:var(--shadow-sm), 0 0 0 1px rgba(255,255,255,.55) inset;
  transition:transform .3s var(--ease-spring), box-shadow .3s var(--ease);
}
.strip-item:hover{transform:translateY(-3px);box-shadow:var(--shadow), 0 0 0 1px rgba(255,255,255,.7) inset}
.strip-item strong{
  font-family:'Fraunces',serif;font-size:28px;color:var(--plum);font-weight:600;
  font-feature-settings:"tnum" 1, "lnum" 1;
  background:linear-gradient(135deg,var(--primary),var(--rose));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.strip-item span{color:var(--muted);font-size:13.5px;margin-top:2px}
@media (max-width:780px){.strip{grid-template-columns:repeat(2,1fr)}}

/* ============================================================
   SECTIONS
   ============================================================ */
section.features, section.categories, section.screens, section.trending, section.cta{
  max-width:var(--maxw);margin:0 auto;padding:96px 28px;position:relative;z-index:1;
}
.section-head{text-align:center;max-width:720px;margin:0 auto 44px}
.kicker{
  display:inline-block;font-size:12px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;
  color:var(--primary);margin-bottom:12px;
}
.section-head p{margin-top:12px;font-size:17px}

/* Features */
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.feature{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:28px;
  box-shadow:var(--shadow-sm), 0 0 0 1px rgba(255,255,255,.6) inset;
  transition:transform .35s var(--ease-spring), box-shadow .35s var(--ease), border-color .35s var(--ease);
  position:relative;overflow:hidden;
}
.feature::before{
  content:"";position:absolute;inset:auto -40% -60% auto;width:200px;height:200px;border-radius:50%;
  background:radial-gradient(circle,rgba(101,0,225,.08),transparent 70%);
  opacity:0;transition:opacity .4s var(--ease);
}
.feature:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow), 0 0 0 1px rgba(255,255,255,.7) inset;
  border-color:var(--line-strong);
}
.feature:hover::before{opacity:1}
.feature .ic{
  width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-size:22px;
  background:linear-gradient(135deg,rgba(139,61,242,.14),rgba(236,72,153,.14));
  border:1px solid var(--line);
  margin-bottom:16px;
  box-shadow:0 6px 18px -8px rgba(101,0,225,.20);
}
.feature h3{margin:0 0 8px}
@media (max-width:880px){.feature-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.feature-grid{grid-template-columns:1fr}}

/* Categories */
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.cat{
  position:relative;overflow:hidden;border-radius:var(--radius);padding:24px;
  background:var(--card);
  border:1px solid var(--line);
  box-shadow:var(--shadow-sm), 0 0 0 1px rgba(255,255,255,.6) inset;
  transition:transform .35s var(--ease-spring), border-color .3s var(--ease), box-shadow .35s var(--ease);
  display:block;color:inherit;text-decoration:none;
}
.cat:hover{
  transform:translateY(-6px);
  border-color:var(--primary-ring);
  box-shadow:0 28px 48px -28px rgba(101,0,225,.40), 0 0 0 1px rgba(255,255,255,.7) inset;
}
.cat span{font-size:28px;display:inline-block;margin-bottom:12px;filter:drop-shadow(0 4px 8px rgba(58,10,94,.20))}
.cat h3{margin:0 0 4px}
.cat p{font-size:13.5px}
.cat::after{
  content:"";position:absolute;inset:auto -30% -50% auto;width:180px;height:180px;border-radius:50%;
  background:radial-gradient(circle,rgba(101,0,225,.18),transparent 70%);
  pointer-events:none;transition:transform .4s var(--ease);
}
.cat:hover::after{transform:scale(1.18)}
.cat-2::after{background:radial-gradient(circle,rgba(245,184,111,.26),transparent 70%)}
.cat-3::after{background:radial-gradient(circle,rgba(190,24,93,.22),transparent 70%)}
.cat-4::after{background:radial-gradient(circle,rgba(139,61,242,.24),transparent 70%)}
.cat-5::after{background:radial-gradient(circle,rgba(236,72,153,.20),transparent 70%)}
.cat-6::after{background:radial-gradient(circle,rgba(62,201,138,.20),transparent 70%)}
.cat-7::after{background:radial-gradient(circle,rgba(245,184,111,.24),transparent 70%)}
.cat-8::after{background:radial-gradient(circle,rgba(255,106,165,.22),transparent 70%)}
@media (max-width:880px){.cat-grid{grid-template-columns:repeat(2,1fr)}}

/* Screen rail */
.screen-rail{
  display:flex;gap:20px;overflow-x:auto;padding:14px 4px 28px;
  scroll-snap-type:x mandatory;scrollbar-width:none;
  mask-image:linear-gradient(90deg,transparent 0,#000 48px,#000 calc(100% - 48px),transparent 100%);
}
.screen-rail::-webkit-scrollbar{display:none}
.screen-rail img{
  flex:0 0 auto;width:280px;height:auto;
  filter:drop-shadow(0 28px 36px rgba(58,10,94,.28)) drop-shadow(0 10px 14px rgba(58,10,94,.18));
  scroll-snap-align:center;
  border-radius:8px;
  transition:transform .4s var(--ease-spring);
}
.screen-rail img:hover{transform:translateY(-6px) scale(1.02)}

/* Trending */
.trend-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.trend{
  background:linear-gradient(180deg,#fff,var(--bg-2));
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:30px;
  box-shadow:var(--shadow-sm), 0 0 0 1px rgba(255,255,255,.6) inset;
  transition:transform .35s var(--ease-spring), box-shadow .35s var(--ease);
}
.trend:hover{transform:translateY(-5px);box-shadow:var(--shadow), 0 0 0 1px rgba(255,255,255,.7) inset}
.trend-emoji{font-size:30px;margin-bottom:12px;filter:drop-shadow(0 4px 10px rgba(58,10,94,.18))}
.trend h3{font-family:'Fraunces',serif;font-size:24px;margin:0 0 10px;letter-spacing:-.01em}
@media (max-width:880px){.trend-grid{grid-template-columns:1fr}}

/* FAQ */
section.faq{max-width:920px;margin:0 auto;padding:88px 28px;position:relative;z-index:1}
.faq-list{display:flex;flex-direction:column;gap:14px}
.faq-list details{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:16px;
  padding:20px 24px;
  box-shadow:var(--shadow-sm), 0 0 0 1px rgba(255,255,255,.6) inset;
  transition:border-color .3s var(--ease), box-shadow .3s var(--ease), transform .3s var(--ease-spring);
}
.faq-list details:hover{transform:translateY(-2px)}
.faq-list details[open]{
  border-color:var(--primary-ring);
  box-shadow:0 18px 36px -22px rgba(101,0,225,.32), 0 0 0 1px rgba(255,255,255,.7) inset;
}
.faq-list summary{
  font-family:'Fraunces',serif;font-size:19px;font-weight:600;color:var(--ink);
  cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;
  letter-spacing:-.005em;
}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{
  content:"+";font-family:'Inter',sans-serif;font-size:24px;font-weight:300;
  color:var(--primary);
  width:32px;height:32px;border-radius:50%;display:grid;place-items:center;
  background:var(--primary-soft);
  transition:transform .35s var(--ease-spring), background .25s var(--ease);
}
.faq-list details[open] summary::after{content:"−";transform:rotate(180deg);background:rgba(101,0,225,.18)}
.faq-list details p{margin:14px 0 0;color:var(--ink-2);font-size:15.5px;line-height:1.65}

/* ============================================================
   CTA card — premium gradient, no emoji
   ============================================================ */
.cta-card{
  text-align:center;border-radius:var(--radius-lg);
  padding:76px 28px;
  background:
    radial-gradient(700px 320px at 18% 12%, rgba(255,255,255,.22), transparent 60%),
    radial-gradient(620px 280px at 88% 92%, rgba(255,255,255,.16), transparent 60%),
    linear-gradient(135deg, #6500e1 0%, #be185d 60%, #3a0a5e 100%);
  color:#fff;
  box-shadow:0 60px 100px -50px rgba(58,10,94,.65), 0 24px 60px -28px rgba(101,0,225,.45), inset 0 1px 0 rgba(255,255,255,.18);
  position:relative;overflow:hidden;
}
/* Glass orbs in place of emoji decoration */
.cta-card::before, .cta-card::after{
  content:"";position:absolute;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle at 35% 35%, rgba(255,255,255,.42), rgba(255,255,255,.05) 60%, transparent 80%);
  filter:blur(2px);
}
.cta-card::before{top:-80px;left:-60px;width:280px;height:280px;opacity:.35}
.cta-card::after{bottom:-100px;right:-60px;width:340px;height:340px;opacity:.28}
.cta-card h2{color:#fff;max-width:720px;margin:0 auto 12px;letter-spacing:-.018em;font-size:clamp(30px,3.4vw,46px)}
.cta-card p{color:rgba(255,255,255,.88);margin-bottom:28px;font-size:17px}
.btn-play-lg{
  padding:16px 26px;
  background:#fff;color:var(--plum) !important;
  box-shadow:0 14px 36px -14px rgba(255,255,255,.55), inset 0 1px 0 rgba(255,255,255,.6);
  border:1px solid rgba(255,255,255,.6);
}
.btn-play-lg:hover{background:#fff;transform:translateY(-3px);filter:none;box-shadow:0 22px 50px -16px rgba(255,255,255,.65), inset 0 1px 0 rgba(255,255,255,.7)}
.btn-play-lg .btn-text small{color:var(--plum);opacity:.7}
.btn-play-lg::after{background:none}

/* ============================================================
   Article / blog / category pages
   ============================================================ */
.article{max-width:880px;margin:0 auto;padding:56px 28px 96px;position:relative;z-index:1}
.article header.article-head{margin-bottom:36px}
.article header.article-head .kicker{color:var(--primary)}
.article h1{font-size:clamp(34px,4.6vw,56px);margin:12px 0 16px;letter-spacing:-.024em}
.article .lede{font-size:18.5px;color:var(--ink-2);max-width:700px;line-height:1.55}
.article-meta{display:flex;flex-wrap:wrap;gap:18px;font-size:14px;color:var(--muted);margin-top:20px}
.article-meta a{color:var(--primary);font-weight:600}
.article section{margin-top:40px}
.article h2{font-size:clamp(24px,2.8vw,32px);margin:0 0 14px;letter-spacing:-.012em}
.article h3{font-family:'Fraunces',serif;font-size:22px;margin:0 0 8px;font-weight:600;letter-spacing:-.008em}
.article p{font-size:17px;line-height:1.72;color:var(--ink-2);margin:0 0 16px}
.article ul, .article ol{padding-left:22px;color:var(--ink-2);font-size:17px;line-height:1.72;margin:0 0 16px}
.article li{margin-bottom:6px}
.article blockquote{
  border-left:3px solid var(--primary);
  background:var(--card-glass-strong);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  padding:20px 24px;border-radius:0 16px 16px 0;
  font-family:'Fraunces',serif;font-style:italic;font-size:19px;color:var(--ink);
  margin:28px 0;
  box-shadow:var(--shadow-sm), 0 0 0 1px rgba(255,255,255,.6) inset;
}
.excerpt{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:18px;padding:26px;
  box-shadow:var(--shadow-sm), 0 0 0 1px rgba(255,255,255,.6) inset;
  margin:20px 0;
  transition:transform .3s var(--ease-spring), box-shadow .3s var(--ease);
}
.excerpt:hover{transform:translateY(-2px);box-shadow:var(--shadow), 0 0 0 1px rgba(255,255,255,.7) inset}
.excerpt .excerpt-tag{
  display:inline-block;font-size:12px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--primary);font-weight:700;margin-bottom:8px;
}
.related{margin-top:56px;padding-top:36px;border-top:1px solid var(--line)}
.related h3{font-size:14px;letter-spacing:.20em;text-transform:uppercase;color:var(--muted);font-weight:700;font-family:'Inter',sans-serif;margin-bottom:16px}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:780px){.related-grid{grid-template-columns:1fr}}
.related-card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:16px;padding:18px 20px;
  display:flex;flex-direction:column;gap:6px;
  transition:transform .3s var(--ease-spring), border-color .3s var(--ease), box-shadow .3s var(--ease);
  box-shadow:var(--shadow-sm), 0 0 0 1px rgba(255,255,255,.6) inset;
}
.related-card:hover{transform:translateY(-4px);border-color:var(--primary-ring);box-shadow:var(--shadow), 0 0 0 1px rgba(255,255,255,.7) inset}
.related-card span.r-emoji{font-size:22px}
.related-card strong{font-family:'Fraunces',serif;font-size:18px;color:var(--ink);font-weight:600;letter-spacing:-.005em}
.related-card small{color:var(--muted);font-size:13px}

.inline-cta{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  background:linear-gradient(135deg,rgba(101,0,225,.06),rgba(236,72,153,.06));
  border:1px solid var(--line-strong);
  border-radius:20px;padding:26px 28px;margin:36px 0;
  box-shadow:var(--shadow-sm), 0 0 0 1px rgba(255,255,255,.6) inset;
}
.inline-cta .ic-copy strong{font-family:'Fraunces',serif;font-size:21px;display:block;color:var(--ink);margin-bottom:4px;letter-spacing:-.005em}
.inline-cta .ic-copy small{color:var(--muted);font-size:13.5px}
@media (max-width:640px){.inline-cta{flex-direction:column;align-items:stretch;text-align:center}}

/* Blog index cards */
.post-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:28px}
@media (max-width:780px){.post-grid{grid-template-columns:1fr}}
.post-card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:20px;padding:28px;
  box-shadow:var(--shadow-sm), 0 0 0 1px rgba(255,255,255,.6) inset;
  display:flex;flex-direction:column;gap:10px;
  transition:transform .35s var(--ease-spring), border-color .3s var(--ease), box-shadow .3s var(--ease);
}
.post-card:hover{transform:translateY(-5px);border-color:var(--primary-ring);box-shadow:var(--shadow), 0 0 0 1px rgba(255,255,255,.7) inset}
.post-card h3{font-family:'Fraunces',serif;font-size:24px;color:var(--ink);font-weight:600;letter-spacing:-.01em}
.post-card .post-meta{color:var(--muted);font-size:13px;margin-top:auto}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{
  margin-top:48px;
  background:
    radial-gradient(800px 360px at 50% -20%, rgba(139,61,242,.18), transparent 70%),
    linear-gradient(180deg,#0c0414 0%,#15071d 100%);
  color:#e9d4dc;padding:56px 28px;
  position:relative;z-index:1;
  border-top:1px solid rgba(255,255,255,.06);
}
.foot-grid{
  max-width:var(--maxw);margin:0 auto;
  display:grid;grid-template-columns:1.2fr 1.5fr 1fr;gap:28px;align-items:center;
}
.foot-brand{display:flex;align-items:center;gap:14px}
.foot-brand img{border-radius:12px;box-shadow:0 8px 18px -8px rgba(101,0,225,.55), 0 0 0 1px rgba(255,255,255,.08) inset}
.foot-brand strong{display:block;font-family:'Fraunces',serif;font-size:19px;color:#fff;letter-spacing:-.005em}
.foot-brand small{color:#b698aa;font-size:12.5px;margin-top:2px}
.foot-links{display:flex;flex-wrap:wrap;gap:22px;justify-content:center}
.foot-links a{color:#e9d4dc;font-size:14.5px;transition:color .2s var(--ease)}
.foot-links a:hover{color:var(--rose-2)}
.foot-meta{display:flex;flex-direction:column;gap:4px;text-align:right;color:#b698aa;font-size:12.5px}
@media (max-width:780px){
  .foot-grid{grid-template-columns:1fr;text-align:center;gap:20px}
  .foot-meta{text-align:center}
  .foot-links{justify-content:center}
}

/* ============================================================
   Accessibility: respect reduced motion
   ============================================================ */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
}

/* Focus states for keyboard navigation */
a:focus-visible, button:focus-visible, summary:focus-visible{
  outline:2px solid var(--primary);
  outline-offset:3px;
  border-radius:6px;
}
