.landing-page main { padding-top: 24px; }
.landing-page header { flex-wrap: wrap; }
.landing-page nav { flex-wrap: wrap; gap: 12px 24px; }
.landing-page nav a { padding: 8px 0; }
.landing-page nav .landing-nav-login { border: 1px solid var(--line); padding: 10px 16px; border-radius: 4px; }
.landing-page nav .landing-nav-register { padding: 10px 16px; min-height: 44px; }
.landing-page a:focus-visible { outline: 2px solid var(--landing-gold, #85603e); outline-offset: 5px; }
.landing { --landing-gold: #85603e; }
.landing h2 { font-size: clamp(32px, 3.8vw, 46px); }
.landing p { max-width: 65ch; }
.landing section[id] { scroll-margin-top: 28px; }
.landing-hero { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: 48px; padding: 34px 0 60px; }
.landing-hero h1 { font-size: clamp(42px, 4.8vw, 64px); line-height: 1.06; }
.landing-hero em { color: var(--landing-gold); }
.landing-hero .lede { font-size: 17px; line-height: 1.7; }
.landing-highlights { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; padding: 0; margin: 24px 0; }
.landing-highlights li { border: 1px solid var(--line); border-radius: 24px; padding: 7px 12px; font-size: 12px; }
.landing-price-link { color: var(--landing-gold); font-weight: 600; }
.landing-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 28px; margin: 28px 0 20px; }
.landing-actions .primary { padding: 16px 23px; min-height: 48px; }
.landing-actions .primary:hover { background: #35574e; }
.landing-text-link { display: inline-block; padding: 10px 0; font-size: 14px; }
.landing-availability { max-width: 49ch !important; color: var(--muted); font-size: 12px; }
.landing-product { margin: 0; padding: 40px 25px 14px; background: radial-gradient(ellipse at center, #e6e5d7, transparent 72%); }
.landing-book { position: relative; max-width: 355px; margin: auto; padding: 30px 30px 24px; min-height: 450px; color: #f8f4e9; background: #233d37; border-radius: 2px 9px 9px 2px; border-left: 9px solid #1a302b; box-shadow: 15px 22px 35px #233d3726, 5px 0 0 #e0dacb; transform: rotate(5deg); text-align: center; }
.landing-book .eyebrow { color: #d6ceb6; font-size: 10px; }
.landing-orbit { width: 165px; height: 165px; border: 1px solid #b8aa81; border-radius: 50%; margin: 30px auto; display: grid; place-items: center; position: relative; }
.landing-orbit::before, .landing-orbit::after { content: ''; position: absolute; inset: 15px; border: 1px solid #b8aa8166; border-radius: 50%; }
.landing-orbit::after { inset: 32px; }
.landing-orbit span { font: 76px Georgia, serif; color: #e0cf9d; }
.landing-cover-title { white-space: pre-line; font: 32px/1.2 Georgia, serif; letter-spacing: -.025em; }
.landing-cover-footer { font-size: 11px; color: #d6ceb6; margin-top: 30px; }
.landing figcaption { font-size: 11px; color: var(--muted); text-align: center; margin: 30px auto 0; max-width: 42ch; }
.landing-intro { padding: 56px 20px; text-align: center; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.landing-intro p { margin-left: auto; margin-right: auto; }
.landing-intro > p:last-child { color: var(--muted); }
.landing-section { padding: 76px 0; }
.landing-section-heading { max-width: 740px; }
.landing-section-heading > p:last-child { color: var(--muted); }
.landing-features { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; margin-top: 40px; }
.landing-features article { border-top: 1px solid var(--line); padding-top: 20px; }
.landing-number { font: 13px Georgia, serif; color: var(--landing-gold); }
.landing-features h3 { font-size: 25px; margin: 18px 0; }
.landing-features p { font-size: 14px; color: var(--muted); }
.landing-methods { padding: 30px 36px; margin-top: 30px; background: #eceee6; border-radius: 4px; }
.landing-methods h3 { margin-top: 0; }
.landing-methods p { max-width: 85ch; font-size: 14px; }
.landing-methods ul { display: flex; flex-wrap: wrap; gap: 10px; padding: 0; list-style: none; }
.landing-methods li { font-size: 12px; padding: 6px 13px; border: 1px solid #c5cdbf; border-radius: 24px; }
.landing-offer { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; border-top: 1px solid var(--line); }
.landing-offer-card { padding: 36px; border: 1px solid #c5cdbf; border-radius: 8px; background: #eceee6; }
.landing-offer-card .reading-price-amount { font: 64px/1.1 Georgia, serif; margin: 16px 0; }
.landing-offer-card ul { padding-left: 20px; margin: 24px 0; }
.landing-offer-card li { margin: 10px 0; font-size: 14px; }
.landing-offer-card .primary { display: inline-block; padding: 16px 23px; }
.landing-sample { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 70px; border-top: 1px solid var(--line); }
.landing-sample-page { background: var(--white); border: 1px solid var(--line); padding: 40px; box-shadow: 0 10px 25px #233d3708; }
.landing-sample-page h3 { font-size: 31px; }
.landing-sample-page > p:not(.eyebrow) { line-height: 1.9; font-size: 15px; }
.landing-sample-page blockquote { margin: 28px 0 0; padding: 4px 0 4px 20px; border-left: 2px solid var(--accent); font: italic 22px/1.5 Georgia, serif; }
.landing-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 50px; padding: 0; margin-top: 42px; counter-reset: step; list-style: none; }
.landing-steps li { counter-increment: step; border-top: 1px solid var(--line); padding-top: 20px; }
.landing-steps li::before { content: '0' counter(step); font: 15px Georgia, serif; color: var(--landing-gold); }
.landing-steps h3 { font-size: 26px; }
.landing-steps p { font-size: 14px; color: var(--muted); }
.landing-gift { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 70px; border-top: 1px solid var(--line); }
.landing-gift-figure { margin: 0; padding: 25px; }
.landing-gift-card { background: #ede5d5; border: 1px solid #d6c7ad; padding: 30px; text-align: center; transform: rotate(-4deg); box-shadow: 10px 15px 0 #e6e9df; }
.landing-gift-star { display: block; font: 70px Georgia, serif; color: var(--landing-gold); }
.landing-gift-card > p:last-child { font: 18px Georgia, serif; margin-top: 30px; }
.landing-gift > div > p:not(.eyebrow) { font-size: 15px; }
.landing-trust { display: grid; grid-template-columns: .85fr 1.15fr; gap: 70px; border-top: 1px solid var(--line); }
.landing-trust p { font-size: 15px; }
.landing-faq { max-width: 820px; margin: auto; border-top: 1px solid var(--line); }
.landing-faq details { margin: 0; border-bottom: 1px solid var(--line); padding: 4px 0; }
.landing-faq summary { padding: 20px 4px; font-size: 16px; }
.landing-faq summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.landing-faq details p { padding: 0 4px 12px; font-size: 15px; color: var(--muted); }
.landing-closing { text-align: center; padding: 50px 30px; background: #e9ece3; border-radius: 4px; }
.landing-closing p { margin-left: auto; margin-right: auto; }
.landing-closing .landing-actions { justify-content: center; }
@media (max-width: 900px) {
  .landing-hero { gap: 30px; }
  .landing-book { padding: 25px 20px; min-height: 420px; }
  .landing-features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .landing-sample, .landing-gift, .landing-trust { gap: 35px; }
  .landing-offer { gap: 35px; }
}
@media (max-width: 650px) {
  .landing-page header { gap: 12px; }
  .landing-page nav { gap: 6px 18px; font-size: 13px; }
  .landing-page nav { width: 100%; }
  .landing-hero { grid-template-columns: 1fr; padding: 30px 0 44px; }
  .landing-product { padding: 25px 20px 0; }
  .landing-book { max-width: 290px; min-height: 0; }
  .landing-hero h1 { font-size: clamp(36px, 9vw, 49px); }
  .landing-section { padding: 46px 0; }
  .landing-intro { padding: 35px 0; }
  .landing-features { gap: 22px; }
  .landing-features h3 { font-size: 23px; }
  .landing-methods { padding: 24px; }
  .landing-sample, .landing-gift, .landing-trust, .landing-steps { grid-template-columns: 1fr; gap: 22px; }
  .landing-offer { grid-template-columns: 1fr; gap: 22px; }
  .landing-offer-card { padding: 26px; }
  .landing-actions { gap: 12px 22px; }
  .landing-sample-page { padding: 26px; }
  .landing-gift-figure { max-width: 400px; margin: auto; }
  .landing-closing { padding: 35px 20px; }
}
