@media (max-width: 1120px) {
  .header__contacts { display: none; }
  .header__desktop { grid-template-columns: 1fr auto; }
  .header__meta { display: none; }
  .card-grid, .project-grid { grid-template-columns: repeat(2, 1fr); }
  .material-grid { grid-template-columns: repeat(2, 1fr); }
  .advantage-grid, .live-grid { grid-template-columns: repeat(2, 1fr); }
  .material-showcase { grid-template-columns: repeat(3, 1fr); }
  .direction-card { grid-template-columns: 1fr; }
  .team-grid, .quality-timeline { grid-template-columns: repeat(2, 1fr); }
  .equipment-spec { grid-template-columns: 280px 1fr; }
  .service-filter { grid-template-columns: 1fr 1fr; }
  .service-catalog-card { grid-template-columns: 300px 1fr; }
  .application-grid, .process-grid { grid-template-columns: repeat(2, 1fr); }
  .tech-compare { grid-template-columns: 1fr; }
  body[data-page="home"] .site-header .header__meta { display: none; }
  body[data-page="home"] .home-hero__grid { grid-template-columns: minmax(390px, .95fr) minmax(360px, 1.05fr); }
  body[data-page="home"] .trust-strip__grid { grid-template-columns: repeat(3, 1fr); }
  body[data-page="home"] .trust-strip__item { border-bottom: 1px solid var(--line); }
  body[data-page="home"] .trust-strip__item:nth-child(3n) { border-right: 0; }
  body[data-page="home"] .trust-strip--premium .trust-strip__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body[data-page="home"] .trust-strip--premium .trust-strip__item { border-bottom: 1px solid rgba(203,213,225,.72); }
  body[data-page="home"] .trust-strip--premium .trust-strip__item:nth-child(3n) { border-right: 0; }
  .production-timeline { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .production-step { border-bottom: 1px solid rgba(255,255,255,.14); }
  .production-step:nth-child(3n) { border-right: 0; }
  .production-step::after { display: none; }
  .home-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .document-grid { grid-template-columns: 1fr; }
  body[data-page="home"] .material-showcase { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  body[data-page="home"] .material-showcase--engineering { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  body[data-page="home"] .projects-magazine { grid-template-columns: 1fr; }
  body[data-page="home"] .project-stack { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body[data-page="home"] .project-teaser { min-height: 280px; }
  body[data-page="home"] .certificate-grid--home { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-page="home"] .calc-tool,
  body[data-page="home"] .catalog-cta,
  body[data-page="home"] .contacts-compact { grid-template-columns: 1fr; }
  body[data-page="home"] .catalog-cta--compact { grid-template-columns: 1fr 1fr; }
  body[data-page="home"] .catalog-banner {
    grid-template-columns: 50% 50%;
    max-width: calc(100% - 36px);
  }
  body[data-page="home"] .catalog-book img { width: min(100%, 500px); }
  body[data-page="home"] .catalog-banner .catalog-form {
    padding-right: 30px;
  }
  body[data-page="home"] .catalog-cta__media { min-height: 230px; }
}
@media (max-width: 860px) {
  :root { --container: min(100% - 32px, 720px); }
  .section { padding: clamp(64px, 14vw, 96px) 0; }
  .section-head { margin-bottom: 28px; }
  h1 { font-size: clamp(40px, 12vw, 62px); }
  h2 { font-size: clamp(30px, 9vw, 44px); }
  .header__inner { height: 72px; gap: 12px; }
  .site-header.is-scrolled .header__inner { height: 68px; }
  .logo { font-size: 15px; }
  .logo img { width: auto; height: 40px; max-width: 54px; }
  .header__desktop { display: none; }
  .menu-toggle { display: block; margin-left: auto; }
  .mobile-menu__actions { flex-direction: column; }
  .mobile-menu__actions .btn { width: 100%; }
  .mobile-menu {
    top: 82px;
    right: 14px;
    left: 14px;
    min-width: auto;
    width: auto;
    max-height: calc(100vh - 96px);
    overflow: auto;
  }
  .nav {
    position: fixed;
    inset: 68px 0 auto;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 16px;
    background: var(--white);
    border-bottom: 1px solid var(--line);
    box-shadow: var(--shadow);
  }
  .nav.is-open { display: flex; }
  .nav a { padding: 14px; border-radius: var(--radius); }
  .nav a:hover { background: var(--soft); }
  .hero, .page-hero { min-height: auto; padding: 112px 0 54px; }
  .hero__grid, .page-hero__grid, .home-hero__grid, .about-hero__grid, .catalog-hero__grid, .service-detail-hero__grid, .service-intro, .story-grid, .mission-grid, .production-deep__grid, .split, .calc-layout, .contact-layout, .catalog-panel { grid-template-columns: 1fr; }
  .home-hero { min-height: auto; padding-top: 104px; }
  .about-hero { min-height: auto; padding-top: 104px; }
  .service-detail-hero { min-height: auto; padding-top: 104px; }
  .hero-badge { position: static; margin-top: 12px; }
  .stats-grid, .trust-strip__grid { grid-template-columns: repeat(2, 1fr); }
  .footer__grid { grid-template-columns: 1fr 1fr; }
  .footer__subscribe form { display: grid; }
  .footer__subscribe input { width: 100%; min-width: 0; }
  .cta-panel__inner { align-items: flex-start; flex-direction: column; }
  .logo-row { grid-template-columns: repeat(2, 1fr); }
  .direction-grid, .production-gallery, .certificate-grid { grid-template-columns: 1fr; }
  .production-gallery--wide { grid-template-columns: 1fr; }
  .equipment-spec { grid-template-columns: 1fr; }
  .vacancy-grid { grid-template-columns: 1fr; }
  .service-filter, .service-catalog-card, .service-catalog-card dl { grid-template-columns: 1fr; }
  .service-detail-facts, .service-intro__images { grid-template-columns: 1fr; }
  .service-intro__images img:nth-child(2) { margin-top: 0; }
  .service-catalog-card > img { min-height: 220px; }
  .catalog-toolbar { align-items: flex-start; flex-direction: column; }
  .production-gallery__large { grid-row: auto; }
  .production-note { align-items: flex-start; flex-direction: column; }
  .home-slide { grid-template-columns: 1fr; align-content: start; }
  .home-slider { grid-template-columns: 1fr; }
  .slider-btn { display: none; }
  .home-slider__track { min-height: 620px; }
  body[data-page="home"] .site-header .mobile-menu {
    background: rgba(255,255,255,.98);
    color: var(--navy);
    border-color: rgba(11,31,58,.12);
  }
  body[data-page="home"] .site-header .mobile-menu__nav a,
  body[data-page="home"] .site-header .mobile-menu__contacts a {
    color: var(--navy);
    border-bottom-color: rgba(11,31,58,.1);
  }
  body[data-page="home"] .site-header .mobile-menu__contacts { color: var(--muted); }
  body[data-page="home"] .home-hero {
    min-height: auto;
    padding: 88px 0 0;
  }
  body[data-page="home"] .home-hero__grid {
    min-height: auto;
    gap: 0;
    grid-template-columns: 1fr;
  }
  body[data-page="home"] .home-hero__content {
    padding: 64px 0 40px;
  }
  body[data-page="home"] .home-hero h1 {
    max-width: 720px;
    font-size: clamp(42px, 9vw, 64px);
  }
  body[data-page="home"] .home-hero__visual {
    min-height: 340px;
    margin: 0 calc(50% - 50vw);
  }
  body[data-page="home"] .trust-strip__grid { grid-template-columns: 1fr 1fr; }
  body[data-page="home"] .trust-strip__item,
  body[data-page="home"] .trust-strip__item:nth-child(3n) {
    border-right: 1px solid var(--line);
  }
  body[data-page="home"] .trust-strip__item:nth-child(2n) { border-right: 0; }
  body[data-page="home"] .trust-strip--premium .trust-strip__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-page="home"] .trust-strip--premium .trust-strip__item,
  body[data-page="home"] .trust-strip--premium .trust-strip__item:nth-child(3n) { border-right: 1px solid rgba(203,213,225,.72); }
  body[data-page="home"] .trust-strip--premium .trust-strip__item:nth-child(2n) { border-right: 0; }
  body[data-page="home"] .direction-card img { height: 230px; }
  body[data-page="home"] .about-home .split { grid-template-columns: 1fr; }
  .production-timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .production-step:nth-child(3n) { border-right: 1px solid rgba(255,255,255,.14); }
  .production-step:nth-child(2n) { border-right: 0; }
  .material-showcase { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .live-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-page="home"] .material-showcase,
  body[data-page="home"] .material-showcase--engineering,
  body[data-page="home"] .project-stack,
  body[data-page="home"] .certificate-grid--home { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-page="home"] .review-slider--premium {
    grid-template-columns: 1fr;
  }
  body[data-page="home"] .review-slider__arrow {
    display: none;
  }
  body[data-page="home"] .review-slider--premium .review-card,
  body[data-page="home"] .review-slider--premium .review-card.is-prev,
  body[data-page="home"] .review-slider--premium .review-card.is-next {
    width: 100%;
    transform: translateX(-50%) scale(.96);
  }
  body[data-page="home"] .review-slider--premium .review-card.is-active {
    transform: translateX(-50%) scale(1);
  }
  body[data-page="home"] .catalog-cta--compact { grid-template-columns: 1fr; }
  body[data-page="home"] .catalog-banner {
    grid-template-columns: 1fr;
    min-height: auto;
    padding: 0 32px 38px;
  }
  body[data-page="home"] .catalog-book { justify-self: center; }
  body[data-page="home"] .catalog-book img { width: min(82vw, 420px); }
  body[data-page="home"] .catalog-banner .catalog-form {
    max-width: none;
    padding: 0;
  }
  body[data-page="home"] .catalog-cta__content { max-width: none; }
  body[data-page="home"] .contacts-compact--premium {
    grid-template-columns: 1fr;
  }
  body[data-page="home"] .contacts-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  body[data-page="home"] .project-feature { min-height: 460px; }
  body[data-page="home"] .calc-tool__form { grid-template-columns: 1fr; }
  body[data-page="home"] .projects-preview__head {
    align-items: flex-start;
    flex-direction: column;
  }
}
@media (max-width: 560px) {
  .card-grid, .project-grid, .stats-grid, .trust-strip__grid, .material-grid, .advantage-grid, .live-grid, .material-showcase, .team-grid, .quality-timeline, .application-grid, .process-grid, .footer__grid, .logo-row { grid-template-columns: 1fr; }
  .hero__actions, .btn { width: 100%; }
  .btn { min-height: 50px; padding-inline: 16px; }
  .btn--sm { min-height: 44px; }
  .form, .calculator, .calc-result, .contact-card, .modal-card { padding: 20px; }
  .footer__bottom { flex-direction: column; }
  .timeline div, .feature-list div { grid-template-columns: 1fr; }
  .home-slider__track { min-height: 680px; }
  .review-slider { min-height: 430px; }
  .production-gallery figure { min-height: 220px; }
  body[data-page="home"] .home-hero h1 {
    font-size: clamp(34px, 11vw, 48px);
    line-height: 1.06;
  }
  body[data-page="home"] .home-hero .lead { font-size: 16px; }
  body[data-page="home"] .home-hero .hero__actions { align-items: stretch; }
  body[data-page="home"] .home-hero .btn { min-width: 0; }
  body[data-page="home"] .home-hero__visual { min-height: 260px; }
  body[data-page="home"] .home-hero__slider { grid-template-columns: auto 56px auto; }
  body[data-page="home"] .trust-strip__grid { grid-template-columns: 1fr; }
  body[data-page="home"] .trust-strip__item,
  body[data-page="home"] .trust-strip__item:nth-child(2n),
  body[data-page="home"] .trust-strip__item:nth-child(3n) {
    border-right: 0;
  }
  body[data-page="home"] .trust-strip--premium .trust-strip__grid { grid-template-columns: 1fr; }
  body[data-page="home"] .trust-strip--premium .trust-strip__item,
  body[data-page="home"] .trust-strip--premium .trust-strip__item:nth-child(2n),
  body[data-page="home"] .trust-strip--premium .trust-strip__item:nth-child(3n) {
    min-height: 104px;
    padding: 22px 18px;
    border-right: 0;
  }
  body[data-page="home"] .direction-card div { padding: 24px; }
  body[data-page="home"] .direction-card img { height: 190px; }
  body[data-page="home"] .about-home .image-panel img { min-height: 230px; }
  .production-timeline,
  .home-card-grid,
  .document-grid,
  .live-grid { grid-template-columns: 1fr; }
  .production-step,
  .production-step:nth-child(2n),
  .production-step:nth-child(3n) {
    min-height: auto;
    border-right: 0;
  }
  .production-step i { margin: 22px 0 20px; }
  .document-card { grid-template-columns: 76px 1fr; padding: 18px; }
  .document-card img { width: 76px; }
  .home-card-grid .service-card > img,
  .home-card-grid .product-card > img { height: 190px; }
  body[data-page="home"] .material-showcase,
  body[data-page="home"] .material-showcase--engineering,
  body[data-page="home"] .project-stack,
  body[data-page="home"] .certificate-grid--home { grid-template-columns: 1fr; }
  body[data-page="home"] .project-feature,
  body[data-page="home"] .project-teaser { min-height: 340px; }
  body[data-page="home"] .project-feature div,
  body[data-page="home"] .project-teaser div {
    left: 18px;
    right: 18px;
    bottom: 18px;
  }
  body[data-page="home"] .review-slider { min-height: 430px; }
  body[data-page="home"] .review-slider__viewport { min-height: 500px; }
  body[data-page="home"] .review-slider--premium .review-card { padding: 24px; }
  body[data-page="home"] .material-showcase--engineering { grid-template-columns: 1fr 1fr; }
  body[data-page="home"] .catalog-cta__media { min-height: 190px; }
  body[data-page="home"] .catalog-cta,
  body[data-page="home"] .contacts-compact__info { padding: 22px; }
  body[data-page="home"] .catalog-banner {
    max-width: calc(100% - 28px);
    padding: 0 18px 24px;
    border-radius: 12px;
  }
  body[data-page="home"] .catalog-book img { width: min(86vw, 320px); }
  body[data-page="home"] .catalog-banner .catalog-form h2 {
    margin-bottom: 22px;
    font-size: 28px;
  }
  body[data-page="home"] .catalog-banner .catalog-cta__form input[type="text"],
  body[data-page="home"] .catalog-banner .catalog-cta__form input[type="tel"],
  body[data-page="home"] .catalog-banner .catalog-cta__form input[type="email"],
  body[data-page="home"] .catalog-banner .catalog-cta__form input:not([type]) {
    height: 54px;
    min-height: 54px;
    margin-bottom: 12px;
    padding-inline: 16px;
    font-size: 16px;
  }
  body[data-page="home"] .catalog-banner .catalog-cta__form .check {
    align-items: flex-start;
    margin: 6px 0 20px;
    font-size: 13px;
  }
  body[data-page="home"] .catalog-banner .catalog-cta__form .btn {
    height: 58px;
    min-height: 58px;
    font-size: 18px;
  }
  body[data-page="home"] .catalog-cta--compact { min-height: auto; }
  body[data-page="home"] .catalog-cta__form input { min-height: 52px; }
  body[data-page="home"] .catalog-cta__form .btn { min-height: 56px; }
  body[data-page="home"] .contacts-compact dl div { grid-template-columns: 1fr; gap: 6px; }
  body[data-page="home"] .contacts-compact--premium {
    padding: 18px;
  }
  body[data-page="home"] .contacts-compact--premium .contacts-compact__info {
    padding: 0;
  }
  body[data-page="home"] .contacts-list div {
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 12px;
  }
  body[data-page="home"] .contacts-list__icon {
    width: 40px;
    height: 40px;
  }
  body[data-page="home"] .contacts-compact__map img { min-height: 240px; }
  body[data-page="home"] .contacts-grid {
    grid-template-columns: 1fr;
  }
  body[data-page="home"] .contacts-map {
    height: 220px;
  }
}

@media (max-width: 1120px) {
  body[data-page="home"] .home-contacts-panel__card { grid-template-columns: minmax(300px, .4fr) minmax(0, .6fr); }
  body[data-page="home"] .home-catalog-card { padding: 32px 26px; }
  body[data-page="home"] .home-catalog-card__form { grid-template-columns: 1fr; }
  body[data-page="home"] .home-catalog-card__form .btn { grid-column: 1; justify-self: stretch; width: 100%; }
  body[data-page="home"] .home-contacts-panel__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body[data-page="home"] .home-contacts-panel .home-contact-card:nth-child(3n) { border-right: 0; }
  body[data-page="home"] .home-contacts-panel .home-contact-card:nth-child(4),
  body[data-page="home"] .home-contacts-panel .home-contact-card:nth-child(5) { border-top: 1px solid #e7edf3; }
}

@media (max-width: 860px) {
  body[data-page="home"] .home-contacts-panel { padding-block: 36px; }
  body[data-page="home"] .home-contacts-panel__card { grid-template-columns: 1fr; max-width: var(--container); }
  body[data-page="home"] .home-catalog-card { min-height: auto; padding: 32px; }
  body[data-page="home"] .home-catalog-card__form { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body[data-page="home"] .home-catalog-card__form .btn { grid-column: 2 / 4; justify-self: end; width: auto; }
  body[data-page="home"] .home-contacts-panel__list { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  body[data-page="home"] .home-contacts-panel .home-contact-card,
  body[data-page="home"] .home-contacts-panel .home-contact-card:nth-child(4),
  body[data-page="home"] .home-contacts-panel .home-contact-card:nth-child(5) { border-top: 0; }
  body[data-page="home"] .home-contacts-panel .home-contact-card:nth-child(3n) { border-right: 1px solid #e7edf3; }
  body[data-page="home"] .home-contacts-panel .home-contact-card:last-child { border-right: 0; }
}

@media (max-width: 640px) {
  body[data-page="home"] .home-contacts-panel__card { border-radius: 10px; }
  body[data-page="home"] .home-catalog-card { padding: 28px 22px; }
  body[data-page="home"] .home-catalog-card h2 { font-size: 27px; }
  body[data-page="home"] .home-catalog-card__form { grid-template-columns: 1fr; }
  body[data-page="home"] .home-catalog-card__form .btn { grid-column: 1; justify-self: stretch; width: 100%; }
  body[data-page="home"] .home-contacts-panel__content { padding: 20px 0 0; }
  body[data-page="home"] .home-contacts-panel__header { min-height: 154px; padding: 0 20px; }
  body[data-page="home"] .home-contacts-panel__photo::after { background: linear-gradient(90deg, rgba(255, 255, 255, .96), rgba(255, 255, 255, .35)); }
  body[data-page="home"] .home-contacts-panel__list { grid-template-columns: 1fr 1fr; margin-top: 18px; }
  body[data-page="home"] .home-contacts-panel .home-contact-card,
  body[data-page="home"] .home-contacts-panel .home-contact-card:nth-child(3n) { min-height: 124px; padding: 20px; border-right: 1px solid #e7edf3; border-top: 1px solid #e7edf3; }
  body[data-page="home"] .home-contacts-panel .home-contact-card:nth-child(1),
  body[data-page="home"] .home-contacts-panel .home-contact-card:nth-child(2) { border-top: 0; }
  body[data-page="home"] .home-contacts-panel .home-contact-card:nth-child(2n) { border-right: 0; }
  body[data-page="home"] .home-contacts-panel .home-contact-card:last-child { grid-column: 1 / -1; border-right: 0; }
}

@media (max-width: 1120px) {
  body[data-page="home"] .trust-strip--premium .trust-strip__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body[data-page="home"] .trust-strip--premium .trust-strip__item {
    min-height: 96px;
    border-bottom: 1px solid rgba(203,213,225,.78);
  }
  body[data-page="home"] .trust-strip--premium .trust-strip__item:nth-child(3n) { border-right: 0; }
  body[data-page="home"] .trust-strip--cards .trust-strip__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body[data-page="home"] .trust-strip--cards .trust-strip__item,
  body[data-page="home"] .trust-strip--cards .trust-strip__item:nth-child(3n) {
    border: 1px solid rgba(203,213,225,.82);
  }
  body[data-page="home"] .hero-benefits__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body[data-page="home"] .materials-mini { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body[data-page="home"] .materials-mini__item:nth-child(3n) { border-right: 0; }
  body[data-page="home"] .materials-mini__item:nth-child(n+4) { border-top: 1px solid #E6ECF4; }
}
@media (max-width: 860px) {
  body[data-page="home"] .trust-strip--premium .trust-strip__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-page="home"] .trust-strip--premium .trust-strip__item,
  body[data-page="home"] .trust-strip--premium .trust-strip__item:nth-child(3n) {
    border-right: 1px solid rgba(203,213,225,.78);
  }
  body[data-page="home"] .trust-strip--premium .trust-strip__item:nth-child(2n) { border-right: 0; }
  body[data-page="home"] .trust-strip--cards .trust-strip__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-page="home"] .trust-strip--cards .trust-strip__item,
  body[data-page="home"] .trust-strip--cards .trust-strip__item:nth-child(2n),
  body[data-page="home"] .trust-strip--cards .trust-strip__item:nth-child(3n) {
    border: 1px solid rgba(203,213,225,.82);
  }
  body[data-page="home"] .hero-benefits__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-page="home"] .materials-mini { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-page="home"] .materials-mini__item:nth-child(3n) { border-right: 1px solid #E6ECF4; }
  body[data-page="home"] .materials-mini__item:nth-child(2n) { border-right: 0; }
  body[data-page="home"] .materials-mini__item:nth-child(n+3) { border-top: 1px solid #E6ECF4; }
}
@media (max-width: 560px) {
  body[data-page="home"] .trust-strip--premium .trust-strip__grid { grid-template-columns: 1fr; }
  body[data-page="home"] .trust-strip--premium .trust-strip__item,
  body[data-page="home"] .trust-strip--premium .trust-strip__item:nth-child(2n),
  body[data-page="home"] .trust-strip--premium .trust-strip__item:nth-child(3n) {
    min-height: 84px;
    padding: 18px 16px;
    border-right: 0;
  }
  body[data-page="home"] .trust-strip--cards .trust-strip__grid { grid-template-columns: 1fr; }
  body[data-page="home"] .trust-strip--cards .trust-strip__item,
  body[data-page="home"] .trust-strip--cards .trust-strip__item:nth-child(2n),
  body[data-page="home"] .trust-strip--cards .trust-strip__item:nth-child(3n) {
    min-height: 92px;
    padding: 16px;
    border: 1px solid rgba(203,213,225,.82);
  }
  body[data-page="home"] .hero-benefits__grid { grid-template-columns: 1fr; }
  body[data-page="home"] .hero-benefits__item {
    min-height: 92px;
    padding: 16px;
  }
  body[data-page="home"] .materials-mini__item {
    min-height: 172px;
    padding: 16px 10px 14px;
  }
  body[data-page="home"] .materials-mini__sample {
    width: 62px;
    height: 42px;
  }
}

/* Contact panel typography: readable data while preserving the existing layout and imagery. */
body[data-page="home"] .home-contacts-panel__eyebrow {
  color: #475569;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.35;
  letter-spacing: .08em;
}
body[data-page="home"] .home-contacts-panel__header h2 {
  font-size: clamp(38px, 2.8vw, 50px);
  line-height: 1.08;
}
body[data-page="home"] .home-contacts-panel .home-contact-card {
  min-height: 210px;
  padding: 24px 22px 20px;
}
body[data-page="home"] .home-contacts-panel .home-contact-card__head {
  margin-bottom: 14px;
}
body[data-page="home"] .home-contacts-panel .home-contact-card h3 {
  color: var(--navy);
  font-size: 20px;
  font-weight: 850;
  line-height: 1.25;
  letter-spacing: -.015em;
}
body[data-page="home"] .home-contacts-panel .home-contact-card p,
body[data-page="home"] .home-contacts-panel .home-contact-card a {
  color: #2F3A4A;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.55;
}

@media (max-width: 1120px) {
  body[data-page="home"] .home-contacts-panel__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  body[data-page="home"] .home-contacts-panel .home-contact-card:nth-child(3n) {
    border-right: 0;
  }
  body[data-page="home"] .home-contacts-panel .home-contact-card:nth-child(4),
  body[data-page="home"] .home-contacts-panel .home-contact-card:nth-child(5) {
    border-top: 1px solid #e7edf3;
  }
  body[data-page="home"] .home-contacts-panel .home-contact-card {
    min-height: 184px;
    padding: 22px 18px;
  }
  body[data-page="home"] .home-contacts-panel .home-contact-card h3 {
    font-size: 18px;
  }
  body[data-page="home"] .home-contacts-panel .home-contact-card p,
  body[data-page="home"] .home-contacts-panel .home-contact-card a {
    font-size: 17px;
  }
}

@media (max-width: 760px) {
  body[data-page="home"] .home-contacts-panel__header h2 {
    font-size: 36px;
  }
  body[data-page="home"] .home-contacts-panel__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body[data-page="home"] .home-contacts-panel .home-contact-card {
    min-height: 172px;
    padding: 20px;
    border-right: 1px solid #e7edf3;
    border-top: 1px solid #e7edf3;
  }
  body[data-page="home"] .home-contacts-panel .home-contact-card:nth-child(1),
  body[data-page="home"] .home-contacts-panel .home-contact-card:nth-child(2) {
    border-top: 0;
  }
  body[data-page="home"] .home-contacts-panel .home-contact-card:nth-child(2n) {
    border-right: 0;
  }
  body[data-page="home"] .home-contacts-panel .home-contact-card:last-child {
    grid-column: 1 / -1;
    border-right: 0;
  }
  body[data-page="home"] .home-contacts-panel .home-contact-card h3 {
    font-size: 18px;
  }
  body[data-page="home"] .home-contacts-panel .home-contact-card p,
  body[data-page="home"] .home-contacts-panel .home-contact-card a {
    font-size: 16px;
    line-height: 1.5;
  }
}

@media (max-width: 480px) {
  body[data-page="home"] .home-contacts-panel__eyebrow {
    font-size: 13px;
  }
  body[data-page="home"] .home-contacts-panel__header h2 {
    font-size: 34px;
  }
  body[data-page="home"] .home-contacts-panel__list {
    grid-template-columns: 1fr;
  }
  body[data-page="home"] .home-contacts-panel .home-contact-card,
  body[data-page="home"] .home-contacts-panel .home-contact-card:last-child {
    grid-column: auto;
    min-height: auto;
  }
}

/* Home hero: strict two-column desktop layout prevents text from entering the media column. */
@media (min-width: 1121px) {
  body[data-page="home"] .home-hero__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0;
  }
  body[data-page="home"] .home-hero__content {
    width: 100%;
    max-width: none;
    min-width: 0;
    box-sizing: border-box;
    padding-right: 64px;
  }
  body[data-page="home"] .home-hero h1 {
    width: 100%;
    max-width: 660px;
    margin-right: 0;
    overflow-wrap: normal;
    font-size: clamp(50px, 4.2vw, 66px);
  }
  body[data-page="home"] .home-hero__visual {
    min-width: 0;
    margin-right: 0;
    overflow: hidden;
  }
}

@media (min-width: 1121px) and (max-width: 1439px) {
  body[data-page="home"] .home-hero__content {
    padding-right: 40px;
  }
  body[data-page="home"] .home-hero h1 {
    font-size: clamp(46px, 4.2vw, 58px);
  }
}

/* Brand-yellow text accents. Blue remains available for focus rings, borders, and surfaces. */
.eyebrow,
.text-link,
.live-journal__meta,
.article-toc a.is-active,
.timeline b,
.feature-list b,
.calc-result span,
.direction-card span,
.material-reveal span,
.live-card time,
.production-step span,
.materials-section .material-reveal span,
.document-card span,
.team-card p,
.vacancy-card span,
body[data-page="home"] .project-feature span,
body[data-page="home"] .project-teaser span,
body[data-page="home"] .review-card span,
body[data-page="home"] .material-showcase--engineering .material-reveal span,
.review-card em {
  color: var(--yellow);
}

.nav a[aria-current="page"],
.nav a:hover,
a:not(.btn):hover,
a:not(.btn):active,
.text-link:hover,
.text-link:active,
.footer__links a:hover {
  color: var(--yellow);
}

/* Contact links are ordinary body content, not category labels: keep them legible on a white panel. */
body[data-page="home"] .home-contacts-panel .home-contact-card a:hover,
body[data-page="home"] .home-contacts-panel .home-contact-card a:active {
  color: var(--navy);
  text-decoration-color: var(--yellow);
}

@media (max-width: 1120px) {
  body[data-page="home"] .materials-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body[data-page="home"] .calc-tool--brief,
  body[data-page="home"] .contacts-final {
    grid-template-columns: 1fr;
  }
  body[data-page="home"] .calc-tool--brief .calc-tool__form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body[data-page="home"] .catalog-banner {
    grid-template-columns: minmax(260px, .82fr) minmax(380px, .95fr);
  }
  .site-footer .footer__grid--clean {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 860px) {
  body[data-page="home"] .about-home__image img {
    min-height: 300px;
  }
  body[data-page="home"] .material-card {
    grid-template-columns: 96px minmax(0, 1fr);
  }
  body[data-page="home"] .material-card__visual {
    height: 102px;
  }
  body[data-page="home"] .review-slider--premium .review-card {
    left: 0;
    width: 100%;
    transform: translateX(0) scale(.96);
  }
  body[data-page="home"] .review-slider--premium .review-card.is-active {
    transform: translateX(0) scale(1);
  }
  body[data-page="home"] .review-slider--premium .review-card.is-prev,
  body[data-page="home"] .review-slider--premium .review-card.is-next {
    opacity: 0;
  }
  body[data-page="home"] .certificate-card__preview {
    min-height: 230px;
  }
  body[data-page="home"] .catalog-banner {
    grid-template-columns: 1fr;
    max-width: calc(100% - 32px);
    min-height: auto;
    padding: 24px;
  }
  body[data-page="home"] .catalog-banner .catalog-form {
    max-width: none;
    padding: 0;
  }
  body[data-page="home"] .catalog-book {
    justify-self: center;
  }
  body[data-page="home"] .contacts-final__map img {
    min-height: 320px;
  }
}

@media (max-width: 560px) {
  body[data-page="home"] .about-home__copy .btn,
  body[data-page="home"] .contacts-final__actions .btn {
    width: 100%;
  }
  body[data-page="home"] .materials-grid {
    grid-template-columns: 1fr;
  }
  body[data-page="home"] .material-card {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  body[data-page="home"] .material-card__visual {
    height: 120px;
  }
  body[data-page="home"] .review-slider__viewport {
    min-height: 360px;
  }
  body[data-page="home"] .review-card__top {
    align-items: flex-start;
  }
  body[data-page="home"] .calc-tool--brief {
    padding: 22px;
    border-radius: 14px;
  }
  body[data-page="home"] .calc-tool--brief .calc-tool__form {
    grid-template-columns: 1fr;
  }
  body[data-page="home"] .calc-tool--brief .calc-tool__form .btn {
    grid-column: 1 / -1;
  }
  body[data-page="home"] .calc-tool--brief .mini-result {
    display: grid;
  }
  body[data-page="home"] .catalog-banner {
    max-width: calc(100% - 28px);
    padding: 18px;
  }
  body[data-page="home"] .contacts-final {
    padding: 22px;
    border-radius: 14px;
  }
  body[data-page="home"] .contacts-final__list div {
    grid-template-columns: 1fr;
    gap: 4px;
  }
  body[data-page="home"] .contacts-final__map img {
    min-height: 240px;
  }
  .site-footer .footer__grid--clean {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1120px) {
  body[data-page="home"] .catalog-banner {
    grid-template-columns: minmax(0, 1fr) minmax(180px, 260px);
    min-height: 300px;
  }
  body[data-page="home"] .catalog-banner .catalog-cta__form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body[data-page="home"] .catalog-banner .catalog-cta__form .btn {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 860px) {
  body[data-page="home"] .catalog-banner {
    grid-template-columns: 1fr;
    gap: 22px;
    max-width: var(--container);
    min-height: auto;
    padding: 26px;
  }
  body[data-page="home"] .catalog-banner .catalog-form {
    max-width: none;
    padding: 0;
  }
  body[data-page="home"] .catalog-banner .catalog-cta__form {
    grid-template-columns: 1fr;
  }
  body[data-page="home"] .catalog-banner .catalog-cta__form input[type="text"],
  body[data-page="home"] .catalog-banner .catalog-cta__form input[type="tel"],
  body[data-page="home"] .catalog-banner .catalog-cta__form input[type="email"],
  body[data-page="home"] .catalog-banner .catalog-cta__form input:not([type]) {
    height: 52px;
    min-height: 52px;
  }
  body[data-page="home"] .catalog-book {
    justify-self: start;
  }
  body[data-page="home"] .catalog-book img {
    width: min(58vw, 220px);
    max-height: 190px;
  }
}

@media (max-width: 560px) {
  body[data-page="home"] .catalog-section {
    padding-block: 30px;
  }
  body[data-page="home"] .catalog-banner {
    max-width: calc(100% - 28px);
    padding: 22px;
    border-radius: 14px;
  }
  body[data-page="home"] .catalog-banner .catalog-form h2 {
    font-size: 26px;
  }
  body[data-page="home"] .catalog-book {
    display: none;
  }
}

@media (max-width: 1120px) {
  body[data-page="home"] .catalog-banner {
    min-height: 0;
  }
  body[data-page="home"] .catalog-banner .catalog-form {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  body[data-page="home"] .catalog-banner .catalog-cta__form {
    grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  }
}

@media (max-width: 860px) {
  body[data-page="home"] .catalog-section {
    padding-block: 28px;
  }
  body[data-page="home"] .catalog-banner {
    max-width: var(--container);
    padding: 24px;
  }
  body[data-page="home"] .catalog-banner .catalog-cta__form {
    grid-template-columns: 1fr;
  }
  body[data-page="home"] .catalog-banner .catalog-cta__form input[type="text"],
  body[data-page="home"] .catalog-banner .catalog-cta__form input[type="tel"],
  body[data-page="home"] .catalog-banner .catalog-cta__form input[type="email"],
  body[data-page="home"] .catalog-banner .catalog-cta__form input:not([type]),
  body[data-page="home"] .catalog-banner .catalog-cta__form .btn {
    width: 100%;
    height: 48px;
    min-height: 48px;
  }
}

@media (max-width: 560px) {
  body[data-page="home"] .catalog-section {
    padding-block: 24px;
  }
  body[data-page="home"] .catalog-banner {
    max-width: calc(100% - 28px);
    padding: 20px;
    border-radius: 8px;
  }
  body[data-page="home"] .catalog-banner .catalog-form h2 {
    font-size: 24px;
  }
  body[data-page="home"] .catalog-form > p:not(.eyebrow) {
    font-size: 13px;
  }
}

@media (max-width: 1120px) {
  body[data-page="home"] .catalog-banner {
    grid-template-columns: minmax(130px, 210px) minmax(0, 1fr);
    min-height: 220px;
    max-width: calc(100% - 40px);
  }
  body[data-page="home"] .catalog-banner__media {
    margin-left: -64px;
  }
  body[data-page="home"] .catalog-banner__media img {
    width: min(300px, 30vw);
  }
  body[data-page="home"] .catalog-banner .catalog-form {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  body[data-page="home"] .contacts-home--stacked .contacts-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 860px) {
  body[data-page="home"] .catalog-banner {
    grid-template-columns: 1fr;
    min-height: 0;
    padding: 24px;
  }
  body[data-page="home"] .catalog-banner__media {
    display: none;
  }
  body[data-page="home"] .catalog-banner .catalog-cta__form {
    grid-template-columns: 1fr;
  }
  body[data-page="home"] .catalog-banner .catalog-cta__form input[type="text"],
  body[data-page="home"] .catalog-banner .catalog-cta__form input[type="tel"],
  body[data-page="home"] .catalog-banner .catalog-cta__form input[type="email"],
  body[data-page="home"] .catalog-banner .catalog-cta__form input:not([type]),
  body[data-page="home"] .catalog-banner .catalog-cta__form .btn {
    width: 100%;
    height: 48px;
    min-height: 48px;
  }
  body[data-page="home"] .contacts-home--stacked .contacts-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  body[data-page="home"] .catalog-section {
    padding-top: 24px;
  }
  body[data-page="home"] .catalog-banner {
    max-width: calc(100% - 28px);
    padding: 20px;
    border-radius: 8px;
  }
  body[data-page="home"] .catalog-banner .catalog-form h2 {
    font-size: 24px;
  }
  body[data-page="home"] .contacts-home--stacked {
    padding-block: 34px 48px;
  }
  body[data-page="home"] .contacts-home--stacked .contacts-map {
    height: 230px;
    border-radius: 10px;
  }
  body[data-page="home"] .contacts-home--stacked .contacts-grid {
    grid-template-columns: 1fr;
  }
  body[data-page="home"] .contacts-home--stacked .home-contact-card {
    min-height: auto;
  }
}

@media (max-width: 1120px) {
  body[data-page="home"] .estimate-section--studio .calc-tool--brief {
    grid-template-columns: 1fr;
  }
  body[data-page="home"] .catalog-section--studio .catalog-form {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  body[data-page="home"] .contacts-home--studio .contacts-final--stacked {
    grid-template-columns: 1fr;
  }
  body[data-page="home"] .contacts-home--studio .contacts-map {
    grid-column: 1;
    grid-row: auto;
    min-height: 320px;
  }
  body[data-page="home"] .contacts-home--studio .contacts-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  body[data-page="home"] .contacts-home--studio .home-contact-card:first-child {
    grid-column: auto;
  }
}

@media (max-width: 860px) {
  body[data-page="home"] .estimate-section--studio .calc-tool--brief {
    padding: 24px;
  }
  body[data-page="home"] .estimate-section--studio .calc-tool--brief .calc-tool__form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body[data-page="home"] .estimate-section--studio .calc-tool__form label,
  body[data-page="home"] .estimate-section--studio .mini-result,
  body[data-page="home"] .estimate-section--studio .calc-tool__form .btn {
    grid-column: span 1;
  }
  body[data-page="home"] .catalog-section--studio .catalog-cta__form {
    grid-template-columns: 1fr;
  }
  body[data-page="home"] .catalog-section--studio .catalog-cta__form input[type="text"],
  body[data-page="home"] .catalog-section--studio .catalog-cta__form input[type="tel"],
  body[data-page="home"] .catalog-section--studio .catalog-cta__form input[type="email"],
  body[data-page="home"] .catalog-section--studio .catalog-cta__form input:not([type]),
  body[data-page="home"] .catalog-section--studio .catalog-cta__form .btn {
    width: 100%;
    height: 48px;
    min-height: 48px;
  }
  body[data-page="home"] .contacts-home--studio .contacts-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  body[data-page="home"] .estimate-section--studio {
    padding-top: 34px;
  }
  body[data-page="home"] .estimate-section--studio .calc-tool--brief {
    max-width: calc(100% - 28px);
    padding: 20px;
    border-radius: 10px;
  }
  body[data-page="home"] .estimate-section--studio .calc-tool--brief .calc-tool__form {
    grid-template-columns: 1fr;
  }
  body[data-page="home"] .estimate-section--studio .calc-tool__form label,
  body[data-page="home"] .estimate-section--studio .mini-result,
  body[data-page="home"] .estimate-section--studio .calc-tool__form .btn {
    grid-column: 1 / -1;
  }
  body[data-page="home"] .catalog-section--studio .catalog-banner {
    max-width: calc(100% - 28px);
    padding: 18px;
  }
  body[data-page="home"] .contacts-home--studio .contacts-map {
    min-height: 230px;
  }
  body[data-page="home"] .contacts-home--studio .contacts-grid {
    grid-template-columns: 1fr;
  }
  body[data-page="home"] .contacts-home--studio .home-contact-card {
    min-height: auto;
  }
}

/* Wide desktop layer: expands visual composition while text and forms keep readable limits. */
@media (min-width: 1600px) {
  :root {
    --container: min(calc(100% - 80px), var(--container-xl));
  }

  /* Pages without the optional contact meta have two header children: center nav independently of CTA width. */
  .header__desktop:has(> .nav:first-child:nth-last-child(2)) {
    display: flex;
    position: relative;
    justify-content: flex-end;
  }
  .header__desktop > .nav:first-child:nth-last-child(2) {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
  }

  body[data-page="home"] .home-hero__grid {
    grid-template-columns: minmax(520px, .84fr) minmax(680px, 1.16fr);
    gap: clamp(48px, 4vw, 88px);
  }
  body[data-page="home"] .direction-card img {
    height: clamp(250px, 16vw, 320px);
  }
  body[data-page="home"] .about-home__image img {
    min-height: clamp(420px, 31vw, 560px);
  }
  body[data-page="home"] .projects-magazine {
    gap: clamp(22px, 2vw, 38px);
  }
  body[data-page="home"] .project-feature {
    min-height: clamp(560px, 34vw, 680px);
  }
  body[data-page="home"] .calc-tool--brief {
    grid-template-columns: minmax(380px, .74fr) minmax(0, 1.26fr);
    gap: clamp(40px, 5vw, 88px);
  }
  body[data-page="home"] .calc-tool--brief .calc-tool__form {
    width: 100%;
    max-width: 900px;
    justify-self: end;
  }
  body[data-page="home"] .home-contacts-panel__card {
    grid-template-columns: minmax(440px, 500px) minmax(0, 1fr);
  }
  .site-footer .footer__grid--clean {
    grid-template-columns: minmax(330px, 1.45fr) repeat(3, minmax(190px, 1fr));
    gap: clamp(32px, 3.5vw, 68px);
  }
}

@media (min-width: 1920px) {
  :root {
    --container: min(calc(100% - 112px), var(--container-wide));
  }

  body[data-page="home"] .materials-grid,
  body[data-page="home"] .certificate-grid--home {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  body[data-page="home"] .materials-grid {
    gap: clamp(18px, 1.5vw, 28px);
  }
  body[data-page="home"] .certificate-grid--home {
    gap: clamp(20px, 1.7vw, 30px);
  }
  body[data-page="home"] .home-contacts-panel__card {
    grid-template-columns: minmax(460px, 520px) minmax(0, 1fr);
  }
  body[data-page="home"] .home-contacts-panel__header {
    min-height: 204px;
  }
}

@media (min-width: 2400px) {
  :root {
    --container: min(calc(100% - 160px), var(--container-ultra));
  }

  body[data-page="home"] .home-hero__grid {
    grid-template-columns: minmax(560px, .8fr) minmax(800px, 1.2fr);
  }
  body[data-page="home"] .direction-card img {
    height: 360px;
  }
  body[data-page="home"] .project-feature {
    min-height: 720px;
  }
  body[data-page="home"] .home-contacts-panel__card {
    grid-template-columns: minmax(480px, 540px) minmax(0, 1fr);
  }
}

/* Targeted UI polish: keeps the existing layout while improving readability and control states. */
@media (min-width: 1121px) and (max-width: 1599px) {
  body[data-page="home"] .home-hero__grid {
    grid-template-columns: minmax(0, 540px) minmax(0, 1fr);
    gap: clamp(48px, 5vw, 76px);
  }
  body[data-page="home"] .home-hero__content,
  body[data-page="home"] .home-hero h1 {
    max-width: 540px;
  }
  body[data-page="home"] .home-hero h1 {
    font-size: clamp(46px, 4.6vw, 64px);
  }
  body[data-page="home"] .home-hero .lead {
    max-width: 520px;
  }
}

@media (min-width: 1600px) {
  body[data-page="home"] .home-hero__grid {
    grid-template-columns: minmax(0, 600px) minmax(0, 1fr);
    gap: clamp(64px, 5vw, 104px);
  }
  body[data-page="home"] .home-hero__content,
  body[data-page="home"] .home-hero h1 {
    max-width: 600px;
  }
  body[data-page="home"] .home-hero h1 {
    font-size: clamp(56px, 4.2vw, 72px);
  }
  body[data-page="home"] .home-hero .lead {
    max-width: 540px;
  }
}

/* Desktop hero media escapes the centered content container while the copy stays aligned to it. */
@media (min-width: 1121px) and (max-width: 1599px) {
body[data-page="home"] .home-hero__visual {
  position: absolute;
    inset: 0 calc(50% - 50vw) 0 calc(540px + clamp(48px, 5vw, 76px) - clamp(24px, 3vw, 48px));
    width: auto;
    margin: 0;
  }
}

/* Corporate footer responsive layout */
@media (max-width: 1120px) {
  .footer__top { grid-template-columns: 1fr 1fr; gap: 36px; }
  .footer__nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .site-footer .footer-main { padding-top: 52px; }
  .footer__top { grid-template-columns: 1fr; gap: 32px; }
  .footer__subscribe { padding: 22px; }
  .footer__subscribe .footer-form { flex-direction: column; }
  .footer__subscribe .btn { width: 100%; }
  .footer__nav { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 24px; margin-top: 40px; padding-top: 40px; }
  .footer__bottom { align-items: flex-start; margin-top: 40px; padding-bottom: 28px; }
}

@media (max-width: 480px) {
  .footer__brand > p, .footer__column a, .footer__column p, .footer__subscribe > p { font-size: 14px; }
  .footer__socials { gap: 8px; }
  .footer__nav { grid-template-columns: 1fr; gap: 30px; }
  .footer__bottom > div { flex-direction: column; gap: 8px; }
}

@media (min-width: 1600px) {
  body[data-page="home"] .home-hero__visual {
    position: absolute;
    inset: 0 calc(50% - 50vw) 0 calc(600px + clamp(64px, 5vw, 104px) - clamp(36px, 4.5vw, 86px));
    width: auto;
    margin: 0;
  }
}

/* One visual model for every "Рассчитать стоимость" trigger. */
.btn[data-modal="estimate"],
.btn[href*="calculators"],
body[data-page="home"] .home-hero .btn[data-modal="estimate"] {
  border: 1px solid rgba(255, 201, 40, .78);
  background: var(--yellow);
  color: #111827;
  box-shadow: none;
  transition: transform var(--transition), background var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition);
}
.btn[data-modal="estimate"]:hover,
.btn[href*="calculators"]:hover,
body[data-page="home"] .home-hero .btn[data-modal="estimate"]:hover {
  border-color: var(--color-brand-blue);
  background: transparent;
  color: var(--color-brand-blue);
  box-shadow: 0 8px 22px rgba(0, 99, 246, .14);
}
.btn[data-modal="estimate"]:active,
.btn[href*="calculators"]:active,
body[data-page="home"] .home-hero .btn[data-modal="estimate"]:active {
  background: rgba(0, 99, 246, .08);
  color: var(--color-brand-blue);
}

/* Stricter controls: no pill-shaped navigation or outline buttons. */
.site-header .nav a,
.mobile-menu__nav a {
  border-radius: var(--radius-control-sm);
}
.btn,
.btn--light,
.btn--ghost {
  border-radius: var(--radius-control);
}
.btn--sm {
  border-radius: var(--radius-control-sm);
}

/* Catalog request form: two practical columns instead of narrow three-field controls. */
body[data-page="home"] .home-catalog-card__form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
body[data-page="home"] .home-catalog-card__form label:nth-child(3) {
  grid-column: 1 / -1;
}
body[data-page="home"] .home-catalog-card__form input[type="text"],
body[data-page="home"] .home-catalog-card__form input[type="tel"],
body[data-page="home"] .home-catalog-card__form input[type="email"] {
  height: 48px;
  min-height: 48px;
  padding: 0 14px;
  border-color: rgba(255, 255, 255, .28);
  border-radius: 8px;
  background: rgba(255, 255, 255, .07);
  font-size: 13px;
}
body[data-page="home"] .home-catalog-card__form input::placeholder {
  color: rgba(255, 255, 255, .74);
}
body[data-page="home"] .home-catalog-card__form input:focus {
  border-color: var(--color-brand-blue);
  box-shadow: 0 0 0 3px rgba(0, 99, 246, .22);
}
body[data-page="home"] .home-catalog-card__form .check {
  align-items: flex-start;
  gap: 10px;
  margin: 2px 0 4px;
  font-size: 12px;
  line-height: 1.4;
}
body[data-page="home"] .home-catalog-card__form .check input {
  width: 18px;
  height: 18px;
  margin-top: 1px;
  accent-color: var(--color-brand-blue);
}
body[data-page="home"] .home-catalog-card__form .btn {
  grid-column: 1 / -1;
  justify-self: stretch;
  width: 100%;
  min-height: 50px;
  border-radius: var(--radius-control-sm);
}

/* Compact, legible floating back-to-top control. */
.back-to-top {
  right: 28px;
  bottom: 28px;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(0, 99, 246, .46);
  border-radius: var(--radius-control);
  background: rgba(7, 22, 42, .96);
  color: #fff;
  box-shadow: 0 12px 28px rgba(4, 13, 28, .22);
  transition: opacity var(--transition), transform var(--transition), background var(--transition), color var(--transition), border-color var(--transition), box-shadow var(--transition);
}
.back-to-top span {
  display: block;
  font-size: 25px;
  font-weight: 500;
  line-height: 1;
  transform: translateY(1px);
}
.back-to-top:hover {
  border-color: var(--color-brand-blue);
  background: #fff;
  color: var(--color-brand-blue);
  box-shadow: 0 12px 28px rgba(0, 99, 246, .18);
}
.back-to-top:active {
  transform: translateY(0) scale(.96);
}

@media (max-width: 767px) {
  body[data-page="home"] { overflow-x: clip; }

  body[data-page="home"] .home-hero {
    min-height: 0;
    padding: 72px 0 0;
    background: #07162a;
  }
  body[data-page="home"] .home-hero__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    min-width: 0;
  }
  body[data-page="home"] .home-hero__content {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    padding: 50px 0 clamp(146px, 37vw, 184px);
  }
  body[data-page="home"] .home-hero h1 {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 14px 0 0;
    box-sizing: border-box;
    font-size: clamp(32px, 9.2vw, 42px);
    line-height: 1.05;
    overflow-wrap: anywhere;
    word-break: normal;
    text-wrap: balance;
    transform: none;
  }
  body[data-page="home"] .home-hero .lead {
    max-width: 100%;
    margin-top: 18px;
    font-size: 15px;
    line-height: 1.55;
  }
  body[data-page="home"] .home-hero .hero__actions {
    gap: 10px;
    margin-top: 24px;
  }
  body[data-page="home"] .home-hero .btn {
    width: 100%;
    min-width: 0;
  }
  body[data-page="home"] .home-hero__slider {
    margin-top: 28px;
  }

  body[data-page="home"] .hero-benefits { padding: 12px 0; }
  body[data-page="home"] .hero-benefits__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 1fr;
    gap: 10px;
  }
  body[data-page="home"] .hero-benefits__item {
    grid-template-columns: 1fr;
    align-content: start;
    min-height: 142px;
    padding: 14px;
  }
  body[data-page="home"] .hero-benefits__item img { width: 30px; height: 30px; }
  body[data-page="home"] .hero-benefits__item h3 { font-size: 12px; line-height: 1.2; }
  body[data-page="home"] .hero-benefits__item p { font-size: 11px; line-height: 1.35; }

  body[data-page="home"] .about-home__copy > .btn { display: none; }
  body[data-page="home"] .about-home__action {
    display: inline-flex;
    width: 100%;
    margin-top: 2px;
  }
  body[data-page="home"] .about-home__image { order: 0; }
  body[data-page="home"] .about-home__inner { gap: 20px; }

  body[data-page="home"] .materials-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 1fr;
    gap: 10px;
  }
  body[data-page="home"] .material-card {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
    gap: 10px;
    min-height: 0;
    padding: 12px;
  }
  body[data-page="home"] .material-card__visual { height: 78px; }
  body[data-page="home"] .material-card__body { display: flex; flex-direction: column; min-width: 0; }
  body[data-page="home"] .material-card h3 { margin-bottom: 8px; font-size: 15px; overflow-wrap: anywhere; }
  body[data-page="home"] .material-card ul { gap: 5px; margin-bottom: 10px; }
  body[data-page="home"] .material-card li { padding: 4px 6px; font-size: 10px; }
  body[data-page="home"] .material-card p { font-size: 12px; line-height: 1.42; }

  body[data-page="home"] .projects-preview__head > .text-link { display: none; }
  body[data-page="home"] .projects-preview__mobile-action {
    display: flex;
    margin-top: 18px;
  }
  body[data-page="home"] .projects-preview__mobile-action .btn { width: 100%; }

  body[data-page="home"] .review-slider--premium {
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    gap: 8px;
    align-items: center;
    min-height: 0;
  }
  body[data-page="home"] .review-slider__viewport {
    grid-column: 1 / -1;
    grid-row: 1;
    min-height: 380px;
    overflow: hidden;
  }
  body[data-page="home"] .review-slider--premium .review-card,
  body[data-page="home"] .review-slider--premium .review-card.is-prev,
  body[data-page="home"] .review-slider--premium .review-card.is-next {
    left: 0;
    width: 100%;
    padding: 20px;
    transform: translateX(0) scale(.98);
  }
  body[data-page="home"] .review-slider--premium .review-card.is-active { transform: translateX(0) scale(1); }
  body[data-page="home"] .review-slider--premium .review-card p { font-size: 18px; line-height: 1.45; }
  body[data-page="home"] .review-slider--premium .review-card mark { padding: 0; color: inherit; background: transparent; }
  body[data-page="home"] .review-slider__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin: 0;
    border-radius: 10px;
    font-size: 26px;
  }
  body[data-page="home"] [data-review-prev] { grid-column: 1; grid-row: 2; }
  body[data-page="home"] [data-review-next] { grid-column: 3; grid-row: 2; }
  body[data-page="home"] .review-slider__dots {
    grid-column: 2;
    grid-row: 2;
    gap: 0;
  }
  body[data-page="home"] .review-slider__dots button {
    position: relative;
    width: 44px;
    height: 44px;
    background: transparent;
  }
  body[data-page="home"] .review-slider__dots button::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #94a3b8;
    transform: translate(-50%, -50%);
  }
  body[data-page="home"] .review-slider__dots button.is-active { background: transparent; }
  body[data-page="home"] .review-slider__dots button.is-active::after { width: 10px; height: 10px; background: var(--yellow); }

  body[data-page="home"] .certificate-grid--home {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 1fr;
    gap: 10px;
    padding: 0;
  }
  body[data-page="home"] .certificate-grid--home .certificate-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-width: 0;
    padding: 10px;
  }
  body[data-page="home"] .certificate-card__preview {
    min-height: 132px;
    padding: 8px;
  }
  body[data-page="home"] .certificate-card__preview img {
    width: 100%;
    height: 112px;
    max-height: none;
    border-width: 3px;
    object-fit: contain;
    object-position: center;
  }
  body[data-page="home"] .certificate-grid--home figcaption { gap: 6px; margin-top: 10px; }
  body[data-page="home"] .certificate-grid--home figcaption strong { font-size: 12px; line-height: 1.25; }
  body[data-page="home"] .certificate-grid--home figcaption span { min-height: 0; font-size: 11px; line-height: 1.35; }
  body[data-page="home"] .certificate-card__download { font-size: 11px; }
}

@media (max-width: 640px) {
  body[data-page="home"] .home-catalog-card__form {
    grid-template-columns: 1fr;
  }
  body[data-page="home"] .home-catalog-card__form label:nth-child(3),
  body[data-page="home"] .home-catalog-card__form .btn {
    grid-column: 1;
  }
  .back-to-top {
    right: 16px;
    bottom: 16px;
    width: 44px;
    height: 44px;
  }
}

/* Keep the full navigation on one line; switch to the accessible menu before links or CTAs can collide. */
@media (min-width: 861px) and (max-width: 1180px) {
  .site-header .header__desktop { display: none !important; }
  .site-header .menu-toggle { display: inline-flex !important; flex-direction: column; justify-content: center; margin-left: auto; }
  .site-header .mobile-menu {
    top: 94px;
    right: 24px;
    width: min(360px, calc(100vw - 48px));
    max-height: calc(100vh - 112px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .site-header.is-scrolled .mobile-menu { top: 80px; }
}
