/* Shared Everbrook visual language for the inner pages. */
:root { --bg:#fff; --surface:#f4f4f5; --surface-strong:#e9e9eb; --ink:#3e434b; --muted:#737780; --line:#e5e5e7; --accent:#dc373d; --accent-hover:#bb2930; --on-accent:#fff; --header:rgba(209,48,54,.91); --hero-panel:rgba(38,43,51,.77); --hero-ink:#fff; --night:#292f37; --night-muted:#c4c9ce; --display:'Montserrat',Arial,sans-serif; --body:'DM Sans',Arial,sans-serif; --literary:'Libre Baskerville',Georgia,serif; }
@media (prefers-color-scheme:dark) { :root:not([data-theme="light"]) { --bg:#181b20; --surface:#24282e; --surface-strong:#31363e; --ink:#f0f1f2; --muted:#b4bac2; --line:#383d45; --accent:#e04449; --accent-hover:#bc3037; --on-accent:#fff; --header:rgba(172,38,45,.94); --hero-panel:rgba(27,31,37,.85); --hero-ink:#fff; --night:#11151b; --night-muted:#bac2cb; color-scheme:dark; } }
:root[data-theme="dark"] { --bg:#181b20; --surface:#24282e; --surface-strong:#31363e; --ink:#f0f1f2; --muted:#b4bac2; --line:#383d45; --accent:#e04449; --accent-hover:#bc3037; --on-accent:#fff; --header:rgba(172,38,45,.94); --hero-panel:rgba(27,31,37,.85); --hero-ink:#fff; --night:#11151b; --night-muted:#bac2cb; color-scheme:dark; }
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--bg); color:var(--ink); font:15px/1.6 var(--body); overflow-x:hidden; }
button,a { -webkit-tap-highlight-color:transparent; }
button { font:inherit; cursor:pointer; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
h1,h2,h3,p { margin:0; }
h1,h2,h3 { text-wrap:balance; }
:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
.wrap { width:min(100%,1180px); margin-inline:auto; padding-left:max(16px,env(safe-area-inset-left,0px)); padding-right:max(16px,env(safe-area-inset-right,0px)); }
body::before { content:""; position:fixed; inset:0 0 auto; height:env(safe-area-inset-top,0px); background:var(--header); z-index:20; }
.site-header { position:relative; z-index:15; background:var(--header); color:var(--hero-ink); }
.header-inner { min-height:70px; display:flex; align-items:center; gap:24px; }
.brand { display:inline-flex; align-items:center; gap:11px; white-space:nowrap; font:700 15px/1.2 var(--display); letter-spacing:-.035em; }
.brand-mark { width:35px; height:35px; flex:none; }
.desktop-nav { display:flex; align-items:center; justify-content:center; gap:clamp(16px,2.7vw,38px); flex:1; }
.desktop-nav a { font-size:13px; font-weight:600; white-space:nowrap; opacity:.9; transition:opacity .2s ease; }
.desktop-nav a:hover,.desktop-nav a[aria-current="page"] { opacity:1; }
.menu-toggle { display:none; margin-left:auto; border:0; background:transparent; color:var(--hero-ink); padding:9px; line-height:0; }
.menu-toggle svg { width:24px; height:24px; }
.eyebrow { color:var(--accent); font:800 13px/1.4 var(--display); letter-spacing:.19em; text-transform:uppercase; }
.button { display:inline-flex; justify-content:center; align-items:center; min-height:48px; border:0; border-radius:5px; background:var(--accent); color:var(--on-accent); padding:11px 23px; font:700 13px/1.2 var(--body); transition:background .2s ease,transform .2s ease; }
.button:hover { background:var(--accent-hover); transform:translateY(-2px); }
.book-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.book-item { min-width:0; }
.book-cover { height:350px; width:100%; padding:26px; display:flex; flex-direction:column; justify-content:space-between; box-shadow:10px 13px 20px rgba(14,19,23,.13); position:relative; overflow:hidden; transition:transform .25s ease,box-shadow .25s ease; }
.book-item:hover .book-cover { transform:translateY(-6px); box-shadow:12px 18px 24px rgba(14,19,23,.18); }
.book-cover::before { content:""; position:absolute; inset:0 auto 0 0; width:12px; background:rgba(0,0,0,.13); box-shadow:3px 0 7px rgba(0,0,0,.07); }
.book-cover > * { position:relative; z-index:1; }
.book-cover .imprint { font:700 10px/1.3 var(--display); letter-spacing:.18em; text-transform:uppercase; }
.book-cover strong { display:block; max-width:12ch; font:700 clamp(28px,3vw,42px)/1.07 var(--literary); letter-spacing:-.045em; }
.book-cover .cover-foot { font:600 10px/1.5 var(--body); letter-spacing:.14em; text-transform:uppercase; }
.cover-one { background:#aa3e43; color:#fff1df; }
.cover-one::after { content:"✳"; position:absolute; right:-16px; top:55px; font-size:190px; line-height:1; color:rgba(255,241,223,.13); transform:rotate(-15deg); }
.cover-two { background:#1f5155; color:#f7e9d1; }
.cover-two::after { content:""; position:absolute; right:-36px; bottom:36px; width:220px; height:220px; border:2px solid rgba(247,233,209,.45); border-radius:50%; box-shadow:0 0 0 28px rgba(247,233,209,.07),0 0 0 57px rgba(247,233,209,.055); }
.cover-three { background:#d2ad74; color:#332b2c; }
.cover-three::after { content:""; position:absolute; right:-23px; top:86px; width:210px; height:210px; border:1px solid rgba(51,43,44,.45); transform:rotate(45deg); box-shadow:25px 25px 0 -1px rgba(210,173,116,1),26px 26px 0 0 rgba(51,43,44,.35); }
.book-details { padding-top:22px; display:grid; gap:4px; }
.book-details .genre { color:var(--accent); font:800 11px/1.3 var(--display); letter-spacing:.14em; text-transform:uppercase; }
.book-details h3 { font:700 17px/1.25 var(--display); letter-spacing:-.025em; }
.book-details p { color:var(--muted); font-size:13px; line-height:1.6; }
.story-inner { display:grid; grid-template-columns:.84fr 1.16fr; gap:clamp(34px,7vw,115px); align-items:center; }
.story-photo { width:100%; height:365px; object-fit:cover; object-position:center 60%; }
.story-copy { display:grid; gap:18px; }
.story-copy h2 { font:700 clamp(30px,3vw,42px)/1.18 var(--display); letter-spacing:-.05em; max-width:18ch; }
.story-copy p { color:var(--muted); max-width:55ch; font-size:14px; line-height:1.8; }
.story-copy .signature { font:italic 16px/1.6 var(--literary); }
.event-card { display:grid; grid-template-columns:47% 53%; overflow:hidden; min-height:327px; background:var(--surface); border:1px solid var(--line); border-radius:10px; }
.event-image { width:100%; height:100%; min-height:327px; object-fit:cover; }
.event-content { min-width:0; display:flex; flex-direction:column; }
.event-body { padding:22px 36px 19px; flex:1; }
.ribbon { display:inline-block; background:var(--accent); color:var(--on-accent); padding:7px 18px 7px 15px; font:800 11px/1.3 var(--display); letter-spacing:.14em; text-transform:uppercase; clip-path:polygon(0 0,100% 0,92% 50%,100% 100%,0 100%); }
.event-meta { margin-top:18px; display:flex; align-items:center; flex-wrap:wrap; gap:14px 25px; color:var(--muted); font-size:12px; }
.event-meta span { display:inline-flex; align-items:center; gap:8px; }
.event-body h3 { max-width:23ch; margin-top:13px; font:700 clamp(24px,2.3vw,30px)/1.23 var(--display); letter-spacing:-.045em; }
.event-body p { margin-top:10px; max-width:55ch; color:var(--muted); font-size:13px; line-height:1.65; }
.event-bottom { min-height:58px; display:flex; align-items:stretch; border-top:1px solid var(--line); }
.event-location { display:flex; align-items:center; gap:10px; padding:12px 24px 12px 36px; flex:1; min-width:0; font-size:12px; font-weight:600; }
.site-footer { background:var(--bg); }
.footer-main { padding-block:55px 43px; display:flex; align-items:start; justify-content:space-between; gap:40px; }
.footer-brand { display:grid; gap:12px; max-width:32ch; }
.footer-brand .brand { color:var(--ink); }
.footer-brand .brand-mark { color:var(--accent); }
.footer-brand p,.footer-links p { color:var(--muted); font-size:13px; }
.footer-links { display:flex; gap:70px; }
.footer-links > div { display:grid; align-content:start; gap:9px; }
.footer-links strong { font:700 13px/1.4 var(--display); }
.footer-links a { font-size:13px; color:var(--muted); }
.footer-links a:hover { color:var(--accent); }
.footer-bottom { border-top:1px solid var(--line); padding-block:17px 21px; display:flex; justify-content:space-between; gap:12px; color:var(--muted); font-size:11px; }
@media (max-width:900px) { .desktop-nav { justify-content:flex-end; } .event-card { grid-template-columns:43% 57%; } .event-body { padding-inline:23px; } .event-location { padding-left:23px; } }
@media (max-width:640px) { .header-inner { min-height:65px; } .desktop-nav { display:none; position:absolute; top:65px; left:0; right:0; background:var(--header); padding:10px max(16px,env(safe-area-inset-right,0px)) 22px max(16px,env(safe-area-inset-left,0px)); flex-direction:column; align-items:stretch; gap:0; } .desktop-nav.open { display:flex; } .desktop-nav a { padding:11px 7px; } .menu-toggle { display:block; } .book-grid { grid-template-columns:1fr; max-width:360px; margin-inline:auto; gap:42px; } .book-cover { height:390px; } .story-inner { grid-template-columns:1fr; } .story-photo { height:270px; } .event-card { grid-template-columns:1fr; } .event-image { height:245px; min-height:0; } .event-body { padding:23px; } .event-location { padding-left:23px; } .footer-main,.footer-bottom { flex-direction:column; } .footer-links { gap:45px; flex-wrap:wrap; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition-duration:.01ms !important; animation-duration:.01ms !important; } }
