*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
:root{
  --ink:#080604;--deep:#0d0a06;--parchment:#f2e8d5;
  --amber:#c8a84e;--amber-glow:#e8c870;--amber-dim:#7a6228;
  --rust:#6a3010;--gold:#d4b870;--forest:#111a0f;
}
html{scroll-behavior:smooth;}
body{background:var(--ink);color:var(--parchment);font-family:'Libre Baskerville',serif;overflow-x:hidden;}
body::before{
  content:'';position:fixed;inset:0;z-index:997;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='400' height='400' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
  mix-blend-mode:overlay;opacity:0.5;
}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:200;padding:22px 60px;display:flex;align-items:center;justify-content:space-between;transition:all 0.5s;}
nav.scrolled{background:rgba(8,6,4,0.97);border-bottom:1px solid rgba(200,168,78,0.15);padding:15px 60px;backdrop-filter:blur(12px);}
.nav-brand{font-family:'Cinzel Decorative',serif;font-size:12px;letter-spacing:4px;color:var(--amber);text-decoration:none;}
.nav-links{display:flex;gap:44px;list-style:none;}
.nav-links a{font-family:'Cinzel',serif;font-size:11px;letter-spacing:3px;color:rgba(242,232,213,0.55);text-decoration:none;text-transform:uppercase;transition:color 0.3s;position:relative;padding-bottom:3px;}
.nav-links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--amber);transition:width 0.3s;}
.nav-links a:hover{color:var(--amber);}
.nav-links a:hover::after{width:100%;}
.nav-burger{display:none;flex-direction:column;gap:6px;cursor:pointer;padding:4px;}
.nav-burger span{display:block;width:24px;height:1px;background:var(--amber);}
.mob-menu{display:none;position:fixed;inset:0;z-index:199;background:rgba(8,6,4,0.98);flex-direction:column;align-items:center;justify-content:center;gap:48px;}
.mob-menu.open{display:flex;}
.mob-menu a{font-family:'Cinzel',serif;font-size:20px;letter-spacing:6px;color:var(--parchment);text-decoration:none;text-transform:uppercase;transition:color 0.3s;}
.mob-menu a:hover{color:var(--amber);}

/* ═══ HERO ═══ */
.hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden;align-items:center;}
.hero-atmosphere{position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse at 15% 60%,rgba(106,48,16,0.22) 0%,transparent 55%),radial-gradient(ellipse at 85% 20%,rgba(17,26,15,0.45) 0%,transparent 50%),#090704;}
.particles{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;}
.particle{position:absolute;width:1px;height:1px;background:rgba(200,216,240,0.7);border-radius:50%;animation:float linear infinite;}
@keyframes float{0%{transform:translateY(100vh);opacity:0;}10%{opacity:1;}90%{opacity:0.5;}100%{transform:translateY(-20px) translateX(15px);opacity:0;}}
.candle-light{position:absolute;bottom:0;left:0;width:500px;height:400px;background:radial-gradient(ellipse at 30% 100%,rgba(200,140,40,0.16) 0%,transparent 70%);animation:flicker 3s ease-in-out infinite;pointer-events:none;z-index:1;}
@keyframes flicker{0%,100%{opacity:1;}25%{opacity:0.8;}50%{opacity:1;}75%{opacity:0.85;};}

/* HERO LEFT */
.hero-left{position:relative;z-index:10;display:flex;flex-direction:column;justify-content:center;padding:140px 48px 100px 88px;animation:leftIn 1.4s cubic-bezier(0.16,1,0.3,1) forwards;}
@keyframes leftIn{from{opacity:0;transform:translateX(-40px);}to{opacity:1;transform:translateX(0);}}

