@media (max-width:1060px){
  .topbar-inner{gap:10px}
  .brand-name{font-size:18px}
  .nav-link{padding:7px 4px;font-size:12px}
  .phone-link{font-size:12px;padding:7px 8px}
  .header-cta{padding:9px 12px;font-size:12px}
  .header-cta span{display:none}
}

@media (max-width:959px){
  body{padding-top:70px}
  body.menu-open{overflow:hidden}
  body.menu-open::before{content:"";position:fixed;inset:70px 0 0;background:rgba(36,20,58,.35);z-index:997}
  .topbar-inner{min-height:70px}
  .hero-grid,.section-heading,.service-grid,.catalog-grid,.section-process .process-grid,.two-col,.faq-list,.contact-layout,.graphics-grid,.section-local .container,.case-card{grid-template-columns:1fr}
  .hero-grid{min-height:0;gap:54px}
  .section-heading{gap:12px;text-align:center}
  .section-heading > div{justify-self:center}
  .price-intro{text-align:center;margin-left:auto;margin-right:auto}
  .case-copy{align-items:center;text-align:center;padding:32px}
  .case-description{max-width:520px}
  .section-included .offer-card,.process-grid .offer-card,.section-types .offer-card,.section-audience .offer-card{min-height:0}
  .graphic-item,.graphic-item + .graphic-item{border-left:0;padding:0 0 28px}
  .graphic-item + .graphic-item{border-top:1px solid var(--border);padding-top:28px}
  .graphic-item h3{margin:14px 0 8px}
  .section-local .container{gap:24px}
  .hero-copy,.hero-phone,.service-content,.service-card,.graphic-item,.offer-card,.info-card,.faq-item,.contact-banner,.contact-info,.contact-call,.inner-hero .container{text-align:center}
  .hero-copy .hero-lead,.inner-hero h1,.inner-hero p{margin-left:auto;margin-right:auto}
  .hero-phone{max-width:560px;width:100%;margin:0 auto}
  .hero-phone-number{margin-left:auto;margin-right:auto}
  .offer-card ul,.tick-list{display:inline-block;text-align:left}
  .contact-banner{flex-direction:column;align-items:center}

  .nav{
    position:fixed;
    left:auto;
    right:0;
    top:70px;
    bottom:0;
    width:min(360px,88vw);
    height:calc(100dvh - 70px);
    overflow-y:auto;
    background:#fff;
    border-left:1px solid var(--border);
    padding:24px;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    margin:0;
    z-index:998;
    transform:translateX(100%);
    visibility:hidden;
    transition:transform .25s ease,visibility .25s ease;
  }
  .nav.open{display:flex;transform:translateX(0);visibility:visible}
  .nav-link{font-size:17px;padding:12px 14px;text-align:left}
  .menu-btn{display:inline-block}
  .topbar-right{gap:8px}
  .phone-link{display:inline-flex;align-items:center;padding:6px 0;color:var(--cta-2);font-size:14px}
  .header-cta{display:none}
  .footer-inner{flex-direction:column;text-align:center}
  .footer-main{align-items:center}
  .footer-contacts,.footer-links{justify-content:center}
  .footer-copy{text-align:center}
}

@media (max-width:640px){
  .section{padding:52px 0}
  .main h1{font-size:clamp(36px,10vw,46px)}
  .main h2{font-size:30px}
  .hero-lead,.inner-hero p{font-size:16px}
  .inner-hero .page-lead{font-size:16px}
  .case-visual{aspect-ratio:1.3}
  .case-copy{padding:26px 22px 30px}
  .case-copy h3{font-size:32px;margin:14px 0 9px}
  .case-description{font-size:15px}
  .brand-name{font-size:17px}
  .brand small{font-size:9px;letter-spacing:1.6px}
  .phone-link{font-size:13px}
  .service-content,.offer-card,.info-card,.faq-item{padding:22px}
  .hero-phone{padding:30px 8px}
  .hero-phone-title{font-size:24px}
  .contact-call-number{font-size:38px}
  .contact-banner{padding:30px 24px}
  .footer-contacts{flex-direction:column;gap:10px}
}

@media (max-width:360px){
  .topbar-inner{gap:5px}
  .topbar-right{gap:6px}
  .brand-name{font-size:13px}
  .brand small{display:none}
  .phone-link{font-size:12px}
}
