html, body { margin: 0; padding: 0; background: #ffffff; }
body { font-family: 'Outfit', 'Hanken Grotesk', 'Helvetica Neue', Arial, sans-serif; -webkit-font-smoothing: antialiased; }
a { color: #16294f; }
a:hover { color: #2e7d5b; }

.page { background: #ffffff; color: #16294f; }
.sentinel { position: absolute; top: 0; left: 0; width: 1px; height: 1px; pointer-events: none; }

/* hero */
.hero { max-width: 1100px; margin: 0 auto; padding: 100px 48px 0; display: flex; flex-direction: column; align-items: center; text-align: center; }
.hero h1 {
  margin: 0; font-family: 'Outfit', sans-serif;
  font-size: clamp(46px, 5.2vw, 80px); font-weight: 600;
  letter-spacing: -0.035em; line-height: 1.04; color: #16294f; text-wrap: balance;
}
.hero p {
  margin: 30px 0 0; max-width: 30em;
  font-size: clamp(18px, 1.7vw, 21px); line-height: 1.55; font-weight: 500;
  color: #5b6472; text-wrap: pretty;
}

/* cover + email capture */
.get-pdf { max-width: 1180px; margin: 0 auto; padding: 90px 48px 150px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); column-gap: 90px; align-items: center; }
.book-cover { width: 100%; max-width: 460px; height: auto; display: block; justify-self: center; box-shadow: 0 50px 100px -50px rgba(13, 27, 56, 0.6); border-radius: 20px; }
.pdf-panel { display: flex; flex-direction: column; text-align: left; }
.pdf-panel h2 { margin: 0; font-size: clamp(34px, 3.4vw, 46px); line-height: 1.12; font-weight: 600; letter-spacing: -0.03em; color: #16294f; text-wrap: pretty; }
.pdf-text { margin: 22px 0 0; font-size: 17.5px; line-height: 1.6; color: #5b6472; }
h2 + .pdf-text { margin-top: 26px; }
.pdf-form { margin-top: 40px; width: 100%; display: flex; flex-direction: column; gap: 14px; }
.pdf-form input {
  width: 100%; box-sizing: border-box; font-family: inherit; font-size: 17px;
  color: #16294f; background: #ffffff; border: 1px solid #e3e6ee; border-radius: 10px;
  padding: 17px 18px; outline: none; transition: border-color .2s, box-shadow .2s;
}
.pdf-form input::placeholder { color: #8a9597; }
.pdf-form input:focus { border-color: #16294f; box-shadow: 0 0 0 3px rgba(22, 41, 79, .10); }
.pdf-form button {
  cursor: pointer; background: #16294f; color: #ffffff;
  font-family: 'IBM Plex Mono', monospace; font-size: 13px; letter-spacing: .08em; text-transform: uppercase;
  border: 0; padding: 17px 22px; border-radius: 10px; white-space: nowrap;
  transition: background .2s, box-shadow .2s;
}
.pdf-form button:hover { background: #0d1b38; box-shadow: 0 10px 24px -12px rgba(13, 27, 56, .5); }
.pdf-form button:disabled { cursor: default; opacity: .6; box-shadow: none; }
.form-error { display: none; margin: 0; color: #f7534a; font-size: 17.5px; }
.form-success { display: none; margin-top: 40px; padding: 16px 18px; background: rgba(46, 125, 91, 0.10); border: 1px solid rgba(46, 125, 91, 0.28); border-radius: 10px; font-size: 16px; color: #2e7d5b; }

/* ===== Responsive ===== */
@media (max-width: 900px) {
  .hero { padding: 72px 24px 0; }
  .hero h1 { font-size: clamp(38px, 9.5vw, 64px); }
  .hero p { font-size: 18px; margin-top: 24px; }
  .get-pdf {
    grid-template-columns: 1fr; row-gap: 56px;
    padding: 60px 24px 100px;
  }
  .book-cover { max-width: 340px; }
}

/* ===== Dark theme (shared toggle) ===== */
html.theme-dark, html.theme-dark body { background: #0b183a; }
.theme-dark .page { background: #0b183a; color: #eaf0fb; }
.theme-dark a { color: #eaf0fb; }
.theme-dark .hero h1, .theme-dark .pdf-panel h2 { color: #f3f6fc; }
.theme-dark .hero p, .theme-dark .pdf-text { color: #aab4c7; }
.theme-dark .pdf-form input { background: #0d1b3f; border-color: rgba(255, 255, 255, .14); color: #eaf0fb; }
.theme-dark .pdf-form input::placeholder { color: #7f8caa; }
.theme-dark .pdf-form input:focus { border-color: #eaf0fb; box-shadow: 0 0 0 3px rgba(255, 255, 255, .12); }
.theme-dark .pdf-form button { background: #eef2f8; color: #0d1b38; }
.theme-dark .pdf-form button:hover { background: #ffffff; }
.theme-dark .form-success { background: rgba(111, 211, 168, 0.12); border-color: rgba(111, 211, 168, 0.30); color: #6fd3a8; }
