:root {
  --ink: #080808;
  --coal: #10100f;
  --paper: #e7e0d4;
  --paper-dim: #b6afa4;
  --line: rgba(231, 224, 212, .16);
  --line-strong: rgba(231, 224, 212, .34);
  --red: #9f3138;
  --serif: "Iowan Old Style", "Baskerville", "Times New Roman", serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

html { scroll-padding-top: 88px; }
body {
  background: #050505;
  color: var(--paper);
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 100;
  opacity: .035;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");
}
.site { width: min(1680px, 100%); margin-inline: auto; background: var(--ink); box-shadow: 0 0 80px #000; overflow: clip; }

header {
  height: 82px;
  padding: 0 clamp(24px, 4vw, 72px);
  background: rgba(8,8,8,.86);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.brand { display:flex; align-items:center; gap:4px; font-family:var(--serif); font-size:19px; letter-spacing:.04em; text-transform:none; }
.brand span { font-size:22px; }
.brand i { color:var(--red); font-style:normal; }
.brand b { margin-left:12px; font-family:var(--sans); font-size:10px; font-weight:500; letter-spacing:.22em; text-transform:uppercase; color:var(--paper-dim); }
nav { gap: clamp(14px, 1.8vw, 30px); }
nav a { position:relative; padding-block:10px; }
nav a::after { content:""; position:absolute; left:0; right:0; bottom:3px; height:1px; background:var(--red); transform:scaleX(0); transform-origin:left; transition:transform .25s ease; }
nav a:hover::after, nav a:focus-visible::after { transform:scaleX(1); }
.lang-switch { border-left:1px solid var(--line); padding-left:18px; }
.lang-btn { border:0; border-bottom:1px solid transparent; padding:7px 3px; }
.lang-btn.active { color:var(--paper); border-color:var(--red); }
.menu-toggle { display:none; }

.hero {
  min-height: min(850px, calc(100svh - 82px));
  grid-template-columns: minmax(0, 1.06fr) minmax(360px, .94fr);
  border-bottom: 1px solid var(--line);
  background: radial-gradient(circle at 19% 18%, rgba(159,49,56,.12), transparent 24%), #080808;
}
.hero-copy { padding: clamp(72px, 9vw, 150px) clamp(28px, 7vw, 112px); align-self:center; }
.hero h1 { max-width: 820px; font-size: clamp(58px, 7.7vw, 126px); line-height:.88; letter-spacing:-.055em; text-wrap:balance; }
.hero h1::after { content:""; display:block; width:78px; height:3px; margin-top:40px; background:var(--red); }
.eyebrow { letter-spacing:.26em; color:var(--paper-dim); }
.terminal { margin-top:42px; padding:0 0 0 18px; border-left:1px solid var(--red); background:transparent; font-family:var(--mono); font-size:11px; line-height:1.9; color:#8e8981; }
.lead { max-width:720px; font-family:var(--serif); font-size:clamp(19px,1.55vw,26px); line-height:1.58; color:#c9c2b7; }
.btn { min-height:48px; padding:15px 22px; border-color:var(--line-strong); letter-spacing:.18em; transition:.25s ease; }
.btn:hover { transform:translateY(-2px); background:var(--paper); color:var(--ink); }
.btn.primary { background:var(--red); border-color:var(--red); color:#fff; }
.hero-art { min-height:640px; border-left:1px solid var(--line); }
.hero-image-frame { inset:clamp(24px, 4vw, 64px); overflow:hidden; }
.hero-figure-img { width:100%; height:100%; object-fit:cover; filter:grayscale(1) contrast(1.16) brightness(.78); transform:scale(1.02); transition:transform 1.2s cubic-bezier(.2,.8,.2,1), filter 1.2s ease; }
.hero:hover .hero-figure-img { transform:scale(1.055); filter:grayscale(1) contrast(1.12) brightness(.9); }

.books-overview { padding: clamp(72px, 8vw, 128px) clamp(24px, 5.2vw, 84px); }
.books-overview-head { gap:40px; margin-bottom:56px; }
.books-overview-head p { font-size:15px; }
.section-title { font-size:clamp(48px,6vw,88px); letter-spacing:-.035em; }
.book-pair { grid-template-columns:repeat(2, minmax(0,1fr)); border-color:var(--line-strong); }
.book-pair .book-card { min-height:580px; grid-template-columns:minmax(210px,.82fr) 1.18fr; background:#0c0c0b; border-color:var(--line); }
.book-pair .book-card:nth-child(n+3) { border-top:1px solid var(--line); }
.book-card-cover { padding:42px 24px; background:radial-gradient(circle at 50% 45%, #222 0, #0b0b0b 64%); border-color:var(--line); }
.book-card-cover img { width:min(310px, 100%); max-height:430px; object-fit:contain; transform:none; filter:drop-shadow(22px 30px 24px rgba(0,0,0,.62)); transition:transform .55s cubic-bezier(.2,.8,.2,1); }
.book-card:hover .book-card-cover img { transform:translateY(-8px) rotate(-1deg); }
.type-cover {
  position:relative;
  width:min(310px, 86%);
  aspect-ratio:2 / 3;
  padding:13% 11%;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  color:#e8e0d3;
  background:#111;
  border:1px solid #4a4640;
  box-shadow:18px 26px 28px rgba(0,0,0,.52), inset 8px 0 16px rgba(255,255,255,.035);
  transform:perspective(900px) rotateY(-5deg);
  transition:transform .55s cubic-bezier(.2,.8,.2,1);
}
.book-card:hover .type-cover { transform:perspective(900px) rotateY(-2deg) translateY(-8px); }
.type-cover::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.28; background:repeating-linear-gradient(0deg,transparent 0 21px,rgba(255,255,255,.08) 22px); }
.type-cover small { position:relative; font:10px/1 var(--mono); letter-spacing:.32em; text-transform:uppercase; }
.type-cover strong { position:relative; margin:auto 0; font:400 clamp(28px,3vw,48px)/.98 var(--serif); letter-spacing:-.025em; text-transform:uppercase; }
.type-cover span { position:absolute; right:11%; bottom:13%; width:64px; height:64px; display:grid; place-items:center; border:1px solid currentColor; border-radius:50%; font:15px var(--mono); }
.type-cover em { position:relative; font:9px var(--mono); letter-spacing:.2em; text-transform:uppercase; font-style:normal; color:#aaa298; }
.cover-02 { background:radial-gradient(circle at 72% 67%,#403933 0 2%,transparent 3%),linear-gradient(145deg,#191714,#070707 62%); }
.cover-02::after { content:""; position:absolute; inset:32% 12% 18%; border:1px solid rgba(231,224,212,.16); transform:rotate(-4deg); }
.cover-03 { color:#181511; background:linear-gradient(130deg,#c8bfae,#8f877a); border-color:#70695f; }
.cover-03::before { opacity:.18; background:repeating-linear-gradient(90deg,transparent 0 32px,rgba(40,30,20,.22) 33px); }
.cover-04 { color:#f0e4ca; background:radial-gradient(circle at 50% 65%,#6b553d,#211b17 58%,#0c0b0a); border-color:#635647; }
.cover-04 span { color:#c9a76d; }
.book-card-copy { padding:clamp(32px,3.8vw,60px); }
.book-card-copy h2 { font-size:clamp(34px,3.1vw,54px); line-height:1; }
.book-card-copy p { font-size:14px; line-height:1.9; }
.tags { color:#88827a; line-height:1.7; }
.book-link { align-self:flex-start; border-bottom:1px solid rgba(159,49,56,.5); padding-bottom:6px; }

.send-block { padding:clamp(78px,9vw,150px) clamp(28px,7vw,112px); background:#e2dbcf; color:#0b0b0b; }
.send-block p { font-family:var(--serif); font-size:clamp(19px,1.6vw,25px); line-height:1.6; color:#49453f; }
.null-form { border-color:rgba(10,10,10,.25); background:rgba(255,255,255,.2); }

.book { min-height:720px; grid-template-columns:minmax(300px,.9fr) minmax(360px,1.15fr) minmax(240px,.55fr); background:#0c0c0b !important; color:var(--paper) !important; border-bottom:1px solid var(--line); }
.book .book-cover, .book.second-book .book-cover, .book.legacy-book .book-cover { min-height:720px; background:radial-gradient(circle at 50% 45%, #252320, #0c0c0b 65%) !important; border-color:var(--line) !important; }
.book .book-text, .book.second-book .book-text, .book.legacy-book .book-text { padding:clamp(52px,6vw,96px); background:#dad3c7 !important; color:#0b0b0b !important; }
.book .book-text h2 { font-size:clamp(52px,5vw,78px); line-height:.98; letter-spacing:-.04em; }
.book .book-text p { font-family:var(--serif); font-size:clamp(18px,1.55vw,24px); line-height:1.65; color:#3f3b36 !important; }
.book .themes, .book.second-book .themes, .book.legacy-book .themes { padding:clamp(44px,4vw,70px) clamp(28px,3vw,52px); background:#11110f !important; color:#aaa399 !important; border-color:var(--line) !important; line-height:2; }
.book .themes h2 { color:var(--paper) !important; }
.book .eyebrow { color:rgba(0,0,0,.55) !important; }
.book-3d-wrap { width:min(78%, 430px); }
.book-3d, .second-cover-image, .legacy-cover { max-height:540px; object-fit:contain; }
.status { display:inline-block; border-color:rgba(10,10,10,.25); color:#302d29; }

.excerpt { padding:clamp(74px,8vw,130px) clamp(28px,7vw,112px); grid-template-columns:minmax(280px,.75fr) minmax(380px,1.25fr); gap:clamp(48px,8vw,140px); background:#080808; }
.excerpt.second-excerpt { background:#11110f; }
.excerpt-label { position:sticky; top:120px; align-self:start; }
.excerpt-label .section-title { font-size:clamp(42px,5vw,72px); }
.excerpt-body { max-width:750px; }
.excerpt-body p { font-family:var(--serif); font-size:clamp(18px,1.45vw,23px); line-height:1.8; color:#a9a298; }
.excerpt-body p.large { font-size:clamp(30px,3vw,47px); line-height:1.32; color:var(--paper); }

.author { grid-template-columns:minmax(360px,.88fr) minmax(440px,1.12fr); min-height:760px; background:#d9d2c6; color:#0a0a0a; }
.portrait { min-height:760px; background:#0b0b0b; overflow:hidden; }
.portrait img { width:100%; height:100%; object-fit:cover; filter:grayscale(1) contrast(1.08); transition:transform 1s ease; }
.author:hover .portrait img { transform:scale(1.03); }
.author-copy { padding:clamp(62px,8vw,132px); }
.author-copy p { font-family:var(--serif); font-size:clamp(18px,1.45vw,23px); line-height:1.72; color:#403c37; }
.author-copy a { color:#0a0a0a; border-color:var(--red); }

footer { min-height:130px; padding:34px clamp(24px,5vw,80px); background:#050505; border-top:1px solid var(--line); }
.footer-mark { color:var(--paper); }
.site-credit { opacity:.55; }

@media (max-width: 1120px) {
  .hero { grid-template-columns:1fr 42%; }
  .hero h1 { font-size:clamp(58px,8vw,92px); }
  .book-pair { grid-template-columns:1fr; }
  .book-pair .book-card { border-left:0 !important; border-top:1px solid var(--line); }
  .book { grid-template-columns:42% 58%; }
  .book .themes { grid-column:1 / -1; columns:2; min-height:auto; }
}

@media (max-width: 760px) {
  html { scroll-padding-top:70px; }
  header { min-height:70px; padding:12px 18px; }
  .brand b { display:none; }
  nav > a:first-child { display:inline-block; }
  .hero { min-height:auto; grid-template-columns:1fr; }
  .hero-copy { padding:78px 24px 62px; }
  .hero h1 { font-size:clamp(54px,17vw,78px); }
  .hero-art { min-height:64svh; border-left:0; border-top:1px solid var(--line); }
  .hero-image-frame { inset:20px; }
  .terminal { font-size:10px; overflow:hidden; }
  .actions { flex-wrap:wrap; }
  .books-overview { padding:72px 18px; }
  .books-overview-head { align-items:flex-start; flex-direction:column; }
  .book-pair .book-card { grid-template-columns:1fr; }
  .book-card-cover { min-height:460px; border-right:0; border-bottom:1px solid var(--line); }
  .book-card-copy { padding:36px 26px 46px; }
  .send-block { grid-template-columns:1fr; padding:72px 24px; }
  .book { display:grid; grid-template-columns:1fr; min-height:auto; }
  .book .book-cover, .book.second-book .book-cover, .book.legacy-book .book-cover { min-height:590px; }
  .book .book-text { padding:62px 26px; }
  .book .themes { grid-column:auto; columns:1; padding:48px 26px; }
  .excerpt { grid-template-columns:1fr; padding:72px 26px; gap:42px; }
  .excerpt-label { position:static; }
  .author { grid-template-columns:1fr; }
  .portrait { min-height:68svh; }
  .author-copy { padding:72px 26px; }
  footer { align-items:flex-start; gap:20px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; animation:none !important; transition:none !important; }
}

/* Revision 2 — real covers, clearer actions, shorter reading flow */
.book-card-cover .new-cover,
.book-cover .new-cover {
  display:block;
  width:min(100%, 410px);
  max-height:560px;
  aspect-ratio:2 / 3;
  object-fit:cover;
  border:1px solid rgba(231,224,212,.26);
  box-shadow:22px 30px 34px rgba(0,0,0,.58);
  transform:perspective(1000px) rotateY(-4deg);
  transition:transform .45s ease, box-shadow .45s ease;
}
.book-card:hover .new-cover {
  transform:perspective(1000px) rotateY(-1deg) translateY(-8px);
  box-shadow:25px 38px 42px rgba(0,0,0,.68);
}
.book-3d-wrap:has(.new-cover) { width:min(76%, 430px); }
.book-pair .book-card { min-height:640px; }
.book-card-copy .num { color:#cf6b70; }
.book-link {
  margin-top:30px;
  padding:13px 17px;
  border:1px solid rgba(231,224,212,.42);
  color:#fff;
  background:#171715;
}
.book-link:hover,
.book-link:focus-visible { background:var(--red); border-color:var(--red); }
.book-link::after { color:inherit; }

.null-form {
  min-height:76px;
  background:#f4eee5;
  border:2px solid #27231f;
  box-shadow:10px 12px 0 rgba(10,10,10,.12);
}
.null-input { color:#504940 !important; opacity:1 !important; }
.null-input::placeholder { color:#6a6259 !important; opacity:1; }
.missing-button {
  min-width:150px;
  background:var(--red) !important;
  color:#fff !important;
  border-left:2px solid #27231f !important;
  font-weight:700;
  letter-spacing:.16em;
}
.missing-button em { color:#fff !important; }

.excerpt-drawer {
  border:0;
  border-bottom:1px solid var(--line);
  background:#0b0b0a;
}
.excerpt-drawer summary {
  min-height:94px;
  padding:0 clamp(26px,7vw,112px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  cursor:pointer;
  list-style:none;
  color:#bdb5aa;
  font:600 11px/1 var(--sans);
  letter-spacing:.22em;
  text-transform:uppercase;
  transition:background .25s ease,color .25s ease;
}
.excerpt-drawer summary::-webkit-details-marker { display:none; }
.excerpt-drawer summary:hover { background:#151412; color:#fff; }
.excerpt-drawer summary b { width:36px; height:36px; display:grid; place-items:center; border:1px solid var(--line-strong); color:#fff; font:300 25px/1 var(--sans); }
.excerpt-drawer[open] summary { background:#151412; color:#fff; }
.excerpt-drawer[open] summary b { transform:rotate(45deg); }
.drawer-grid {
  padding:clamp(58px,7vw,112px);
  display:grid;
  grid-template-columns:minmax(280px,.75fr) minmax(380px,1.25fr);
  gap:clamp(48px,8vw,140px);
  border-top:1px solid var(--line);
}
.drawer-grid .excerpt-label { position:static; }

@media (max-width:760px) {
  .book-card-cover .new-cover { width:min(82%, 340px); }
  .book-cover .new-cover { width:min(78%, 380px); }
  .missing-button { min-width:118px; padding-inline:16px; }
  .drawer-grid { grid-template-columns:1fr; padding:58px 26px; gap:38px; }
  .excerpt-drawer summary { min-height:80px; padding-inline:24px; }
}

/* Revision 3 — contrast, footer rhythm, resilient navigation */
#bekuldes .book-cover {
  background:radial-gradient(circle at 52% 44%, #55514a 0, #2b2926 44%, #141413 78%) !important;
}
#bekuldes .book-3d {
  mix-blend-mode:normal !important;
  filter:brightness(1.34) contrast(1.03) saturate(.92) drop-shadow(28px 34px 26px rgba(0,0,0,.52)) !important;
}
#bekuldes .book-3d-wrap::before { opacity:.55; }

.author {
  border-bottom:1px solid rgba(10,10,10,.24);
}
.author-copy { align-content:center; }
footer {
  min-height:190px;
  display:grid;
  grid-template-columns:auto auto minmax(260px,1fr);
  grid-template-areas:"copyright mark statement" "credit credit credit";
  align-content:center;
  column-gap:34px;
  row-gap:28px;
  padding-top:42px;
  padding-bottom:42px;
}
footer > div:nth-child(1) { grid-area:copyright; }
footer .footer-mark { grid-area:mark; padding-inline:28px; border-inline:1px solid var(--line); }
footer > div:nth-child(3) { grid-area:statement; line-height:1.8; }
footer .site-credit { grid-area:credit; margin:0; padding-top:24px; border-top:1px solid var(--line); text-align:right; }

@media (max-width:1700px) {
  header { position:sticky; top:0; z-index:90; overflow:visible; }
  .menu-toggle {
    margin-left:auto;
    display:flex;
    align-items:center;
    gap:12px;
    min-height:42px;
    padding:0 12px 0 15px;
    color:var(--paper);
    background:#10100f;
    border:1px solid var(--line-strong);
    font:600 9px/1 var(--sans);
    letter-spacing:.22em;
    cursor:pointer;
  }
  .menu-signal { color:#df676d; font:300 24px/1 var(--sans); transition:transform .25s ease; }
  header.menu-open .menu-signal { transform:rotate(45deg); }
  header nav {
    position:absolute;
    top:100%;
    left:0;
    right:0;
    z-index:95;
    display:none;
    max-height:calc(100svh - 72px);
    overflow:auto;
    margin:0;
    padding:20px clamp(22px,5vw,48px) 28px;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    background:rgba(8,8,8,.98);
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line-strong);
    box-shadow:0 28px 54px rgba(0,0,0,.52);
  }
  header.menu-open nav { display:flex; }
  header nav > a,
  header nav > a:first-child,
  header nav .nav-book-title {
    display:block !important;
    padding:14px 0;
    color:#d8d1c6;
    border-bottom:1px solid var(--line);
    font-size:11px;
    letter-spacing:.16em;
  }
  header nav .nav-book-title { padding-left:28px; color:#918a81; }
  header nav .nav-book-title::before { content:"↳ "; color:var(--red); }
  header nav a::after { display:none; }
  header .lang-switch {
    flex:0 0 auto;
    width:auto !important;
    margin:0 0 0 14px !important;
    padding:0 0 0 14px;
    justify-content:flex-start;
    border-left:1px solid var(--line);
    border-top:0;
  }
}

@media (max-width:760px) {
  header .lang-switch { margin-left:8px !important; padding-left:8px; gap:4px; }
  header .lang-btn { font-size:9px; }
  .menu-toggle { padding-inline:10px; }
  footer {
    min-height:auto;
    grid-template-columns:1fr;
    grid-template-areas:"mark" "copyright" "statement" "credit";
    padding:48px 26px;
    gap:20px;
  }
  footer .footer-mark { width:max-content; padding:0 0 12px; border:0; border-bottom:2px solid var(--red); }
  footer .site-credit { text-align:left; line-height:1.7; }
}
