:root{--ink:#0b1d39;--cream:#f6f0e6;--paper:#fffaf2;--burg:#6e1f2d;--sage:#d7dfcf;--forest:#173f34;--gold:#b88b38;--sand:#e7d6bd;--text:#182238;--line:rgba(11,29,57,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--text);font-family:Inter,Arial,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:22px;padding:14px 4vw;background:rgba(255,250,242,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.brand{font-family:"Cormorant Garamond",Georgia,serif;font-weight:700;letter-spacing:.06em;white-space:nowrap}.mainnav{display:flex;gap:15px;flex-wrap:wrap;font-size:13px;margin-left:auto}.mainnav a:hover{color:var(--burg)}.menu-toggle{display:none;border:1px solid var(--line);background:transparent;padding:8px 12px}.hero-image-wrap{background:var(--cream)}.hero-image{display:block;width:100%;height:auto;max-height:900px;object-fit:cover}.intro-band,.section{padding:82px 7vw}.intro-band{text-align:center;background:var(--paper)}.intro-band h1,.section h2{font:600 clamp(34px,5vw,68px)/1.02 "Cormorant Garamond",Georgia,serif;margin:.2em 0}.intro-band p{max-width:900px;margin:18px auto}.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:700}.portal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.portal{min-height:270px;padding:32px;background:var(--cream);display:flex;flex-direction:column;justify-content:flex-end;transition:.25s}.portal:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(11,29,57,.12);z-index:1}.portal span{font-size:12px;opacity:.65}.portal h2{font:600 35px/1.05 "Cormorant Garamond",Georgia,serif;margin:8px 0}.portal p{margin:0 0 18px}.portal b{font-size:13px}.p2,.p8{background:#d9e3df}.p3,.p11{background:var(--sage)}.p4,.p9{background:#ead7dc}.p5,.p10{background:var(--sand)}.p6{background:#e8e2cf}.p7{background:#d8d9e4}.p12{background:#e6ded4}.section-head{max-width:960px}.section-head p{max-width:780px}.cream{background:var(--cream)}.paper{background:var(--paper)}.navy{background:var(--ink);color:#fff}.burgundy{background:var(--burg);color:#fff}.sage{background:var(--sage)}.sand{background:var(--sand)}.book-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:35px}.book-grid article{background:rgba(255,255,255,.58);border:1px solid var(--line);padding:26px;min-height:250px}.book-grid h3,.line-list h3{font:600 28px/1.05 "Cormorant Garamond",Georgia,serif}.book-no{font-size:12px;letter-spacing:.16em;color:var(--burg)}.line-list{margin-top:32px;border-top:1px solid rgba(255,255,255,.22)}.line-list>div{padding:22px 0;border-bottom:1px solid rgba(255,255,255,.22);display:grid;grid-template-columns:1fr 2fr;gap:30px}.line-list h3{margin:0}.quote-card,.big-line{font:600 clamp(36px,6vw,82px)/1.02 "Cormorant Garamond",Georgia,serif;max-width:1100px;margin-top:35px}.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.chips span{border:1px solid rgba(255,255,255,.35);padding:10px 14px;border-radius:999px}.two-col{display:grid;grid-template-columns:1fr 1.25fr;gap:7vw}.poem{font-family:"Cormorant Garamond",Georgia,serif;font-size:24px}.text-link{display:inline-block;margin-top:14px;font-family:Inter,Arial,sans-serif;font-size:14px;font-weight:700;color:var(--burg)}.story{background:#f2e8d9}.story-copy{max-width:800px;font:500 24px/1.5 "Cormorant Garamond",Georgia,serif}.subtitle{font-size:20px}.signature{font:600 30px/1.2 "Cormorant Garamond",Georgia,serif;color:var(--burg)}.rights{display:grid;grid-template-columns:1fr 1fr;gap:7vw;background:var(--forest);color:#fff}footer{padding:35px 7vw;background:#081426;color:#fff;display:flex;justify-content:space-between;gap:25px}footer a{display:block;margin:6px 0;color:#fff}.lead{font-size:18px}
@media(max-width:980px){.portal-grid{grid-template-columns:repeat(2,1fr)}.book-grid{grid-template-columns:repeat(2,1fr)}.mainnav{display:none;position:absolute;left:0;right:0;top:59px;background:var(--paper);padding:20px 4vw;flex-direction:column;border-bottom:1px solid var(--line)}.mainnav.open{display:flex}.menu-toggle{display:block;margin-left:auto}.two-col,.rights{grid-template-columns:1fr}.line-list>div{grid-template-columns:1fr}}
@media(max-width:640px){.portal-grid,.book-grid{grid-template-columns:1fr}.intro-band,.section{padding:58px 6vw}.portal{min-height:220px}.topbar{padding:12px 5vw}.brand{font-size:14px}.hero-image{min-height:420px;object-fit:cover;object-position:center top}footer{flex-direction:column}}
