*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--colour-ink);background:var(--colour-paper);font-family:var(--font-body);font-size:16px;line-height:1.68;letter-spacing:.012em;-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}button,input{font:inherit}a{color:inherit}img{display:block;max-width:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:1rem;top:1rem;z-index:100;padding:.65rem 1rem;color:#fff;background:var(--colour-navy);transform:translateY(-180%)}.skip-link:focus{transform:none}:focus-visible{outline:3px solid rgba(237,107,31,.5);outline-offset:3px}
.site-header{position:sticky;top:0;z-index:40;display:grid;grid-template-columns:240px 1fr 24px;align-items:center;min-height:88px;padding:0 max(24px,calc((100vw - var(--max-width))/2));background:rgba(251,250,246,.94);border-bottom:1px solid rgba(20,43,59,.1);backdrop-filter:blur(14px)}.brand{display:inline-flex;width:205px}.brand img{width:100%;height:64px;object-fit:contain;mix-blend-mode:multiply}.desktop-nav{display:flex;justify-content:flex-end;gap:clamp(1.4rem,3vw,3rem)}.desktop-nav a{text-decoration:none;font-size:.9rem;font-weight:700}.desktop-nav a:hover{color:var(--colour-orange-dark)}.header-actions{display:flex;gap:.4rem}.search-button,.menu-button{width:44px;height:44px;border:0;border-radius:50%;background:transparent;cursor:pointer}.search-button{font-size:1.9rem}.menu-button{display:none;place-content:center;gap:4px}.menu-button span{display:block;width:21px;height:2px;background:currentColor}.mobile-menu{position:absolute;left:0;right:0;top:100%;padding:1rem 1.5rem;background:var(--colour-paper);box-shadow:var(--shadow)}.mobile-menu a{display:block;padding:.8rem 0;border-bottom:1px solid var(--colour-line);font-weight:700;text-decoration:none}
main{min-height:65vh}.page-heading{max-width:var(--max-width);margin:auto}.page-heading>p{max-width:680px;color:var(--colour-muted)}h1,h2,h3{font-family:var(--font-heading);color:var(--colour-navy);letter-spacing:-.025em;line-height:1.08}h1{font-size:clamp(2.7rem,5vw,4.9rem)}h2{font-size:clamp(2rem,3.7vw,3.5rem)}h3{font-size:1.45rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 1.25rem;color:#fff;background:var(--colour-orange);border:1px solid transparent;border-radius:var(--radius-sm);font-weight:800;text-decoration:none;transition:transform var(--transition),background var(--transition)}.button:hover{transform:translateY(-2px);background:var(--colour-orange-dark)}.button-quiet{color:var(--colour-navy);background:#fff;border-color:#b7c2c4}.button-quiet:hover{color:#fff}
.site-footer{display:grid;grid-template-columns:1.6fr 1fr;gap:2rem;align-items:end;padding:4rem max(24px,calc((100vw - var(--max-width))/2));color:#d9e5e8;background:var(--colour-navy)}.site-footer img{width:190px;filter:brightness(0) invert(1);opacity:.94}.site-footer h2{margin:.7rem 0 .25rem;color:#fff;font-size:2rem}.site-footer p{margin:.3rem 0}.footer-links{display:flex;justify-content:flex-end;gap:1.5rem}.footer-links a{font-weight:700;white-space:nowrap}.footer-meta{grid-column:1/-1;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.18)}.footer-identity{font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.footer-copyright{color:#b9c8cc;font-size:.75rem}.not-found{max-width:800px;margin:auto;padding:7rem 1.5rem;text-align:center}
dialog{width:min(760px,calc(100% - 2rem));max-height:90vh;padding:2rem;border:0;border-radius:var(--radius-lg);box-shadow:var(--shadow)}dialog::backdrop{background:rgba(12,32,48,.72);backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:.8rem;top:.8rem;width:42px;height:42px;border:0;border-radius:50%;background:var(--colour-grey);font-size:1.7rem;cursor:pointer}
@media(max-width:800px){.site-header{grid-template-columns:1fr auto;min-height:74px}.brand{width:170px}.brand img{height:54px}.desktop-nav{display:none}.menu-button{display:grid}.mobile-menu .books-menu summary{font-size:1rem}.site-footer{grid-template-columns:1fr}.footer-links{justify-content:flex-start;flex-wrap:wrap}.footer-meta{grid-column:auto}}
