:root {
  --red: #cc0000;
  --red-dark: #9f0000;
  --ink: #171717;
  --muted: #666;
  --line: #e7e7e7;
  --soft: #f6f6f6;
  --white: #fff;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; font-family: Inter, Arial, sans-serif; color:var(--ink); background:var(--white); }
a { color:inherit; }
.wrap { width:min(1120px, calc(100% - 36px)); margin:0 auto; }
.narrow { width:min(760px, calc(100% - 36px)); }
.site-header { position:sticky; top:0; z-index:10; background:rgba(255,255,255,.96); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }
.nav { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; }
.brand-mark { width:44px; height:44px; border-radius:12px; background:var(--red); color:#fff; display:grid; place-items:center; font-weight:800; font-size:14px; }
.brand strong { display:block; font-size:15px; letter-spacing:.03em; }
.brand small { display:block; color:var(--muted); margin-top:2px; }
nav { display:flex; gap:18px; align-items:center; }
nav a { text-decoration:none; font-weight:600; font-size:14px; }
nav a.active { color:var(--red); }
.button { display:inline-flex; align-items:center; justify-content:center; border:0; border-radius:12px; background:var(--red); color:#fff; padding:13px 18px; text-decoration:none; font-weight:700; cursor:pointer; transition:.18s ease; }
.button:hover { background:var(--red-dark); transform:translateY(-1px); }
.button.small { padding:10px 14px; border-radius:10px; }
.button.outline { background:#fff; color:var(--red); border:1px solid #d8d8d8; }
.button.outline:hover { border-color:var(--red); }
.hero { background:linear-gradient(180deg,#fff 0%,#faf5f5 100%); border-bottom:1px solid var(--line); }
.hero-inner { padding:76px 0 70px; display:grid; grid-template-columns:1.25fr .75fr; gap:60px; align-items:center; }
.eyebrow { margin:0 0 12px; color:var(--red); font-size:12px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
h1 { margin:0; font-size:clamp(38px,6vw,68px); line-height:1.02; letter-spacing:-.045em; }
.lead { color:var(--muted); font-size:18px; line-height:1.65; max-width:700px; }
.hero-actions { margin-top:28px; display:flex; gap:18px; align-items:center; flex-wrap:wrap; }
.text-link { font-weight:700; text-decoration:none; }
.hero-card { min-height:320px; display:grid; place-items:center; }
.book-stack { width:260px; height:220px; position:relative; }
.book { position:absolute; left:0; right:0; margin:auto; height:66px; border-radius:8px 12px 12px 8px; color:#fff; font-weight:800; letter-spacing:.08em; display:flex; align-items:center; padding-left:28px; box-shadow:0 18px 35px rgba(0,0,0,.12); }
.b1 { background:#2d2d2d; top:0; transform:rotate(-3deg); }
.b2 { background:#b40000; top:72px; transform:rotate(2deg); }
.b3 { background:#e8e8e8; color:#222; top:144px; transform:rotate(-1deg); }
.notice { background:#1c1c1c; color:#fff; }
.notice-inner { padding:16px 0; display:flex; gap:10px; align-items:center; justify-content:center; flex-wrap:wrap; text-align:center; }
.books-section { padding:72px 0; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:30px; }
h2 { font-size:34px; margin:0; letter-spacing:-.03em; }
.empty-state { border:1px dashed #cfcfcf; background:var(--soft); border-radius:18px; text-align:center; padding:58px 24px; }
.empty-icon { font-size:46px; margin-bottom:12px; }
.empty-state h3 { font-size:22px; margin:8px 0; }
.empty-state p { color:var(--muted); margin:0 auto 22px; }
.book-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.info-band { background:#f3f3f3; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.info-grid { padding:58px 0; display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.info-grid article { background:#fff; border:1px solid var(--line); border-radius:16px; padding:28px; }
.info-grid article > span { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:var(--red); color:#fff; font-weight:800; }
.info-grid h3 { margin:20px 0 8px; }
.info-grid p { color:var(--muted); line-height:1.6; margin:0; }
footer { padding:34px 0; }
.footer-inner { display:flex; justify-content:space-between; gap:20px; color:var(--muted); font-size:14px; }
.footer-inner strong { color:var(--ink); }
.footer-inner a { color:var(--red); font-weight:700; text-decoration:none; }
.form-page { background:#fafafa; min-height:80vh; }
.form-hero { padding:60px 0 28px; }
.form-hero h1 { font-size:48px; }
.form-wrap { padding:0 0 80px; }
.form-note { background:#fff4f4; border:1px solid #f0caca; border-radius:14px; padding:18px 20px; margin-bottom:20px; }
.form-note p { margin:6px 0 0; color:var(--muted); }
.book-form { background:#fff; border:1px solid var(--line); border-radius:18px; padding:30px; box-shadow:0 10px 30px rgba(0,0,0,.04); }
.book-form h2 { font-size:22px; margin-bottom:18px; }
.book-form hr { border:0; border-top:1px solid var(--line); margin:30px 0; }
label { display:block; font-size:14px; font-weight:700; margin-bottom:18px; }
input, select, textarea { width:100%; margin-top:8px; border:1px solid #d5d5d5; border-radius:10px; padding:13px 14px; font:inherit; background:#fff; color:var(--ink); }
input:focus, select:focus, textarea:focus { outline:2px solid rgba(204,0,0,.15); border-color:var(--red); }
label small { display:block; margin-top:7px; color:var(--muted); font-weight:400; }
.field-row.two { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.checkbox-label { display:flex; gap:10px; align-items:flex-start; font-weight:500; line-height:1.5; }
.checkbox-label input { width:auto; margin-top:4px; }
.submit-button { width:100%; padding:15px 18px; font-size:15px; margin-top:8px; }
.privacy-note { text-align:center; color:var(--muted); font-size:12px; }
.hidden { display:none; }
.success-page { min-height:100vh; display:grid; place-items:center; background:#fafafa; padding:24px; }
.success-card { width:min(650px,100%); background:#fff; border:1px solid var(--line); border-radius:20px; padding:48px; text-align:center; box-shadow:0 18px 45px rgba(0,0,0,.06); }
.success-icon { width:64px; height:64px; margin:0 auto 20px; border-radius:50%; display:grid; place-items:center; background:#e9f7ec; color:#25813a; font-size:28px; font-weight:800; }
.success-card h1 { font-size:40px; }
.success-card p:not(.eyebrow) { color:var(--muted); line-height:1.65; }
.centered { justify-content:center; }
@media (max-width: 760px) {
  .nav { min-height:68px; }
  nav > a:first-child { display:none; }
  .hero-inner { grid-template-columns:1fr; padding:54px 0; }
  .hero-card { display:none; }
  .section-heading { align-items:flex-start; flex-direction:column; }
  .info-grid, .book-grid, .field-row.two { grid-template-columns:1fr; }
  .footer-inner { flex-direction:column; }
  .book-form, .success-card { padding:22px; }
  .form-hero h1 { font-size:40px; }
}
