@font-face{font-family:'Cinzel';src:url('/assets/fonts/Cinzel.ttf') format('truetype');font-weight:400 900;font-display:swap}
@font-face{font-family:'Garamond';src:url('/assets/fonts/EB-Garamond.ttf') format('truetype');font-weight:400 800;font-display:swap}
@font-face{font-family:'Garamond';src:url('/assets/fonts/EB-Garamond-Italic.ttf') format('truetype');font-weight:400 800;font-style:italic;font-display:swap}
:root{--navy:#111A30;--navy2:#1C2846;--navy3:#26355A;--gold:#C29B4A;--gold2:#E2C27E;--cream:#F6F0E2;--paper:#FBF7EE;--ink:#1E2236;--muted:#6C6A73;--line:#E3D8BF;--red:#8E2A2A}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:20px/1.6 'Garamond',Georgia,serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--red)}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.narrow{max-width:700px;margin:0 auto;padding:0 20px}
h1,h2,h3,.cz{font-family:'Cinzel',Georgia,serif;font-weight:500;letter-spacing:.02em;line-height:1.15}
h2{font-size:clamp(28px,4vw,40px);margin:0 0 18px;text-align:center}
.kick{font-family:'Cinzel',serif;font-size:13px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);text-align:center;margin:0 0 10px}
.star{color:var(--gold);text-align:center;font-size:18px;margin:6px 0 22px}
section{padding:72px 0}
.dark{background:var(--navy);color:var(--cream)}
.dark a{color:var(--gold2)}
.dark h2{color:var(--gold2)}

/* nav */
nav.top{position:sticky;top:0;z-index:10;background:rgba(17,26,48,.96);border-bottom:1px solid rgba(194,155,74,.35)}
nav.top .wrap{display:flex;align-items:center;gap:22px;height:60px}
nav.top .brand{font-family:'Cinzel',serif;color:var(--gold2);text-decoration:none;letter-spacing:.18em;font-size:15px;white-space:nowrap}
nav.top .links{display:flex;gap:20px;margin-left:auto}
nav.top .links a{color:var(--cream);text-decoration:none;font-size:17px;opacity:.85}
nav.top .links a:hover{opacity:1;color:var(--gold2)}
.btn{display:inline-block;background:var(--gold);color:var(--navy);font-family:'Cinzel',serif;font-weight:700;letter-spacing:.08em;text-decoration:none;border-radius:4px;padding:12px 22px;font-size:15px;white-space:nowrap;border:0;cursor:pointer}
.btn:hover{background:var(--gold2)}
nav.top .btn{padding:9px 16px;font-size:13px}
@media(max-width:760px){nav.top .links{display:none}nav.top .btn{margin-left:auto}nav.top .brand{font-size:12px;letter-spacing:.12em}}

