/* UnBanned — shared editorial system. Mobile-first components, no font downloads. */
:root {
  color-scheme: light;
  --color-paper:#f4f0e8; --color-ink:#24221e; --color-muted:#665f55;
  --color-accent:#7b2938; --color-rule:#d5ccbd; --color-wash:#eae4d9;
  --font-display:Georgia,'Times New Roman',serif;
  --font-ui:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --space-xs:8px; --space-sm:16px; --space-md:24px; --space-lg:40px;
  --space-xl:clamp(56px,7vw,112px); --radius:0; --transition-fast:200ms;
  --gutter:clamp(20px,5vw,88px); --page-inset:max(var(--gutter),calc((100vw - 1440px)/2));
  --cream:var(--color-paper); --linen:var(--color-wash); --parch:#ddd5c3;
  --dark:var(--color-ink); --text:var(--color-ink); --muted:var(--color-muted);
  --burg:var(--color-accent); --gold:#b28b4f; --gold-lt:#ddbc83; --gold-dk:#775723;
  --white:#fdfbf7; --navy:#202c34; --bdr-lt:var(--color-rule); --bdr-dk:#484138;
  --serif:var(--font-display); --sans:var(--font-ui);
}
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:auto; }
body { margin:0; background:var(--cream); color:var(--text); font:400 16px/1.6 var(--sans); }
h1,h2,h3,p,ul,blockquote { margin:0; }
a { color:inherit; text-decoration:none; }
button,input,textarea { font:inherit; border-radius:var(--radius); }
button { cursor:pointer; }
button:disabled { cursor:wait; opacity:.6; }
img { max-width:100%; }
[hidden] { display:none!important; }
[id] { scroll-margin-top:100px; }
:focus-visible { outline:3px solid var(--gold-dk); outline-offset:5px; }
footer :focus-visible,.principle :focus-visible,.sub :focus-visible { outline-color:var(--gold-lt); }
::selection { background:#dfc9b6; color:var(--dark); }
.skip-link { position:fixed; top:8px; left:8px; z-index:1000; padding:14px 20px; background:var(--white); transform:translateY(-160%); }
.skip-link:focus { transform:none; }
.eyebrow,.hist-label,.hero-kicker,.folio { font:600 .7rem/1.6 var(--sans); letter-spacing:.15em; text-transform:uppercase; }
.eyebrow,.hist-label { color:var(--burg); margin-bottom:20px; }
.sec-title { font:400 clamp(2.15rem,3.6vw,3.8rem)/1.12 var(--serif); letter-spacing:-.035em; text-wrap:balance; }
.btn-dark,.btn-gold,.nav-cta,.wl-btn,.email-btn,.menu-close { display:inline-flex; justify-content:center; align-items:center; gap:18px; min-height:48px; padding:13px 24px; border:1px solid var(--dark); font:600 .78rem/1.5 var(--sans); border-radius:0; transition:background var(--transition-fast),color var(--transition-fast); }
.btn-dark,.nav-cta,.email-btn { background:var(--dark); color:var(--white); }
.btn-dark:hover,.nav-cta:hover,.email-btn:hover { background:#413b32; }
.btn-gold { background:transparent; color:var(--dark); }
.btn-dark span,.book-buy span { display:inline-block; transition:transform var(--transition-fast); }
.btn-dark:hover span,.book-buy:hover span { transform:translateX(4px); }
.see-all,.m-link,.how-cta { display:inline-flex; align-items:center; min-height:44px; font:600 .8rem/1.5 var(--sans); border:0; border-bottom:1px solid var(--gold); background:transparent; padding:8px 0; text-align:left; }
.see-all:hover,.m-link:hover,.how-cta:hover { color:var(--burg); border-color:currentColor; }
/* Quiet masthead; navigation behavior is unchanged. */
.site-nav { position:sticky; top:0; z-index:100; height:78px; padding:0 var(--page-inset); display:flex; align-items:center; justify-content:space-between; gap:24px; background:var(--cream); border-bottom:1px solid var(--bdr-lt); }
.logo,.foot-logo { font:700 1.8rem/1 var(--serif); letter-spacing:-.055em; }
.logo .un { color:var(--burg); }
.nav-links { list-style:none; display:flex; align-items:center; gap:clamp(18px,2.2vw,36px); padding:0; }
.nav-links a { font:500 .76rem/1.5 var(--sans); display:inline-flex; align-items:center; min-height:44px; transition:color var(--transition-fast); }
.nav-links a:not(.nav-cta):hover { color:var(--burg); text-decoration:underline; text-underline-offset:7px; }
.nav-links .nav-cta { padding:13px 22px; }
.menu-toggle { display:none; min-width:76px; min-height:48px; padding:12px 0 12px 12px; border:0; background:transparent; color:var(--dark); font-size:.8rem; }
.menu-toggle span { margin-left:12px; }
.mobile-menu { width:100%; max-width:none; height:100vh; height:100dvh; max-height:none; margin:0; border:0; padding:28px var(--gutter) max(32px,env(safe-area-inset-bottom)); color:var(--text); background:var(--cream); overflow-y:auto; overscroll-behavior:contain; }
.mobile-menu::backdrop { background:#24221e80; }
.mobile-menu[open] { animation:menu-enter 260ms ease-out; }
@keyframes menu-enter { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:translateY(0); } }
.menu-top { display:flex; align-items:center; justify-content:space-between; gap:16px; border-bottom:1px solid var(--bdr-lt); padding-bottom:24px; }
.menu-close { background:transparent; padding:10px 16px; font-weight:500; }
.menu-groups { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; padding:44px 0; }
.menu-group h2 { color:var(--burg); font:600 .68rem/1.6 var(--sans); letter-spacing:.16em; text-transform:uppercase; margin-bottom:18px; }
.menu-group a { display:block; padding:10px 0; min-height:44px; font:400 1.55rem/1.25 var(--serif); }
.menu-group a:hover { color:var(--burg); }
/* Homepage: preserve the recognizable manifesto and book composition. */
.hero { display:grid; grid-template-columns:1.05fr 1fr; align-items:center; gap:5vw; padding:88px var(--page-inset) 90px; }
.hero-left,.hero-gallery { min-width:0; }
.hero-kicker { display:flex; gap:16px; align-items:center; color:var(--burg); margin-bottom:32px; }
.kicker-line { width:28px; height:1px; background:var(--gold); }
.hero-hed { font-family:var(--serif); line-height:.96; letter-spacing:-.045em; }
.hed-light { display:block; font-size:clamp(2.7rem,5.5vw,6.3rem); font-weight:400; font-style:italic; }
.hed-heavy { display:block; font-size:clamp(5.4rem,10vw,11.5rem); font-weight:700; color:var(--burg); letter-spacing:-.06em; }
.gold-rule { width:46px; height:1px; background:var(--gold); margin:34px 0; }
.hero-sub { max-width:470px; color:var(--dark); font-size:1.2rem; font-weight:600; line-height:1.5; margin-bottom:30px; }
.hero-sub strong { color:var(--dark); font-weight:500; }
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px; margin-bottom:28px; }
.hero-actions .btn-gold { padding:12px 0; min-height:44px; border-width:0 0 1px; }
.proof-text { color:var(--muted); font-size:.75rem; line-height:1.7; }
.proof-text strong { color:var(--dark); font-weight:500; }
.hero-gallery { padding:28px 12px 24px; background:var(--linen); }
.gallery-top { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; margin:0 16px 30px; font:500 .64rem/1.6 var(--sans); letter-spacing:.12em; text-transform:uppercase; }
.hero-shelf { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:28px 16px 40px; }
.hero-shelf a:first-child { transform:rotate(-6deg) translateY(12px); }
.hero-shelf a:nth-child(2) { transform:translateY(-12px); z-index:1; }
.hero-shelf a:last-child { transform:rotate(6deg) translateY(12px); }
.gallery-caption { font:italic 1.1rem/1.6 var(--serif); text-align:center; margin:8px 16px; }
.alert { display:flex; flex-wrap:wrap; align-items:center; gap:8px 24px; padding:18px var(--page-inset); background:var(--dark); color:#eee5d8; font-size:.76rem; }
.alert strong { color:var(--gold-lt); font-size:.64rem; font-weight:500; letter-spacing:.13em; text-transform:uppercase; }
.alert a { text-decoration:underline; text-underline-offset:4px; }
/* Book artwork: uncropped image, fixed display area, and natural aspect ratio. */
.cover { position:relative; width:100%; aspect-ratio:2/3; transition:transform var(--transition-fast); }
.cover-img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; object-position:center bottom; filter:drop-shadow(5px 9px 7px #24221e26); }
.c-info { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; padding:22px; background:#25372f; color:var(--white); }
.c-title { font:400 1.3rem/1.3 var(--serif); }
.c-author { font-size:.8rem; margin-top:12px; }
.cover:has(.cover-img:not([hidden])) .c-info { visibility:hidden; }
.books { padding:var(--space-xl) var(--page-inset); border-bottom:1px solid var(--bdr-lt); }
.books-hdr { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:end; gap:28px; margin-bottom:52px; }
.featured-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:34px; }
.lib-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:72px 48px; }
.book-card { min-width:0; display:flex; flex-direction:column; }
.book-art { display:block; padding:12px 16px 10px; margin-bottom:22px; }
.book-art .cover { max-width:290px; margin:0 auto; }
.book-meta { color:var(--muted); font:500 .66rem/1.7 var(--sans); letter-spacing:.055em; text-transform:uppercase; margin-bottom:10px; }
.book-meta span { margin:0 6px; color:var(--burg); }
.book-card h3 { font:400 clamp(1.2rem,1.6vw,1.55rem)/1.22 var(--serif); letter-spacing:-.02em; text-wrap:pretty; margin-bottom:9px; }
.b-fmt { color:var(--muted); font-size:.84rem; line-height:1.6; }
.book-context { color:var(--muted); font-size:.8rem; line-height:1.75; margin:20px 0 6px; }
.source-note { align-self:start; display:inline-flex; gap:7px; align-items:center; font:400 .72rem/1.6 var(--sans); color:var(--muted); text-decoration:underline; text-decoration-color:#b5a997; text-underline-offset:4px; min-height:44px; }
.source-note:hover { color:var(--burg); }
.book-buy { align-self:start; margin-top:auto; padding:20px 0 4px; font:600 .76rem/1.5 var(--sans); letter-spacing:.04em; }
.book-buy small { display:block; color:var(--muted); font:400 .7rem/1.6 var(--sans); letter-spacing:0; margin-top:5px; }
.book-buy span { margin-left:18px; }
@media(hover:hover) { .book-art:hover .cover,.feature-art a:hover .cover { transform:translateY(-4px) scale(1.012); } }
/* Reading Room entrance and discovery controls. */
.page-header { padding:48px var(--page-inset) 64px; border-bottom:1px solid var(--bdr-lt); }
.breadcrumb { display:flex; flex-wrap:wrap; gap:10px; font-size:.72rem; color:var(--muted); margin-bottom:42px; }
.breadcrumb a { text-decoration:underline; text-underline-offset:3px; }
.page-header h1 { font:400 clamp(2.8rem,5.8vw,6rem)/1.06 var(--serif); letter-spacing:-.045em; text-wrap:balance; max-width:1080px; }
.page-header p { max-width:690px; margin-top:28px; color:var(--muted); line-height:1.9; }
.reading-room-header { position:relative; padding-top:36px; padding-bottom:70px; border-bottom:0; }
.reading-room-header .breadcrumb { margin-bottom:48px; }
.reading-room-header h1 { font-size:clamp(4rem,8.5vw,9rem); line-height:.98; letter-spacing:-.055em; }
.reading-room-header h1 em { font-weight:400; }
.reading-room-header .eyebrow { margin-bottom:28px; }
.reading-room-header p { max-width:570px; margin-top:34px; font-size:.94rem; }
.reading-room-header::after { content:'50+ / An open collection'; position:absolute; right:var(--page-inset); bottom:80px; writing-mode:vertical-rl; color:var(--muted); font:500 .66rem/1.6 var(--sans); letter-spacing:.12em; text-transform:uppercase; }
.collection { padding-top:0; }
.page-header:not(.reading-room-header)+.collection { padding-top:64px; }
.collection-tools { border-top:1px solid var(--bdr-lt); border-bottom:1px solid var(--bdr-lt); padding:30px 0 0; margin-bottom:36px; }
.search-wrap { max-width:740px; }
.search-label { display:block; font-size:.75rem; color:var(--muted); margin-bottom:14px; }
.search-field { display:flex; align-items:center; gap:16px; border-bottom:1px solid #8a7d69; }
.search-field svg { flex:none; color:var(--muted); }
#book-search { width:100%; min-width:0; min-height:58px; padding:10px 4px; color:var(--dark); border:0; background:transparent; font:400 1.2rem/1.5 var(--sans); }
#book-search::placeholder { color:var(--muted); opacity:1; }
.lib-filters { display:flex; gap:28px; padding:0 2px; margin-top:26px; overflow-x:auto; scrollbar-width:thin; scrollbar-color:#c2b7a5 transparent; }
.lib-chip { flex:none; min-height:52px; padding:12px 2px; margin-bottom:1px; border:0; border-bottom:2px solid transparent; background:transparent; color:var(--muted); font:500 .72rem/1.5 var(--sans); letter-spacing:.065em; text-transform:uppercase; }
.lib-chip[aria-pressed="true"] { color:var(--dark); border-color:var(--burg); font-weight:700; }
.lib-chip:focus-visible { outline-offset:-3px; }
.lib-chip:hover { color:var(--burg); }
.collection-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; margin:0 0 44px; }
.collection-heading .eyebrow { color:var(--muted); margin:0; font-weight:500; }
#results-count { font-size:.75rem; color:var(--muted); }
#no-results { padding:80px 0 100px; text-align:center; }
#no-results h2 { font:400 clamp(2.4rem,5vw,4rem)/1.2 var(--serif); letter-spacing:-.03em; }
#no-results p { color:var(--muted); margin:20px 0 30px; }
/* Reusable editorial book profile; also a foundation for substantive future detail pages. */
.book-feature { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:8%; border-top:1px solid var(--bdr-lt); border-bottom:1px solid var(--bdr-lt); padding:64px 6%; background:var(--linen); margin:20px 0; }
.feature-art { min-width:0; }
.folio { display:block; text-align:center; color:var(--muted); font-size:.64rem; font-weight:400; margin-bottom:36px; }
.feature-art>a { display:block; max-width:290px; margin:auto; }
.feature-copy { min-width:0; }
.feature-copy h2 { font:400 clamp(2.5rem,4.1vw,4.3rem)/1.07 var(--serif); letter-spacing:-.04em; text-wrap:balance; }
.feature-author { margin-top:18px; color:var(--muted); font-size:.9rem; }
.feature-deck { font:italic 1.45rem/1.4 var(--serif); margin-top:32px; margin-bottom:14px; }
.feature-copy>p:not(.eyebrow,.feature-author,.feature-deck) { color:var(--muted); font-size:.9rem; line-height:1.85; }
.feature-record { margin:28px 0; padding-left:18px; border-left:1px solid #b49b72; }
.feature-record .eyebrow { margin-bottom:10px; font-size:.63rem; }
.feature-record p { color:var(--muted); font-size:.8rem; line-height:1.8; }
.fulfillment-note { display:block; color:var(--muted); font-size:.72rem; margin-top:12px; }
.book-feature.reverse .feature-art { order:2; }
.principle { position:relative; padding:110px var(--page-inset); background:var(--dark); color:var(--cream); overflow:hidden; }
.principle .eyebrow { color:var(--gold-lt); margin-bottom:36px; }
.principle h2 { font:400 clamp(3.5rem,8vw,8.5rem)/1 var(--serif); letter-spacing:-.05em; }
.principle h2 em { font-weight:400; }
.principle p { max-width:530px; font-size:.94rem; color:#d4cbbb; line-height:1.9; margin-top:40px; position:relative; z-index:1; }
.principle a { text-decoration:underline; text-underline-offset:4px; }
.principle-mark { position:absolute; right:8%; bottom:-12%; font:italic 29vw/1 var(--serif); color:#ffffff08; pointer-events:none; }
/* Existing editorial, program and form components, using the same system. */
.stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); background:var(--dark); color:var(--cream); }
.stat { padding:48px var(--gutter); border-right:1px solid var(--bdr-dk); }
.stat:last-child { border:0; }
.stat-n { font:400 3.2rem/1.1 var(--serif); color:var(--gold-lt); margin-bottom:14px; }
.stat-l { font-size:.8rem; color:#d4cbbb; line-height:1.7; }
.stat-l a { text-decoration:underline; }
.editorial,.how { padding:var(--space-xl) var(--page-inset); }
.editorial-split { display:grid; grid-template-columns:1fr 1fr; gap:8%; }
.editorial p { max-width:690px; color:var(--muted); line-height:1.85; margin-top:20px; }
.editorial .eyebrow { color:var(--burg); }
.editorial p a,.prose a { text-decoration:underline; text-underline-offset:4px; }
.category-links { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:40px; border-top:1px solid var(--bdr-lt); }
.category-links a { padding:28px 18px 28px 0; border-bottom:1px solid var(--bdr-lt); font:400 1.5rem/1.3 var(--serif); }
.category-links a:hover { color:var(--burg); }
.category-links small { display:block; font:.7rem/1.6 var(--sans); color:var(--muted); margin-top:12px; }
.mission { display:grid; grid-template-columns:1fr 1fr; }
.m-left,.m-right { padding:var(--space-xl) var(--gutter); display:flex; flex-direction:column; justify-content:center; }
.m-left { background:var(--dark); color:var(--white); }
.pull-quote { font:400 clamp(2.2rem,4vw,4.5rem)/1.15 var(--serif); letter-spacing:-.03em; }
.m-right .sec-title { margin-bottom:24px; }
.m-body { font-size:.94rem; color:var(--muted); line-height:1.9; margin-bottom:18px; }
.m-link { align-self:start; }
.sub { display:grid; grid-template-columns:1fr 1fr; background:var(--navy); color:var(--white); }
.sub-visual { display:flex; align-items:center; justify-content:center; padding:56px; background:#00000015; }
.box-ui { width:290px; min-height:230px; padding:36px 24px; border:1px solid #b28b4f80; position:relative; display:grid; justify-items:center; gap:24px; }
.box-ui::before { content:'UNBANNED'; position:absolute; top:-10px; left:50%; transform:translateX(-50%); padding:0 16px; background:var(--navy); color:var(--gold-lt); font:500 .65rem/1.6 var(--sans); letter-spacing:.2em; }
.mini-stack { display:flex; gap:12px; align-items:end; }
.mini-bk { position:relative; width:56px; height:84px; }
.mini-bk .cover-img { object-fit:contain; }
.box-lbl { color:#d4cbbb; font-size:.65rem; text-transform:uppercase; letter-spacing:.12em; }
.sub-content { padding:80px var(--gutter); min-width:0; }
.price-chip { display:flex; flex-wrap:wrap; align-items:center; gap:14px; color:var(--gold-lt); font-size:.78rem; margin-bottom:28px; }
.price-chip strong { font-weight:500; }
.soon-tag { display:inline-block; margin-left:5px; border:1px solid #ddbc8360; padding:3px 7px; text-transform:uppercase; font-size:.6rem; letter-spacing:.08em; }
.sub-content .sec-title { color:var(--white); font-size:clamp(2.2rem,3vw,3.2rem); margin-bottom:20px; }
.sub-blurb { color:#d0d4d6; font-size:.9rem; line-height:1.85; }
.perks { display:grid; gap:12px; list-style:none; padding:0; margin:28px 0 36px; color:#d0d4d6; font-size:.85rem; }
.perks li { display:flex; align-items:start; gap:14px; }
.pk { color:var(--gold-lt); }
.wl-form,.email-form { display:flex; }
.wl-in,.email-in { padding:14px 16px; min-width:0; flex:1; min-height:50px; border:1px solid #8b9294; background:transparent; color:inherit; font-size:16px; }
.wl-in::placeholder { color:#c5cbcf; }
.wl-btn { background:var(--gold-lt); border-color:var(--gold-lt); color:var(--dark); white-space:nowrap; }
.wl-btn:hover { background:#edcc92; }
.wl-note { font-size:.74rem; color:#c5cbcf; margin-top:10px; }
.form-label { display:block; font-size:.78rem; margin-bottom:10px; }
.form-msg { margin-top:12px; min-height:1.4em; font-size:.82rem; }
.hp-field { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.how { border-top:1px solid var(--bdr-lt); }
.how-head { margin-bottom:48px; }
.how-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--bdr-lt); }
.how-card { display:flex; flex-direction:column; padding:40px 32px 0 0; border-right:1px solid var(--bdr-lt); }
.how-card+.how-card { padding-left:32px; }
.how-card:last-child { border:0; }
.step-n { font:400 3.5rem/1 var(--serif); color:var(--gold-dk); margin-bottom:26px; }
.step-icon { display:none; }
.step-title { font:400 1.5rem/1.3 var(--serif); margin-bottom:16px; }
.step-body { color:var(--muted); font-size:.87rem; line-height:1.8; margin-bottom:24px; }
.how-cta { align-self:start; margin-top:auto; }
.share-msg { font-size:.75rem; color:var(--burg); margin-top:12px; }
.bulk { display:grid; grid-template-columns:1fr 1.3fr; gap:8%; padding:var(--space-xl) var(--page-inset); border-top:1px solid var(--bdr-lt); }
.bulk-sub { margin-top:22px; color:var(--muted); font-size:.94rem; line-height:1.85; max-width:420px; }
.bulk-form { display:grid; gap:20px; }
.bf-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.bf { display:grid; gap:8px; min-width:0; }
.bf span { font-size:.78rem; font-weight:500; }
.bf em { font-style:normal; font-weight:400; color:var(--muted); }
.bf input,.bf textarea { width:100%; min-width:0; min-height:48px; padding:12px; border:1px solid #a99d8a; background:var(--white); color:var(--dark); font-size:16px; }
.bf textarea { resize:vertical; }
.bulk-form .btn-dark { justify-self:start; }
.email-sec { display:grid; grid-template-columns:1fr 1fr; gap:8%; align-items:center; background:#e5dac6; border-top:1px solid var(--bdr-lt); padding:72px var(--page-inset); }
.email-hed { font:400 clamp(2.6rem,4vw,4.5rem)/1.05 var(--serif); letter-spacing:-.04em; }
.email-sub { max-width:420px; color:var(--muted); font-size:.87rem; line-height:1.8; margin-top:20px; }
.email-in { border-color:#8a7d69; color:var(--dark); }
.email-in::placeholder { color:var(--muted); }
.email-btn { white-space:nowrap; }
/* Content pages and native disclosures remain fully crawlable. */
.prose { max-width:920px; margin:auto; padding:60px var(--gutter) 90px; }
.prose h2 { font:400 2.15rem/1.2 var(--serif); letter-spacing:-.025em; margin:42px 0 18px; text-wrap:balance; }
.prose p { margin:18px 0; line-height:1.9; }
.prose ul { padding-left:24px; line-height:1.9; }
.prose .btn-dark { text-decoration:none; margin-top:22px; }
.faq { padding:var(--space-xl) var(--gutter); max-width:1200px; margin:auto; }
.faq>.sec-title { margin-bottom:36px; }
.faq details { border-bottom:1px solid var(--bdr-lt); padding:18px 0; }
.faq summary { cursor:pointer; font:400 1.3rem/1.5 var(--serif); min-height:44px; padding:8px 0; }
.faq details p { max-width:780px; color:var(--muted); line-height:1.85; margin:18px 0 10px; }
.faq a { text-decoration:underline; text-underline-offset:4px; }
/* Footer: the shop/discover/trust hierarchy stays visible at every size. */
footer { padding:80px var(--page-inset) 30px; background:var(--dark); color:#d4cbbb; }
.foot-grid { display:grid; grid-template-columns:1.8fr 1fr 1fr 1fr; gap:48px; margin-bottom:54px; }
.foot-logo { display:inline-block; color:var(--white); font-size:2.5rem; }
.foot-logo .un { color:var(--gold-lt); }
.foot-desc { max-width:320px; font-size:.8rem; line-height:1.8; margin-top:24px; }
.footer-manifesto { display:block; font:italic 1.55rem/1.3 var(--serif); color:var(--white); margin-bottom:16px; }
.foot-col h2 { font:500 .68rem/1.6 var(--sans); color:var(--gold-lt); letter-spacing:.15em; text-transform:uppercase; margin-bottom:18px; }
.foot-col ul { list-style:none; padding:0; }
.foot-col a { display:inline-flex; align-items:center; font-size:.8rem; min-height:44px; padding:8px 0; }
.foot-col a:hover { color:var(--white); text-decoration:underline; text-underline-offset:5px; }
.foot-legal { max-width:850px; font-size:.75rem; line-height:1.9; }
.foot-legal p+p { margin-top:12px; }
.foot-legal strong { color:var(--white); font-weight:500; }
.foot-legal a { text-decoration:underline; text-underline-offset:3px; }
.foot-bottom { display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:16px; border-top:1px solid var(--bdr-dk); margin-top:36px; padding-top:24px; font-size:.7rem; }
/* Tablet and mobile adjustments are centralized to avoid competing overrides. */
@media(max-width:1100px) {
 .nav-links { gap:18px; }
 .hero { gap:32px; }
 .wl-form { flex-direction:column; gap:8px; }
 .foot-grid { gap:32px; }
}
@media(max-width:960px) {
 .site-nav { height:70px; }
 .nav-links { display:none; }
 .menu-toggle { display:block; }
 .hero { grid-template-columns:1fr; padding-top:56px; padding-bottom:64px; gap:48px; }
 .hero-sub { max-width:580px; }
 .hero-gallery { max-width:620px; width:100%; justify-self:center; }
 .hed-light { font-size:clamp(2.7rem,7vw,5rem); }
 .hed-heavy { font-size:clamp(5.4rem,15vw,8.5rem); }
 .featured-grid,.lib-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:56px 32px; }
 .book-card h3 { font-size:1.4rem; }
 .book-art { padding:10px 14px; }
 .book-feature { gap:6%; padding:44px 6%; }
 .feature-copy h2 { font-size:2.6rem; }
 .feature-deck { font-size:1.3rem; }
 .stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .stat:nth-child(2) { border-right:0; }
 .stat:nth-child(n+3) { border-top:1px solid var(--bdr-dk); }
 .editorial-split,.mission,.sub,.bulk,.email-sec { grid-template-columns:1fr; gap:36px; }
 .mission,.sub { gap:0; }
 .sub-visual { display:none; }
 .sub-content,.m-left,.m-right { padding:64px var(--gutter); }
 .how-grid { grid-template-columns:1fr; }
 .how-card,.how-card+.how-card { padding:32px 0; border-right:0; border-bottom:1px solid var(--bdr-lt); }
 .category-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .foot-grid { grid-template-columns:1.5fr 1fr 1fr; gap:32px; }
 .foot-grid>:first-child { grid-column:1/-1; padding-bottom:24px; border-bottom:1px solid var(--bdr-dk); }
 .foot-desc { max-width:440px; }
 .reading-room-header::after { display:none; }
 .reading-room-header { padding-bottom:54px; }
 .reading-room-header h1 { font-size:clamp(3.8rem,10vw,6.6rem); }
 .reading-room-header .breadcrumb { margin-bottom:40px; }
 .principle { padding-top:80px; padding-bottom:80px; }
}
@media(max-width:600px) {
 :root { --gutter:22px; --space-xl:60px; }
 .site-nav { height:66px; }
 .logo { font-size:1.7rem; }
 .menu-groups { grid-template-columns:1fr 1fr; gap:32px 24px; padding:32px 0; }
 .menu-group a { font-size:1.18rem; padding:11px 0; }
 .menu-group h2 { margin-bottom:12px; }
 .mobile-menu>.btn-dark { width:100%; }
 .hero { padding-top:46px; gap:40px; }
 .hero-kicker { font-size:.62rem; margin-bottom:28px; }
 .hero-actions { flex-direction:column; align-items:stretch; gap:12px; }
 .hero-actions .btn-gold { align-self:center; }
 .gallery-top { font-size:.56rem; margin:0 6px 20px; }
 .hero-gallery { padding:20px 6px; }
 .hero-shelf { padding:16px 8px 28px; gap:8px; }
 .gallery-caption { font-size:.95rem; }
 .page-header { padding-top:30px; padding-bottom:48px; }
 .page-header h1 { font-size:clamp(2.6rem,8.5vw,3.4rem); }
 .page-header p { font-size:.9rem; }
 .breadcrumb { margin-bottom:30px; }
 .reading-room-header h1 { font-size:clamp(3.4rem,12.4vw,4.65rem); line-height:1.02; }
 .reading-room-header .eyebrow { font-size:.62rem; margin-bottom:24px; }
 .reading-room-header p { margin-top:28px; font-size:.86rem; line-height:1.85; }
 .collection-tools { padding-top:24px; margin-bottom:28px; }
 #book-search { font-size:1rem; min-height:54px; }
 .lib-filters { gap:24px; margin-top:20px; }
 .lib-chip { font-size:.65rem; min-height:48px; }
 .collection-heading { margin-bottom:28px; }
 .featured-grid,.lib-grid { gap:44px 20px; }
 .book-art { padding:8px 3px; margin-bottom:18px; }
 .book-card h3 { font-size:1.15rem; line-height:1.25; }
 .book-meta { font-size:.72rem; letter-spacing:.025em; line-height:1.7; }
 .book-meta span { margin:0 2px; }
 .b-fmt { font-size:.77rem; }
 .book-context { font-size:.76rem; line-height:1.75; margin-top:16px; }
 .source-note { font-size:.75rem; line-height:1.6; }
 .book-buy { font-size:.72rem; padding-top:16px; }
 .book-buy span { margin-left:8px; }
 .book-buy small { font-size:.68rem; }
 .book-feature { grid-template-columns:1fr; gap:40px; padding:36px 24px; margin:8px -4px; }
 .feature-art>a { max-width:210px; }
 .folio { font-size:.6rem; margin-bottom:26px; }
 .book-feature.reverse .feature-art { order:0; }
 .feature-copy h2 { font-size:2.7rem; }
 .feature-copy .eyebrow { font-size:.62rem; }
 .feature-author { margin-top:12px; }
 .feature-deck { margin-top:28px; }
 .principle { padding-top:72px; padding-bottom:72px; }
 .principle h2 { font-size:clamp(3rem,11.5vw,4.4rem); }
 .principle p { font-size:.86rem; margin-top:30px; }
 .principle-mark { font-size:70vw; }
 .category-links { margin-top:28px; gap:0 18px; }
 .category-links a { font-size:1.25rem; padding:22px 0; }
 .stat { padding:30px 22px; }
 .stat-n { font-size:2.4rem; }
 .stat-l { font-size:.74rem; }
 .sub-content,.m-left,.m-right { padding:52px var(--gutter); }
 .bf-row { grid-template-columns:1fr; }
 .email-form { flex-direction:column; gap:8px; }
 .email-sec { padding-top:52px; padding-bottom:52px; }
 .email-hed { font-size:3rem; }
 .prose { padding-top:28px; padding-bottom:60px; }
 .prose h2 { font-size:1.9rem; }
 .prose p { font-size:.94rem; }
 .faq summary { font-size:1.15rem; }
 .faq details p { font-size:.9rem; }
 footer { padding-top:52px; }
 .foot-grid { grid-template-columns:1fr 1fr; gap:28px 24px; }
 .foot-grid .foot-col:last-child { grid-column:1/-1; border-top:1px solid var(--bdr-dk); padding-top:28px; }
 .foot-grid .foot-col:last-child ul { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; }
 .foot-logo { font-size:2.4rem; }
 .foot-desc { margin-top:20px; }
 .foot-col a { font-size:.78rem; }
 .foot-legal { font-size:.73rem; }
}
@media(max-width:359px) {
 :root { --gutter:20px; }
 .lib-grid,.featured-grid { grid-template-columns:1fr; }
 .book-art .cover { max-width:230px; }
 .book-card h3 { font-size:1.5rem; }
 .book-context { font-size:.85rem; }
 .book-meta,.source-note { font-size:.72rem; }
 .book-buy { font-size:.8rem; }
 .book-feature { padding:32px 18px; }
 .feature-copy h2 { font-size:2.3rem; }
 .gallery-top { letter-spacing:.04em; }
 .menu-groups { gap:28px 18px; }
}
@media(prefers-reduced-motion:reduce) {
 *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
 .book-art:hover .cover,.feature-art a:hover .cover { transform:none; }
}

/* Small, accessible studio credit at the lower right. */
.site-credit { margin-left:auto; text-align:right; font-size:.7rem; }
.site-credit a { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:3px; }
.site-credit a:hover { color:var(--white); }
.form-privacy { margin-top:12px; font-size:.78rem; line-height:1.7; }
.form-privacy a { text-decoration:underline; text-underline-offset:3px; }
@media(max-width:600px) { .site-credit { flex-basis:100%; } }

.hero-sub + .proof-text { margin-bottom:24px; }
