/* Landing-only overrides. The desktop stylesheet and legal pages retain their layouts. */
@media (max-width:740px) {
  /* Header and first-screen composition come from the original styles.css. */

  .section-space { padding-block:56px; }
  h2 { font-size:clamp(1.85rem,7.5vw,2.2rem); line-height:1.2; letter-spacing:-.035em; }
  .section-heading { margin-bottom:26px; }
  .section-kicker { font-size:.8125rem; line-height:1.55; margin-bottom:12px; }
  .section-heading > p:last-child:not(.section-kicker) { margin-top:16px; line-height:1.65; }
  .comparison { gap:14px; border:0; border-radius:0; background:transparent; overflow:visible; }
  .comparison-item { padding:24px; border:1px solid var(--line); border-radius:22px; box-shadow:0 5px 20px #29113d04; }
  .comparison-item:last-child { border:1px solid var(--purple); }
  .comparison-item h3 { font-size:1.375rem; line-height:1.35; letter-spacing:-.025em; }
  .comparison-item h3 br,.parents-copy h2 br:first-of-type,.faq-grid h2 br { display:revert; }
  .comparison-item p { line-height:1.65; }
  .comparison-label { width:max-content; padding:4px 10px; border-radius:8px; background:#f4f1f8; font-size:.875rem; margin-bottom:14px; }
  .comparison-mirko { box-shadow:0 12px 28px #7738ee1a; }
  .comparison-mirko .comparison-label { background:#ffffff20; }
  .comparison-bottom { margin-top:16px; padding-top:13px; font-size:.875rem; line-height:1.5; }
  .heading-split > p:last-child { margin-top:16px; line-height:1.65; }
  .steps-grid { gap:12px; }
  .step { display:grid; grid-template-columns:40px minmax(0,1fr); gap:8px 14px; padding:20px 18px; border:1px solid #e9e0f5; border-radius:18px; background:#fff; }
  .step-top { position:static; grid-column:1; grid-row:1 / span 2; display:flex; flex-direction:column; align-items:flex-start; gap:10px; margin:0; }
  .step-number { display:grid; place-items:center; width:36px; height:36px; color:var(--purple); background:#f0e7fd; border-radius:11px; font-size:1.25rem; letter-spacing:-.025em; }
  .step-icon { width:36px; height:36px; margin:0; border:0; color:#9d7abe; }
  .step h3 { grid-column:2; margin:0; padding:0; font-size:1.125rem; line-height:1.4; }
  .step p { grid-column:2; margin:0; line-height:1.65; }

  .demo-grid { gap:24px; }
  .demo-copy h2 { font-size:clamp(1.8rem,7.5vw,2.2rem); }
  .demo-copy .section-description { margin-top:16px; line-height:1.65; }
  .demo-points { gap:12px; margin-top:20px; }
  .demo-points p { align-items:flex-start; line-height:1.6; }
  .demo-points .check-circle { margin-top:2px; flex-shrink:0; }
  .demo-invitation { margin-top:20px; font-size:.875rem; line-height:1.55; color:#776086; }
  .subjects { padding-top:0; }
  .subject-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .subject-tile { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:12px; min-height:108px; padding:18px 16px; font-size:.9375rem; line-height:1.4; overflow-wrap:anywhere; }
  .subject-tile .icon,.subject-letters { width:24px; }

  .parents-grid { gap:24px; }
  .parents-copy h2 { font-size:clamp(1.85rem,7.5vw,2.2rem); }
  .parents-copy .section-description { margin-top:16px; line-height:1.65; }
  .parent-feature { gap:12px; margin-top:22px; }
  .parent-feature > div { min-width:0; }
  .parent-feature h3 { font-size:1.0625rem; line-height:1.4; }
  .parent-feature p { margin-top:6px; line-height:1.65; }
  .feature-icon { width:38px; height:38px; flex-shrink:0; }
  .parents-visual { width:100%; max-width:360px; height:540px; margin:8px auto 0; }
  .history-phone { width:clamp(192px,58vw,230px); left:50%; top:6px; transform:translateX(-50%) rotate(-2deg); }
  .parents-ring { width:300px; height:300px; left:calc(50% - 150px); top:100px; }
  .parent-float { width:max-content; max-width:calc(100% - 8px); left:50%; bottom:36px; transform:translateX(-50%) rotate(2deg); padding:13px 16px; gap:9px; border-radius:16px; }
  .parent-float-icon { width:36px; height:36px; flex-shrink:0; }
  .parent-float strong { font-size:.9375rem; }
  .parent-float small { font-size:.8125rem; line-height:1.45; }
  .parents-caption { left:0; right:0; bottom:0; font-size:.8125rem; }

  .pricing-grid { gap:18px; }
  .plan-card { padding:24px 22px; border-radius:22px; min-width:0; }
  .plan-card h3 { margin-top:16px; margin-bottom:20px; }
  .plan-label { font-size:.875rem; }
  .plus-card-top { flex-direction:row; flex-wrap:wrap; align-items:center; gap:9px; }
  .plus-badge { font-size:.8125rem; padding:5px 8px; }
  .price { display:flex; flex-wrap:wrap; align-items:baseline; gap:5px; font-size:clamp(2.65rem,10.5vw,3.1rem); white-space:normal; }
  .price span { font-size:1rem; }
  .plan-description { margin-top:10px; line-height:1.65; }
  .plan-features { gap:12px; margin-block:20px 24px; }
  .plan-features li { align-items:flex-start; line-height:1.6; }
  .plan-features .icon { margin-top:3px; }
  .plan-cta { min-height:54px; font-size:1rem; }
  .plan-fine-print { font-size:.8125rem; line-height:1.55; }
  .billing-toggle { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; max-width:none; gap:4px; padding:5px; margin-bottom:20px; }
  .billing-toggle button { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; min-width:0; min-height:48px; padding:8px 7px; gap:3px; white-space:normal; font-size:.875rem; line-height:1.4; }
  .billing-toggle span { margin-left:0; font-size:.75rem; }
  .subscription-note { font-size:.8125rem; line-height:1.7; margin-top:18px; }
  .faq { padding-top:0; }
  .faq-grid { gap:24px; }
  .faq-list summary { min-height:64px; padding:18px 0; gap:16px; font-size:1rem; }
  .faq-list details > div { padding:0 0 20px; line-height:1.7; color:#70647f; }

  .final-section { padding-bottom:36px; }
  .final-banner { padding:30px 24px 200px; border-radius:24px; }
  .final-kicker { font-size:.8125rem; line-height:1.6; }
  .final-banner h2 { font-size:clamp(1.8rem,7.5vw,2.2rem); }
  .final-banner p:not(.final-kicker) { margin-top:16px; margin-bottom:22px; line-height:1.65; }
  .final-banner .button-large { width:100%; min-height:56px; padding:15px 14px; font-size:1rem; line-height:1.4; }
  .final-note { font-size:.8125rem; line-height:1.55; }
  .final-mascot { width:190px; right:calc(50% - 95px); bottom:-19px; }
  .final-banner:before { width:260px; height:260px; right:calc(50% - 130px); bottom:-30px; }
  .final-banner:after { width:210px; height:210px; right:calc(50% - 105px); bottom:-4px; }
  .final-spark { display:none; }
  .site-footer { padding:24px 0 calc(108px + env(safe-area-inset-bottom)); }
  .footer-main { gap:18px; }
  .footer-main p { font-size:.875rem; }
  .footer-links { gap:8px 20px; }
  .footer-links a { display:inline-flex; align-items:center; min-height:44px; }
  .footer-bottom { margin-top:20px; font-size:.8125rem; line-height:1.6; flex-wrap:wrap; gap:10px; }

  .mobile-cta { left:12px; right:12px; bottom:max(12px,env(safe-area-inset-bottom)); gap:12px; padding:10px 12px; border:1px solid #e8dff2; border-radius:20px; box-shadow:0 8px 30px #3e1b7424; }
  .mobile-cta.is-hidden { transform:translateY(calc(100% + 28px + env(safe-area-inset-bottom))); }
  .mobile-cta > span { min-width:0; flex:1; }
  .mobile-cta strong { font-size:.875rem; line-height:1.4; }
  .mobile-cta small { font-size:.8125rem; line-height:1.4; margin-top:3px; }
  .mobile-cta .button { min-width:112px; min-height:48px; padding:12px 16px; font-size:1rem; box-shadow:none; flex-shrink:0; }
  .download-dialog { position:fixed; inset:auto 0 0; margin:0; width:100%; max-width:none; max-height:calc(100dvh - 16px); border-radius:24px 24px 0 0; padding:30px 24px max(24px,env(safe-area-inset-bottom)); }
  .dialog-close { width:44px; height:44px; top:8px; right:10px; }
  .download-mark { width:56px; height:56px; margin-bottom:16px; border-radius:17px; }
  .download-dialog h2 { font-size:1.65rem; max-width:17ch; margin:0 auto 16px; }
  .download-dialog > p:not(.section-kicker) { font-size:1rem; line-height:1.65; }
  .store-buttons { margin-top:22px; gap:10px; }
  .store-button { min-height:80px; padding:14px; gap:12px; }
  .store-button > .icon { width:26px; height:26px; }
  .store-button > span:not(.store-status) { flex:1; min-width:0; }
  .store-button small { font-size:.8125rem; }
  .store-button strong { font-size:1.125rem; }
  .store-status { font-size:.8125rem; flex-shrink:0; padding:4px 6px; }
  .store-message { font-size:.875rem!important; }
  .dialog-account-note { font-size:.875rem!important; flex-wrap:wrap; line-height:1.5; }
}

@media (max-width:360px) {
  .comparison-item { padding:22px 20px; }
  .comparison-item h3 { font-size:1.25rem; }
  .step { padding:18px 16px; grid-template-columns:36px minmax(0,1fr); gap:8px 12px; }
  .plan-card { padding-inline:20px; }
  .final-banner { padding-inline:20px; }
  .parents-visual { height:505px; }
  .mobile-cta { gap:9px; }
  .mobile-cta .button { min-width:102px; padding-inline:12px; }
  .download-dialog { padding-inline:20px; }
  .store-button { gap:9px; padding-inline:12px; }
}
