.home-hero { overflow:hidden; color:var(--white); background:var(--ink); }
.home-hero-grid { min-height:570px; display:grid; grid-template-columns:1.2fr .8fr; align-items:center; gap:30px; }
.home-eyebrow { margin-bottom:13px; color:var(--gold-light); font-size:12px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.home-hero h1 { max-width:690px; font-size:clamp(43px,6vw,70px); letter-spacing:-.045em; }
.home-hero-copy { max-width:630px; margin:20px 0 0; color:#d7d0c4; font-family:Georgia, "Times New Roman", serif; font-size:20px; line-height:1.5; }
.home-proof { margin-top:27px; color:#c4bdb1; font-size:13px; }
.home-cover-stage { position:relative; align-self:stretch; min-height:450px; }
.home-cover-stage::before { position:absolute; top:75px; right:-100px; width:420px; height:420px; border-radius:50%; background:radial-gradient(circle, rgba(227,164,58,.16), transparent 68%); content:""; }
.home-cover { position:absolute; right:36px; bottom:0; width:min(88%,340px); filter:drop-shadow(0 22px 28px rgba(0,0,0,.5)); }
.home-problem { background:var(--paper-soft); }
.home-problem-grid { display:grid; grid-template-columns:.84fr 1.16fr; gap:65px; }
.home-title { margin:0; font-size:clamp(31px,4vw,47px); letter-spacing:-.025em; }
.home-lead { max-width:550px; margin:0; color:var(--muted); font-family:Georgia, "Times New Roman", serif; font-size:18px; line-height:1.55; }
.home-reasons { display:grid; grid-template-columns:repeat(3, 1fr); gap:15px; margin-top:30px; }
.home-reason { padding:14px 3px 0; border-top:3px solid var(--gold-light); }
.home-reason strong { display:block; margin-bottom:5px; font-family:Georgia, "Times New Roman", serif; font-size:18px; }
.home-reason span { color:var(--muted); font-size:14px; line-height:1.42; }
.home-finder-head { display:flex; align-items:end; justify-content:space-between; gap:28px; margin-bottom:26px; }
.home-finder-head p { max-width:650px; margin:14px 0 0; color:var(--muted); }
.home-all-link { color:var(--teal); font-size:14px; font-weight:800; text-decoration:none; white-space:nowrap; }
.home-filter-tools { display:grid; gap:14px; padding:19px 0; border-block:1px solid var(--line); }
.home-filter-row { display:flex; align-items:center; gap:11px; flex-wrap:wrap; }
.home-filter-label { width:175px; color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.home-chip { padding:7px 12px; border:1px solid var(--line); border-radius:999px; background:var(--paper); color:var(--muted); font-size:13px; font-weight:800; }
.home-chip:hover { border-color:var(--ink); color:var(--ink); }
.home-chip[aria-pressed="true"] { border-color:var(--ink); background:var(--ink); color:var(--paper); }
.home-finder-count { margin:17px 0 0; color:var(--muted); font-size:13px; font-style:italic; }
.home-finder-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:15px; margin-top:22px; }
.home-lesson-card { display:flex; min-height:246px; flex-direction:column; padding:20px; border:1px solid var(--line); border-radius:8px; background:var(--white); }
.home-lesson-meta { color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.home-lesson-card h3 { margin:11px 0 8px; font-size:23px; }
.home-lesson-card p { margin:0 0 17px; color:var(--muted); font-size:14px; line-height:1.44; }
.home-print-link { display:block; margin-top:auto; color:var(--teal); font-size:13px; font-weight:800; text-decoration:none; }
.home-print-link:hover { text-decoration:underline; }
.home-empty { grid-column:1 / -1; margin:0; padding:22px; border:1px solid var(--line); border-radius:8px; background:var(--white); color:var(--muted); }
.home-print-note { display:flex; align-items:flex-start; gap:13px; margin-top:27px; padding:17px 19px; border-left:4px solid var(--teal); background:#e1efeb; color:#183d38; }
.home-print-note strong { white-space:nowrap; }
.home-print-note span { font-size:14px; line-height:1.42; }
.home-how { color:var(--paper); background:var(--ink); }
.home-how .home-title { color:var(--paper); }
.home-how-copy { max-width:665px; margin:14px 0 0; color:var(--muted-light); font-size:17px; }
.home-steps { display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; margin-top:32px; }
.home-step { padding:23px 0; border-top:1px solid #625d54; }
.home-step-number { color:var(--gold-light); font-family:Georgia, "Times New Roman", serif; font-weight:700; }
.home-step h3 { margin:10px 0 8px; color:var(--paper); font-size:23px; }
.home-step p { margin:0; color:var(--muted-light); font-size:14px; }
.home-books { background:var(--paper-soft); }
.home-books-grid { display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:45px; }
.home-books-copy p { max-width:560px; margin:14px 0 0; color:var(--muted); }
.home-book-actions { display:flex; flex-wrap:wrap; gap:13px; margin-top:22px; }
.home-book-image { display:block; width:100%; max-width:310px; margin-left:auto; filter:drop-shadow(0 17px 20px rgba(0,0,0,.26)); }
.home-upgrade { color:#fff; background:var(--teal); }
.home-upgrade-row { display:flex; align-items:center; justify-content:space-between; gap:25px; }
.home-upgrade h2 { margin:0 0 8px; font-size:34px; }
.home-upgrade p { max-width:630px; margin:0; color:#d7eeeb; }
.home-upgrade .btn { color:var(--ink); background:var(--gold-light); border-color:var(--gold-light); white-space:nowrap; }
@media (max-width:780px) {
  .home-hero-grid, .home-problem-grid, .home-books-grid { grid-template-columns:1fr; }
  .home-cover-stage { display:none; }
  .home-problem-grid { gap:27px; }
  .home-reasons, .home-finder-grid, .home-steps { grid-template-columns:1fr; }
  .home-finder-head, .home-upgrade-row { align-items:flex-start; flex-direction:column; }
  .home-filter-label { width:100%; }
  .home-upgrade .btn { width:100%; }
}