.hero-ornament{
  font-family:'Cinzel',serif;
  font-size:clamp(13px,1.4vw,17px);
  letter-spacing:4px;
  color:var(--amber-glow);
  text-transform:uppercase;
  margin-bottom:36px;
  line-height:1.7;
  text-shadow:
    0 0 20px rgba(232,200,112,0.9),
    0 0 50px rgba(232,200,112,0.45),
    0 0 90px rgba(232,200,112,0.2);
  position:relative;
  padding:18px 0;
}
/* Top and bottom decorative rules */
.hero-ornament::before{
  content:'';
  position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(to right,transparent,rgba(200,168,78,0.6),transparent);
}
.hero-ornament::after{
  content:'';
  position:absolute;bottom:0;left:0;right:0;height:1px;
  background:linear-gradient(to right,transparent,rgba(200,168,78,0.6),transparent);
}

.hero-title{font-family:'Cinzel Decorative',serif;line-height:0.92;margin-bottom:0;}
.ht-the{font-size:clamp(18px,2.2vw,32px);color:rgba(242,232,213,0.55);letter-spacing:14px;display:block;margin-bottom:6px;font-family:'Cinzel',serif;font-weight:500;}
.ht-parsnip{font-size:clamp(52px,7vw,96px);color:var(--parchment);display:block;text-shadow:0 0 60px rgba(200,168,78,0.2),0 2px 6px rgba(0,0,0,0.95);letter-spacing:2px;}
.ht-witch{font-size:clamp(52px,7vw,96px);color:var(--amber);display:block;text-shadow:0 0 40px rgba(200,168,78,0.5),0 0 90px rgba(200,168,78,0.2),0 2px 6px rgba(0,0,0,0.95);letter-spacing:2px;}

.title-rule{margin:28px 0;display:flex;align-items:center;gap:14px;}
.title-rule::before{content:'';display:block;width:56px;height:1px;background:linear-gradient(to right,var(--amber),transparent);}
.title-rule-gem{width:5px;height:5px;background:var(--amber);transform:rotate(45deg);flex-shrink:0;box-shadow:0 0 8px rgba(200,168,78,0.5);}
.title-rule::after{content:'';display:block;flex:1;height:1px;max-width:140px;background:linear-gradient(to right,var(--amber-dim),transparent);}

.hero-by{font-family:'Cinzel',serif;font-size:12px;letter-spacing:5px;color:rgba(242,232,213,0.65);text-transform:uppercase;margin-bottom:28px;}

/* NON-ITALIC body text — Libre Baskerville regular */
.hero-desc{
  font-family:'Libre Baskerville',serif;
  font-size:clamp(16px,1.7vw,20px);
  line-height:1.9;
  color:rgba(242,232,213,0.92);
  max-width:440px;margin-bottom:16px;
}

.hero-catchphrase{
  font-family:'Cinzel Decorative',serif;
  font-size:clamp(14px,1.3vw,17px);
  color:var(--amber-glow);letter-spacing:2px;
  margin-bottom:48px;display:flex;align-items:center;gap:12px;
}
.hero-catchphrase::before{display:none;}

.hero-cta{display:flex;gap:18px;flex-wrap:wrap;}
.btn-p{display:inline-flex;align-items:center;background:linear-gradient(135deg,var(--amber),var(--amber-glow));color:var(--ink);font-family:'Cinzel',serif;font-size:11px;letter-spacing:4px;text-transform:uppercase;text-decoration:none;padding:18px 36px;border-radius:1px;font-weight:700;transition:all 0.35s;box-shadow:0 4px 24px rgba(200,168,78,0.3);}
.btn-p:hover{transform:translateY(-3px);box-shadow:0 14px 36px rgba(200,168,78,0.45);}
.btn-s{display:inline-flex;align-items:center;background:transparent;color:rgba(242,232,213,0.88);font-family:'Cinzel',serif;font-size:11px;letter-spacing:4px;text-transform:uppercase;text-decoration:none;padding:17px 32px;border-radius:1px;border:1px solid rgba(242,232,213,0.3);transition:all 0.35s;}
.btn-s:hover{border-color:var(--amber);color:var(--amber);transform:translateY(-3px);}

