:root{--green:#2F7D5B;--yellow:#E8F04A;--navy:#1E2A44;--chalk:#F7F8F3;--clay:#D9652B;--ink:#1E2A44;--muted:#4A566F;
--display:"Bricolage Grotesque","Trebuchet MS",system-ui,sans-serif;--body:"Newsreader",Georgia,"Times New Roman",serif;--hand:"Caveat","Segoe Print","Bradley Hand",cursive}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--chalk);color:var(--ink);font-family:var(--body);font-size:1.15rem;line-height:1.65}
a{color:var(--green);text-underline-offset:.2em}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--clay);outline-offset:3px}
.wrap{max-width:68rem;margin:0 auto;padding:0 1.5rem}
header.site{background:var(--green);color:var(--chalk)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-top:1rem;padding-bottom:1rem}
.mark{font-family:var(--display);font-weight:800;font-size:1.4rem;color:var(--yellow);text-decoration:none;letter-spacing:-.01em}
nav a{color:var(--chalk);font-family:var(--display);font-weight:500;margin-left:1.5rem;text-decoration:none;border-bottom:2px solid transparent}
nav a:hover,nav a[aria-current]{border-bottom-color:var(--yellow)}
h1,h2,h3{font-family:var(--display);line-height:1.08;margin:0 0 .6em;letter-spacing:-.02em}
h1{font-size:clamp(2.6rem,7vw,4.8rem);font-weight:800}
h2{font-size:clamp(1.7rem,3.6vw,2.4rem);font-weight:700}
h3{font-size:1.25rem;font-weight:700}
p{margin:0 0 1em;max-width:62ch}
.hero{background:var(--green);color:var(--chalk);padding:3rem 0 5rem}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}
.hero h1{color:var(--chalk)}
.lede{font-size:1.35rem;color:#E4EFE8}
.btns{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}
.btn{display:inline-block;font-family:var(--display);font-weight:700;padding:.8rem 1.4rem;border-radius:.4rem;text-decoration:none;border:2px solid var(--yellow)}
.btn.primary{background:var(--yellow);color:var(--navy)}
.btn.ghost{color:var(--yellow)}
.btn:hover{transform:translateY(-2px)}
.book{position:relative;background:var(--yellow);border-radius:.5rem .9rem .9rem .5rem;padding:1.1rem 1.1rem 1.1rem 2rem;transform:rotate(2deg);box-shadow:.6rem .8rem 0 rgba(30,42,68,.35);color:var(--navy)}
.book::before{content:"";position:absolute;right:2.2rem;top:-.4rem;bottom:-.4rem;width:.9rem;background:var(--navy);border-radius:.2rem}
.page{background:#fff;border-radius:.3rem;padding:1.3rem 3rem 1.3rem 1.4rem;background-image:repeating-linear-gradient(transparent 0 2.05rem,#C9D6E8 2.05rem 2.15rem);background-position:0 .6rem;min-height:21rem;border-left:3px solid var(--clay)}
.page *{font-family:var(--hand)}
.page .entry{font-size:1.65rem;line-height:2.15rem;margin:0}
.page .entry strong{color:var(--green)}
.page .stamp{font-size:1.2rem;color:var(--clay);line-height:2.15rem;margin:0}
main section{padding:4rem 0}
.alt{background:#fff}
.ledger-table{width:100%;max-width:46rem;border-collapse:collapse;font-size:1.1rem}
.ledger-table th,.ledger-table td{text-align:left;padding:.8rem 1rem;border-bottom:2px solid var(--navy);vertical-align:top}
.ledger-table th{font-family:var(--display)}
.ledger-table tbody th{white-space:nowrap}
dl.cast{display:grid;grid-template-columns:max-content 1fr;gap:.9rem 2rem;max-width:50rem;margin:0}
dl.cast dt{font-family:var(--display);font-weight:700}
dl.cast dd{margin:0}
.cta{background:var(--navy);color:var(--chalk);text-align:left}
.cta h2{color:var(--yellow)}
.cta form{display:flex;gap:.7rem;flex-wrap:wrap;max-width:32rem;margin-top:1rem}
.cta input[type=email]{flex:1 1 14rem;padding:.8rem 1rem;font:inherit;border-radius:.4rem;border:2px solid var(--yellow);background:var(--chalk);color:var(--navy)}
.cta button{cursor:pointer;font:700 1rem var(--display);padding:.8rem 1.4rem;border-radius:.4rem;border:2px solid var(--yellow);background:var(--yellow);color:var(--navy)}
.facts{display:grid;grid-template-columns:max-content 1fr;gap:.5rem 2rem;max-width:40rem;margin:0 0 2rem;padding:1.2rem 1.4rem;background:var(--yellow);border-radius:.4rem}
.facts dt{font-family:var(--display);font-weight:700}
.facts dd{margin:0}
details{border-bottom:2px solid var(--navy);padding:1rem 0;max-width:46rem}
summary{font-family:var(--display);font-weight:700;font-size:1.2rem;cursor:pointer}
details p{margin:.7rem 0 0}
.page-head{background:var(--green);color:var(--chalk);padding:3rem 0}
.page-head h1{color:var(--chalk);margin:0}
footer.site{background:var(--navy);color:#C8D0E2;padding:2rem 0;font-size:1rem}
footer.site p{max-width:none;margin:.3rem 0}
footer.site a{color:var(--yellow)}
@media (max-width:760px){.hero .wrap{grid-template-columns:1fr}nav a{margin:0 1rem 0 0}.book{transform:none}dl.cast,.facts{grid-template-columns:1fr;gap:.2rem}dl.cast dd{margin-bottom:.8rem}}
@media (prefers-reduced-motion:no-preference){.book{animation:settle .7s ease-out both}@keyframes settle{from{transform:rotate(9deg) translateY(1.5rem);opacity:0}}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn:hover{transform:none}}
