@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@600;800&family=Inter:wght@400;500;600;700&display=swap');
:root { color-scheme: dark; --bg:#101426; --panel:#1a2037; --line:#394361; --gold:#e9c77e; --text:#f2f0e9; --muted:#b7c0d1; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:radial-gradient(circle at 85% 0%, #243756, transparent 42%),var(--bg); color:var(--text); font:16px/1.65 Inter,system-ui,sans-serif; }
a { color:var(--gold); text-underline-offset:3px; }
a:hover { color:#fff0bc; }
header,main,footer { width:min(1120px,calc(100% - 40px)); margin:auto; }
header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 0; }
.brand { font:800 20px/1.1 Cinzel,Georgia,serif; color:var(--text); text-decoration:none; white-space:nowrap; }
nav { display:flex; flex-wrap:wrap; align-items:center; gap:12px 22px; }
nav a { color:var(--muted); text-decoration:none; font-size:14px; }
nav a[aria-current="page"] { color:var(--gold); }
.button { display:inline-block; padding:12px 22px; border:1px solid #f5d88d; border-radius:8px; background:var(--gold); color:#171b2d; font-weight:700; text-decoration:none; box-shadow:0 8px 24px #0005; }
.button:hover { color:#171b2d; background:#ffe4a0; }
nav .button { padding:8px 15px; font-size:14px; }
.hero { padding:70px 0 85px; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr); align-items:center; gap:50px; }
.eyebrow { color:var(--gold); font-size:13px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
h1,h2,h3 { font-family:Cinzel,Georgia,serif; line-height:1.18; }
h1 { font-size:clamp(42px,6vw,72px); margin:12px 0 24px; }
h2 { font-size:clamp(27px,3vw,38px); margin:0 0 20px; }
h3 { font-size:20px; margin:0 0 8px; color:var(--gold); }
p { margin:0 0 18px; }
.lead { font-size:clamp(18px,2vw,22px); color:#dce3ed; max-width:650px; }
.hero-art { display:grid; place-items:center; width:100%; max-width:440px; aspect-ratio:1; justify-self:end; border:1px solid var(--line); border-radius:26px; background:radial-gradient(circle at 50% 40%,#3f5f91,#1b253e 60%,#121829 80%); box-shadow:inset 0 0 90px #0005,0 30px 70px #0006; }
.hero-art img { width:min(78%,380px); height:auto; object-fit:contain; filter:drop-shadow(0 30px 22px #0008); }
.showcase { margin-top:-18px; }
.showcase figure { margin:0; }
.showcase img { display:block; width:100%; height:auto; border:1px solid var(--line); border-radius:16px; box-shadow:0 30px 60px #0006; }
.showcase figcaption { padding-top:12px; color:var(--muted); font-size:14px; }
section { margin:0 0 84px; }
.grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.card { padding:25px; border:1px solid var(--line); border-radius:13px; background:var(--panel); }
.card p:last-child { margin-bottom:0; }
.card a { font-weight:600; }
.page-intro { max-width:790px; padding:54px 0 32px; }
.page-intro h1 { font-size:clamp(38px,5vw,60px); }
.prose { max-width:790px; }
.prose h2 { margin-top:42px; }
.prose ul,.prose ol { padding-left:23px; }
.prose li { margin:0 0 12px; }
.prose pre { overflow-x:auto; padding:18px; border:1px solid var(--line); border-radius:10px; background:#0c1121; }
.prose code { overflow-wrap:anywhere; }
.prose pre code { overflow-wrap:normal; }
.table-wrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; margin:22px 0 32px; }
th,td { padding:12px 14px; text-align:left; border-bottom:1px solid var(--line); vertical-align:top; }
th { color:var(--gold); }
dt { font-weight:700; color:var(--gold); margin-top:22px; }
dd { margin:5px 0 0; }
.cta { text-align:center; padding:40px; border:1px solid var(--line); border-radius:18px; background:#1e2b47; }
footer { border-top:1px solid var(--line); padding:28px 0 45px; color:var(--muted); font-size:14px; display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; }
footer a { margin-left:16px; }
@media(max-width:780px) { header { align-items:flex-start; flex-direction:column; } .hero { grid-template-columns:1fr; padding:38px 0 60px; gap:25px; } .hero-art { width:min(100%,380px); margin:auto; justify-self:center; } .grid { grid-template-columns:1fr; } nav { gap:10px 15px; } }