/* HERO RIGHT — BIGGER BOOK */
.hero-right{position:relative;z-index:10;display:flex;align-items:center;justify-content:center;padding:110px 72px 80px 16px;animation:rightIn 1.6s cubic-bezier(0.16,1,0.3,1) forwards;}
@keyframes rightIn{from{opacity:0;transform:translateX(40px);}to{opacity:1;transform:translateX(0);}}
.book-stage{position:relative;max-width:440px;width:100%;}
.book-ring{position:absolute;border-radius:50%;border:1px solid rgba(200,168,78,0.08);top:50%;left:50%;transform:translate(-50%,-50%);animation:ringPulse 4s ease-in-out infinite;}
.book-ring:nth-child(1){width:112%;height:112%;animation-delay:0s;}
.book-ring:nth-child(2){width:130%;height:130%;animation-delay:1s;border-color:rgba(200,168,78,0.05);}
.book-ring:nth-child(3){width:150%;height:150%;animation-delay:2s;border-color:rgba(200,168,78,0.025);}
@keyframes ringPulse{0%,100%{opacity:0;transform:translate(-50%,-50%) scale(0.95);}50%{opacity:1;transform:translate(-50%,-50%) scale(1);}}
.book-cover{position:relative;z-index:2;filter:drop-shadow(-24px 36px 72px rgba(0,0,0,0.95)) drop-shadow(0 0 48px rgba(200,140,40,0.22));}
.book-cover img{width:100%;display:block;border-radius:1px 8px 8px 1px;}
.book-cover-spine{position:absolute;right:100%;top:0;bottom:0;width:22px;background:linear-gradient(to right,#040302,#180e04,#0a0602,#180e04,#060402);border-radius:4px 0 0 4px;}
.book-cover-sheen{position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,0.08) 0%,rgba(255,255,255,0.02) 30%,transparent 60%);border-radius:1px 8px 8px 1px;pointer-events:none;}
.book-candle{position:absolute;bottom:-32px;left:50%;transform:translateX(-50%);width:260px;height:48px;background:radial-gradient(ellipse,rgba(200,140,40,0.22) 0%,transparent 70%);animation:flicker 2.5s ease-in-out infinite;}

/* DIVIDER */
.divider{display:flex;align-items:center;justify-content:center;height:56px;position:relative;z-index:2;}
.divider-inner{display:flex;align-items:center;gap:18px;width:100%;max-width:600px;padding:0 40px;}
.divider-line{flex:1;height:1px;background:linear-gradient(to right,transparent,rgba(200,168,78,0.22),transparent);}
.divider-gem{width:7px;height:7px;background:var(--amber-dim);transform:rotate(45deg);flex-shrink:0;box-shadow:0 0 10px rgba(200,168,78,0.35);}

