.site-page main.sitemain { max-width: 1080px; margin: 0 auto; padding: 0 24px 60px; }
.hero { text-align: center; padding: 40px 0 30px; }
.hero-img { width: 100%; max-height: 420px; object-fit: cover; border-radius: 16px; margin-bottom: 26px; }
.hero h1 { font-family: 'Satoshi', sans-serif; font-weight: 900; font-size: clamp(30px, 5vw, 52px); margin-bottom: 14px; }
.hero .intro { max-width: 640px; margin: 0 auto 22px; }
.cta-top { display: inline-block; width: auto; padding: 15px 30px; text-decoration: none; }
.story { max-width: 720px; margin: 30px auto; }
.story h2, .classes h2, .corp h2, .cta-end h2 { font-family: 'Satoshi', sans-serif; font-weight: 900; font-size: clamp(24px, 3.4vw, 36px); margin-bottom: 14px; }
.story-text { color: var(--muted); line-height: 1.75; white-space: pre-line; }
.classes { margin-top: 44px; }
.grp { font-family: 'Satoshi', sans-serif; font-weight: 900; font-size: 24px; margin: 30px 0 14px; }
.grp .sub { font-size: 15px; color: var(--muted); font-weight: 700; }
a.book { display: block; text-align: center; text-decoration: none; }
.pkg { margin-top: 50px; }
.pkg-card { border: 1px solid var(--line); border-radius: 16px; padding: 30px; text-align: center; max-width: 560px; margin: 0 auto; background: var(--panel); }
.pkg-card h2 { font-family: 'Satoshi', sans-serif; font-weight: 900; margin: 12px 0; }
.pkg-card p { color: var(--muted); margin-bottom: 14px; }
.corp, .cta-end { text-align: center; margin-top: 56px; }
.corp .book, .cta-end .book { display: inline-block; width: auto; padding: 14px 28px; }
.site-footer { border-top: 1px solid var(--line); margin-top: 70px; padding: 34px 24px 60px; text-align: center; }
.mail-signup { max-width: 520px; margin: 18px auto 0; }
.mail-row { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; }
.mail-row input { flex: 1; min-width: 160px; padding: 12px; border-radius: 9px; border: 1px solid var(--line); background: var(--bg); color: var(--text); }
.city-search { width: 100%; max-width: 420px; padding: 14px; border-radius: 10px; border: 1px solid var(--line); background: var(--panel); color: var(--text); font-size: 16px; margin-top: 6px; }
.pills { display: flex; flex-wrap: wrap; gap: 10px; }
.city-pill { border: 1px solid var(--line); border-radius: 999px; padding: 10px 16px; color: var(--text); text-decoration: none; background: var(--panel); }
.city-pill:hover { border-color: var(--orange); }
.interest { margin: 0 auto; }

/* Sales page */
.sales { max-width: 760px; }
.sales h1 { font-family: 'Satoshi', sans-serif; font-weight: 900; font-size: clamp(32px, 6vw, 54px); text-align: center; margin: 30px 0 20px; }
.sales h2 { font-family: 'Satoshi', sans-serif; font-weight: 900; font-size: clamp(24px, 3.6vw, 34px); margin: 44px 0 14px; }
.sales h3 { font-family: 'Satoshi', sans-serif; font-weight: 700; font-size: 19px; margin: 26px 0 8px; color: var(--orange); }
.sales-p { color: var(--muted); line-height: 1.75; margin-bottom: 14px; }
.sales-cta { text-align: center; margin: 30px 0; }
.sales-cta .cta-top, .get-code .cta-top { width: auto; display: inline-block; padding: 16px 32px; }
.img-row { display: grid; gap: 10px; margin: 22px 0; }
.img-row.cols-1 { grid-template-columns: 1fr; }
.img-row.cols-2 { grid-template-columns: 1fr 1fr; }
.img-row.cols-3 { grid-template-columns: 1fr 1fr 1fr; }
.img-row img { width: 100%; border-radius: 12px; display: block; }
.get-code { border: 1px solid var(--line); background: var(--panel); border-radius: 16px; padding: 34px; text-align: center; margin: 40px 0; }
@media (max-width: 640px) { .img-row.cols-3 { grid-template-columns: 1fr 1fr; } }
