@font-face{font-family:"Cormorant Garamond";src:url(fonts/cormorant.woff2) format("woff2");font-weight:300 700;font-display:swap}
@font-face{font-family:"Montserrat";src:url(fonts/montserrat.woff2) format("woff2");font-weight:100 900;font-display:swap}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:400 17px/1.55 "Montserrat",system-ui,sans-serif}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
a:focus-visible{outline:3px solid currentColor;outline-offset:3px}
h1,h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;letter-spacing:-.015em;line-height:1;margin:0}
.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--delay,0)*70ms)}
.js .reveal.seen{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1;transform:none;transition:none}.spines li,.books img,.btn,.go{transition:none}}

:root{--forest:#33493e;--gold:#e5c9a0;--cream:#f7f3ec;--ink:#23302a}
body{background:var(--forest);color:var(--cream)}
.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:20px;padding:12px clamp(16px,2.6vw,40px);background:var(--cream);color:var(--ink)}
.top img{width:140px}
.top nav{margin-left:auto;display:flex;gap:22px}
.top nav a{text-decoration:none;font-weight:500;font-size:16px}
.top nav a:hover{text-decoration:underline;text-underline-offset:5px}
.hero{min-height:calc(100svh - 66px);display:grid;grid-template-rows:auto minmax(0,1fr);padding-top:clamp(24px,4vh,48px)}
.hero-text{padding:0 clamp(16px,2.6vw,40px) clamp(20px,3vh,36px)}
.hero h1{font-size:clamp(66px,14.6vw,270px);line-height:.88;letter-spacing:-.02em;color:var(--gold)}
.hero p{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:clamp(25px,2.8vw,42px);line-height:1.15;margin:16px 0 0}
.go{display:inline-block;margin-top:18px;background:var(--gold);color:var(--ink);text-decoration:none;font-weight:500;padding:12px 24px;min-height:44px;transition:background .2s}.go:hover{background:var(--cream)}
.spines{list-style:none;margin:0;padding:0;display:flex;align-items:stretch;min-height:320px}
.spines li{flex:1 1 0;min-width:0;transition:flex-grow .4s cubic-bezier(.2,.7,.2,1)}
.spines li:hover,.spines li:focus-within{flex-grow:1.7}
.spines a{display:flex;height:100%;align-items:flex-end;padding:20px clamp(12px,1.5vw,24px);background:var(--c);color:var(--i);text-decoration:none;font-family:"Cormorant Garamond",serif;font-weight:600;font-size:clamp(25px,2.8vw,44px);line-height:1}
.spines span{writing-mode:vertical-rl;transform:rotate(180deg)}
.chapter{background:var(--c);color:var(--i);padding:clamp(56px,8vw,120px) clamp(16px,2.6vw,40px);min-height:100svh;display:flex;flex-direction:column;gap:clamp(28px,4vw,56px);overflow:hidden;scroll-margin-top:70px}
.chapter h2{font-size:clamp(50px,9.4vw,172px);line-height:.92}
.lead{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(20px,4vw,64px);align-items:end}
.lead p{margin:0;max-width:48ch;font-size:19px}
.lead img{width:100%;aspect-ratio:21/9;object-fit:cover}
.chapter:nth-of-type(odd) .lead{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.chapter:nth-of-type(odd) .lead p{order:2}
.chapter:nth-of-type(odd) h2{text-align:right}
.books{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:36px clamp(20px,3vw,48px)}
.chapter:nth-of-type(odd) .books{justify-content:flex-end}
.books li{width:clamp(150px,20vw,290px)}
.books img{height:clamp(220px,25vw,370px);width:auto;max-width:100%;object-fit:contain;object-position:left bottom;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.books a:hover img{transform:translateY(-6px)}
.books h3{font:600 18px/1.3 "Montserrat",sans-serif;margin:14px 0 2px}
.books p{margin:0 0 12px;font-size:16px}
.btn{display:inline-block;background:var(--i);color:var(--c);text-decoration:none;padding:11px 18px;min-height:44px;font-weight:600;font-size:15px;transition:transform .15s}
.btn:hover{transform:translateY(-2px)}
.soon{font-weight:600;font-size:15px}
.about{background:var(--cream);color:var(--ink);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,80px);align-items:center;padding:clamp(48px,7vw,100px) clamp(16px,2.6vw,40px);scroll-margin-top:70px}
.about img{width:100%;aspect-ratio:4/5;object-fit:cover}
.about h2,.contact h2{font-size:clamp(46px,6vw,104px);margin-bottom:20px}
.about p{max-width:58ch}
.contact{background:var(--gold);color:var(--ink);padding:clamp(56px,8vw,120px) clamp(16px,2.6vw,40px);scroll-margin-top:70px}
.mail{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:clamp(28px,6.6vw,110px);line-height:1.1;overflow-wrap:anywhere}
footer{padding:24px clamp(16px,2.6vw,40px);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;font-size:15px}
@media(max-width:860px){
  .spines{flex-direction:column;min-height:0}
  .spines a{padding:13px 16px;align-items:center}
  .spines span{writing-mode:horizontal-tb;transform:none}
  .lead,.chapter:nth-of-type(odd) .lead{grid-template-columns:minmax(0,1fr)}
  .chapter:nth-of-type(odd) .lead p{order:0}
  .chapter:nth-of-type(odd) h2{text-align:left}
  .chapter:nth-of-type(odd) .books{justify-content:flex-start}
  .books{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .books li{width:auto}
  .books img{height:auto;max-height:240px;width:100%}
  .chapter{min-height:0}
  .chapter h2{font-size:11vw}
  .about{grid-template-columns:minmax(0,1fr)}
  .top nav a:first-child{display:none}}

.skip{position:absolute;left:-999px}
.skip:focus{left:16px;top:8px;z-index:20;background:var(--cream);color:var(--ink);padding:8px 12px}
.legal{background:var(--cream);color:var(--ink);padding:clamp(40px,6vw,80px) max(clamp(16px,2.6vw,40px),calc((100% - 62ch)/2)) clamp(72px,9vw,120px)}
.legal h1{font-size:clamp(42px,5vw,72px);margin-bottom:24px}
.legal h2{font-size:30px;margin:44px 0 10px}
.todo{background:var(--gold);padding:1px 6px;font-weight:500}