/* ═══ STORY ═══ */
.story{background:var(--parchment);position:relative;overflow:hidden;}
.story::before{content:'';position:absolute;top:0;left:0;right:0;height:8px;background:linear-gradient(to bottom,rgba(8,6,4,0.14),transparent);}
.story-inner{display:grid;grid-template-columns:1.3fr 1fr;gap:0;}
.story-text{padding:88px 64px 88px 88px;border-right:1px solid rgba(0,0,0,0.08);}
.section-tag{display:inline-flex;align-items:center;gap:8px;font-family:'Cinzel',serif;font-size:10px;letter-spacing:5px;color:var(--rust);text-transform:uppercase;margin-bottom:24px;padding:6px 14px;border:1px solid rgba(106,48,16,0.25);border-radius:1px;}
.story-text h2{font-family:'Cinzel Decorative',serif;font-size:clamp(22px,2.4vw,32px);color:var(--ink);line-height:1.2;margin-bottom:28px;}
/* NON-ITALIC story body */
.story-text p{font-family:'Libre Baskerville',serif;font-size:clamp(16px,1.5vw,19px);line-height:2;color:#1e140a;margin-bottom:20px;}
.catchphrase-pull{margin-top:32px;padding:22px 28px;border-left:4px solid var(--amber);background:linear-gradient(to right,rgba(200,168,78,0.09),transparent);}
.catchphrase-pull p{font-family:'Cinzel Decorative',serif;font-size:17px;color:var(--rust);font-style:italic;margin:0;letter-spacing:1px;}

.story-details{padding:88px 64px 88px 52px;display:flex;flex-direction:column;justify-content:center;}
.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.detail-chip{background:white;border-radius:2px;padding:22px 20px;border-top:3px solid var(--amber);box-shadow:0 2px 16px rgba(0,0,0,0.07);}
.dc-label{font-family:'Cinzel',serif;font-size:9px;letter-spacing:3px;color:var(--amber-dim);text-transform:uppercase;margin-bottom:8px;}
.dc-value{font-family:'Libre Baskerville',serif;font-size:17px;color:#1a1008;line-height:1.4;}

/* ═══ CHARACTERS ═══ */
.grimoire{background:var(--deep);padding:100px 88px;position:relative;overflow:hidden;}
.grimoire::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 20% 80%,rgba(106,48,16,0.1) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(17,26,15,0.3) 0%,transparent 50%);}
.grimoire-header{text-align:center;margin-bottom:60px;position:relative;z-index:1;}
.grimoire-eyebrow{font-family:'Cinzel',serif;font-size:12px;letter-spacing:6px;color:rgba(200,168,78,0.85);text-transform:uppercase;margin-bottom:16px;}
.grimoire-title{font-family:'Cinzel Decorative',serif;font-size:clamp(24px,3.2vw,40px);color:rgba(242,232,213,0.97);text-shadow:0 0 40px rgba(200,168,78,0.2);}
.grimoire-rule{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:20px;}
.grimoire-rule::before{content:'';display:block;width:70px;height:1px;background:linear-gradient(to right,transparent,rgba(200,168,78,0.45));}
.grimoire-rule::after{content:'';display:block;width:70px;height:1px;background:linear-gradient(to left,transparent,rgba(200,168,78,0.45));}
.gr-gem{width:6px;height:6px;background:var(--amber-dim);transform:rotate(45deg);}
.grimoire-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:2px;max-width:900px;margin:0 auto;border:1px solid rgba(200,168,78,0.12);}
.grim-card{background:rgba(242,232,213,0.04);padding:48px 40px;position:relative;transition:all 0.4s;overflow:hidden;}
.grim-card::before{content:'';position:absolute;inset:0;border:1px solid rgba(200,168,78,0);transition:border-color 0.4s;pointer-events:none;}
.grim-card:hover{background:rgba(242,232,213,0.07);}
.grim-card:hover::before{border-color:rgba(200,168,78,0.28);}
.grim-card:nth-child(1){border-right:1px solid rgba(200,168,78,0.1);border-bottom:1px solid rgba(200,168,78,0.1);}
.grim-card:nth-child(2){border-bottom:1px solid rgba(200,168,78,0.1);}
.grim-card:nth-child(3){border-right:1px solid rgba(200,168,78,0.1);}
.gc-number{font-family:'Cinzel',serif;font-size:10px;letter-spacing:4px;color:rgba(200,168,78,0.3);text-transform:uppercase;margin-bottom:18px;}
.gc-icon{font-size:42px;margin-bottom:16px;display:block;}
.gc-name{font-family:'Cinzel Decorative',serif;font-size:18px;color:var(--amber-glow);margin-bottom:14px;text-shadow:0 0 16px rgba(200,168,78,0.25);}
.gc-rule{width:28px;height:1px;background:rgba(200,168,78,0.3);margin-bottom:14px;}
/* NON-ITALIC character descriptions */
.gc-desc{font-family:'Libre Baskerville',serif;font-size:clamp(15px,1.4vw,17px);line-height:1.9;color:rgba(242,232,213,0.88);}

