:root {
  --navy: #10253a;
  --navy-2: #17334c;
  --ink: #243241;
  --paper: #fbf7ef;
  --cream: #f4ecdf;
  --sky: #dce9ef;
  --gold: #b8843d;
  --gold-light: #d6aa65;
  --line: rgba(16,37,58,.14);
  --shadow: 0 24px 56px rgba(32,45,58,.18);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.65; }
a { color:inherit; } img { display:block; max-width:100%; }
.skip-link { position:absolute; left:16px; top:-60px; z-index:100; background:var(--navy); color:white; padding:12px 20px; border-radius:8px; text-decoration:none; font-size:.85rem; font-weight:600; transition:top .15s ease; }
.skip-link:focus { top:16px; }
.site-header { position:sticky; top:0; z-index:20; display:flex; align-items:center; justify-content:space-between; padding:13px clamp(20px,5vw,72px); background:rgba(251,247,239,.94); border-bottom:1px solid var(--line); backdrop-filter:blur(18px); }
.brand,.footer-brand { display:inline-flex; align-items:center; gap:12px; text-decoration:none; letter-spacing:.22em; font-size:.82rem; font-weight:600; color:var(--navy); }
.brand img { width:58px; height:58px; object-fit:contain; }
.site-nav { display:flex; gap:28px; }
.site-nav a { text-decoration:none; color:#425365; font-size:.88rem; }
.site-nav a:hover { color:var(--gold); }
.nav-toggle { display:none; }
.hero { min-height:720px; position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr); align-items:center; gap:48px; padding:78px clamp(24px,6vw,94px) 92px; background:radial-gradient(circle at 80% 16%,rgba(218,233,239,.95),transparent 34%),radial-gradient(circle at 14% 12%,rgba(239,216,177,.55),transparent 30%),linear-gradient(145deg,#fffaf2 0%,#f5efe5 55%,#eaf1f3 100%); }
.hero::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(120deg,transparent 48%,rgba(184,132,61,.06) 48%,rgba(184,132,61,.06) 49%,transparent 49%); background-size:70px 70px; }
.hero-copy { position:relative; z-index:2; max-width:660px; }
.eyebrow { margin:0 0 16px; color:#9b6d31; font-size:.75rem; font-weight:600; letter-spacing:.24em; }
h1,h2,h3,blockquote { font-family:"Cormorant Garamond",Georgia,serif; line-height:1.03; margin-top:0; color:var(--navy); }
h1 { font-size:clamp(3.2rem,6vw,6.25rem); margin-bottom:26px; letter-spacing:-.025em; }
h2 { font-size:clamp(2.5rem,4vw,4.4rem); margin-bottom:22px; }
h3 { font-size:clamp(2.7rem,4.5vw,4.8rem); margin-bottom:16px; }
.hero-intro { max-width:620px; color:#4f6070; font-size:1.05rem; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 20px; border:1px solid var(--gold); border-radius:999px; text-decoration:none; font:inherit; font-weight:600; cursor:pointer; }
.button.primary { background:var(--navy); color:white; border-color:var(--navy); }
.button.primary:hover { background:var(--navy-2); }
.button.secondary { color:var(--navy); background:rgba(255,255,255,.5); }
.button.secondary:hover { border-color:var(--navy); }
.cover-stage { position:relative; min-height:620px; z-index:2; perspective:1200px; }
.cover { position:absolute; width:min(31vw,330px); aspect-ratio:2/3; object-fit:cover; border-radius:7px; box-shadow:var(--shadow); border:1px solid rgba(16,37,58,.12); }
.cover-centre { left:50%; top:3%; transform:translateX(-50%) rotateY(-2deg); z-index:3; }
.cover-left { left:2%; top:18%; transform:rotate(-7deg) scale(.87); z-index:1; }
.cover-right { right:0; top:18%; transform:rotate(7deg) scale(.87); z-index:1; }
.books-section { padding:100px clamp(24px,7vw,110px); background:#fffdf9; }
.section-heading { max-width:860px; margin-bottom:64px; }
.book-feature { display:grid; grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr); gap:clamp(44px,7vw,110px); align-items:center; padding:70px 0; border-top:1px solid var(--line); }
.book-feature.reverse { grid-template-columns:minmax(0,1.28fr) minmax(260px,.72fr); margin-inline:calc(clamp(24px,7vw,110px) * -1); padding-inline:clamp(24px,7vw,110px); background:linear-gradient(135deg,#102638,#0d1e2e); border-top:0; color:#eef3f5; }
.book-feature.reverse .book-art { order:2; } .book-feature.reverse .book-copy { order:1; }
.book-feature.swap-layout { grid-template-columns:minmax(0,1.28fr) minmax(260px,.72fr); }
.book-feature.swap-layout .book-art { order:2; } .book-feature.swap-layout .book-copy { order:1; }
.book-art img { width:min(100%,420px); margin-inline:auto; border-radius:6px; box-shadow:var(--shadow); }
#the-ledger { grid-template-columns:1fr; }
.genre { color:#9b6d31; font-size:.78rem; letter-spacing:.2em; font-weight:600; }
.book-copy { max-width:760px; }
.book-copy p { color:#536170; font-size:1rem; }
.book-copy .hook { color:#223244; font-size:1.18rem; font-weight:500; }
.book-copy .book-note { padding-left:18px; border-left:2px solid var(--gold); color:#38495a; }
.book-buy { margin-top:20px; }
.book-feature.reverse h3 { color:#f8ead5; }
.book-feature.reverse .genre { color:#e2b76f; }
.book-feature.reverse .book-copy p { color:#d8e0e5; }
.book-feature.reverse .book-copy .hook { color:white; }
.book-feature.reverse .book-copy .book-note { color:#f0e6d8; border-left-color:#d7a85f; }
.quote-band { display:grid; place-items:center; text-align:center; padding:76px 24px; border-block:1px solid var(--line); background:linear-gradient(135deg,#eef3f1,#f7efe2); }
.quote-band img { width:116px; margin-bottom:22px; }
.quote-band blockquote { margin:0; max-width:960px; font-size:clamp(2.2rem,4vw,4.4rem); color:var(--navy); }
.about-section,.newsletter-section { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(40px,8vw,120px); padding:100px clamp(24px,7vw,110px); }
.about-section { background:#f6efe4; }
.about-copy { max-width:760px; font-size:1.08rem; color:#556373; }
.newsletter-section { align-items:center; background:#dfeaf0; }
.signup-form { max-width:680px; }
.signup-form label { display:block; margin-bottom:9px; font-size:.85rem; color:#425364; }
.form-row { display:flex; gap:10px; }
.form-row input { flex:1; min-width:0; padding:0 18px; min-height:50px; border-radius:999px; border:1px solid rgba(16,37,58,.18); background:white; color:var(--navy); outline:none; }
.form-row input:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(184,132,61,.4); }
.form-status { margin:12px 4px 0; color:#71808c; font-size:.82rem; }
.form-credit { margin:6px 4px 0; font-size:.76rem; }
.form-credit a { color:#8a97a3; }
.site-footer { display:flex; justify-content:space-between; align-items:center; gap:22px; padding:28px clamp(24px,6vw,94px); border-top:1px solid var(--line); background:#f4ecdf; color:#667482; font-size:.82rem; }
.footer-brand img { width:46px; }
@media (max-width:980px) { .hero { grid-template-columns:1fr; min-height:auto; } .hero-copy { max-width:760px; } .cover-stage { min-height:560px; max-width:760px; width:100%; margin-inline:auto; } .cover { width:min(40vw,300px); } .book-feature,.book-feature.reverse,.book-feature.swap-layout { grid-template-columns:.75fr 1.25fr; gap:42px; } .about-section,.newsletter-section { grid-template-columns:1fr; } }
@media (max-width:720px) { .site-header { padding-inline:18px; } .brand span { font-size:.72rem; } .nav-toggle { display:inline-flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; width:44px; height:44px; color:var(--navy); background:white; border:1px solid var(--line); border-radius:999px; padding:0; cursor:pointer; }
.nav-toggle-bar { width:18px; height:2px; border-radius:2px; background:currentColor; transition:transform .25s ease, opacity .2s ease; }
.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(2) { opacity:0; }
.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(3) { transform:translateY(-7px) rotate(-45deg); } .site-nav { position:absolute; left:16px; right:16px; top:74px; display:none; flex-direction:column; gap:4px; padding:12px; border:1px solid var(--line); border-radius:14px; background:#fffaf2; box-shadow:var(--shadow); } .site-nav.open { display:flex; } .site-nav a { padding:10px 12px; } .hero { padding-top:62px; } h1 { font-size:clamp(3rem,15vw,4.4rem); } .cover-stage { min-height:450px; } .cover { width:min(48vw,250px); } .cover-left { left:-2%; } .cover-right { right:-2%; } .book-feature,.book-feature.reverse,.book-feature.swap-layout { grid-template-columns:1fr; padding:56px 0; } .book-feature.reverse { margin-inline:calc(clamp(24px,7vw,110px) * -1); padding-inline:clamp(24px,7vw,110px); } .book-feature.reverse .book-art,.book-feature.reverse .book-copy,.book-feature.swap-layout .book-art,.book-feature.swap-layout .book-copy { order:initial; } .book-art img { width:min(76vw,360px); } .form-row { flex-direction:column; } .site-footer { flex-direction:column; align-items:flex-start; } }
