/* MemoryPalace — illuminated storybook (grimoire flourishes, chapters, ornaments).
   Shared legal-page styles (.legal-content / .back-link) included. */
:root{
  --accent:#e8a33d;--accent2:#d97b9e;--bg:#1c1612;--card:#2e241b;
  --line:#45382a;--text:#f2ead9;--muted:#b3a48c;
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  background:var(--bg);color:var(--text);
  font-family:Georgia,'Times New Roman',serif;line-height:1.7;
  background-image:
    radial-gradient(900px 480px at 12% -4%,rgba(232,163,61,.10) 0%,transparent 60%),
    radial-gradient(760px 440px at 90% 2%,rgba(217,123,158,.08) 0%,transparent 60%);
  background-repeat:no-repeat
}
h1,h2,h3,h4{font-family:'Cinzel',Georgia,'Times New Roman',serif;font-weight:700;line-height:1.25}
.container{max-width:1020px;margin:0 auto;padding:40px 24px}

/* ── ornaments ─────────────────────────────────────────── */
.mp-flourish{display:flex;justify-content:center;gap:16px;align-items:center;
  color:var(--accent);font-size:.95rem;letter-spacing:6px;margin-bottom:16px}
.mp-flourish span{opacity:.9}

/* ── hero: the chapter opening ─────────────────────────── */
.mp-hero{padding:64px 24px 52px;text-align:center}
.mp-hero-inner{max-width:880px;margin:0 auto}
.mp-chapter{font-family:'Cinzel',Georgia,serif;font-size:.7rem;font-weight:700;
  letter-spacing:4px;text-transform:uppercase;color:var(--muted);margin-bottom:22px}
.mp-chapter .mp-dash{color:var(--accent)}
.mp-hero h1{font-size:clamp(2.7rem,9vw,4.4rem);letter-spacing:2px;color:var(--accent);
  text-shadow:0 0 46px rgba(232,163,61,.4);margin-bottom:16px}
.mp-tagline{font-size:clamp(1.08rem,3.4vw,1.38rem);font-style:italic;color:var(--accent2);margin-bottom:14px}
.mp-sub{color:var(--muted);max-width:560px;margin:0 auto 36px;font-size:1rem}

/* palace facade */
.mp-palace{max-width:680px;margin:0 auto 40px}
.mp-palace svg{display:block;width:100%;height:auto;filter:drop-shadow(0 22px 40px rgba(0,0,0,.55))}

/* ornate gold CTA — serif small-caps, double border, not a pill */
.mp-cta{display:inline-block;padding:15px 36px;border-radius:3px;
  background:linear-gradient(180deg,rgba(232,163,61,.14),rgba(232,163,61,.04)),var(--bg);
  color:var(--accent);font-family:'Cinzel',Georgia,serif;font-variant:small-caps;
  font-size:.98rem;letter-spacing:2.5px;text-decoration:none;text-align:center;
  border:1px solid var(--accent);
  box-shadow:0 0 0 4px var(--bg),0 0 0 5px var(--accent),0 16px 34px rgba(0,0,0,.45);
  transition:transform .2s,box-shadow .2s,background .2s}
.mp-cta::before,.mp-cta::after{content:"✦";font-size:.55em;vertical-align:2px;opacity:.75;margin:0 10px}
.mp-cta:hover{transform:translateY(-2px);
  background:linear-gradient(180deg,rgba(232,163,61,.24),rgba(232,163,61,.08)),var(--bg);
  box-shadow:0 0 0 4px var(--bg),0 0 0 5px var(--accent),0 0 28px rgba(232,163,61,.4),0 16px 34px rgba(0,0,0,.45)}

/* ── chapter heads (shared by every section) ───────────── */
.mp-chapter-head{text-align:center;margin-bottom:34px}
.mp-chapter-head .mp-flourish{margin-bottom:14px;font-size:.85rem}
.mp-chap-kicker{font-family:'Cinzel',Georgia,serif;font-size:.64rem;font-weight:700;
  letter-spacing:4px;text-transform:uppercase;color:var(--accent2);margin-bottom:10px}
.mp-chapter-head h2{font-size:clamp(1.5rem,4.6vw,2.1rem);letter-spacing:1px;color:var(--text)}
.mp-chapter-head h2::after{content:"";display:block;width:76px;height:1px;margin:16px auto 0;
  background:linear-gradient(90deg,transparent,var(--accent),transparent)}

/* ── chapter two: the tale, a storybook page ───────────── */
.mp-tale{margin:64px 0}
.mp-tale-frame{max-width:720px;margin:0 auto;background:var(--card);
  border:1px solid var(--accent);border-radius:10px;
  box-shadow:0 0 0 5px var(--bg),0 0 0 6px var(--accent),0 26px 60px rgba(0,0,0,.5);
  padding:22px 16px}