/* ═══ TRILOGY ═══ */
.trilogy{background:var(--forest);padding:100px 88px;position:relative;overflow:hidden;}
.trilogy::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 100%,rgba(200,168,78,0.05) 0%,transparent 55%);}
.trilogy-header{text-align:center;margin-bottom:60px;position:relative;z-index:1;}
.trilogy-eyebrow{font-family:'Cinzel',serif;font-size:11px;letter-spacing:6px;color:rgba(200,168,78,0.7);text-transform:uppercase;margin-bottom:16px;}
.trilogy-title{font-family:'Cinzel Decorative',serif;font-size:clamp(24px,3.2vw,40px);color:rgba(242,232,213,0.97);}
.trilogy-subtitle{font-family:'Libre Baskerville',serif;font-size:clamp(15px,1.4vw,18px);color:rgba(242,232,213,0.6);margin-top:14px;}
.trilogy-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:0;max-width:960px;margin:0 auto;border:1px solid rgba(200,168,78,0.12);}
.trilogy-card{padding:52px 36px;border-right:1px solid rgba(200,168,78,0.1);position:relative;overflow:hidden;transition:all 0.4s;}
.trilogy-card:last-child{border-right:none;}
.trilogy-card:hover{background:rgba(200,168,78,0.04);}
.trilogy-card.active{background:rgba(200,168,78,0.07);}
.trilogy-card.active::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,transparent,var(--amber),transparent);}
.tc-status{font-family:'Cinzel',serif;font-size:9px;letter-spacing:3px;text-transform:uppercase;margin-bottom:20px;display:inline-block;padding:5px 14px;border-radius:1px;}
.tc-status.available{background:var(--amber);color:var(--ink);}
.tc-status.coming{border:1px solid rgba(200,168,78,0.3);color:rgba(200,168,78,0.75);}
.tc-num{font-family:'Cinzel',serif;font-size:10px;letter-spacing:4px;color:rgba(200,168,78,0.4);text-transform:uppercase;margin-bottom:14px;}
.tc-title{font-family:'Cinzel Decorative',serif;font-size:17px;color:rgba(242,232,213,0.94);margin-bottom:16px;line-height:1.3;}
.tc-desc{font-family:'Libre Baskerville',serif;font-size:clamp(14px,1.3vw,16px);line-height:1.9;color:rgba(242,232,213,0.75);}

/* ═══ BUY ═══ */
.buy{background:var(--parchment);padding:100px 88px;text-align:center;position:relative;overflow:hidden;}
.buy::before{content:'';position:absolute;top:0;left:0;right:0;height:8px;background:linear-gradient(to bottom,rgba(8,6,4,0.12),transparent);}
.buy-header{margin-bottom:56px;}
.buy-tag{display:inline-block;font-family:'Cinzel',serif;font-size:10px;letter-spacing:5px;color:var(--rust);text-transform:uppercase;margin-bottom:16px;}
.buy-title{font-family:'Cinzel Decorative',serif;font-size:clamp(28px,3.5vw,48px);color:var(--ink);}
.buy-sub{font-family:'Libre Baskerville',serif;font-size:clamp(16px,1.5vw,19px);color:rgba(0,0,0,0.55);margin-top:12px;}
.buy-cards{display:flex;gap:0;justify-content:center;max-width:580px;margin:0 auto;border:1px solid rgba(0,0,0,0.1);}
.buy-card{flex:1;padding:52px 40px;display:flex;flex-direction:column;align-items:center;position:relative;transition:all 0.3s;background:white;}
.buy-card:first-child{border-right:1px solid rgba(0,0,0,0.07);}
.buy-card:hover{background:#fdfaf6;}
.buy-card.featured::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(to right,transparent,var(--amber),transparent);}
.bc-platform{font-family:'Cinzel',serif;font-size:10px;letter-spacing:3px;color:var(--amber-dim);text-transform:uppercase;margin-bottom:16px;}
.bc-price{font-family:'Cinzel Decorative',serif;font-size:52px;color:var(--ink);margin-bottom:6px;line-height:1;}
.bc-currency{font-size:26px;vertical-align:super;}
.bc-note{font-family:'Libre Baskerville',serif;font-size:clamp(14px,1.3vw,16px);color:rgba(0,0,0,0.55);margin-bottom:32px;line-height:1.8;flex:1;}
.btn-buy{display:block;width:100%;font-family:'Cinzel',serif;font-size:11px;letter-spacing:4px;text-transform:uppercase;text-decoration:none;padding:16px 24px;border-radius:1px;transition:all 0.3s;text-align:center;margin-top:auto;}
.buy-card.featured .btn-buy{background:linear-gradient(135deg,var(--amber),var(--amber-glow));color:var(--ink);box-shadow:0 4px 18px rgba(200,168,78,0.28);}
.buy-card.featured .btn-buy:hover{box-shadow:0 10px 28px rgba(200,168,78,0.42);transform:translateY(-2px);}
.buy-card:not(.featured) .btn-buy{background:var(--ink);color:var(--parchment);}
.buy-card:not(.featured) .btn-buy:hover{background:var(--rust);transform:translateY(-2px);}

