/* Rocket Service — телефоны и планшеты, форма записи, реквизиты и юридические страницы.
   Сайт свёрстан под экран от 1180 px; здесь он перестраивается под узкие экраны.
   Подключается на всех страницах последним, поэтому только уточняет styles.css и pages.css. */

/* ---------- Реквизиты владельца сайта в подвале ---------- */
.site-legal{margin:18px 0 0;font-size:11px;line-height:1.6;color:#8d8d85;letter-spacing:.02em}
.site-legal a{color:#aeb9ca;text-decoration:underline;text-underline-offset:3px}
.site-legal a:hover{color:#359aff}
.site-legal [data-org]:not(:empty)::after{content:' · '}

/* ---------- Форма записи: согласие, отправка ---------- */
.consent-check{display:flex!important;gap:12px;align-items:flex-start;margin-top:22px!important;font-size:13px!important;line-height:1.5;color:#fff!important;cursor:pointer}
.consent-check input{flex:none;width:20px;height:20px;margin:0;accent-color:#fff;cursor:pointer}
.consent-check a,.form-note a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.consent-check input[aria-invalid=true]{outline:2px solid #ffb397;outline-offset:2px}
.hp-field{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.booking-form{position:relative}
.booking-form[aria-busy=true] .button{opacity:.6}
.form-status.is-sent{font-size:15px;font-weight:600}

/* ---------- Политика и согласие ---------- */
.legal-page{padding-top:40px;padding-bottom:80px}
.legal-doc{max-width:760px}
.legal-doc h1{font:900 clamp(34px,5vw,56px)/1 Roboto,sans-serif;letter-spacing:-.035em;font-style:normal;margin:26px 0 30px}
.legal-doc h2{font:600 20px/1.3 Onest,sans-serif;letter-spacing:-.01em;font-style:normal;margin:34px 0 12px}
.legal-doc p{font-size:15px;line-height:1.75;color:#3b4658;margin:0 0 10px}
.legal-doc .legal-loading{color:#7f8a9b}
.legal-links{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:40px;font-size:14px}
.legal-links a{color:#006bea}

/* ---------- Планшет и небольшой ноутбук: 1024–1179 ---------- */
@media (max-width:1179px){
  body{min-width:0}
  .screen{padding-left:36px;padding-right:36px}
  .header{padding:0 36px;gap:18px}
  .header-call{display:none}
  .header nav{gap:18px}
  .hero-copy{left:36px}
  .hero-aside{right:36px}
  .hero-bottom{left:36px;right:36px}
  .hero-bottom>a{margin-left:0}
  .phone-stage{transform:translateX(-50%) scale(.66)}
  .service-layout{gap:48px}
  .workshop-note{right:36px}
  .workshop-content{left:36px;right:36px}
  .workshop-content h2{font-size:72px}
  .photo-caption{right:36px}
  .work-card{flex-basis:480px}
  .work-card.portrait{flex-basis:280px}
  .booking-grid{gap:48px}
  .footer-details{gap:32px}
  .footer-finish{grid-template-columns:320px 1fr;gap:48px}
  .entrance-photo img{width:320px;height:162px}
  .page-hero h1{font-size:calc(var(--page-heading-size,64px) * .82)}
  .page-columns,.editorial-grid{gap:56px}
  .sub-footer h2{font-size:96px}
}

/* ---------- Планшет стоя и телефон: всё в одну колонку ---------- */
@media (max-width:1023px){
  .screen{min-height:0;padding:36px 24px}
  .section-top{flex-wrap:wrap;gap:6px 16px}
  .button{min-width:0}

  /* Шапка: логотип и телефон, под ними меню */
  .header{height:auto;flex-wrap:wrap;gap:10px 16px;padding:14px 24px 0}
  .brand{width:150px;height:21px}
  .header-contact{margin-left:auto;min-width:0;text-align:right;line-height:1.2}
  .header-contact .header-address,.header-contact>small{display:none}
  .header-phone{font-size:14px;margin:0}
  .header nav{order:3;width:100%;margin:0;gap:4px;justify-content:space-between;font-size:13px;border-top:1px solid #ffffff1f;padding:11px 0 12px}
  .header-button{display:none}

  /* Первый экран: сборка телефона идёт по прокрутке, но без «залипания» */
  .hero-scroll{height:auto}
  .hero{position:relative;height:auto;min-height:0;padding:118px 24px 30px;display:flex;flex-direction:column}
  .hero-top{flex-wrap:wrap;gap:4px 16px}
  .hero-word{position:static;transform:none;width:auto;margin:24px 0 0;font-size:clamp(38px,11vw,72px);line-height:.95;white-space:normal;text-align:left}
  .phone-stage{position:relative;left:50%;top:auto;width:600px;height:600px;margin:-6px 0 -150px;transform:translateX(-50%) scale(.75);transform-origin:50% 0}
  .assembly-status{position:relative;left:auto;bottom:auto;transform:none;margin:0 auto;width:100%;max-width:300px}
  .hero-copy{position:static;max-width:none;margin-top:32px}
  .hero-copy h1{font-size:clamp(44px,12vw,64px)}
  .hero-aside{position:static;width:auto;margin-top:36px;display:grid;grid-template-columns:auto 1fr;gap:10px 24px;align-items:end}
  .hero-aside .time-fact{grid-row:1/3}
  .time-fact strong{font-size:76px}
  .hero-aside>p{margin-top:0}
  .guarantee{margin-top:0;font-size:26px}
  .hero-bottom{position:static;margin-top:32px;flex-wrap:wrap;gap:10px 20px}
  .hero-bottom>span:last-child{display:none}

  /* Разделы */
  .section-heading{flex-direction:column;align-items:flex-start;gap:18px;margin:28px 0 30px}
  .section-heading h2,.works h2{font-size:clamp(36px,9.5vw,56px)}
  .section-heading>p{width:auto;max-width:520px;font-size:15px}
  .services{min-height:0}
  .service-layout{grid-template-columns:1fr;gap:28px}
  .service-tab{height:62px;gap:18px}
  .service-tab>span:nth-child(2){font-size:21px}
  .services-bottom{flex-direction:column;align-items:flex-start;gap:12px}

  .workshop{height:auto;min-height:0;padding-bottom:48px}
  .workshop-note{position:static;margin-top:30px}
  .workshop-note p{font-size:15px}
  .workshop-content{position:static;margin-top:38vh}
  .workshop-content h2{font-size:clamp(44px,12vw,72px);margin-bottom:30px}
  .trust-grid{grid-template-columns:1fr;gap:22px}
  .photo-caption{position:static;display:block;margin-top:28px}

  .works .section-heading{margin:28px 0 26px}
  .gallery-navigation{width:100%}
  .gallery-navigation>.eyebrow{margin-right:auto}
  .gallery-track{gap:14px}
  .work-card{flex-basis:min(78vw,520px)}
  .work-card.portrait{flex-basis:min(60vw,320px)}
  .work-image{height:320px}
  .gallery-bottom{flex-direction:column;gap:8px}

  .booking-grid{grid-template-columns:1fr;gap:36px;margin-top:30px}
  .booking-copy h2{font-size:clamp(34px,9vw,52px)}
  .booking-copy>p{font-size:17px;margin-top:20px}
  .booking-steps{margin-top:30px;max-width:none}
  .booking-steps>div{gap:18px}
  .booking-form input{font-size:18px}
  .booking-bottom{flex-wrap:wrap;gap:12px;margin-top:40px}
  .booking-bottom>a{font-size:20px}
  .booking-bottom>a span{margin-left:14px}

  .footer-top{flex-direction:column;align-items:flex-start;gap:22px;margin-top:30px}
  .footer-top h2{font-size:clamp(32px,8.5vw,48px)}
  .footer-details{grid-template-columns:1fr 1fr;gap:28px 20px;margin-top:34px}
  .footer-details p{font-size:17px;margin:12px 0}
  .footer-finish{grid-template-columns:1fr;gap:26px}
  .entrance-photo img{width:100%;height:auto;aspect-ratio:918/466}
  .footer-word>span:first-child{height:15vw}
  .footer-bottom{flex-direction:column;gap:6px}

  /* Окна */
  .contact-dialog{width:calc(100vw - 32px);padding:56px 24px 28px}
  .contact-dialog h2{font-size:28px}
  .fault-dialog{padding:56px 20px 24px;max-width:calc(100vw - 24px)}
  .fault-dialog h2{font-size:34px}
  .lightbox{width:calc(100vw - 24px)}

  /* Страницы услуг */
  .page-hero{padding-top:24px}
  .breadcrumb{margin-bottom:26px}
  .page-hero-grid{grid-template-columns:1fr;gap:28px}
  .page-hero h1{font-size:clamp(34px,10vw,60px);margin:18px 0}
  .page-hero h1>span{white-space:normal}
  .page-lead{font-size:16px;margin:16px 0 26px}
  .page-hero-grid>img{height:auto;aspect-ratio:4/3}
  .page-facts{flex-direction:column;gap:8px;margin-top:32px}
  .page-columns{grid-template-columns:1fr;gap:40px;margin-top:30px}
  .page-columns h2,.editorial-grid h2{font-size:clamp(32px,8.5vw,48px)}
  .page-models{padding:18px}
  .page-faq summary{font-size:18px}
  .page-process h2,.page-cta h2{font-size:clamp(34px,9.5vw,56px);margin:24px 0 28px}
  .process-grid{grid-template-columns:1fr;gap:26px}
  .process-grid h3{margin:16px 0 10px}
  .page-process .related-links{flex-direction:column;gap:0;margin-top:36px}
  .page-cta>p:not(.eyebrow){font-size:17px}
  .page-phone{font-size:26px}
  .sub-footer h2{font-size:clamp(48px,14vw,96px);margin:30px 0}
  .sub-footer-bottom{flex-direction:column;gap:12px;margin-top:30px}
  .directory-heading{font-size:clamp(36px,10vw,60px);margin:30px 0}
  .catalog-card{min-height:0;padding:24px 44px 24px 0}
  .catalog-card h3{font-size:28px;margin:14px 0 10px}
  .editorial-grid{grid-template-columns:1fr;gap:36px;margin-top:30px}
  .detail-photo{height:auto;aspect-ratio:4/3}
  .review-rating{flex-direction:column;align-items:flex-start;gap:14px;margin:28px 0}
  .review-rating>strong{font-size:96px}
  .review-rating h2{font-size:30px}
  .review-grid{grid-template-columns:1fr 1fr;gap:26px}
  .review-card>p:not(.eyebrow){min-height:0}
}

/* ---------- Телефон ---------- */
@media (max-width:600px){
  .screen{padding:32px 20px}
  .header{padding:14px 20px 0}
  .hero{padding:112px 20px 28px}
  .phone-stage{margin-bottom:-270px;transform:translateX(-50%) scale(.55)}
  .model-results{grid-template-columns:1fr}
  .work-image{height:280px}
  .footer-details{grid-template-columns:1fr}
  .site-directory{grid-template-columns:1fr;gap:26px;margin:34px 0}
  .catalog-grid{grid-template-columns:1fr}
  .review-grid{grid-template-columns:1fr}
  .fault-options{grid-template-columns:1fr}
  .legal-page{padding-top:28px}
  .legal-doc p{font-size:14px}
}
@media (max-width:380px){
  .header nav{font-size:12px}
  .phone-stage{margin-bottom:-300px;transform:translateX(-50%) scale(.5)}
}
.legal-page .breadcrumb{color:#6b7a90}
.legal-page .breadcrumb a:hover{color:#006bea}
