:root{--ink:#102a31;--paper:#f6f2e9;--cream:#fffaf0;--fjord:#147b88;--coral:#df6f58;--gold:#d6a13b;--violet:#7658a5;--line:rgba(16,42,49,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Playfair Display',serif;line-height:1.05}.site-header{height:88px;padding:0 clamp(22px,5vw,76px);display:flex;align-items:center;gap:36px;background:rgba(246,242,233,.96);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.wordmark{display:flex;flex-direction:column;letter-spacing:.12em;line-height:1.15}.wordmark span{font-weight:700}.wordmark small{font-size:.62rem;color:var(--fjord)}.site-header nav{display:flex;gap:24px;margin-left:auto;font-size:.84rem}.language ul{display:flex;gap:8px;list-style:none;padding:0;margin:0}.language .current-lang{font-weight:700;color:var(--fjord)}.menu-toggle{display:none}.hero{min-height:760px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);position:relative;overflow:hidden}.swiss-rule{position:absolute;left:0;top:0;width:11px;height:100%;background:#d6463b}.swiss-rule span{position:absolute;top:70px;left:24px;color:#d6463b;font-size:2rem}.hero-copy{padding:clamp(90px,10vw,150px) 7vw}.kicker{text-transform:uppercase;letter-spacing:.19em;font-size:.72rem;font-weight:700;color:var(--fjord)}.hero h1{font-size:clamp(3.5rem,7vw,7.2rem);max-width:850px}.intro{font-size:clamp(1.1rem,1.7vw,1.45rem);max-width:660px}.actions{display:flex;gap:12px;margin:36px 0}.button{display:inline-flex;padding:14px 22px;border:1px solid var(--ink);font-weight:700}.button.primary{background:var(--ink);color:white}.button.secondary{background:transparent}.title-note{font-family:'Playfair Display',serif;font-style:italic}.title-note span{color:var(--gold);margin-right:10px}.portrait-wrap{position:relative;background:var(--fjord);min-height:660px}.portrait{width:100%;height:100%;object-fit:cover;object-position:center 18%;mix-blend-mode:normal}.portrait-caption{position:absolute;bottom:24px;right:28px;background:var(--paper);padding:8px 12px;font-size:.75rem}.section{padding:100px clamp(22px,7vw,110px)}.section-heading{display:grid;grid-template-columns:70px 1fr;gap:24px;margin-bottom:48px}.section-heading>p{color:var(--coral);font-weight:700}.section-heading h2{font-size:clamp(2.6rem,5vw,5rem);margin-bottom:12px}.section-heading.light,.section-heading.light h2{color:white}.news{background:var(--cream)}.news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.news-card{background:white;display:grid;grid-template-columns:minmax(220px,1.1fr) 1fr}.news-card img{width:100%;height:100%;object-fit:cover}.news-card>div{padding:32px}.news-card h3{font:600 2rem/1.15 'Playfair Display',serif}.filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:40px}.filters button{border:1px solid var(--line);background:transparent;padding:9px 14px;border-radius:999px;cursor:pointer}.filters button.selected{background:var(--ink);color:#fff}.books-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:42px 24px}.book-card[hidden]{display:none}.book-cover{display:block;aspect-ratio:2/3;background:#dfe7e7;box-shadow:0 13px 27px rgba(16,42,49,.14);transition:.25s transform}.book-cover:hover{transform:translateY(-6px)}.book-cover img{width:100%;height:100%;object-fit:cover}.book-info{padding-top:18px}.book-info>p{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--fjord)}.book-info h3{font:600 1.35rem/1.2 'Playfair Display',serif}.book-info span{display:block;font-size:.84rem;color:#52666b;margin-bottom:10px}.book-info>a{font-weight:700;font-size:.84rem}.upcoming,.visits{background:var(--ink);color:white}.upcoming-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.upcoming-grid article{background:rgba(255,255,255,.08);display:grid;grid-template-columns:220px 1fr}.upcoming-grid img{width:100%;height:100%;object-fit:cover}.upcoming-grid article>div{padding:34px}.upcoming-grid h3{font:600 2rem/1.2 'Playfair Display',serif}.about-grid{display:grid;grid-template-columns:minmax(320px,.8fr) 1.2fr;gap:7vw;align-items:center}.about-grid>img{width:100%;max-height:680px;object-fit:cover}.about-grid .lead{font:600 clamp(1.45rem,2.5vw,2.2rem)/1.35 'Playfair Display',serif}.about-grid blockquote{margin:38px 0;font:italic 600 2rem 'Playfair Display',serif;color:var(--fjord)}.memberships{display:flex;gap:10px;flex-wrap:wrap}.memberships a{text-decoration:underline}.visit-card{max-width:900px;margin:auto;background:rgba(255,255,255,.08);padding:40px}.visit-card>div{display:flex;gap:24px;flex-wrap:wrap}.visit-card a{color:#f6d47b;font-weight:700}.contact{text-align:center;padding:130px 24px;background:var(--gold)}.contact h2{font-size:clamp(3rem,7vw,6.4rem);max-width:980px;margin:0 auto 36px}.site-footer{padding:50px clamp(22px,5vw,76px);display:flex;gap:28px;align-items:center}.footer-links{display:flex;gap:20px;margin-left:auto}.site-footer>p{margin:0}.content-wrap{max-width:1100px;margin:auto;padding:100px 24px;min-height:65vh}.content-wrap>h1,.single-entry h1{font-size:clamp(3rem,6vw,6rem)}.entry-card{padding:32px 0;border-bottom:1px solid var(--line)}.entry-card img{max-height:440px;object-fit:cover}.single-entry>img{width:100%;max-height:560px;object-fit:cover;margin-bottom:40px}.single-book{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:7vw}.single-book h1{font-size:clamp(3rem,6vw,6rem)}@media(max-width:1000px){.site-header nav{display:none;position:absolute;left:0;right:0;top:88px;background:var(--paper);padding:24px;flex-direction:column}.site-header nav.open{display:flex}.menu-toggle{display:block;margin-left:auto}.hero{grid-template-columns:1fr}.portrait-wrap{min-height:680px}.books-grid{grid-template-columns:repeat(3,1fr)}.news-card{grid-template-columns:1fr}.upcoming-grid{grid-template-columns:1fr}}@media(max-width:680px){.site-header{height:72px;padding:0 18px}.site-header nav{top:72px}.wordmark span{font-size:.82rem}.hero-copy{padding:78px 24px}.hero h1{font-size:3.2rem}.portrait-wrap{min-height:540px}.section{padding:72px 20px}.section-heading{grid-template-columns:38px 1fr}.books-grid{grid-template-columns:repeat(2,1fr);gap:32px 14px}.book-info h3{font-size:1.08rem}.news-grid,.about-grid{grid-template-columns:1fr}.upcoming-grid article{grid-template-columns:1fr}.site-footer,.footer-links{flex-direction:column;align-items:flex-start;margin-left:0}.single-book{grid-template-columns:1fr}}