/* ═══ SIGNUP ═══ */
.signup{background:var(--ink);padding:100px 88px;text-align:center;position:relative;overflow:hidden;}
.signup::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 60%,rgba(200,168,78,0.07) 0%,transparent 65%);}
.signup-inner{position:relative;z-index:1;max-width:560px;margin:0 auto;}
.signup-orn{font-family:'Cinzel Decorative',serif;font-size:20px;color:rgba(200,168,78,0.35);margin-bottom:20px;letter-spacing:4px;}
.signup h2{font-family:'Cinzel Decorative',serif;font-size:clamp(22px,2.8vw,36px);color:rgba(242,232,213,0.97);margin-bottom:18px;}
.signup p{font-family:'Libre Baskerville',serif;font-size:clamp(16px,1.5vw,19px);line-height:1.9;color:rgba(242,232,213,0.78);margin-bottom:44px;}
.form-wrap{display:flex;max-width:460px;margin:0 auto 16px;}
.form-wrap input{flex:1;background:rgba(242,232,213,0.07);border:1px solid rgba(200,168,78,0.25);border-right:none;color:rgba(242,232,213,0.92);font-family:'Libre Baskerville',serif;font-size:15px;padding:16px 22px;outline:none;transition:border-color 0.3s;}
.form-wrap input::placeholder{color:rgba(242,232,213,0.3);}
.form-wrap input:focus{border-color:rgba(200,168,78,0.52);}
.form-wrap button{background:var(--amber);color:var(--ink);border:none;font-family:'Cinzel',serif;font-size:11px;letter-spacing:3px;text-transform:uppercase;padding:16px 26px;cursor:pointer;transition:all 0.3s;white-space:nowrap;}
.form-wrap button:hover{background:var(--gold);}
.form-note{font-family:'Cinzel',serif;font-size:10px;color:rgba(242,232,213,0.25);letter-spacing:2px;}

/* ═══ SOCIAL ═══ */
.social-bar{background:rgba(200,168,78,0.05);border-top:1px solid rgba(200,168,78,0.12);border-bottom:1px solid rgba(200,168,78,0.12);padding:26px 88px;display:flex;align-items:center;justify-content:center;gap:52px;flex-wrap:wrap;}
.social-label{font-family:'Cinzel',serif;font-size:10px;letter-spacing:5px;color:rgba(200,168,78,0.75);text-transform:uppercase;}
.social-links{display:flex;gap:32px;flex-wrap:wrap;justify-content:center;}
.social-link{font-family:'Cinzel',serif;font-size:12px;letter-spacing:2px;color:rgba(242,232,213,0.62);text-decoration:none;text-transform:uppercase;transition:color 0.3s;}
.social-link::before{content:'@ ';color:rgba(200,168,78,0.5);}
.social-link:hover{color:var(--amber);}

/* FOOTER */
footer{background:var(--ink);padding:48px 88px 32px;border-top:1px solid rgba(200,168,78,0.08);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;}
.footer-brand{font-family:'Cinzel Decorative',serif;font-size:12px;letter-spacing:4px;color:rgba(200,168,78,0.5);}
.footer-links{display:flex;gap:28px;list-style:none;}
.footer-links a{font-family:'Cinzel',serif;font-size:10px;letter-spacing:2px;color:rgba(242,232,213,0.3);text-decoration:none;text-transform:uppercase;transition:color 0.3s;}
.footer-links a:hover{color:var(--amber);}
.footer-copy{font-size:11px;color:rgba(242,232,213,0.2);letter-spacing:2px;font-family:'Cinzel',serif;}

