/* Финальная полировка планшетной и мобильной компоновки. */
@media(max-width:850px){
  body{max-width:100%;overflow-x:hidden}
  .topbar{height:72px;padding:0 20px}
  .topbar .brand{gap:9px}.topbar .brand span{font-size:25px}.topbar .brand small{font-size:9px;line-height:1.25}
  .topbar .button-small{min-height:42px;padding:10px 17px}
  .hero{min-height:auto;padding:48px 22px 72px}
  .hero .eyebrow{margin-bottom:18px}.hero .lead{font-size:17px;line-height:1.58;margin:25px 0}
  .hero-actions{flex-wrap:wrap;gap:20px 26px}
  .quick-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:45px}
  .quick-facts strong{font-size:22px}.quick-facts span{line-height:1.35}
  .hero-visual{min-height:470px;margin-top:45px}.hero-visual img{width:min(82%,390px);max-height:470px}
  .hero-visual .sun{width:350px;height:350px}.hero-visual .sticker{right:3%;top:5%;width:90px;height:90px;font-size:14px}
  .section{padding:78px 22px}.section-heading{margin-bottom:38px}
  .section-heading h2,.program h2,.cta h2{font-size:clamp(34px,9vw,52px);line-height:1.02}
  .format-grid{gap:22px}.format-card{min-height:auto;padding:32px 28px}.format-card h3{font-size:clamp(34px,9vw,48px);margin:48px 0 20px}.format-card ul{line-height:1.7;margin-bottom:34px}
  .program{padding-block:85px}.program-photo{width:calc(100% - 14px);margin-left:14px}.program-copy>p:not(.eyebrow){font-size:17px;line-height:1.7}.program blockquote{font-size:19px;line-height:1.45;margin-top:34px}
  .real-shifts .section-heading{margin-bottom:20px}.section-intro{font-size:17px;line-height:1.6}
  .shift-story,.shift-story.reverse{padding:58px 0;gap:34px}.shift-copy{max-width:none}.shift-copy h3{font-size:clamp(36px,10vw,52px)}
  .program-document{margin-top:22px;gap:28px}.program-document .button{min-height:52px}
  .place-list a{padding:23px 18px;gap:6px;border:1px solid var(--line);margin-bottom:10px;border-radius:14px}.place-list span{font-size:17px}.place-list small{margin-top:3px}
  .cta{padding:38px 28px 42px;gap:30px;border-radius:22px 62px 22px 62px}.cta>img{width:160px}.cta p:not(.eyebrow){font-size:17px}.cta-actions{margin-top:24px}
  footer{padding:50px 22px 105px;gap:25px}
  .mobile-call{min-height:52px;display:flex;align-items:center;justify-content:center;bottom:max(12px,env(safe-area-inset-bottom));font-size:15px;border:1px solid rgba(23,58,43,.25)}
}
@media(max-width:560px){
  .topbar .brand small{display:none}.topbar .button-small{font-size:12px;padding-inline:14px}
  .hero{padding-top:38px}.hero h1{line-height:.96}.hero-actions{align-items:flex-start;flex-direction:column}.hero-actions .button{width:100%;min-height:54px}.hero-actions .text-link{margin-left:2px}
  .quick-facts{grid-template-columns:1fr 1fr}.quick-facts li:last-child{grid-column:1/3}.quick-facts li{padding-top:11px;border-top:1px solid var(--line)}
  .hero-visual{min-height:400px}.hero-visual img{width:82%;max-height:400px;border-width:8px;border-radius:24px 76px 24px 76px}.hero-visual .sun{width:290px;height:290px}.hero-visual .sticker{width:76px;height:76px;font-size:12px;right:1%}
  .ticker{font-size:11px;padding:13px 0}
  .section{padding:66px 18px}.section-heading h2,.program h2,.cta h2{font-size:clamp(32px,10vw,43px)}
  .format-card{padding:27px 22px;border-radius:18px 48px 18px 48px}.format-card>div{gap:10px}.format-card .pill{font-size:9px;padding:7px 9px}.format-card h3{margin-top:38px}.format-card>a{font-size:14px}
  .program{gap:52px}.program-photo{width:calc(100% - 10px);margin-left:10px}.program-photo:before{inset:-12px 15px 20px -10px}.program blockquote{padding-left:18px}
  .shift-gallery{grid-template-rows:210px 135px;gap:8px}.shift-gallery img{min-width:0}.shift-copy>p:not(.shift-date){font-size:15px}
  .program-document{padding:30px 22px}.program-document h3{font-size:32px}.program-document .button{width:100%}
  .cta{margin-inline:10px;padding:32px 22px 38px}.cta>img{width:138px}.cta .eyebrow{white-space:normal;line-height:1.4}.cta-actions{width:100%}.cta-actions .button{width:100%;min-width:0}.cta-actions .text-link{margin-left:2px}
}
@media(max-width:370px){
  .topbar{padding-inline:14px}.topbar .brand span{font-size:22px}.topbar .button-small{padding-inline:12px}
  .hero{padding-inline:16px}.hero h1{font-size:40px}.hero-visual{min-height:350px}.hero-visual .sun{width:255px;height:255px}
  .section{padding-inline:16px}.shift-gallery{grid-template-rows:185px 120px}.phone-number{font-size:14px}
}
@media(prefers-reduced-motion:reduce){.ticker div{animation:none}.reveal{opacity:1;transform:none;transition:none}}