/* hero */
.hero{background:radial-gradient(ellipse at 28% 45%,var(--navy3) 0%,var(--navy) 62%);color:var(--cream);padding:64px 0 72px;border-bottom:3px double var(--gold)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:56px;align-items:center}
.hero .cover{max-width:440px;margin:0 auto;box-shadow:0 30px 60px rgba(0,0,0,.55),0 0 0 1px rgba(194,155,74,.5);border-radius:2px}
.hero .from{font-family:'Cinzel',serif;font-size:13px;letter-spacing:.3em;color:var(--gold);text-transform:uppercase;margin:0 0 14px}
.hero h1{font-size:clamp(36px,5vw,58px);color:var(--gold2);margin:0 0 14px}
.hero .sub{font-style:italic;font-size:23px;margin:0 0 22px;color:#E9E1CF}
.hero .quote{border-left:2px solid var(--gold);padding:2px 0 2px 18px;margin:0 0 24px;font-size:20px;color:#DCD3BF}
.hero .quote b{display:block;font-weight:400;font-style:italic;color:var(--gold);font-size:17px;margin-top:6px}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 26px;padding:0;list-style:none}
.chips li{border:1px solid rgba(194,155,74,.55);border-radius:30px;padding:4px 14px;font-size:16px;color:#E9E1CF}
@media(max-width:860px){.hero .wrap{grid-template-columns:1fr;gap:34px}.hero .cover{max-width:300px}.hero{padding-top:36px}}

/* buy box */
.buy{background:var(--cream);color:var(--ink);border:1px solid var(--gold);border-radius:6px;padding:24px 24px 18px;box-shadow:0 0 0 5px rgba(194,155,74,.18)}
.buy .row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.buy .name{font-family:'Cinzel',serif;font-size:19px}
.buy .price{font-family:'Cinzel',serif;font-size:40px;color:var(--navy)}
.buy .what{font-size:17px;color:var(--muted);margin:2px 0 16px}
.buy .btn{display:block;text-align:center;font-size:17px;padding:15px}
.buy ul{list-style:none;padding:0;margin:14px 0 0;font-size:16px;color:#4A4A55}
.buy li{padding:3px 0 3px 24px;position:relative}
.buy li:before{content:'✦';position:absolute;left:2px;color:var(--gold);font-size:13px;top:6px}
.buy .terms{font-size:14px;color:var(--muted);margin:12px 0 0}
.buy .terms a{color:var(--muted)}

/* stats */
.stats{background:var(--navy2);color:var(--cream);padding:30px 0;border-bottom:1px solid rgba(194,155,74,.3)}
.stats .wrap{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;text-align:center}
.stats b{display:block;font-family:'Cinzel',serif;font-size:36px;color:var(--gold2);font-weight:500}
.stats span{font-size:16px;opacity:.85}
@media(max-width:760px){.stats .wrap{grid-template-columns:repeat(2,1fr);row-gap:20px}.stats .wrap div:last-child{grid-column:span 2}}

/* prose */
.prose p{margin:0 0 18px}
.lead{font-size:23px;text-align:center;font-style:italic;color:#4A4A55;max-width:720px;margin:0 auto 34px}

/* parts */
.parts{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.part{background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.part img{width:100%;aspect-ratio:16/10;object-fit:cover}
.part div{padding:20px 22px 22px}
.part h3{font-size:20px;margin:0 0 4px}
.part .pg{font-size:15px;color:var(--gold);font-family:'Cinzel',serif;letter-spacing:.12em;margin:0 0 8px}
.part p{margin:0;font-size:18px}
@media(max-width:760px){.parts{grid-template-columns:1fr}}

/* sign list */
.signs{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid rgba(194,155,74,.35);border-left:1px solid rgba(194,155,74,.35);margin:30px 0 0}
.signs div{border-right:1px solid rgba(194,155,74,.35);border-bottom:1px solid rgba(194,155,74,.35);padding:14px 16px;text-align:center}
.signs b{display:block;font-family:'Cinzel',serif;font-weight:500;color:var(--gold2);font-size:18px}
.signs span{font-size:15px;opacity:.8}
@media(max-width:760px){.signs{grid-template-columns:repeat(2,1fr)}}
.ticks{list-style:none;padding:0;margin:0 auto;max-width:760px;columns:2;column-gap:40px}
.ticks li{break-inside:avoid;padding:6px 0 6px 28px;position:relative}
.ticks li:before{content:'✦';position:absolute;left:4px;top:9px;color:var(--gold);font-size:14px}
@media(max-width:760px){.ticks{columns:1}}

/* sample pages */
.pages{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 4px 22px}
.pages figure{flex:0 0 300px;margin:0;scroll-snap-align:start}
.pages img{width:300px;height:auto;border:1px solid var(--line);box-shadow:0 10px 26px rgba(30,34,54,.18);cursor:zoom-in;background:#fff}
.pages figcaption{font-size:16px;color:var(--muted);margin-top:10px;text-align:center}
.hint{text-align:center;font-size:16px;color:var(--muted);margin:0}
dialog.zoom{border:0;padding:0;background:transparent;max-width:96vw;max-height:96vh}
dialog.zoom::backdrop{background:rgba(10,14,28,.88)}
dialog.zoom img{max-height:92vh;width:auto;margin:0 auto}

/* letter */
.letter{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:44px;align-items:start}
.letter img{border-radius:4px;box-shadow:0 14px 34px rgba(0,0,0,.25)}
.letter .cap{font-size:15px;font-style:italic;color:var(--muted);margin-top:8px}
.sig{font-family:'Garamond',serif;font-style:italic;font-size:26px;color:var(--red)}
@media(max-width:860px){.letter{grid-template-columns:1fr}}

/* for / not for */
.fornot{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.fornot div{background:#fff;border:1px solid var(--line);border-radius:6px;padding:24px 26px}
.fornot h3{font-size:20px;margin:0 0 12px}
.fornot ul{margin:0;padding-left:20px}
.fornot li{margin:0 0 8px}
@media(max-width:760px){.fornot{grid-template-columns:1fr}}

/* faq */
details{border-bottom:1px solid var(--line);padding:16px 0}
summary{cursor:pointer;font-family:'Cinzel',serif;font-size:18px;list-style:none;position:relative;padding-right:30px}
summary::-webkit-details-marker{display:none}
summary:after{content:'+';position:absolute;right:4px;top:-2px;color:var(--gold);font-size:24px}
details[open] summary:after{content:'–'}
details p{margin:12px 0 0}

.final{text-align:center}
.final .buy{max-width:460px;margin:26px auto 0;text-align:left}

footer{background:var(--navy);color:#B9B3A4;font-size:16px;padding:36px 0 44px;border-top:3px double var(--gold)}
footer .fl{display:flex;flex-wrap:wrap;gap:8px 22px;margin:0 0 16px}
footer a{color:var(--gold2)}
footer p{margin:0 0 10px}

/* legal + thanks pages */
main.doc{padding:56px 0 80px}
main.doc h1{font-size:clamp(30px,4vw,42px);margin:0 0 22px}
main.doc h2{font-size:21px;text-align:left;margin:28px 0 8px}
.fine{font-size:16px;color:var(--muted)}
.files a{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--gold);border-radius:6px;padding:18px 20px;margin:12px 0;text-decoration:none;color:var(--ink)}
.files b{font-family:'Cinzel',serif;font-weight:500;display:block}
.files span{font-size:16px;color:var(--muted)}
.files .pr{font-size:28px;color:var(--gold)}