/* REVEAL */
.reveal{opacity:0;transform:translateY(28px);transition:opacity 0.8s ease,transform 0.8s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}

/* ═══ RESPONSIVE ═══ */
@media(max-width:1100px){
  nav{padding:18px 36px;}nav.scrolled{padding:13px 36px;}
  .nav-links{display:none;}.nav-burger{display:flex;}
  .hero{grid-template-columns:1fr;}
  .hero-left{padding:110px 40px 44px;text-align:center;order:2;}
  .hero-ornament{text-align:center;font-size:13px;letter-spacing:3px;}
  .hero-ornament{justify-content:center;}
  .hero-desc{margin-left:auto;margin-right:auto;}
  .hero-catchphrase{justify-content:center;}
  .hero-cta{justify-content:center;}
  .hero-right{padding:90px 40px 20px;order:1;}
  .book-stage{max-width:260px;}
  .story-inner{grid-template-columns:1fr;}
  .story-text{padding:64px 40px;border-right:none;border-bottom:1px solid rgba(0,0,0,0.07);}
  .story-details{padding:44px 40px 64px;}
  .grimoire{padding:72px 40px;}
  .grimoire-grid{grid-template-columns:1fr 1fr;}
  .trilogy{padding:72px 40px;}
  .trilogy-grid{grid-template-columns:1fr;}
  .trilogy-card{border-right:none;border-bottom:1px solid rgba(200,168,78,0.1);}
  .trilogy-card:last-child{border-bottom:none;}
  .buy{padding:72px 40px;}
  .signup{padding:72px 40px;}
  .form-wrap{flex-direction:column;}
  .form-wrap input{border-right:1px solid rgba(200,168,78,0.25);}
  .social-bar{padding:22px 28px;gap:20px;}
  footer{padding:40px 28px 28px;flex-direction:column;text-align:center;}
  .footer-links{justify-content:center;}
}
@media(max-width:640px){
  .ht-parsnip,.ht-witch{font-size:48px;}
  .details-grid{grid-template-columns:1fr 1fr;}
  .grimoire-grid{grid-template-columns:1fr 1fr;}
  .grim-card{padding:32px 20px;}
  .buy-cards{flex-direction:column;border:none;gap:2px;}
  .buy-card:first-child{border-right:none;border-bottom:1px solid rgba(0,0,0,0.07);}
  .social-links{flex-direction:column;align-items:center;gap:16px;}
}

/* ── CHARACTER PORTRAITS ── */
.gc-portrait {
  width: 120px; height: 120px;
  border-radius: 50%;
  overflow: hidden;
  margin: 0 0 18px 0;
  border: 2px solid rgba(200,168,78,0.35);
  box-shadow: 0 0 24px rgba(200,168,78,0.2), 0 4px 20px rgba(0,0,0,0.6);
  position: relative;
  transition: all 0.4s;
}
.gc-portrait::after {
  content:'';
  position:absolute; inset:0; border-radius:50%;
  background: radial-gradient(ellipse at 30% 25%, rgba(255,255,255,0.08), transparent 60%);
  pointer-events:none;
}
.grim-card:hover .gc-portrait {
  border-color: rgba(200,168,78,0.65);
  box-shadow: 0 0 36px rgba(200,168,78,0.35), 0 4px 20px rgba(0,0,0,0.6);
}
.gc-portrait img {
  width:100%; height:100%; object-fit:cover; display:block;
}

/* Trilogy status variants */
.tc-status.dev {
  border: 1px solid rgba(100,160,200,0.4);
  color: rgba(140,190,220,0.75);
}
.tc-status.fans {
  border: 1px solid rgba(200,168,78,0.2);
  color: rgba(200,168,78,0.5);
  font-size: 7px;
  letter-spacing: 2px;
  padding: 4px 10px;
}
