:root {
  --ink: #2c3027;
  --forest: #3f4727;
  --forest-dark: #242b19;
  --sage: #87906a;
  --sage-2: #aeb695;
  --sage-light: #e6eadc;
  --cream: #f7f4eb;
  --cream-deep: #ede7da;
  --white: #fffefa;
  --muted: #62675b;
  --line: #d8d8c9;
  --accent: #c8cf78;
  --radius: 20px;
  --shadow: 0 24px 70px rgba(45, 52, 31, .12);
  --shell: min(1160px, calc(100% - 40px));
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 92px; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--white);
  font-family: Avenir, "Nunito Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
::selection { color: var(--forest-dark); background: var(--accent); }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.shell { width: var(--shell); margin-inline: auto; }
.section { padding-block: clamp(78px, 9vw, 126px); }
.skip-link { position: fixed; z-index: 1000; top: 10px; left: 10px; transform: translateY(-180%); padding: 10px 16px; color: var(--forest-dark); background: white; border: 2px solid var(--forest); border-radius: 9px; }
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid #becb50; outline-offset: 4px; }

.site-header { position: sticky; z-index: 50; top: 0; color: var(--forest-dark); background: rgba(247, 244, 235, .9); border-bottom: 1px solid rgba(63, 71, 39, .1); backdrop-filter: blur(16px); }
.site-header.is-scrolled { box-shadow: 0 8px 30px rgba(42, 49, 31, .08); }
.header-inner { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; flex-direction: column; gap: 0; line-height: .92; text-decoration: none; text-transform: uppercase; letter-spacing: .02em; }
.brand span { font-size: .66rem; font-weight: 650; }
.brand strong { font-size: 1.08rem; font-weight: 850; }
nav { display: flex; gap: 30px; }
nav a { color: #4f5549; font-size: .79rem; font-weight: 700; text-decoration: none; }
nav a:hover { color: var(--forest); }

.button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 13px 21px; border: 1px solid transparent; border-radius: 999px; font-size: .8rem; font-weight: 800; line-height: 1.2; text-align: center; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: white; background: var(--forest); box-shadow: 0 12px 28px rgba(63, 71, 39, .18); }
.button-primary:hover { background: var(--forest-dark); }
.button-light { color: var(--forest-dark); background: #f4f6ea; }
.button-light:hover { background: white; }
.button-outline { min-height: 42px; color: var(--forest); border-color: rgba(63, 71, 39, .35); background: transparent; }
.button-outline:hover { background: rgba(63, 71, 39, .07); }
.button-compact { min-height: 42px; padding: 10px 17px; font-size: .72rem; }
.button-full { width: 100%; }
.text-link, .support-link { font-size: .82rem; font-weight: 800; text-underline-offset: 5px; }

.eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 18px; color: #626b47; font-size: .68rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow > span { width: 25px; height: 1px; background: currentColor; }
.eyebrow-center { justify-content: center; }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { letter-spacing: -.045em; line-height: 1.05; }
h1 { max-width: 720px; margin-bottom: 23px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(3.5rem, 5.7vw, 5.85rem); font-weight: 500; }
h1 em { color: #6d7750; font-weight: 500; }
h2 { margin-bottom: 22px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.45rem, 4.1vw, 4rem); font-weight: 500; }
h3 { line-height: 1.25; }

.hero { position: relative; overflow: hidden; color: var(--forest-dark); background: var(--cream); }
.hero-texture { position: absolute; inset: 0; opacity: .33; background-image: radial-gradient(circle at 1px 1px, rgba(63,71,39,.15) 1px, transparent 0); background-size: 26px 26px; mask-image: linear-gradient(90deg, black, transparent 65%); }
.hero-grid { position: relative; min-height: 710px; display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(48px, 7vw, 96px); align-items: center; padding-block: 72px 78px; }
.hero-lead { max-width: 650px; margin-bottom: 25px; color: #555c4f; font-size: clamp(1.02rem, 1.4vw, 1.18rem); }
.hero-offer { max-width: 530px; display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 23px; padding: 17px 19px; border: 1px solid rgba(63, 71, 39, .17); border-radius: 15px; background: rgba(255, 254, 250, .72); }
.hero-offer div > span, .hero-offer strong, .hero-offer small { display: block; }
.hero-offer div > span { color: var(--muted); font-size: .67rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.hero-offer strong { margin-top: 3px; font-size: 1.75rem; line-height: 1.05; }
.hero-offer small { display: inline; font-size: .8rem; font-weight: 650; }
.offer-badge { flex: none; padding: 6px 11px; color: var(--forest); background: var(--sage-light); border-radius: 999px; font-size: .66rem; font-weight: 850; text-transform: uppercase; }
.hero-actions { display: flex; align-items: center; gap: 22px; }
.payment-note { margin: 17px 0 0; color: #72776b; font-size: .7rem; }

.hero-visual { position: relative; min-height: 510px; display: grid; place-items: center; }
.hero-visual::before { content: ""; position: absolute; width: 460px; aspect-ratio: 1; border-radius: 50%; background: #dce1cf; box-shadow: inset 0 0 0 1px rgba(63, 71, 39, .07); }
.monthly-card { position: relative; z-index: 2; width: min(460px, 92%); padding: 30px; color: white; background: var(--forest); border: 1px solid rgba(255,255,255,.12); border-radius: 27px; box-shadow: 0 32px 80px rgba(48,57,29,.24); transform: rotate(1.2deg); }
.monthly-card-top { display: flex; justify-content: space-between; gap: 25px; padding-bottom: 24px; border-bottom: 1px solid rgba(255,255,255,.14); }
.monthly-card-top strong, .monthly-card-top span { display: block; }
.monthly-card-top strong { margin-top: 4px; font-family: Georgia, serif; font-size: 1.35rem; line-height: 1.2; }
.micro-label { color: #bdc7a6; font-size: .65rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.mini-mark { flex: none; width: 45px; height: 45px; display: grid !important; place-items: center; border-radius: 50%; color: var(--forest-dark); background: var(--accent); font-size: .58rem; font-weight: 900; letter-spacing: .04em; }
.month-track { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; padding: 28px 0 24px; }
.track-line { position: absolute; top: 44px; right: 12%; left: 12%; height: 1px; background: rgba(255,255,255,.2); }
.track-item { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; }
.track-item i { position: relative; z-index: 1; width: 33px; aspect-ratio: 1; display: grid; place-items: center; margin-bottom: 9px; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; color: #dfe5d5; background: #596044; font-size: .58rem; font-style: normal; font-weight: 800; }
.track-item.is-dark i { color: var(--forest-dark); background: var(--accent); border-color: var(--accent); }
.track-item b { font-size: .67rem; }
.track-item small { color: #aeb8a0; font-size: .58rem; }
.next-session { display: flex; align-items: center; gap: 13px; padding: 15px; color: var(--forest-dark); background: #f2f2e8; border-radius: 14px; }
.session-symbol { flex: none; width: 40px; aspect-ratio: 1; display: grid; place-items: center; color: white; background: var(--sage); border-radius: 12px; }
.next-session small, .next-session strong { display: block; }
.next-session small { color: #717762; font-size: .58rem; }
.next-session strong { font-size: .76rem; }
.visual-note { position: absolute; z-index: 3; display: flex; align-items: center; gap: 8px; padding: 10px 13px; border: 1px solid rgba(63,71,39,.12); border-radius: 12px; color: #4f5940; background: rgba(255,254,250,.94); box-shadow: 0 14px 35px rgba(42,51,27,.13); font-size: .66rem; font-weight: 800; }
.visual-note span { width: 23px; aspect-ratio: 1; display: grid; place-items: center; color: white; background: var(--sage); border-radius: 50%; }
.note-practice { top: 55px; left: -5px; }
.note-flexible { right: -8px; bottom: 55px; }

.quick-proof { border-block: 1px solid var(--line); background: var(--white); }
.quick-proof-grid { min-height: 115px; display: grid; grid-template-columns: repeat(4, 1fr); align-items: center; }
.quick-proof-grid > div { display: flex; align-items: center; justify-content: center; gap: 13px; min-height: 55px; padding: 15px 24px; border-right: 1px solid var(--line); }
.quick-proof-grid > div:last-child { border-right: 0; }
.quick-proof strong { font-family: Georgia, serif; font-size: 1.45rem; }
.quick-proof span { color: var(--muted); font-size: .66rem; line-height: 1.35; text-transform: uppercase; letter-spacing: .05em; }

.section-heading { max-width: 820px; }
.section-heading.centered { text-align: center; }
.section-heading > p:not(.eyebrow) { max-width: 690px; margin: 0 auto; color: var(--muted); }
.value-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 54px; }
.value-card { position: relative; min-height: 480px; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fbfaf5; }
.value-card.featured { color: white; background: var(--forest); border-color: var(--forest); transform: translateY(-12px); }
.value-media { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--sage-light); }
.value-media img { width: 100%; height: 100%; display: block; object-fit: cover; }
.value-card-body { flex: 1; padding: 27px 29px 29px; }
.value-index { position: absolute; z-index: 1; top: 18px; right: 18px; padding: 5px 9px; color: var(--forest-dark); background: rgba(255, 254, 250, .9); border-radius: 999px; box-shadow: 0 5px 18px rgba(36, 43, 25, .14); font-size: .65rem; font-weight: 850; letter-spacing: .08em; backdrop-filter: blur(8px); }
.featured .value-index { color: var(--forest-dark); }
.value-icon { width: 46px; aspect-ratio: 1; display: grid; place-items: center; margin-bottom: 20px; color: var(--forest); background: var(--sage-light); border-radius: 14px; font-size: 1.15rem; }
.featured .value-icon { color: var(--forest-dark); background: var(--accent); }
.value-card h3 { margin-bottom: 12px; font-size: 1.3rem; }
.value-card p { margin: 0; color: var(--muted); font-size: .87rem; }
.featured p { color: #d5daca; }

.experience { background: #eef0e7; }
.experience-grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: clamp(55px, 8vw, 110px); align-items: center; }
.experience-copy > p:not(.eyebrow) { color: var(--muted); }
.experience-points { display: grid; gap: 17px; padding: 0; margin: 31px 0 0; list-style: none; }
.experience-points li { display: flex; gap: 12px; }
.experience-points > li > span { flex: none; width: 26px; height: 26px; display: grid; place-items: center; color: white; background: var(--forest); border-radius: 50%; font-size: .68rem; }
.experience-points strong, .experience-points small { display: block; }
.experience-points strong { font-size: .86rem; }
.experience-points small { color: var(--muted); font-size: .72rem; }
.rhythm-board { padding: 27px; border: 1px solid #d4d7c9; border-radius: 25px; background: var(--white); box-shadow: var(--shadow); }
.rhythm-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 4px 4px 23px; border-bottom: 1px solid var(--line); }
.rhythm-heading span, .rhythm-heading strong { display: block; }
.rhythm-heading div > span { color: var(--muted); font-size: .62rem; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.rhythm-heading strong { margin-top: 4px; font-family: Georgia, serif; font-size: 1.35rem; }
.descriptive-tag { flex: none; padding: 6px 10px; color: #596143; background: var(--sage-light); border-radius: 999px; font-size: .58rem; font-weight: 800; text-transform: uppercase; }
.rhythm-list { display: grid; }
.rhythm-list article { display: grid; grid-template-columns: 42px 1fr auto; gap: 15px; align-items: center; padding: 19px 4px; border-bottom: 1px solid var(--line); }
.rhythm-list article:last-child { border-bottom: 0; }
.rhythm-number { width: 36px; aspect-ratio: 1; display: grid; place-items: center; color: var(--forest); background: #eff1e7; border-radius: 11px; font-size: .62rem; font-weight: 850; }
.rhythm-list strong { display: block; font-size: .85rem; }
.rhythm-list p { margin: 2px 0 0; color: var(--muted); font-size: .7rem; }
.rhythm-chip { padding: 5px 8px; color: #626850; border: 1px solid var(--line); border-radius: 999px; font-size: .55rem; font-weight: 800; text-transform: uppercase; }

.included { color: white; background: var(--forest-dark); }
.included .eyebrow { color: #b2bd94; }
.included-layout { display: grid; grid-template-columns: .68fr 1.32fr; gap: clamp(45px, 7vw, 96px); align-items: start; }
.included-intro { position: sticky; top: 112px; }
.included-intro p:not(.eyebrow) { color: #aeb6a5; }
.included-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.13); border-radius: 22px; overflow: hidden; }
.included-grid article { min-height: 210px; padding: 28px; background: var(--forest-dark); }
.included-grid article > span { width: 38px; aspect-ratio: 1; display: grid; place-items: center; margin-bottom: 28px; color: var(--forest-dark); background: var(--accent); border-radius: 11px; }
.included-grid h3 { margin-bottom: 9px; font-size: 1rem; }
.included-grid p { margin: 0; color: #aeb6a5; font-size: .78rem; }

.membership { color: var(--forest-dark); background: var(--cream); }
.membership-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(50px, 7vw, 90px); align-items: start; }
.membership-grid > * { min-width: 0; }
.price-context > p:not(.eyebrow) { max-width: 690px; color: var(--muted); }
.price-ladder { display: flex; align-items: stretch; gap: 8px; margin-top: 35px; }
.ladder-step { min-width: 115px; display: flex; flex: 1; flex-direction: column; padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.6); }
.ladder-step.active { color: white; background: var(--forest); border-color: var(--forest); }
.ladder-step span { color: var(--muted); font-size: .55rem; font-weight: 850; text-transform: uppercase; letter-spacing: .06em; }
.ladder-step.active span { color: #c9d1b7; }
.ladder-step strong { margin: 4px 0; font-size: 1.12rem; }
.ladder-step small { color: var(--muted); font-size: .6rem; }
.ladder-step.active small { color: #bbc4ab; }
.ladder-arrow { display: grid; place-items: center; color: #8e927f; font-size: .85rem; }
.ladder-disclaimer { margin: 14px 0 0 !important; font-size: .72rem; }
.checkout-card { padding: 35px; color: white; background: var(--forest); border-radius: 25px; box-shadow: var(--shadow); }
.checkout-kicker { color: #c4cdae; font-size: .66rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.checkout-price { display: flex; align-items: baseline; gap: 9px; margin-top: 10px; }
.checkout-price strong { font-family: Georgia, serif; font-size: 3.3rem; line-height: 1; }
.checkout-price span { color: #c3cbb5; font-size: .78rem; }
.checkout-phase { margin: 8px 0 0; color: #bec7ae; font-size: .72rem; }
.checkout-card hr { margin: 25px 0; border: 0; border-top: 1px solid rgba(255,255,255,.14); }
.checkout-card ul { display: grid; gap: 12px; padding: 0; margin: 0 0 27px; list-style: none; color: #e6eadf; font-size: .8rem; }
.checkout-card li span { margin-right: 8px; color: var(--accent); }
.secure-note { margin: 14px 0 0; color: #adb7a0; font-size: .65rem; text-align: center; }

.after-payment { background: var(--white); }
.compact-heading { max-width: 680px; }
.access-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 46px; }
.access-steps article { min-height: 205px; display: flex; gap: 18px; padding: 25px; border: 1px solid var(--line); border-radius: 18px; background: #faf9f4; }
.access-steps article > span { flex: none; width: 38px; height: 38px; display: grid; place-items: center; color: white; background: var(--forest); border-radius: 12px; font-weight: 800; }
.access-steps small { color: #626850; font-size: .6rem; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.access-steps h3 { margin: 7px 0 10px; font-size: 1rem; }
.access-steps p { margin: 0; color: var(--muted); font-size: .76rem; }

.faq { background: #f1f2eb; }
.faq-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(50px, 8vw, 110px); align-items: start; }
.faq-intro { position: sticky; top: 115px; }
.faq-intro > p:not(.eyebrow) { color: var(--muted); }
.support-link { display: inline-block; margin-top: 12px; }
.faq-list { border-top: 1px solid #cbd0bf; }
details { border-bottom: 1px solid #cbd0bf; }
summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 0; cursor: pointer; font-size: .9rem; font-weight: 780; list-style: none; }
summary::-webkit-details-marker { display: none; }
summary span { font-size: 1.35rem; font-weight: 400; transition: transform .2s ease; }
details[open] summary span { transform: rotate(45deg); }
details p { max-width: 650px; padding: 0 42px 22px 0; margin: 0; color: var(--muted); font-size: .82rem; }
details p a { font-weight: 750; }

.scope { padding-block: 36px; color: #414737; background: #dde1d2; border-block: 1px solid #ccd1bf; }
.scope-inner { display: flex; align-items: center; gap: 18px; max-width: 950px; }
.scope-symbol { flex: none; width: 38px; aspect-ratio: 1; display: grid; place-items: center; color: white; background: var(--forest); border-radius: 50%; font-family: Georgia, serif; font-style: italic; }
.scope h2 { margin: 0 0 5px; font-family: inherit; font-size: 1rem; font-weight: 850; letter-spacing: 0; }
.scope p { margin: 0; color: #5e6555; font-size: .74rem; }

.final-cta { position: relative; overflow: hidden; padding-block: 100px; color: white; background: #69764e; }
.final-texture { position: absolute; inset: 0; opacity: .2; background-image: radial-gradient(circle at 1px 1px, white 1px, transparent 0); background-size: 25px 25px; mask-image: radial-gradient(circle at 70% 50%, black, transparent 70%); }
.final-inner { position: relative; max-width: 820px; text-align: center; }
.eyebrow-light { justify-content: center; color: #e0e7d1; }
.final-cta p:not(.eyebrow) { max-width: 620px; margin: 0 auto 28px; color: #ebeee4; }

.site-footer { padding: 66px 0 24px; color: #dfe4db; background: #192016; }
.brand-footer span { color: #b9c0b6; }
.brand-footer strong { color: white; }
.footer-main { display: grid; grid-template-columns: 1.3fr .8fr 1fr; gap: 50px; align-items: start; }
.footer-main > div:first-child p { max-width: 350px; margin: 17px 0 0; color: #929d8e; font-size: .78rem; }
.footer-nav { display: flex; flex-direction: column; gap: 8px; }
.footer-nav a, .footer-support a { color: #a9b3a5; font-size: .76rem; text-decoration: none; }
.footer-nav a:hover, .footer-support a:hover, .footer-legal a:hover { color: white; }
.footer-support span, .footer-support a { display: block; }
.footer-support span { margin-bottom: 8px; color: white; font-size: .7rem; font-weight: 800; }
.footer-legal { display: flex; gap: 20px; margin-top: 42px; padding-top: 17px; border-top: 1px solid rgba(255,255,255,.09); }
.footer-legal a { color: #9ba598; font-size: .68rem; }
.footer-bottom { display: flex; justify-content: space-between; gap: 25px; margin-top: 16px; color: #7f8b7c; font-size: .65rem; }
.mobile-cta { display: none; }

@media (max-width: 980px) {
  nav { display: none; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-copy { max-width: 760px; margin-inline: auto; text-align: center; }
  .hero-copy .eyebrow, .hero-actions { justify-content: center; }
  .hero-offer { margin-inline: auto; text-align: left; }
  .hero-visual { min-height: 480px; }
  .quick-proof-grid { grid-template-columns: 1fr 1fr; }
  .quick-proof-grid > div:nth-child(2) { border-right: 0; }
  .quick-proof-grid > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .experience-grid, .included-layout, .membership-grid, .faq-grid { grid-template-columns: 1fr; }
  .experience-copy { max-width: 710px; }
  .included-intro, .faq-intro { position: static; }
  .checkout-card { max-width: 650px; }
  .footer-main { grid-template-columns: 1.2fr 1fr; }
  .footer-support { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
  :root { --shell: min(100% - 28px, 1160px); }
  body { padding-bottom: 74px; }
  html { scroll-padding-top: 72px; }
  .header-inner { min-height: 62px; }
  .header-inner > .button { display: none; }
  .section { padding-block: 74px; }
  h1 { font-size: clamp(2.65rem, 12.4vw, 4.1rem); }
  h2 { font-size: clamp(2.15rem, 9.5vw, 3.1rem); }
  .hero-grid { min-height: auto; display: block; padding-block: 34px 58px; }
  .hero-copy .eyebrow { margin-bottom: 12px; font-size: .58rem; }
  .hero-lead { margin-bottom: 14px; font-size: .9rem; line-height: 1.5; }
  .hero-offer { margin-bottom: 14px; padding: 12px 14px; }
  .hero-offer strong { font-size: 1.45rem; }
  .hero-actions { display: grid; gap: 11px; }
  .hero-actions .button { width: 100%; }
  .hero-actions .text-link { display: none; }
  .payment-note { margin-top: 11px; }
  .hero-visual { min-height: 390px; margin-top: 36px; }
  .hero-visual::before { width: 330px; }
  .monthly-card { width: 94%; padding: 21px; border-radius: 21px; }
  .monthly-card-top strong { font-size: 1.07rem; }
  .month-track { padding: 22px 0 19px; }
  .track-line { top: 38px; }
  .track-item b { font-size: .58rem; }
  .track-item small { font-size: .5rem; }
  .next-session { padding: 12px; }
  .note-practice { top: 10px; left: -2px; }
  .note-flexible { right: -2px; bottom: 8px; }
  .quick-proof-grid > div { justify-content: flex-start; padding-inline: 13px; }
  .quick-proof strong { font-size: 1.1rem; }
  .quick-proof span { font-size: .55rem; }
  .value-grid, .access-steps { grid-template-columns: 1fr; }
  .value-card, .value-card.featured { min-height: auto; transform: none; }
  .value-icon { margin-bottom: 34px; }
  .rhythm-board { padding: 17px; }
  .rhythm-heading { align-items: flex-start; }
  .rhythm-heading strong { font-size: 1.05rem; }
  .rhythm-list article { grid-template-columns: 35px 1fr; gap: 11px; }
  .rhythm-chip { display: none; }
  .included-grid { grid-template-columns: 1fr; }
  .included-grid article { min-height: auto; }
  .price-ladder { overflow-x: auto; padding-bottom: 8px; scroll-snap-type: x proximity; }
  .ladder-step { min-width: 128px; scroll-snap-align: start; }
  .checkout-card { padding: 28px 20px; }
  .access-steps article { min-height: auto; }
  details p { padding-right: 20px; }
  .scope-inner { align-items: flex-start; }
  .final-cta { padding-block: 78px; }
  .footer-main { grid-template-columns: 1fr; gap: 32px; }
  .footer-support { grid-column: auto; }
  .footer-legal { flex-wrap: wrap; }
  .footer-bottom { flex-direction: column; gap: 7px; }
  .mobile-cta { position: fixed; z-index: 60; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 12px max(9px, env(safe-area-inset-bottom)); background: rgba(255,254,250,.96); border-top: 1px solid var(--line); box-shadow: 0 -10px 30px rgba(42, 50, 30, .11); backdrop-filter: blur(14px); }
  .mobile-cta small, .mobile-cta strong { display: block; }
  .mobile-cta small { color: var(--muted); font-size: .55rem; }
  .mobile-cta strong { font-size: .76rem; }
  .mobile-cta .button { min-height: 42px; padding-inline: 14px; font-size: .64rem; }
}

@media (max-width: 390px) {
  h1 { margin-bottom: 13px; font-size: 2.48rem; }
  .hero-grid { padding-top: 25px; }
  .hero-offer .offer-badge { display: none; }
  .hero-offer { justify-content: center; text-align: center; }
  .hero-visual { margin-top: 28px; }
  .monthly-card { width: 100%; }
  .visual-note { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .button:hover { transform: none; }
}

@media print {
  .site-header, .mobile-cta { position: static; }
  .button { border-color: currentColor; box-shadow: none; }
}