.mp-tale-page{position:relative;background:linear-gradient(180deg,#f9efd8 0%,#f1e2bd 100%);
  color:#3a2a18;border:1px solid #d9c68f;border-radius:4px;
  padding:36px 24px 48px;line-height:1.85;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.mp-tale-page p{font-size:1.04rem}
.mp-tale-page::first-letter{font-family:'Cinzel',Georgia,serif;font-weight:800;
  font-size:3.4em;float:left;line-height:.85;padding:6px 10px 0 0;color:var(--accent2)}
.mp-marginal{position:absolute;top:14px;right:18px;font-size:1.15rem;color:#c9a44a;opacity:.85}
.mp-page-num{position:absolute;bottom:12px;left:0;right:0;text-align:center;
  font-family:'Cinzel',Georgia,serif;font-size:.64rem;letter-spacing:3px;color:#a08a55}
.mp-tale-note{text-align:center;color:var(--muted);font-style:italic;font-size:.92rem;margin-top:18px}

/* highlighted item words — gold / rose, gentle bob */
.mp-item{display:inline-block;font-style:normal;font-weight:700;padding:0 5px;border-radius:3px;
  animation:mp-bob 2.4s ease-in-out infinite}
.mp-item-gold{color:#5f4309;background:rgba(232,163,61,.34);box-shadow:inset 0 -1px 0 rgba(232,163,61,.55)}
.mp-item-rose{color:#7c2f52;background:rgba(217,123,158,.3);box-shadow:inset 0 -1px 0 rgba(217,123,158,.55)}
.mp-tale-page p em:nth-of-type(2){animation-delay:.35s}
.mp-tale-page p em:nth-of-type(3){animation-delay:.7s}
.mp-tale-page p em:nth-of-type(4){animation-delay:1.05s}
.mp-tale-page p em:nth-of-type(5){animation-delay:1.4s}
@keyframes mp-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}

/* ── chapter three: the three tricks ───────────────────── */
.mp-tricks{margin:64px 0}
.mp-tricks-grid{display:grid;gap:18px}
.mp-trick{position:relative;text-align:center;background:
  linear-gradient(180deg,rgba(232,163,61,.06),transparent 42%),var(--card);
  border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:10px;
  padding:34px 22px 26px;transition:transform .18s,box-shadow .18s}
.mp-trick:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(0,0,0,.4)}
.mp-trick-no{position:absolute;top:-14px;left:50%;transform:translateX(-50%);
  font-family:'Cinzel',Georgia,serif;font-weight:800;font-size:.82rem;color:#241505;
  background:var(--accent);border-radius:50%;width:28px;height:28px;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 0 2px var(--bg),0 0 0 3px var(--accent)}
.mp-vignette{display:flex;justify-content:center;align-items:center;gap:10px;
  max-width:210px;margin:12px auto 18px;background:#241b12;border:1px solid var(--line);
  border-radius:8px;padding:12px 16px;font-size:1.5rem}
.mp-vignette span{filter:drop-shadow(0 3px 6px rgba(0,0,0,.6))}
.mp-vignette .mp-v-arrow{color:var(--accent);font-size:1rem;opacity:.8}
.mp-trick h3{font-size:.95rem;text-transform:uppercase;letter-spacing:2px;color:var(--accent);margin-bottom:10px}
.mp-trick p{color:var(--muted);font-size:.92rem}

/* ── chapter four: choose your world ───────────────────── */
.mp-worlds{margin:64px 0}
.mp-worlds-grid{display:grid;gap:16px}
.mp-world{background:var(--card);border:1px solid var(--line);border-radius:12px;
  padding:28px 22px 24px;text-align:center;position:relative;transition:transform .18s}
.mp-world:hover{transform:translateY(-3px)}
.mp-world::before{content:"❦";position:absolute;top:10px;left:14px;font-size:.72rem;opacity:.5}
.mp-world-gold{border-color:rgba(232,163,61,.5)}
.mp-world-gold::before{color:var(--accent)}
.mp-world-rose{border-color:rgba(217,123,158,.5)}
.mp-world-rose::before{color:var(--accent2)}
.mp-world-emoji{font-size:2rem;display:block;margin-bottom:12px}
.mp-world h3{font-size:.95rem;text-transform:uppercase;letter-spacing:2px;margin-bottom:9px}
.mp-world-gold h3{color:var(--accent)}
.mp-world-rose h3{color:var(--accent2)}
.mp-world p{color:var(--muted);font-style:italic;font-size:.92rem}


/* ── chapter six: the little questions ─────────────────── */
.mp-faq{margin:64px 0;max-width:680px;margin-left:auto;margin-right:auto}
.mp-faq details{background:var(--card);border:1px solid var(--line);border-radius:10px;
  margin-bottom:14px;overflow:hidden;transition:border-color .2s}
.mp-faq details[open]{border-color:rgba(232,163,61,.55)}
.mp-faq summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:12px;
  padding:18px 20px;font-family:'Cinzel',Georgia,serif;font-size:.93rem;font-weight:600;
  letter-spacing:.8px;color:var(--text);min-height:54px}
.mp-faq summary::-webkit-details-marker{display:none}
.mp-faq summary::before{content:"✦";color:var(--accent);font-size:.78rem;flex-shrink:0}
.mp-faq details[open] summary::before{content:"❦";color:var(--accent2)}
.mp-faq summary:hover{color:var(--accent)}
.mp-faq details p{padding:0 20px 20px 52px;color:var(--muted);font-size:.93rem}

/* ── the closing ───────────────────────────────────────── */
.mp-close{text-align:center;margin:72px 0 24px}
.mp-close .mp-flourish{margin-bottom:18px}
.mp-close h2{font-size:clamp(1.5rem,4.6vw,2.1rem);margin-bottom:14px}
.mp-close-sub{color:var(--muted);max-width:520px;margin:0 auto 34px;font-size:1rem}
.mp-close .mp-cta{margin-bottom:18px}
.mp-close-note{color:var(--muted);font-size:.85rem;font-style:italic}

/* ── the colophon ──────────────────────────────────────── */
.mp-footer{border-top:1px solid var(--line);margin-top:72px;padding:40px 24px 46px;text-align:center}
.mp-footer-inner{display:flex;flex-direction:column;align-items:center;gap:10px;
  color:var(--muted);font-size:.88rem}
.mp-footer-orn{color:var(--accent);font-size:.88rem;letter-spacing:10px;margin-bottom:4px}
.mp-legal-links{display:flex;gap:22px;flex-wrap:wrap;justify-content:center}
.mp-legal-links a{color:var(--muted);text-decoration:none;border-bottom:1px dotted var(--line);padding-bottom:2px}
.mp-legal-links a:hover{color:var(--accent);border-bottom-color:var(--accent)}
.mp-bound{font-style:italic;font-size:.85rem;opacity:.9}
.mp-bound::before{content:"✦ ";color:var(--accent2);opacity:.7}
.mp-bound::after{content:" ✦";color:var(--accent2);opacity:.7}

/* ── legal pages (shared with terms.html / privacy.html) ── */
.legal-content{max-width:820px;background:var(--card);border:1px solid var(--line);
  border-radius:10px;padding:44px;margin-top:24px;box-shadow:0 20px 44px rgba(0,0,0,.35)}
.legal-content h1{font-size:2rem;color:var(--accent);letter-spacing:.5px}
.legal-content h2{font-size:1.12rem;margin:26px 0 8px;letter-spacing:.5px}
.legal-content a{color:var(--accent);text-decoration:none;border-bottom:1px dotted var(--accent)}
.legal-content a:hover{color:var(--accent2);border-bottom-color:var(--accent2)}
.legal-content p,.legal-content li{color:var(--muted);font-size:.95rem;margin-bottom:10px}
.mp-footer-inner > a{color:var(--muted);text-decoration:none;border-bottom:1px dotted var(--line);padding-bottom:2px}
.mp-footer-inner > a:hover{color:var(--accent);border-bottom-color:var(--accent)}
.legal-content li{margin-left:1.4em}
.back-link{color:var(--accent);text-decoration:none;font-size:.9rem;
  font-family:'Cinzel',Georgia,serif;letter-spacing:1px}
.back-link:hover{text-decoration:underline}

/* ── wider screens ─────────────────────────────────────── */
@media (min-width:720px){
  .container{padding:56px 32px}
  .mp-hero{padding:100px 32px 68px}
  .mp-tricks-grid{grid-template-columns:repeat(3,1fr);gap:20px}
  .mp-worlds-grid{grid-template-columns:repeat(2,1fr);gap:18px}
  .mp-tale-frame{padding:32px}
  .mp-tale-page{padding:46px 42px 54px}
  .mp-tale-page p{font-size:1.12rem}
  .mp-cta{padding:16px 40px}
}

/* ── reduced motion ────────────────────────────────────── */
@media (prefers-reduced-motion:reduce){
  .mp-item{animation:none}
}
