/* Crown Vault Press — typography-driven */
:root {
  --crw-ink: #111;
  --crw-muted: #666;
  --crw-paper: #f6f4ef;
  --crw-accent: #6b2f2f;
  --crw-sans: "Helvetica Neue", Arial, sans-serif;
  --crw-display: "Georgia", "Times New Roman", serif;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--crw-paper); color: var(--crw-ink); font-family: var(--crw-sans); font-size: 1.05rem; line-height: 1.65; }
.crw-head { padding: 2.5rem clamp(1rem, 4vw, 3rem) 1.5rem; border-bottom: 2px solid #111; }
.crw-masthead { max-width: 1100px; margin: 0 auto; }
.crw-series { font-size: .72rem; letter-spacing: .22em; text-transform: uppercase; margin: 0 0 .75rem; color: var(--crw-muted); }
.crw-logo { font-family: var(--crw-display); font-size: clamp(2.4rem, 6vw, 4rem); font-weight: 400; margin: 0; line-height: 1; }
.crw-logo a { color: inherit; text-decoration: none; }
.crw-nav ul { list-style: none; margin: 1.5rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; font-size: .9rem; }
.crw-nav a { color: var(--crw-muted); text-decoration: none; border-bottom: 1px solid transparent; }
.crw-nav a:hover { color: var(--crw-accent); border-bottom-color: var(--crw-accent); }
.crw-main { max-width: 900px; margin: 0 auto; padding: 2.5rem clamp(1rem, 4vw, 2.5rem) 4rem; }
.crw-hero .crw-lead { font-family: var(--crw-display); font-size: clamp(1.35rem, 1.8vw, 1.6rem); line-height: 1.45; margin: 0 0 2rem; }
.crw-hero img { width: 100%; height: auto; display: block; border: 1px solid #ccc; }
.crw-block { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid #ccc; }
.crw-block h2 { font-family: var(--crw-display); font-weight: 400; font-size: clamp(1.8rem, 3vw, 2.4rem); margin: 0 0 1rem; }
.crw-block p { color: var(--crw-muted); margin: 0 0 1rem; }
.crw-pull { background: #ebe6dc; margin-left: -1rem; margin-right: -1rem; padding: 2rem 1.25rem; border: 1px solid #cfc8ba; }
.crw-duo { display: grid; grid-template-columns: 1fr 0.85fr; gap: 2rem; align-items: start; margin-top: 3rem; padding-top: 2rem; border-top: 1px solid #ccc; }
@media (max-width: 860px) { .crw-duo { grid-template-columns: 1fr; } }
.crw-duo h2 { font-family: var(--crw-display); font-weight: 400; font-size: 1.9rem; margin: 0 0 1rem; }
.crw-duo p { color: var(--crw-muted); margin: 0 0 1rem; }
.crw-duo img { width: 100%; height: auto; border: 1px solid #ccc; }
.crw-page { max-width: 680px; margin: 0 auto; padding: 2.5rem clamp(1rem, 4vw, 2.5rem) 4rem; }
.crw-page h1 { font-family: var(--crw-display); font-weight: 400; font-size: 2.2rem; margin: 0 0 .5rem; }
.crw-sub { color: var(--crw-muted); margin: 0 0 1.5rem; }
.crw-page p { color: var(--crw-muted); margin: 0 0 1rem; }
.crw-page figure { margin: 2rem 0; }
.crw-page img { width: 100%; height: auto; border: 1px solid #ccc; }
.crw-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; max-width: 960px; margin: 0 auto; padding: 2.5rem clamp(1rem, 4vw, 2.5rem) 4rem; }
@media (max-width: 820px) { .crw-grid { grid-template-columns: 1fr; } }
.crw-form label { display: block; font-size: .85rem; color: var(--crw-muted); margin-bottom: .35rem; }
.crw-form input, .crw-form textarea { width: 100%; padding: .65rem .75rem; border: 1px solid #bbb; font: inherit; background: #fff; }
.crw-form textarea { min-height: 140px; resize: vertical; }
.crw-form button { margin-top: .75rem; padding: .65rem 1.2rem; background: var(--crw-ink); color: var(--crw-paper); border: none; font: inherit; cursor: pointer; }
.crw-foot { border-top: 2px solid #111; padding: 2.5rem clamp(1rem, 4vw, 2.5rem); background: #ebe6dc; }
.crw-foot-inner { max-width: 1000px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
@media (max-width: 720px) { .crw-foot-inner { grid-template-columns: 1fr; } }
.crw-k { font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; margin: 0 0 .5rem; }
.crw-foot p { margin: 0 0 .75rem; color: var(--crw-muted); font-size: .95rem; }
.crw-dis { max-width: 800px; margin: 2rem auto 0; text-align: center; font-size: .88rem; color: var(--crw-muted); }
.crw-mini { text-align: center; font-size: .85rem; margin-top: 1rem; }
.crw-open { border: none; background: none; font: inherit; color: var(--crw-accent); cursor: pointer; text-decoration: underline; }
.crw-copy { text-align: center; font-size: .8rem; color: var(--crw-muted); margin-top: .75rem; }
.crw-b { position: fixed; left: 1rem; bottom: 1rem; background: #111; color: #f5f5f5; padding: 1rem 1.2rem; max-width: 400px; font-size: .9rem; z-index: 50; }
.crw-b a { color: #e0c9c9; }
.crw-b button { margin-right: .5rem; padding: .4rem .8rem; border: 1px solid #444; background: transparent; color: #fff; cursor: pointer; font: inherit; }
#crw-a { background: #fff; color: #111; border-color: #fff; }
.crw-list { max-width: 800px; margin: 0 auto; padding: 2.5rem clamp(1rem, 4vw, 2.5rem); }
.crw-item { border-bottom: 1px solid #ccc; padding: 1.4rem 0; display: grid; grid-template-columns: 1fr 1.1fr; gap: 1.25rem; align-items: center; }
@media (max-width: 760px) { .crw-item { grid-template-columns: 1fr; } }
.crw-item img { width: 100%; height: auto; border: 1px solid #ccc; }
.crw-item h2 { font-family: var(--crw-display); font-size: 1.45rem; font-weight: 400; margin: 0 0 .35rem; }
.crw-item a { color: inherit; text-decoration: none; }
.crw-item a:hover { text-decoration: underline; }
