@font-face { font-family:"Source Serif 4"; src:url("../fonts/source-serif-4-latin-regular.woff2") format("woff2"); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:"Source Serif 4"; src:url("../fonts/source-serif-4-latin-semibold.woff2") format("woff2"); font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:"Source Serif 4"; src:url("../fonts/source-serif-4-latin-italic.woff2") format("woff2"); font-weight:400; font-style:italic; font-display:swap; }
@font-face { font-family:"Fira Sans Condensed"; src:url("../fonts/fira-sans-condensed-latin-bold.woff2") format("woff2"); font-weight:700; font-style:normal; font-display:swap; }
@font-face { font-family:"Fira Sans Condensed"; src:url("../fonts/fira-sans-condensed-latin-extrabold.woff2") format("woff2"); font-weight:800; font-style:normal; font-display:swap; }
@font-face { font-family:"Roboto Mono"; src:url("../fonts/roboto-mono-latin-medium.woff2") format("woff2"); font-weight:500; font-style:normal; font-display:swap; }

:root { --paper:#f1eee6; --ink:#191918; --red:#75191d; --grey:#d9dcdb; --dark:#171717; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"Source Serif 4", Georgia, serif; }
a { color:inherit; text-decoration:none; }
.site-header { height:86px; padding:0 clamp(24px,5vw,78px); display:flex; align-items:center; border-bottom:1px solid #b9b6ae; position:relative; z-index:5; background:rgba(241,238,230,.95); }
.wordmark, nav, .buy-link, .eyebrow, .section-number, .button, .book-meta, .status-strip, .paper>span, footer { font-family:"Fira Sans Condensed",Arial,sans-serif; }
.wordmark { font-weight:800; letter-spacing:.12em; font-size:20px; white-space:nowrap; }
nav { display:flex; gap:36px; margin:auto; font-weight:600; font-size:15px; }
nav a:hover { color:var(--red); }
.buy-link { background:var(--red); color:#fff; align-self:stretch; display:flex; align-items:center; gap:14px; padding:0 28px; margin-right:calc(clamp(24px,5vw,78px) * -1); font-weight:700; }
.hero { min-height:760px; display:grid; grid-template-columns:1.03fr .97fr; border-bottom:1px solid #aaa79f; }
.hero-copy { padding:clamp(70px,8vw,125px) 6vw 70px max(24px,7vw); }
.eyebrow { color:var(--red); text-transform:uppercase; font-weight:700; letter-spacing:.14em; font-size:14px; }
h1,h2 { font-family:"Fira Sans Condensed",Arial,sans-serif; margin:0; font-weight:800; line-height:.84; letter-spacing:-.045em; }
h1 { font-size:clamp(86px,10vw,158px); margin:27px 0 40px; }
.hero-line { font-size:clamp(21px,2vw,29px); line-height:1.35; max-width:680px; font-weight:600; }
.actions { display:flex; gap:12px; margin-top:42px; flex-wrap:wrap; }
.button { min-height:54px; padding:0 25px; display:inline-flex; align-items:center; justify-content:center; gap:16px; font-weight:700; font-size:17px; border:1px solid var(--ink); transition:.2s; }
.button:hover { transform:translateY(-2px); }
.button--red { background:var(--red); border-color:var(--red); color:#fff; }
.button--ghost { background:transparent; }
.book-meta { font-size:13px; text-transform:uppercase; letter-spacing:.08em; margin-top:24px; color:#585752; }
.hero-art { position:relative; background:#cfd2d1; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.corridor-lines { position:absolute; inset:0; background:linear-gradient(140deg,transparent 49.5%,rgba(30,30,30,.22) 50%,transparent 50.5%),linear-gradient(40deg,transparent 49.5%,rgba(255,255,255,.5) 50%,transparent 50.5%); background-size:170px 170px; opacity:.65; transform:scale(1.4); }
.book-cover { width:min(62%,390px); margin:0; z-index:1; transform:rotate(1.5deg); box-shadow:28px 34px 65px rgba(0,0,0,.32); line-height:0; }
.book-cover img { display:block; width:100%; height:auto; }
.section { padding:110px max(24px,7vw); }
.section-number { font-size:13px; letter-spacing:.16em; font-weight:700; color:var(--red); }
.intro-grid { display:grid; grid-template-columns:.95fr 1.05fr; gap:8vw; margin-top:55px; }
.intro h2,.sample h2 { font-size:clamp(68px,7vw,110px); }
.prose { font-size:21px; line-height:1.58; max-width:670px; }
.prose p:first-child:first-letter { font-family:"Fira Sans Condensed"; font-size:72px; line-height:.7; float:left; margin:10px 8px 0 0; font-weight:700; color:var(--red); }
.text-link { font-family:"Fira Sans Condensed"; font-weight:700; border-bottom:2px solid var(--red); padding-bottom:4px; }
.status-strip { margin:100px calc(max(24px,7vw) * -1) -110px; padding:13px max(24px,7vw); background:#c9cccb; display:flex; align-items:center; gap:28px; font-family:"Roboto Mono",monospace; font-size:11px; letter-spacing:.06em; overflow:hidden; white-space:nowrap; }
.status-strip b { color:var(--red); }.status-strip i { width:7px;height:7px;border-radius:50%;background:var(--red); }
.corridor { padding:0; display:grid; grid-template-columns:1.08fr .92fr; background:#111518; color:#f2eee4; min-height:820px; }
.corridor-image { margin:0; min-height:820px; overflow:hidden; background:#101519; }
.corridor-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.72) contrast(1.07) brightness(.9); }
.corridor-copy { padding:110px 7vw; align-self:center; }
.corridor h2 { font-size:clamp(64px,6.4vw,104px); margin:42px 0 58px; max-width:700px; }
.corridor-copy>p:not(.section-number) { margin:0; max-width:520px; font-size:24px; line-height:1.42; font-weight:600; }
.corridor-copy>p:last-child { margin-top:22px; color:#aaa69d; font-size:18px; font-weight:400; font-style:italic; }
.holstein { display:grid; grid-template-columns:1.05fr .95fr; padding:0; background:var(--dark); color:#f4f0e6; min-height:750px; }
.portrait-wrap { padding:85px 0 85px 7vw; background:linear-gradient(90deg,#242424,#171717); display:flex; align-items:center; }
.holstein-portrait { width:100%; aspect-ratio:1; margin:0; overflow:hidden; background:#292929; box-shadow:22px 28px 55px rgba(0,0,0,.35); }
.holstein-portrait img { display:block; width:100%; height:100%; object-fit:cover; }
.dummy-portrait { min-height:560px; background:#d4d3ce; position:relative; overflow:hidden; display:flex; align-items:flex-end; justify-content:center; font-family:"Roboto Mono",monospace; color:#595955; font-size:11px; letter-spacing:.08em; padding:20px; }
.dummy-portrait--dark { height:100%; background:linear-gradient(145deg,#4b4b4b,#181818); color:#aaa; }
.dummy-head { position:absolute; width:31%; aspect-ratio:.8; background:currentColor; opacity:.15; border-radius:48% 48% 42% 42%; top:17%; }
.dummy-shoulders { position:absolute; width:66%; height:37%; background:currentColor; opacity:.13; border-radius:50% 50% 0 0; bottom:0; }
.dummy-portrait span { z-index:1; }
.character-copy { padding:110px 7vw; align-self:center; }
.section-number--light { color:#c8c3b8; }
.character-copy h2,.author h2 { font-size:clamp(75px,8vw,126px); margin:36px 0; }
.character-tag { font-size:25px; line-height:1.32; font-weight:600; }
.character-copy>p:last-of-type { font-size:18px; line-height:1.65; max-width:570px; color:#cecbc2; }
blockquote { margin:50px 0 0; padding:25px 0 0; border-top:1px solid #565656; font-size:22px; font-style:italic; }
.schlueter { display:grid; grid-template-columns:1fr 1fr; gap:8vw; background:#e5e2d9; }
.character-copy--light { padding:40px 0; }
.character-copy--light>p:last-of-type { color:#3b3b38; }
.schlueter-portrait { min-height:610px; aspect-ratio:1; margin:0; overflow:hidden; background:#c8c9c7; box-shadow:18px 22px 0 rgba(25,25,24,.1); }
.schlueter-portrait img { display:block; width:100%; height:100%; object-fit:cover; filter:saturate(.58) contrast(1.04) brightness(.98); }
.ensemble { background:#cfd1cf; display:grid; grid-template-columns:.72fr 1.28fr; gap:8vw; align-items:start; }
.ensemble-heading { position:sticky; top:120px; }
.ensemble h2 { font-size:clamp(68px,7vw,110px); margin-top:42px; }
.character-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:55px 28px; }
.character-card figure { aspect-ratio:4/5; margin:0 0 25px; overflow:hidden; background:#aaa; box-shadow:12px 16px 0 rgba(25,25,24,.12); }
.character-card img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.58) contrast(1.04) brightness(.98); }
.character-card h3 { font-family:"Fira Sans Condensed",Arial,sans-serif; font-size:45px; line-height:1; margin:8px 0 13px; }
.character-card>p:last-child { font-size:17px; line-height:1.5; margin:0; max-width:390px; }
.card-index { margin:0; font:500 10px/1.3 "Roboto Mono",monospace; letter-spacing:.09em; color:var(--red); }
.drawer { padding:0; display:grid; grid-template-columns:.72fr 1.28fr; background:#171717; color:#f2eee4; }
.drawer-copy { padding:100px max(24px,7vw); align-self:center; }
.drawer h2 { font-size:clamp(68px,7vw,110px); margin:42px 0 50px; }
.drawer-copy>p:not(.section-number) { margin:0; font-size:25px; line-height:1.4; font-weight:600; }
.drawer-copy>p:last-child { margin-top:8px; color:#aaa69d; font-size:18px; font-weight:400; }
.drawer-image { margin:0; min-height:620px; overflow:hidden; background:#24211d; }
.drawer-image img { display:block; width:100%; height:100%; object-fit:cover; filter:saturate(.62) contrast(1.06); }
.genre { background:var(--red); color:#fff; }
.genre .section-number { color:#e7c8c9; }
.genre-list { margin:70px 0; }
.genre-list span { display:block; font-family:"Fira Sans Condensed"; font-weight:800; font-size:clamp(52px,7vw,105px); line-height:1; padding:20px 0; border-bottom:1px solid rgba(255,255,255,.35); }
.genre-quote { font-size:27px; line-height:1.45; max-width:850px; margin-left:auto; }
.sample { background:#222; color:#f2eee4; display:grid; grid-template-columns:.8fr 1.2fr; gap:9vw; align-items:center; }
.sample>div>p:not(.section-number) { font-size:19px; line-height:1.6; max-width:450px; }
.button--paper { background:#f0ece2;color:#171717;margin-top:25px; }
.sample-meta { margin-top:16px; font:500 11px/1.4 "Roboto Mono",monospace; letter-spacing:.08em; text-transform:uppercase; color:#aaa69d; }
.paper { color:#222; background:#f5f1e8; padding:clamp(35px,6vw,80px); box-shadow:15px 20px 0 #0f0f0f; font-size:21px; line-height:1.7; transform:rotate(-1deg); }
.paper>span { font-size:11px; letter-spacing:.13em; color:#6b6963; }.paper em { display:block;border-top:1px solid #aaa;padding-top:20px;color:#777;font-size:14px; }
.sample-sheet { min-height:560px; display:flex; flex-direction:column; justify-content:center; }
.sample-sheet__number { margin:20px 0 0; font:800 clamp(120px,14vw,210px)/.85 "Fira Sans Condensed",Arial,sans-serif; letter-spacing:-.06em; color:var(--red); }
.sample-sheet__label { margin:8px 0 32px; font:700 25px/1.2 "Fira Sans Condensed",Arial,sans-serif; }
.sample-sheet ul { margin:0 0 36px; padding:0; list-style:none; font-size:18px; line-height:1.55; }
.sample-sheet li { padding:9px 0; border-bottom:1px solid #c8c2b7; }
.author { display:grid; grid-template-columns:.72fr 1.28fr; gap:8vw; align-items:center; }
.author-portrait { margin:0; aspect-ratio:1; overflow:hidden; background:#252627; box-shadow:16px 20px 0 rgba(25,25,24,.12); }
.author-portrait img { display:block; width:100%; height:100%; object-fit:cover; filter:saturate(.58) contrast(1.04) brightness(.98); }
.author-copy p:last-child { font-size:22px;line-height:1.6;max-width:650px; }
.final-cta { text-align:center; background:#dbd9d2; border-top:1px solid #aaa; }
.final-cta h2 { font-size:clamp(85px,12vw,180px); margin:35px 0 50px; }.final-cta .button { margin:auto; }.final-cta>p:last-child { font-size:13px;color:#666; }
footer { padding:45px max(24px,5vw); background:#171717;color:#ddd;display:flex;align-items:center;gap:30px;font-size:13px; }
footer p { margin:auto; }footer div { display:flex;gap:24px; }

@media (max-width:900px) {
  nav { display:none; }.buy-link { margin-left:auto; }
  .hero { grid-template-columns:1fr; }.hero-art { min-height:590px; }.hero-copy { padding-top:80px; }
  .intro-grid,.corridor,.holstein,.schlueter,.ensemble,.drawer,.sample,.author { grid-template-columns:1fr; }
  .corridor-image { min-height:0; aspect-ratio:3/4; }
  .ensemble-heading { position:static; }
  .portrait-wrap { padding:50px 24px; }.holstein-portrait { max-width:680px; margin:auto; }.character-copy { padding:80px 7vw; }
  .schlueter-portrait { order:-1; min-height:0; width:100%; max-width:680px; margin:auto; }
  .drawer-image { min-height:0; aspect-ratio:1.2495; }
}
@media (max-width:600px) {
  .site-header { height:70px; }.buy-link { padding:0 15px;font-size:13px; }.buy-link span { display:none; }
  h1 { font-size:82px; }.hero-line { font-size:20px; }.hero-art { min-height:560px; }.book-cover { width:68%; max-width:310px; }
  .section { padding:75px 22px; }.status-strip { margin:70px -22px -75px;padding-left:22px; }
  .intro-grid { margin-top:38px; }.intro h2,.sample h2 { font-size:60px; }
  .genre-quote { font-size:22px; }.paper { font-size:18px; }
  .character-grid { grid-template-columns:1fr; }.character-card h3 { font-size:40px; }
  .drawer-copy { padding:75px 22px; }.drawer h2 { font-size:60px; }.drawer-copy>p:not(.section-number) { font-size:22px; }
  .corridor-copy { padding:75px 22px; }.corridor h2 { font-size:58px; }.corridor-copy>p:not(.section-number) { font-size:21px; }
  footer { flex-direction:column;align-items:flex-start; }footer p { margin:0; }footer div { flex-wrap:wrap; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.button { transition:none; } }

.legal-page { min-height:100vh; background:var(--paper); }
.legal-header .wordmark { margin-right:auto; }
.legal-back { font:700 16px/1 "Fira Sans Condensed","Arial Narrow",Arial,sans-serif; border-bottom:2px solid var(--red); padding-bottom:4px; }
.legal-shell { width:min(100% - 44px,980px); margin:0 auto; padding:clamp(70px,9vw,135px) 0 120px; }
.legal-kicker { margin:0 0 24px; font:700 13px/1.3 "Fira Sans Condensed","Arial Narrow",Arial,sans-serif; letter-spacing:.16em; color:var(--red); }
.legal-shell h1 { font-size:clamp(66px,10vw,128px); margin:0 0 65px; }
.legal-content { max-width:760px; font-size:18px; line-height:1.68; }
.legal-content h2 { font-size:clamp(34px,5vw,52px); line-height:1; letter-spacing:-.025em; margin:58px 0 20px; }
.legal-content h2:first-child { margin-top:0; }
.legal-content p { margin:0 0 20px; }
.legal-content ul { padding-left:22px; margin:0 0 24px; }
.legal-content li { margin:8px 0; }
.legal-content a { color:var(--red); border-bottom:1px solid currentColor; }
.legal-placeholder { border-left:5px solid var(--red); background:#e5dfd3; padding:22px 24px; margin:28px 0; font-family:"Fira Sans Condensed","Arial Narrow",Arial,sans-serif; }
.legal-placeholder strong { display:block; color:var(--red); margin-bottom:7px; }
.contact-panel { margin-top:42px; padding:clamp(28px,5vw,48px); background:#171717; color:#f2eee4; }
.contact-panel h2 { margin-top:0; }
.contact-panel .button { color:#fff; margin-top:10px; }
.legal-footer { margin-top:auto; }

@media (max-width:600px) {
  .legal-header { padding-right:18px; }
  .legal-header .wordmark { font-size:17px; }
  .legal-shell { padding-top:65px; }
  .legal-shell h1 { margin-bottom:45px; }
  .legal-content { font-size:17px; }
}
