/* =====================================================================
   БОСС · лендинг книги. Направление: «первое издание / досье собственника».
   Графит + слоновая кость + латунное золото. Playfair Display + Manrope.
   ===================================================================== */

:root {
  --bg:        #0e0d12;
  --bg-2:      #16141c;
  --bg-3:      #1d1a24;
  --paper:     #f4efe3;   /* слоновая кость — секция чтения */
  --paper-2:   #ece5d5;

  --ink:       #ece6d8;   /* текст на тёмном */
  --ink-dim:   #a8a091;
  --ink-faint: #7b7466;
  --on-paper:  #1c1813;   /* текст на бумаге */
  --on-paper-dim: #57503f;

  --gold:      #d9b45b;
  --gold-br:   #f1d68a;
  --gold-deep: #b28a2c;
  --flag:      #c9553f;

  --line:      rgba(236,230,216,0.10);
  --line-gold: rgba(217,180,91,0.28);
  --line-ink:  rgba(28,24,19,0.12);

  --font-display: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --font-serif:   'Cormorant Garamond', Georgia, serif;
  --font-body:    'Manrope', system-ui, -apple-system, sans-serif;
  --font-mono:    'JetBrains Mono', ui-monospace, monospace;

  --t-label: clamp(0.72rem, 0.68rem + 0.15vw, 0.8rem);
  --t-body:  clamp(1rem, 0.97rem + 0.2vw, 1.12rem);
  --t-lead:  clamp(1.22rem, 1.1rem + 0.5vw, 1.5rem);
  --h3:      clamp(1.4rem, 1.2rem + 0.9vw, 2rem);
  --h2:      clamp(2rem, 1.5rem + 2.4vw, 3.6rem);
  --h1:      clamp(2.5rem, 1.6rem + 4.2vw, 5.2rem);

  --measure: 62ch;
  --wrap: 1200px;
  --wrap-read: 720px;
  --pad: clamp(56px, 7vw, 130px);
  --u: 8px;
  --radius: 4px;
  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --dur: 0.5s;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0; background: var(--bg); color: var(--ink);
  font-family: var(--font-body); font-size: var(--t-body); line-height: 1.62;
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
h1,h2,h3,h4,p,ul,ol,figure { margin: 0; }
ul,ol { padding: 0; list-style: none; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
button { font: inherit; color: inherit; cursor: pointer; background: none; border: 0; }
strong { font-weight: 700; }
em { font-style: italic; }

.wrap { width: 100%; max-width: var(--wrap); margin-inline: auto; padding-inline: clamp(20px, 5vw, 56px); }
.wrap--read { max-width: var(--wrap-read); }
.mono { font-family: var(--font-mono); letter-spacing: 0.04em; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.skip-link { position:absolute; left:8px; top:-60px; z-index:100; background:var(--gold); color:#1a1509; padding:10px 16px; font-family:var(--font-mono); font-size:var(--t-label); transition:top var(--dur) var(--ease); }
.skip-link:focus { top:8px; }
:where(a,button,input,summary):focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }

/* служебная метка */
.eyebrow {
  display:inline-flex; align-items:center; gap:12px;
  font-family:var(--font-mono); font-size:var(--t-label); font-weight:600;
  letter-spacing:0.22em; text-transform:uppercase; color:var(--gold);
}
.eyebrow::before { content:""; width:26px; height:1px; background:var(--gold); opacity:.7; }
.eyebrow--center { justify-content:center; }

/* плейсхолдеры TODO */
.todo-mark, .todo-inline {
  font-family:var(--font-mono); font-size:0.76em; letter-spacing:0.04em; color:var(--flag);
  border:1px dashed var(--flag); border-radius:3px; padding:1px 6px; text-transform:uppercase;
}
.todo-inline { white-space:normal; }

/* кнопки */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-family:var(--font-mono); font-weight:600; font-size:var(--t-label);
  letter-spacing:0.06em; text-transform:uppercase;
  padding:18px 30px; border-radius:var(--radius); border:1px solid transparent;
  transition: transform .15s var(--ease), background var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.btn--gold { background:linear-gradient(180deg,var(--gold-br),var(--gold)); color:#1a1408; box-shadow:0 10px 30px rgba(217,180,91,.22); }
.btn--gold:hover { transform:translateY(-2px); box-shadow:0 16px 40px rgba(217,180,91,.34); }
.btn--ghost { background:transparent; color:var(--ink); border-color:var(--line-gold); }
.btn--ghost:hover { border-color:var(--gold); color:var(--gold-br); }
.btn--block { width:100%; }
.btn:active { transform:translateY(0); }

.section { padding-block: var(--pad); position:relative; }

/* ============================ HERO ============================ */
.hero {
  position:relative; background:
    radial-gradient(120% 90% at 82% 6%, rgba(217,180,91,.10), transparent 46%),
    radial-gradient(90% 70% at 6% 100%, rgba(217,180,91,.05), transparent 55%),
    var(--bg);
  padding-block: clamp(48px, 6vw, 96px);
  border-bottom:1px solid var(--line);
  overflow:hidden;
}
.hero__grid { display:grid; grid-template-columns: 1fr 0.92fr; gap: clamp(32px,5vw,72px); align-items:center; min-height: 78svh; }
@media (max-width:900px){ .hero__grid{ grid-template-columns:1fr; text-align:left; min-height:auto; } }

.hero__title {
  font-family:var(--font-display); font-weight:800;
  font-size:clamp(2.3rem, 1.6rem + 3vw, 4.2rem);
  line-height:1.04; letter-spacing:-0.015em; margin:22px 0 0; text-wrap:balance;
}
.hero__title .gold { color:var(--gold-br); }
.hero__turn { display:block; font-family:var(--font-serif); font-style:italic; font-weight:500;
  font-size:clamp(1.4rem, 1.2rem + 0.6vw, 1.85rem); color:var(--ink-dim); letter-spacing:0; margin-top:14px; }
.hero__lead { margin-top:26px; font-size:var(--t-lead); line-height:1.45; color:var(--ink-dim); max-width:46ch; }
.hero__cta { margin-top:34px; display:flex; gap:14px; flex-wrap:wrap; }

/* статы — тонкой строкой, без квадратов */
.stats { margin-top:44px; padding-top:28px; border-top:1px solid var(--line);
  display:flex; flex-wrap:wrap; gap:clamp(20px,4vw,52px); }
.stat__n { font-family:var(--font-display); font-weight:800; font-size:clamp(1.7rem,1.2rem + 1.6vw,2.6rem);
  color:var(--gold-br); line-height:1; }
.stat__l { margin-top:7px; font-family:var(--font-mono); font-size:var(--t-label); letter-spacing:0.06em;
  text-transform:uppercase; color:var(--ink-faint); }

/* обложка книги 3D */
.hero__cover { display:flex; justify-content:center; perspective:1800px; }
.cover3d {
  width:min(440px,94%); border-radius:3px 6px 6px 3px; overflow:hidden;
  transform:rotateY(-16deg) rotateX(3deg) rotateZ(-1deg);
  box-shadow: 42px 50px 90px rgba(0,0,0,.62), 0 0 0 1px rgba(217,180,91,.16);
  position:relative; transition:transform .8s var(--ease);
}
.cover3d::after { content:""; position:absolute; left:0; top:0; bottom:0; width:14px;
  background:linear-gradient(90deg, rgba(0,0,0,.55), rgba(255,255,255,.06)); }
.hero__cover:hover .cover3d { transform:rotateY(-9deg) rotateX(2deg); }
@media (max-width:900px){ .hero__cover{ margin-top:44px; } .cover3d{ transform:rotateY(-10deg); width:min(300px,70%);} }

/* ============================ READER (ivory) ============================ */
.reader-sec { background:var(--paper); color:var(--on-paper);
  background-image: radial-gradient(90% 60% at 50% 0%, rgba(178,138,44,.06), transparent 60%); }
.reader-sec .eyebrow { color:var(--gold-deep); }
.reader-sec .eyebrow::before { background:var(--gold-deep); }
.reader-head { text-align:center; max-width:40ch; margin:0 auto clamp(40px,5vw,64px); }
.reader-head h2 { font-family:var(--font-display); font-weight:800; font-size:var(--h2); line-height:1.05;
  letter-spacing:-0.02em; margin:18px 0 14px; }
.reader-head p { color:var(--on-paper-dim); font-size:var(--t-lead); }

.reader { max-width:var(--measure); margin-inline:auto; position:relative; }
.reader__block + .reader__block { margin-top:calc(var(--u)*6); padding-top:calc(var(--u)*6); border-top:1px solid var(--line-ink); }
.reader__label { font-family:var(--font-mono); font-size:var(--t-label); letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:calc(var(--u)*2); }
.reader p { font-size:1.16rem; line-height:1.72; margin-bottom:calc(var(--u)*2.5); color:#2a241c; }
.reader__lead { font-family:var(--font-display); font-weight:700; font-size:clamp(1.5rem,1.2rem + 1vw,2rem)!important; line-height:1.2; color:var(--on-paper)!important; margin-bottom:calc(var(--u)*3)!important; }
.reader__h { font-family:var(--font-display); font-weight:700; font-size:var(--h3); line-height:1.15; margin:calc(var(--u)*5) 0 calc(var(--u)*2); color:var(--on-paper); }
.reader__pull { font-family:var(--font-serif); font-style:italic; font-size:1.5rem!important; line-height:1.4; color:var(--gold-deep)!important; padding-left:calc(var(--u)*3); border-left:2px solid var(--gold); margin:calc(var(--u)*4) 0!important; }
.reader__pull--flag { color:var(--flag)!important; border-left-color:var(--flag); }
.reader__sign { font-family:var(--font-mono); font-size:var(--t-label); letter-spacing:0.04em; color:var(--on-paper-dim); text-transform:uppercase; margin-top:calc(var(--u)*2); }

/* честное предупреждение */
.reader__warn-label { font-family:var(--font-mono); font-size:var(--t-label); letter-spacing:0.14em; text-transform:uppercase; color:var(--flag); margin-top:calc(var(--u)*5)!important; margin-bottom:calc(var(--u)*1.5)!important; }
.reader__warn { display:grid; gap:calc(var(--u)*1.5); margin:calc(var(--u)*2) 0; }
.reader__warn li { display:flex; gap:12px; align-items:baseline; font-size:1.1rem; line-height:1.5; color:#2a241c; }
.reader__x { color:var(--flag); font-weight:800; flex:none; }

/* инсайты в отрывке */
.insights { display:grid; gap:calc(var(--u)*2); margin:calc(var(--u)*3) 0; }
.insight { border:1px solid var(--line-ink); border-left:3px solid var(--gold); border-radius:var(--radius); padding:calc(var(--u)*2.5) calc(var(--u)*3); background:rgba(255,255,255,.4); }
.insight__n { font-family:var(--font-mono); font-size:var(--t-label); color:var(--gold-deep); }
.insight__t { font-weight:700; font-size:1.1rem!important; margin:6px 0 4px!important; color:var(--on-paper)!important; }
.insight__d { font-size:1rem!important; color:#413a2e!important; margin-bottom:0!important; }

.reader__insight { background:rgba(178,138,44,.09); border-radius:var(--radius); padding:calc(var(--u)*2) calc(var(--u)*2.5); font-size:1.02rem!important; color:#3a3327!important; }
.reader__insight .mono { color:var(--gold-deep); text-transform:uppercase; font-size:.8em; letter-spacing:.1em; display:block; margin-bottom:4px; }

/* обрыв */
.reader__cliff { font-family:var(--font-display)!important; font-weight:700; font-size:clamp(1.5rem,1.2rem + 1vw,2rem)!important; color:var(--on-paper)!important; }
.reader.is-gated #reader-continuation { display:none; }
.reader__fade { position:absolute; left:0; right:0; bottom:-2px; height:220px; pointer-events:none;
  background:linear-gradient(180deg, rgba(244,239,227,0), var(--paper) 82%); }

/* ============================ GATE ============================ */
.gate-sec { background:
  radial-gradient(90% 70% at 50% 0%, rgba(217,180,91,.12), transparent 55%), var(--bg-2);
  border-top:1px solid var(--line-gold); border-bottom:1px solid var(--line); }
.gate-wrap { max-width:640px; margin-inline:auto; text-align:center; }
.gate-title { font-family:var(--font-display); font-weight:800; font-size:var(--h2); line-height:1.05; letter-spacing:-0.02em; margin:18px 0 16px; }
.gate-lead { color:var(--ink-dim); font-size:var(--t-lead); line-height:1.45; margin-bottom:calc(var(--u)*5); }
.gate-lead b { color:var(--gold-br); font-weight:700; }

.gate-card { background:var(--bg-3); border:1px solid var(--line-gold); border-radius:10px;
  padding:clamp(24px,4vw,44px); text-align:left; box-shadow:0 30px 70px rgba(0,0,0,.4); }

.field { margin-bottom:calc(var(--u)*3.25); }
.field__label { display:block; font-family:var(--font-mono); font-size:var(--t-label); font-weight:600; letter-spacing:0.1em; text-transform:uppercase; color:var(--ink); margin-bottom:9px; }
.field__label::before { content:"▸ "; color:var(--gold); }
.field__opt { color:var(--ink-faint); text-transform:none; letter-spacing:0; font-weight:400; }
.field__input { width:100%; background:rgba(255,255,255,.05); border:1.5px solid rgba(236,230,216,.24); border-radius:8px;
  color:var(--ink); font-family:var(--font-body); font-size:1.06rem; padding:16px 18px; box-shadow:inset 0 1px 2px rgba(0,0,0,.25);
  transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease), box-shadow var(--dur) var(--ease); }
.field__input::placeholder { color:var(--ink-faint); }
.field__input:hover { border-color:rgba(236,230,216,.42); }
.field__input:focus { outline:none; border-color:var(--gold); background:rgba(217,180,91,.08); box-shadow:0 0 0 3px rgba(217,180,91,.16); }
.field__input[aria-invalid="true"] { border-color:var(--flag); box-shadow:0 0 0 3px rgba(201,85,63,.15); }
.field__note { font-family:var(--font-mono); font-size:var(--t-label); color:var(--ink-faint); margin-top:8px; }
.field__error { font-family:var(--font-mono); font-size:var(--t-label); color:var(--flag); margin-top:6px; }
.form__submit { margin-top:calc(var(--u)*2); position:relative; }
.form__submit-spinner { display:none; }
.form.is-loading .form__submit-spinner { display:inline-block; width:15px; height:15px; border:2px solid rgba(0,0,0,.3); border-top-color:#1a1408; border-radius:50%; animation:spin .7s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
.form__err { font-family:var(--font-mono); font-size:var(--t-label); color:var(--flag); margin-top:12px; }
.field__consent { font-size:var(--t-label); color:var(--ink-faint); margin-top:14px; line-height:1.5; }
.field__consent .link { color:var(--gold); }

.gate-trust { margin-top:18px; text-align:center; font-family:var(--font-mono); font-size:var(--t-label); color:var(--ink-faint); }

/* квиз — обязательный Шаг 1, наверху формы */
.quiz { margin-bottom:calc(var(--u)*3); }
.quiz__head { font-family:var(--font-mono); font-size:var(--t-label); letter-spacing:0.08em; text-transform:uppercase; color:var(--gold); margin-bottom:6px; }
.quiz__err { font-family:var(--font-mono); font-size:var(--t-label); color:var(--flag); margin-top:12px; }
.quiz__q.is-missing .quiz__legend { color:var(--flag); }
.quiz__q.is-missing .quiz__opts { outline:1px dashed var(--flag); outline-offset:6px; border-radius:6px; }
/* разделитель шагов */
.quiz-sep { display:flex; align-items:center; gap:14px; margin:calc(var(--u)*3.5) 0 calc(var(--u)*3); }
.quiz-sep::before, .quiz-sep::after { content:""; height:1px; background:var(--line-gold); flex:1; }
.quiz-sep span { font-family:var(--font-mono); font-size:var(--t-label); letter-spacing:0.08em; text-transform:uppercase; color:var(--gold); white-space:nowrap; }
.quiz__intro { font-size:0.95rem; color:var(--ink-dim); margin-bottom:calc(var(--u)*2.5); line-height:1.5; }
.quiz__q { border:0; padding:0; margin:0 0 calc(var(--u)*2.25); }
.quiz__legend { font-size:0.95rem; color:var(--ink); font-weight:600; margin-bottom:10px; }
.quiz__n { font-family:var(--font-mono); color:var(--gold); margin-right:7px; font-size:.85em; }
.quiz__opts { display:flex; flex-wrap:wrap; gap:8px; }
.chip { font-size:0.9rem; color:var(--ink-dim); border:1px solid var(--line); border-radius:999px; padding:8px 15px;
  transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease), color var(--dur) var(--ease); }
.chip:hover { border-color:var(--gold); color:var(--ink); }
.chip.is-selected { background:var(--gold); color:#1a1408; border-color:var(--gold); font-weight:700; }

/* успех */
.gate-success { text-align:center; }
.gate-success .mono { color:var(--gold); text-transform:uppercase; letter-spacing:0.1em; font-size:var(--t-label); }
.gate-success h2 { font-family:var(--font-display); font-weight:800; font-size:var(--h2); margin:12px 0 14px; }
.gate-success p { color:var(--ink-dim); }
.gate-resend { margin-top:20px; }
.link--btn { color:var(--gold); text-decoration:underline; text-underline-offset:3px; }
.gate-resend-note { color:var(--gold); font-family:var(--font-mono); font-size:var(--t-label); margin-left:10px; }
.gate-dl { margin-top:22px; }

/* ============================ INSIDE ============================ */
.inside-sec { background:var(--bg); }
.inside-head { max-width:52ch; margin-bottom:clamp(36px,4vw,56px); }
.inside-head h2 { font-family:var(--font-display); font-weight:800; font-size:var(--h2); line-height:1.05; letter-spacing:-0.02em; margin:18px 0 14px; }
.inside-head p { color:var(--ink-dim); font-size:var(--t-lead); }
.inside-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:8px; overflow:hidden; }
.inside-item { background:var(--bg); padding:calc(var(--u)*4); transition:background var(--dur) var(--ease); }
.inside-item:hover { background:var(--bg-2); }
.inside-item__n { font-family:var(--font-mono); font-size:var(--t-label); color:var(--gold); letter-spacing:0.08em; }
.inside-item__t { font-family:var(--font-display); font-weight:700; font-size:1.3rem; margin:10px 0 8px; color:var(--ink); }
.inside-item__d { font-size:1rem; color:var(--ink-dim); line-height:1.55; }

/* ============================ AUTHORS ============================ */
.authors-sec { background:var(--bg-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.authors-grid { display:grid; grid-template-columns:0.8fr 1.2fr; gap:clamp(30px,5vw,64px); align-items:center; }
@media (max-width:820px){ .authors-grid{ grid-template-columns:1fr; } }
.authors-photo { border-radius:10px; overflow:hidden; border:1px solid var(--line-gold); box-shadow:0 24px 60px rgba(0,0,0,.4); }
.authors-photo img { width:100%; display:block; filter:grayscale(.15) contrast(1.02); }
.authors-body h2 { font-family:var(--font-display); font-weight:800; font-size:var(--h2); line-height:1.06; letter-spacing:-0.02em; margin:16px 0 18px; }
.authors-body p { color:var(--ink-dim); font-size:var(--t-body); margin-bottom:calc(var(--u)*2); line-height:1.6; }
.authors-body p b { color:var(--ink); }
.authors-names { margin-top:calc(var(--u)*3); padding-top:calc(var(--u)*3); border-top:1px solid var(--line); display:flex; gap:28px; flex-wrap:wrap; }
.author-name { font-family:var(--font-display); font-weight:700; font-size:1.25rem; color:var(--gold-br); }
.author-name span { display:block; font-family:var(--font-mono); font-size:var(--t-label); color:var(--ink-faint); text-transform:uppercase; letter-spacing:0.06em; margin-top:4px; font-weight:400; }

/* ============================ FAQ ============================ */
.faq-sec { background:var(--bg); }
.faq-head { max-width:44ch; margin-bottom:clamp(30px,4vw,48px); }
.faq-head h2 { font-family:var(--font-display); font-weight:800; font-size:var(--h2); letter-spacing:-0.02em; margin-top:18px; }
.faq { max-width:var(--wrap-read); }
.faq__item { border-bottom:1px solid var(--line); }
.faq__item summary { list-style:none; cursor:pointer; padding:calc(var(--u)*3) 0; font-family:var(--font-display); font-weight:700; font-size:1.2rem; color:var(--ink); display:flex; justify-content:space-between; gap:16px; align-items:center; }
.faq__item summary::-webkit-details-marker { display:none; }
.faq__item summary::after { content:"+"; color:var(--gold); font-family:var(--font-mono); font-size:1.4rem; flex:none; transition:transform var(--dur) var(--ease); }
.faq__item[open] summary::after { transform:rotate(45deg); }
.faq__item p { color:var(--ink-dim); padding-bottom:calc(var(--u)*3); max-width:60ch; }

/* финальный CTA */
.final-cta { text-align:center; background:radial-gradient(80% 100% at 50% 0%, rgba(217,180,91,.1), transparent 60%), var(--bg-2); }
.final-cta h2 { font-family:var(--font-display); font-weight:800; font-size:var(--h2); letter-spacing:-0.02em; margin-bottom:24px; max-width:20ch; margin-inline:auto; }

/* футер */
.footer { background:var(--bg); border-top:1px solid var(--line); padding-block:calc(var(--u)*8); }
.footer__brand { font-family:var(--font-mono); font-size:var(--t-label); letter-spacing:0.1em; text-transform:uppercase; color:var(--gold); }
.footer__authors { margin-top:12px; color:var(--ink-dim); }
.footer__authors strong { color:var(--ink); }
.footer__contacts { margin-top:12px; color:var(--ink-faint); font-size:0.95rem; }
.footer__legal { margin-top:16px; font-family:var(--font-mono); font-size:var(--t-label); color:var(--ink-faint); }

/* reveal-анимация */
@media (prefers-reduced-motion: no-preference) {
  .reveal { opacity:0; transform:translateY(22px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
  .reveal.in { opacity:1; transform:none; }
}

/* ============================ ТОПБАР + ПЕРЕКЛЮЧАТЕЛЬ ЯЗЫКА ============================ */
.topbar { position:absolute; top:0; left:0; right:0; z-index:20;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:clamp(16px,2.5vw,26px) clamp(20px,5vw,56px); }
.topbar__brand { display:flex; flex-direction:column; gap:3px; }
.topbar__brand b { font-family:var(--font-mono); font-size:var(--t-label); font-weight:700;
  letter-spacing:0.16em; text-transform:uppercase; color:var(--gold); }
.topbar__brand span { font-family:var(--font-mono); font-size:0.64rem; letter-spacing:0.09em;
  text-transform:uppercase; color:var(--ink-faint); }
@media (max-width:560px){ .topbar__brand span{ display:none; } }
.lang-switch { display:inline-flex; gap:4px; padding:4px; border:1px solid var(--line-gold);
  border-radius:999px; background:rgba(14,13,18,.6); backdrop-filter:blur(6px); }
.lang-switch__btn { font-family:var(--font-mono); font-size:0.72rem; font-weight:600; letter-spacing:0.06em;
  color:var(--ink-dim); padding:7px 13px; border-radius:999px; line-height:1;
  transition:color var(--dur) var(--ease), background var(--dur) var(--ease); }
.lang-switch__btn:hover { color:var(--ink); }
.lang-switch__btn.is-active { background:var(--gold); color:#1a1408; }

/* ============================ ПОП-АП ВЫБОРА ЯЗЫКА ============================ */
body.no-scroll { overflow:hidden; }
.lang-modal { position:fixed; inset:0; z-index:100; display:flex; align-items:center; justify-content:center;
  padding:24px; background:rgba(8,7,11,.86); backdrop-filter:blur(8px);
  animation:lm-fade .3s var(--ease); }
.lang-modal[hidden] { display:none; }   /* иначе display:flex перебивает [hidden] */
@keyframes lm-fade { from { opacity:0; } to { opacity:1; } }
.lang-modal__card { width:min(460px,100%); background:var(--bg-3); border:1px solid var(--line-gold);
  border-radius:14px; padding:clamp(28px,5vw,44px); text-align:center;
  box-shadow:0 40px 100px rgba(0,0,0,.6); animation:lm-rise .4s var(--ease); }
@keyframes lm-rise { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:none; } }
.lang-modal__kicker { font-family:var(--font-mono); font-size:var(--t-label); letter-spacing:0.16em;
  text-transform:uppercase; color:var(--gold); }
.lang-modal__title { font-family:var(--font-display); font-weight:800; font-size:clamp(1.6rem,1.3rem + 1.4vw,2.2rem);
  line-height:1.1; margin:12px 0 10px; }
.lang-modal__sub { color:var(--ink-dim); font-size:1rem; line-height:1.5; margin-bottom:calc(var(--u)*3.5);
  max-width:36ch; margin-inline:auto; }
.lang-modal__opts { display:grid; gap:12px; }
.lang-opt { display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:16px 20px; border:1.5px solid rgba(236,230,216,.2); border-radius:10px;
  font-family:var(--font-body); font-size:1.08rem; color:var(--ink);
  transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease), transform .15s var(--ease); }
.lang-opt:hover { border-color:var(--gold); background:rgba(217,180,91,.08); transform:translateY(-1px); }
.lang-opt__txt { display:flex; flex-direction:column; gap:3px; text-align:left; }
.lang-opt__txt b { font-weight:600; font-size:1.06rem; color:var(--ink); }
.lang-opt__txt em { font-style:normal; font-family:var(--font-mono); font-size:0.72rem;
  letter-spacing:0.02em; color:var(--ink-faint); }
.lang-opt__code { flex:none; font-family:var(--font-mono); font-size:0.8rem; font-weight:700; letter-spacing:0.06em;
  color:var(--gold-br); border:1px solid var(--line-gold); border-radius:6px; padding:6px 10px; }

/* ============================ ПРОСТАЯ СТРАНИЦА (отрывок / полная) ============================ */
.simple { min-height:100svh; display:flex; align-items:center; padding-block:clamp(88px,10vw,120px);
  background:
    radial-gradient(120% 90% at 85% 8%, rgba(217,180,91,.10), transparent 46%),
    radial-gradient(90% 70% at 6% 100%, rgba(217,180,91,.05), transparent 55%), var(--bg); }
.simple__grid { display:grid; grid-template-columns:1fr 0.85fr; gap:clamp(36px,6vw,84px); align-items:center; width:100%; }
@media (max-width:860px){ .simple__grid{ grid-template-columns:1fr; } .simple__cover{ order:-1; max-width:300px; margin-inline:auto; } }
.simple__title { font-family:var(--font-display); font-weight:800; font-size:clamp(2.1rem, 1.5rem + 2.6vw, 3.4rem);
  line-height:1.05; letter-spacing:-0.015em; margin:20px 0 0; }
.simple__title .gold { color:var(--gold-br); }
.simple__authors { margin-top:16px; font-family:var(--font-mono); font-size:var(--t-label); letter-spacing:0.06em;
  text-transform:uppercase; color:var(--ink-dim); }
.simple__authors b { color:var(--ink); }
.simple__line { margin-top:22px; font-size:var(--t-lead); line-height:1.45; color:var(--ink-dim); max-width:44ch; }
.simple__line .gold { color:var(--gold-br); font-weight:600; }
.simple__line b { color:var(--ink); font-weight:700; }
.simple__line s { color:var(--ink-faint); text-decoration-color:var(--flag); text-decoration-thickness:2px; }
.simple__card { margin-top:30px; max-width:460px; }
.simple__note { margin-top:14px; font-family:var(--font-mono); font-size:var(--t-label); color:var(--ink-faint); }
.simple__full-link { margin-top:20px; }
.simple__full-link a { color:var(--gold); font-family:var(--font-mono); font-size:var(--t-label);
  letter-spacing:0.04em; border-bottom:1px solid var(--line-gold); padding-bottom:2px; }
.simple__full-link a:hover { color:var(--gold-br); border-color:var(--gold); }
.simple__cover { display:flex; justify-content:center; perspective:1700px; }

/* Типографическая обложка (без фото) — весь текст i18n, меняется с языком */
.book-cover { width:min(400px,92%); aspect-ratio:2/3; border-radius:3px 7px 7px 3px;
  background:
    radial-gradient(120% 80% at 50% 0%, rgba(217,180,91,.14), transparent 55%),
    linear-gradient(160deg, #1a1720, #0d0c11 70%);
  box-shadow:42px 50px 90px rgba(0,0,0,.62), 0 0 0 1px rgba(217,180,91,.16);
  transform:rotateY(-12deg) rotateX(2deg); transition:transform .8s var(--ease);
  position:relative; overflow:hidden; }
.book-cover::after { content:""; position:absolute; left:0; top:0; bottom:0; width:14px;
  background:linear-gradient(90deg, rgba(0,0,0,.55), rgba(255,255,255,.05)); }
.simple__cover:hover .book-cover { transform:rotateY(-6deg); }
@media (max-width:860px){ .book-cover{ transform:rotateY(-8deg); width:min(300px,72%); } }

.book-cover__inner { position:absolute; inset:clamp(16px,4.5%,26px);
  border:1px solid var(--line-gold); border-radius:2px;
  display:flex; flex-direction:column; align-items:center; text-align:center;
  padding:clamp(20px,7%,34px) clamp(14px,5%,22px); }
.book-cover__inner::before, .book-cover__inner::after {
  content:""; position:absolute; left:14px; right:14px; height:1px;
  background:linear-gradient(90deg, transparent, var(--gold-deep), transparent); }
.book-cover__inner::before { top:10px; } .book-cover__inner::after { bottom:10px; }
.book-cover__brand { font-family:var(--font-mono); font-size:clamp(.5rem,1.6vw,.62rem);
  letter-spacing:.18em; text-transform:uppercase; color:var(--gold); }
.book-cover__mid { margin:auto 0; }
.book-cover__title { font-family:var(--font-display); font-weight:900;
  font-size:clamp(2.6rem,1.6rem + 5vw,4.4rem); line-height:.9; letter-spacing:.01em;
  background:linear-gradient(180deg,#f6e2a6,#d9b45b 55%,#a9801f);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  text-shadow:0 2px 18px rgba(217,180,91,.18); }
.book-cover__sub { font-family:var(--font-mono); font-style:normal;
  font-size:clamp(.56rem,.5rem + .5vw,.72rem); letter-spacing:0.13em; text-transform:uppercase;
  color:var(--ink-dim); margin-top:16px; line-height:1.5; max-width:20ch; margin-inline:auto; }
.book-cover__foot { width:100%; }
.book-cover__author { font-family:var(--font-mono); font-size:clamp(.56rem,1.7vw,.68rem);
  letter-spacing:.05em; text-transform:uppercase; color:var(--ink-faint); margin-top:6px; }
.book-cover__author b { color:var(--gold-br); font-weight:600; }
.book-cover__author span { color:var(--ink-faint); }
.book-cover__pub { display:block; margin-top:14px; font-family:var(--font-mono);
  font-size:clamp(.48rem,1.5vw,.56rem); letter-spacing:.1em; text-transform:uppercase; color:var(--gold-deep); }

/* select под стиль поля */
select.field__input { appearance:none; -webkit-appearance:none; -moz-appearance:none; cursor:pointer; padding-right:44px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23d9b45b' stroke-width='1.6' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 18px center; background-size:12px 8px; }
select.field__input:invalid { color:var(--ink-faint); }
select.field__input option { color:var(--ink); background:#1a1408; }
select.field__input option[value=""] { color:var(--ink-faint); }

/* две колонки для коротких полей (имя/фамилия) */
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media (max-width:480px){ .field-row{ grid-template-columns:1fr; } }
.field-row .field { margin-bottom:calc(var(--u)*3.25); }

.simple-foot { padding:calc(var(--u)*4) 0; text-align:center; font-family:var(--font-mono);
  font-size:var(--t-label); color:var(--ink-faint); border-top:1px solid var(--line); }
