@font-face{font-family:"Cormorant";src:url(/fonts/CG-Medium.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Cormorant";src:url(/fonts/CG-SemiBold.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Cormorant";src:url(/fonts/CG-Italic.woff2) format("woff2");font-style:italic;font-weight:500;font-display:swap}
@font-face{font-family:"EB Garamond";src:url(/fonts/EBG-Regular.woff2) format("woff2");font-display:swap}
@font-face{font-family:"EB Garamond";src:url(/fonts/EBG-Italic.woff2) format("woff2");font-style:italic;font-display:swap}
:root{--ink:#14171C;--paper:#EFE6D2;--sheet:#F7F2E7;--brass:#B08D57;--umber:#6B4A2E;--muted:#5C5448;--rule:#D8CCB4;
--bg:var(--paper);--fg:var(--ink);--display:"Cormorant",Georgia,serif;--text:"EB Garamond",Georgia,serif;color-scheme:light}
@media (prefers-color-scheme:dark){:root{--bg:#1A1C20;--fg:#EAE2D0;--sheet:#23252B;--muted:#B5AC9C;--rule:#3A3934;color-scheme:dark}}
*{box-sizing:border-box}
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;background:var(--bg);color:var(--fg);font:400 1.125rem/1.65 var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration-color:var(--brass);text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
.wrap{width:min(1180px,100% - 2*clamp(20px,5vw,48px));margin-inline:auto}
.narrow{width:min(680px,100% - 2*clamp(20px,5vw,48px))}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;background:var(--bg);padding:8px 12px;z-index:9}
h1,h2,h3{font-family:var(--display);font-weight:500;line-height:1.1;margin:0 0 .5em;letter-spacing:.005em}
h1{font-size:clamp(2.4rem,5vw,3.6rem)}h2{font-size:clamp(1.9rem,3.4vw,2.6rem)}h3{font-size:1.5rem}
p{margin:0 0 1em}
.lede{font-size:1.3rem;line-height:1.55;max-width:38rem}
.fine{font-size:.95rem;color:var(--muted)}
.is-dark{background:var(--ink);color:#EAE2D0;--muted:#B5AC9C}
/* header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule)}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--bg)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font:500 1.4rem/1 var(--display);letter-spacing:.06em}
.brand img{width:auto;height:26px}.l-cream{display:none}
@media (prefers-color-scheme:dark){.l-ink{display:none}.l-cream{display:block}}
.top nav{display:flex;gap:clamp(14px,3vw,32px)}
.top nav a{text-decoration:none;font-size:1.05rem}.top nav a[aria-current]{text-decoration:underline;text-decoration-color:var(--brass)}
/* hero */
.hero{padding:clamp(56px,9vw,120px) 0 clamp(56px,8vw,104px);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(32px,6vw,88px);align-items:center}
.lead-in{font-size:1.15rem;color:var(--brass);margin-bottom:1.2rem}
.hero blockquote{margin:0;min-height:3.3em;font:italic 500 clamp(2.6rem,6.2vw,5.2rem)/1.04 var(--display);color:#F3EBDA;transition:opacity .45s ease}
.hero blockquote p{margin:0}
.q-src{margin:1.6rem 0 2rem;font-size:1.1rem;color:#C9BFAC}
.q-src a{text-decoration-color:var(--brass)}
.ask{font:inherit;font-size:1.05rem;background:none;color:#EAE2D0;border:1px solid #5B5547;padding:.7em 1.3em;border-radius:999px;cursor:pointer}
.ask:hover{border-color:var(--brass)}
.hero-cover{display:block;transform:rotate(1.2deg);box-shadow:0 30px 60px -20px #000,0 2px 0 #0006;transition:opacity .45s ease}
.hero-cover img{width:100%}
.is-fading{opacity:0}
@media (prefers-reduced-motion:reduce){.hero blockquote,.hero-cover{transition:none}}
/* intro */
.intro{padding:clamp(64px,9vw,120px) 0}
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,96px)}
.intro h1{font-size:clamp(2rem,3.8vw,3rem);line-height:1.12}
.btn{display:inline-block;font:500 1.15rem/1 var(--display);letter-spacing:.03em;text-decoration:none;background:var(--ink);color:#EFE6D2;padding:.85em 1.6em;border-radius:2px}
.is-dark .btn{background:#EFE6D2;color:var(--ink)}
@media (prefers-color-scheme:dark){.btn{background:#EFE6D2;color:var(--ink)}}
.btn.is-off{opacity:.55;cursor:default}
/* shelves */
.shelves>.wrap{padding-bottom:12px}
.shelf{background:var(--band);color:#EFE6D2;padding:36px 0 44px;position:relative}
.shelf+.shelf{border-top:1px solid #0003}
.shelf-head{display:flex;align-items:baseline;gap:8px 24px;flex-wrap:wrap;margin-bottom:22px}
.shelf-head h3{font-size:1.9rem;margin:0}
.shelf-head p{margin:0;color:#E2D7C1;font-style:italic;flex:1 1 20rem}
.count{font-size:.95rem;color:#D9CDB6}
.rail{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;--pad:max(clamp(20px,5vw,48px),calc((100% - 1180px)/2));padding:6px var(--pad) 30px;scroll-padding-inline:var(--pad);
background:linear-gradient(to bottom,transparent calc(100% - 30px),#0000002e calc(100% - 30px),#00000012 calc(100% - 24px),transparent calc(100% - 24px));scrollbar-width:thin}
.bk{flex:0 0 clamp(138px,14vw,172px);scroll-snap-align:start;text-decoration:none;color:inherit}
.bk img{box-shadow:0 14px 22px -12px #000c,0 1px 0 #0005;transition:transform .25s ease}
.bk:hover img{transform:translateY(-4px)}
.bk-t{display:block;margin-top:12px;font:500 1.1rem/1.2 var(--display)}
.bk-a{display:block;font-size:.92rem;opacity:.8}
.bk-s{display:block;font-size:.82rem;font-style:italic;opacity:.65;margin-top:2px}
/* letter */
.letter{padding:clamp(56px,8vw,96px) 0}
.letter-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(28px,5vw,72px);align-items:center}
.signup label{display:block;font-size:1rem;margin-bottom:6px}
.s-note{font:italic 500 1.4rem/1.3 var(--display)}
.s-row{display:flex;gap:10px;flex-wrap:wrap}
.signup input[type=email]{flex:1 1 220px;font:inherit;padding:.75em .9em;border:1px solid #6A6355;background:#1E2127;color:#F3EBDA;border-radius:2px}
.signup button{font:500 1.15rem/1 var(--display);padding:.8em 1.4em;border:0;border-radius:2px;background:#EFE6D2;color:var(--ink);cursor:pointer}
.signup button:hover{background:#fff}
.s-fine{font-size:.9rem;color:#B5AC9C;margin-top:12px}
.hp{position:absolute;left:-9999px}
/* page heads */
.page-head{padding:clamp(48px,7vw,88px) 0 clamp(28px,4vw,48px)}
.find{display:block;margin:28px 0 6px;font-size:1rem}
#find{width:min(460px,100%);font:inherit;padding:.7em .9em;border:1px solid var(--rule);background:var(--sheet);color:var(--fg);border-radius:2px}
.none{padding:40px 0}
/* book page */
.book{padding:clamp(40px,6vw,80px) 0;background:linear-gradient(to bottom,var(--sh) 0 200px,transparent 200px)}
.book-grid{display:grid;grid-template-columns:minmax(240px,420px) 1fr;gap:clamp(32px,6vw,80px);align-items:start}
.book-cover img{box-shadow:0 30px 50px -24px #000d}
.book-info{padding-top:150px}
.no{color:var(--muted);font-size:1rem;margin-bottom:.4em}
.book-info h1{margin-bottom:.15em}
.by{font-size:1.2rem;margin-bottom:1.2em}
.book-q{font:italic 500 clamp(1.7rem,3vw,2.3rem)/1.2 var(--display);margin:0 0 1em;max-width:22ch}
.facts{list-style:none;padding:0;margin:0 0 1.6em;border-top:1px solid var(--rule)}
.facts li{padding:.55em 0;border-bottom:1px solid var(--rule);font-size:1.02rem}
.sample{padding:clamp(48px,7vw,88px) 0}
.page-sheet{background:var(--sheet);padding:clamp(28px,6vw,64px);box-shadow:0 1px 0 var(--rule),0 24px 40px -30px #0006;margin-bottom:14px}
.page-sheet p{text-indent:1.4em;margin:0;text-align:justify;hyphens:auto;line-height:1.6}
.page-sheet .ch{text-indent:0;text-align:center;font:500 1.2rem var(--display);letter-spacing:.3em;margin-bottom:1.6em}
.page-sheet .ch+p{text-indent:0}.page-sheet .ch+p::first-line{font-variant:small-caps;letter-spacing:.04em}
.more{padding:0 0 clamp(56px,8vw,96px)}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.grid4 .bk{flex:none}
/* plans */
.plans{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--rule);margin-bottom:clamp(48px,7vw,80px)}
.plan{padding:32px 26px;border-right:1px solid var(--rule);display:flex;flex-direction:column}
.plan:last-child{border-right:0}
.plan h2{font-size:1.7rem;margin:0}
.plan .price{font:500 2.6rem/1 var(--display);margin:.5em 0 .4em}
.plan p{flex:0 0 auto}.plan .btn{margin-top:auto;text-align:center}
.plan.is-best{background:var(--ink);color:#EAE2D0}.plan.is-best .btn{background:#EFE6D2;color:var(--ink)}
.tag{font-style:italic;color:var(--brass);margin:.2em 0 0}
.faq{padding-bottom:clamp(48px,7vw,80px)}.faq h3{margin-top:1.4em}
.prose h2{margin-top:1.4em}
/* footer */
.foot{background:var(--ink);color:#CFC5B2;padding:48px 0 calc(40px + env(safe-area-inset-bottom,0px));font-size:1rem}
.foot .wrap{display:grid;grid-template-columns:1.4fr 1fr auto;gap:24px;align-items:start}
.foot img{height:34px;width:auto;margin-bottom:12px}
.foot nav{display:flex;flex-wrap:wrap;gap:8px 20px}.foot a{text-decoration:none}.foot a:hover{text-decoration:underline}
.copy{margin:0}
@media (max-width:860px){
 .hero-grid,.intro-grid,.letter-grid,.book-grid,.foot .wrap{grid-template-columns:1fr}
 .hero-cover{max-width:250px;order:-1;transform:none}
 .hero blockquote{min-height:0}
 .book{background:linear-gradient(to bottom,var(--sh) 0 330px,transparent 330px)}
 .book-cover{max-width:260px}.book-info{padding-top:150px}
 .plans{grid-template-columns:1fr 1fr}.plan:nth-child(2){border-right:0}.plan{border-bottom:1px solid var(--rule)}
 .grid4{grid-template-columns:repeat(2,1fr)}
 .top nav a{font-size:1rem}
}
@media (max-width:420px){.brand span{display:none}.plans{grid-template-columns:1fr}.plan{border-right:0}}
