
:root{
  --bg:#060812; --bg2:#111827; --ink:#fff7e9; --body:#d6c7aa; --muted:#9c8a70;
  --gold:#d8a84f; --gold2:#f6d98d; --amber:#e2aa32; --sapphire:#3b8eef; --emerald:#58ba67; --ruby:#d94942;
  --line:rgba(246,217,141,.24); --glass:rgba(255,255,255,.075); --panel:rgba(12,17,30,.80);
  --shadow:0 34px 100px rgba(0,0,0,.38); --radius:34px;
}
[data-theme="light"]{
  --bg:#fff5e4; --bg2:#ecd7b8; --ink:#20160f; --body:#675844; --muted:#89765e;
  --line:rgba(100,69,34,.2); --glass:rgba(255,255,255,.65); --panel:rgba(255,250,241,.84);
  --shadow:0 28px 80px rgba(86,56,28,.18);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:Georgia,"Times New Roman",serif;color:var(--ink);line-height:1.75;overflow-x:hidden;
  background:
    radial-gradient(circle at 8% 8%,rgba(226,170,50,.25),transparent 26%),
    radial-gradient(circle at 84% 12%,rgba(59,142,239,.20),transparent 25%),
    radial-gradient(circle at 17% 84%,rgba(88,186,103,.17),transparent 27%),
    radial-gradient(circle at 86% 84%,rgba(217,73,66,.17),transparent 27%),
    linear-gradient(135deg,var(--bg),var(--bg2));
}
body:before{content:"";position:fixed;inset:0;z-index:-2;opacity:.16;pointer-events:none;background-image:linear-gradient(rgba(246,217,141,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(246,217,141,.14) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(circle at center,transparent 16%,black 88%)}
a{text-decoration:none;color:inherit} img{max-width:100%;display:block} #stars{position:fixed;inset:0;z-index:-1;pointer-events:none}
.nav{position:sticky;top:0;z-index:50;background:rgba(6,8,18,.78);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
[data-theme="light"] .nav{background:rgba(255,250,241,.86)}
.nav-inner{max-width:1360px;margin:auto;padding:15px 24px;display:flex;justify-content:space-between;gap:18px;align-items:center;flex-wrap:wrap}
.brand{line-height:1.05}.brand strong{font-size:1.34rem;letter-spacing:.08em;color:var(--gold2)}[data-theme="light"] .brand strong{color:#7d5426}.brand span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;color:var(--body);margin-top:5px}
.links{display:flex;gap:14px;align-items:center;flex-wrap:wrap;color:var(--body);font-size:.9rem}.links a:hover{color:var(--gold2)}
.toggle{border:1px solid var(--line);background:var(--glass);color:var(--ink);border-radius:999px;padding:8px 12px;cursor:pointer;font-family:inherit}
.hero{max-width:1360px;margin:auto;min-height:94vh;padding:76px 24px 72px;display:grid;grid-template-columns:1.02fr .98fr;gap:52px;align-items:center}
.eyebrow{color:var(--gold2);font-size:.75rem;font-weight:bold;letter-spacing:.25em;text-transform:uppercase;margin-bottom:16px}[data-theme="light"] .eyebrow{color:#8b6429}
h1{font-size:clamp(3.1rem,7.2vw,8.2rem);line-height:.9;letter-spacing:-.06em;margin-bottom:24px} h2{font-size:clamp(2.1rem,5vw,4.8rem);line-height:1;letter-spacing:-.045em;margin-bottom:18px} h3{font-size:1.55rem;line-height:1.2;margin-bottom:10px}
p{color:var(--body);font-size:1.035rem}.lead{font-size:1.18rem;max-width:930px;margin-bottom:28px}.hero .lead{font-size:1.23rem}
.btns{display:flex;gap:14px;flex-wrap:wrap;margin:28px 0}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 23px;border-radius:999px;border:1px solid var(--gold);background:linear-gradient(135deg,var(--gold),var(--gold2));color:#1b1309;font-weight:bold;box-shadow:0 14px 36px rgba(216,168,79,.18)}.btn.secondary{background:var(--glass);color:var(--ink);border-color:var(--line);box-shadow:none}
.author-chip{max-width:760px;background:var(--glass);border:1px solid var(--line);border-radius:24px;padding:14px;display:flex;align-items:center;gap:16px;box-shadow:var(--shadow)}.author-chip img{width:86px;height:86px;object-fit:cover;border-radius:20px;border:2px solid rgba(246,217,141,.62)}
.visual-card{position:relative;padding:12px;border-radius:var(--radius);background:var(--glass);border:1px solid var(--line);box-shadow:var(--shadow);transform:rotate(1deg)}.visual-card img{border-radius:26px}.float-note{position:absolute;left:-26px;bottom:28px;width:305px;padding:19px;border-radius:22px;background:rgba(255,250,241,.95);color:#1e1711;border:1px solid rgba(216,168,79,.45);box-shadow:0 24px 55px rgba(0,0,0,.24);transform:rotate(-3deg)}.float-note p{color:#6b573f;font-size:.94rem}
section{max-width:1360px;margin:auto;padding:92px 24px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:44px;box-shadow:var(--shadow)}
.book-feature,.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:38px;align-items:center}.book-feature img,.split img,.house-hero img,.gallery img{border-radius:26px;box-shadow:0 26px 72px rgba(0,0,0,.28);border:1px solid var(--line)}
.tagline{font-size:clamp(1.7rem,4vw,3.25rem);line-height:1.15;color:var(--gold2);margin:12px 0 22px}[data-theme="light"] .tagline{color:#7c5427}.quote{font-size:clamp(1.55rem,3.8vw,3rem);line-height:1.25;color:var(--gold2)}.divider{border-top:1px solid var(--line);margin:26px 0}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:30px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}
.card{position:relative;overflow:hidden;background:var(--glass);border:1px solid var(--line);border-radius:26px;padding:26px;box-shadow:0 22px 55px rgba(0,0,0,.12)}.card:after{content:"";position:absolute;right:-42px;top:-42px;width:135px;height:135px;background:currentColor;opacity:.13;border-radius:999px}.amber{color:var(--amber)}.sapphire{color:var(--sapphire)}.emerald{color:var(--emerald)}.ruby{color:var(--ruby)}.card h3{color:currentColor}.card p{color:var(--body)}.role{color:currentColor;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:bold;margin-bottom:12px}
.shelf{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}.book{min-height:330px;border-radius:24px;padding:26px;background:linear-gradient(135deg,rgba(216,168,79,.24),rgba(255,255,255,.055)),var(--glass);border:1px solid var(--line);transition:transform .25s,box-shadow .25s}.book:hover{transform:translateY(-8px);box-shadow:var(--shadow)}
.house-hero{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:center;margin-top:30px}
.profile{display:grid;grid-template-columns:.9fr 1.1fr;gap:0;align-items:stretch;margin-top:36px;border-radius:34px;border:1px solid var(--line);background:var(--glass);overflow:hidden;box-shadow:var(--shadow);position:relative}.profile:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.12;background:radial-gradient(circle at 20% 20%, currentColor, transparent 36%)}.profile.amber-profile{color:var(--amber);border-color:rgba(226,170,50,.48)}.profile.sapphire-profile{color:var(--sapphire);border-color:rgba(59,142,239,.48)}.profile.emerald-profile{color:var(--emerald);border-color:rgba(88,186,103,.48)}.profile.ruby-profile{color:var(--ruby);border-color:rgba(217,73,66,.48)}
.profile img{height:100%;min-height:560px;width:100%;object-fit:cover}.profile-copy{padding:38px;position:relative}.profile-copy h2,.profile-copy h3{color:currentColor}.profile-badge{display:inline-flex;gap:8px;align-items:center;border:1px solid currentColor;border-radius:999px;padding:8px 12px;margin-bottom:18px;background:rgba(255,255,255,.06);font-size:.86rem;color:currentColor}.stat-list{display:grid;gap:10px;margin:22px 0}.stat{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding-bottom:8px;color:var(--body)}.stat strong{color:currentColor}.quote-box{margin-top:20px;border-left:4px solid currentColor;background:rgba(255,255,255,.07);border-radius:18px;padding:18px}
.relationship-map,.city-map{position:relative;min-height:540px;border-radius:34px;border:1px solid var(--line);background:radial-gradient(circle at center,rgba(216,168,79,.16),transparent 28%),var(--glass);margin-top:30px;overflow:hidden;padding:24px}.relationship-map svg{position:absolute;inset:0;width:100%;height:100%}.node{position:absolute;width:178px;padding:16px;border-radius:22px;background:rgba(255,250,241,.92);color:#1f1712;text-align:center;box-shadow:0 18px 45px rgba(0,0,0,.18)}.node p{color:#6a5a48;font-size:.92rem}.n1{left:7%;top:12%;border-top:6px solid var(--amber)}.n2{right:7%;top:12%;border-top:6px solid var(--sapphire)}.n3{left:7%;bottom:12%;border-top:6px solid var(--emerald)}.n4{right:7%;bottom:12%;border-top:6px solid var(--ruby)}.center-node{left:50%;top:50%;transform:translate(-50%,-50%);border-top:6px solid var(--gold)}
.campus-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:26px}.location{min-height:190px;border-radius:24px;border:1px solid var(--line);background:var(--glass);padding:22px;transition:transform .25s,background .25s}.location:hover{transform:translateY(-6px);background:rgba(255,255,255,.12)}
.id-card{display:grid;grid-template-columns:110px 1fr;gap:18px;align-items:center}.id-card img{width:110px;height:110px;object-fit:cover;border-radius:18px;border:1px solid currentColor}.badge-line{height:6px;border-radius:999px;background:currentColor;margin:14px 0;opacity:.8}
.quiz{margin-top:28px;display:grid;gap:18px}.quiz-question{padding:22px;border-radius:22px;background:var(--glass);border:1px solid var(--line)}.quiz-options{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}.quiz-options button{border:1px solid var(--line);background:var(--glass);color:var(--ink);border-radius:16px;padding:12px;cursor:pointer;font-family:inherit}.quiz-options button:hover{background:rgba(255,255,255,.14)}.quiz-result{margin-top:18px;font-size:1.1rem;color:var(--gold2);min-height:32px}
.preview{border-left:4px solid var(--gold);padding:20px 0 20px 24px;margin-top:28px}.gallery{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;margin-top:30px}.newsletter{display:grid;grid-template-columns:1fr auto;gap:14px;margin-top:24px}.newsletter input{padding:15px 17px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.9);font-family:inherit;font-size:1rem}.newsletter button{border:0;border-radius:999px;padding:15px 22px;background:linear-gradient(135deg,var(--gold),var(--gold2));font-family:inherit;font-weight:bold;cursor:pointer}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:translateY(0)}
footer{padding:48px 24px;text-align:center;border-top:1px solid var(--line);background:rgba(0,0,0,.24)}footer p{margin-top:6px}
@media(max-width:980px){.hero,.book-feature,.split,.profile,.gallery,.house-hero{grid-template-columns:1fr}.grid-4,.grid-3,.shelf,.campus-grid{grid-template-columns:1fr 1fr}.visual-card{transform:none}.float-note{position:static;transform:none;width:auto;margin-top:18px}.profile img{min-height:380px}.quiz-options{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.grid-4,.grid-3,.grid-2,.shelf,.campus-grid,.quiz-options{grid-template-columns:1fr}.panel{padding:26px}.hero{padding-top:48px}h1{font-size:3.2rem}.newsletter{grid-template-columns:1fr}.node{position:relative;inset:auto;width:auto;margin:14px;transform:none}.relationship-map svg{display:none}.author-chip,.id-card{align-items:flex-start;grid-template-columns:1fr}}
