/* Homepage-only responsive corrections. Full HD layout remains the baseline. */
.home-industries-menu { display: contents; }
.home-page [id] { scroll-margin-top: 100px; }
.home-page .header .callback-btn { white-space: nowrap; flex-shrink: 0; }
.home-page .monitor.video-fallback .monitor-video { display: none; }
.home-page .monitor.video-fallback .monitor-poster { display: block; }
.home-page :is(summary,[tabindex]) { -webkit-tap-highlight-color: transparent; }
.home-page :is(summary,[tabindex]):focus { outline: 0; }
.home-page :is(a,button,summary):focus-visible { text-decoration: underline; text-underline-offset: 4px; }

@media (min-width: 981px) and (max-width: 1439px) {
  .home-page .nav { grid-template-columns: auto 1fr auto; gap: 20px; }
  .home-page .nav-links { justify-content: center; gap: 22px; }
  .home-page .nav-actions { gap: 12px; }
  .home-page .nav-links a { font-size: 18px; }
}
@media (min-width: 981px) and (max-width: 1100px) {
  .home-page .nav { gap: 14px; }
  .home-page .nav-links { gap: 16px; }
  .home-page .nav-actions { gap: 10px; }
  .home-page .header .callback-btn { padding-inline: 13px; }
  .home-page .header-phone { font-size: 15px; }
  .home-page .brand-copy strong { font-size: 17px; }
  .home-page .brand-copy small { font-size: 12px; }
}
@media (max-width: 1180px) {
  .home-page .hero { min-height: 0; }
  .home-page .hero-main { min-height: 0; gap: 28px; }
  .home-page .hero-visual { width: 100%; height: auto; aspect-ratio: 1.3; transform: none; margin: 0 auto; container-type: inline-size; }
  .home-page .monitor { left: 0; top: 12%; width: 94%; padding: 1%; border-radius: 3.5cqw; }
  .home-page .dashboard { aspect-ratio: 16 / 9; border-radius: 2.8cqw; }
  .home-page .dashboard > :is(.dash-header,.dash-layout) { visibility: hidden; }
  .home-page .monitor-video { display: block; }
  .home-page .monitor-video,.home-page .monitor-poster { inset: 1%; width: 98%; height: 98%; }
  .home-page .phone { left: 4%; top: 39%; width: 24%; height: auto; aspect-ratio: 170 / 335; padding: .85%; border-radius: 4cqw; }
  .home-page .phone-screen { padding: 0; border-radius: 3.2cqw; }
  .home-page .phone-screen > :not(video):not(img) { display: none; }
  .home-page .phone-video,.home-page .phone-poster { inset: 0; width: 100%; height: 100%; border-radius: inherit; }
  .home-page .phone-speaker { width: 5cqw; height: .55cqw; top: 1.3cqw; }
  .home-page .founder-image { right: 0; bottom: 0; width: 54%; height: 100%; }
  .home-page .hero-copy { padding-bottom: 0; }
  .home-page .hero-buttons .btn { font-size: 17px; padding-inline: 12px; }
}
@media (max-width: 1100px) {
  .home-page .steps-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .home-page .cases-heading-row { grid-template-columns: 1fr; gap: 0; }
  .home-page .cases-heading-row .section-heading { max-width: 100%; margin-bottom: 22px; }
  .home-page .cases-all-link { margin-bottom: 30px; justify-self: end; }
  .home-page .footer-main { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px 36px; align-items: start; }
  .home-page .footer-brand { grid-column: 1 / -1; }
  .home-page .footer-signature { margin-top: 22px; transform: none; gap: 16px; }
  .home-page .footer-documents,.home-page .footer-contact { grid-column: auto; }
  .home-page .footer-column { align-self: start; }
  .home-page .footer-contact-actions { max-width: 100%; }
  .home-page .demo-shell,.home-page .estimate-shell { gap: 36px; }
  .home-page .lead-form,.home-page .quiz-card { width: 100%; max-width: 760px; justify-self: center; min-width: 0; }
  .home-page .lead-form input,.home-page .quiz-card input { min-width: 0; max-width: 100%; }
}
@media (min-width: 761px) and (max-width: 980px) {
  .home-page .business-route { grid-template-columns: 1fr; padding: 0 0 0 28px; }
  .home-page .route-step { min-height: 125px; padding: 0 0 20px 70px; }
  .home-page .route-step b { position: absolute; left: -28px; top: 0; margin: 0; }
  .home-page .business-route .route-step::before,.home-page .business-route .route-step::after { left: 1px; right: auto; top: 60px; bottom: 0; width: 1px; height: auto; }
  .home-page .business-route .route-step::before { transform: scaleY(0); transform-origin: top; }
  .home-page .business-route.route-animated .route-step::before { transform: scaleY(1); }
  .home-page .route-step p { max-width: none; }
  .home-page .route-control { margin-left: -28px; grid-column: auto; grid-template-columns: 1fr; }
  .home-page .route-control div { flex-wrap: wrap; }
  .home-page .approach-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (min-width: 761px) and (max-width: 1100px) {
  .home-page .metrics { width: calc(100% - 96px); max-width: 880px; margin: 34px auto 28px; }
}
@media (max-width: 980px) {
  .home-page .hero-main { grid-template-columns: 1fr; }
  .home-page .hero-visual { max-width: 720px; }
  .home-page .hero-copy { max-width: none; }
  .home-page .hero { padding-top: 32px; }
  .home-page .header { max-height: 100dvh; overflow-y: auto; }
  .home-page .header.menu-open .nav-actions { display: grid; order: 5; width: 100%; grid-template-columns: 1fr; justify-items: start; gap: 18px; margin-top: -28px; padding: 16px 0; }
  .home-page .header.menu-open .header-phone { grid-column: 1; grid-row: 1; }
  .home-page .header.menu-open .callback-btn { grid-column: 1; grid-row: 2; }
  .home-page .header.menu-open .messengers { display: flex; grid-column: 1; grid-row: 3; justify-self: start; }
  .home-page .header.menu-open .home-industries-menu { display: block; width: 100%; }
  .home-page .header.menu-open #home-industries-links:not([hidden]) { display: grid; gap: 4px; padding-bottom: 8px; }
  .home-page .header.menu-open #home-industries-links a { border: 0; font-size: 17px; padding: 10px 0; }
  .home-page .home-industries-trigger { display: flex; justify-content: space-between; align-items: center; }
  .home-page .home-industries-trigger::before { content: none; }
  .home-page .home-industries-trigger[aria-expanded] { text-decoration: none; }
  .home-page .home-industries-trigger[aria-expanded]::after { content: '+' !important; display: block !important; position: static; width: auto; height: auto; background: none; }
  .home-page .home-industries-trigger[aria-expanded="true"]::after { content: '−' !important; }
}
@media (min-width: 761px) and (max-width: 980px) {
  .home-page .hero { padding-top: 48px; }
  .home-page .hero-main { gap: 12px; }
}
@media (max-width: 760px) {
  .home-page .hero { padding-top: 36px; }
  .home-page .hero-main { width: calc(100% - 32px); }
  .home-page .hero-copy { order: 2; }
  .home-page .hero-visual { order: 1; }
  .home-page .hero h1 { font-size: clamp(30px,7.7vw,42px); letter-spacing: -1px; line-height: 1.12; }
  .home-page .hero h1 br { display: none; }
  .home-page .hero-lead { font-size: 17px; margin: 20px 0 24px; }
  .home-page .hero-buttons { flex-direction: column; }
  .home-page .hero-buttons .btn { flex: none; font-size: 18px; }
  .home-page .hero-visual { margin-top: 4px; }
  .home-page .metrics { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 24px; }
  .home-page .metric-card { min-width: 0; min-height: 84px; padding: 12px 8px; }
  .home-page .metric-card strong { font-size: 14px; white-space: normal; }
  .home-page .metric-card small { font-size: 12px; line-height: 1.25; }
  /* Circles sit 8px above each step: connect their edges, not step boxes. */
  .home-page .business-route .route-step::before,.home-page .business-route .route-step::after { top: 46px; bottom: 8px; }
  .home-page .route-control div { display: grid; grid-template-columns: repeat(2,max-content); gap: 10px; }
  .home-page .route-control div span { font-size: 15px; padding: 8px 13px; text-align: center; }
  .home-page .platform-grid article:nth-child(n) { border-bottom: 1px solid rgba(255,255,255,.18); }
  .home-page .platform-grid article:last-child { border-bottom: 0; }
  .home-page .section-heading h2,.home-page .demo-copy h2,.home-page .bitrix-intro h2,.home-page .estimate-copy h2,.home-page .about-copy h2 { font-size: clamp(29px,7.5vw,37px); letter-spacing: -.8px; line-height: 1.14; }
  .home-page .cases-heading-row h2 span { display: inline; }
  .home-page .cases-all-link { justify-self: start; }
  .home-page .case-featured { min-height: 570px; }
  .home-page .case-featured .case-meta { flex-wrap: wrap; gap: 12px; }
  .home-page .case-featured .case-meta .case-name { font-size: 27px; }
  .home-page .case-featured h3 { font-size: 30px; }
  .home-page .case-featured .case-stats { gap: 16px; }
  .home-page .footer-documents,.home-page .footer-contact { grid-column: 1 / -1; }
  .home-page .footer-main { gap: 28px 24px; padding-block: 48px; }
  .home-page .industries-note { margin-top: 40px; }
  .home-page .quiz-actions { gap: 8px; }
  .home-page .quiz-actions .btn { min-width: 0; padding-inline: 16px; }
  .home-page .quiz-back { padding-inline: 8px; }
  .home-page .modal-card { max-height: calc(100dvh - 24px); overflow-y: auto; padding: 30px 22px; }
  .home-page .steps-grid { grid-template-columns: 1fr; }
  .home-page .file-promise > span { flex: 0 0 50px; }
  .home-page .file-promise > p { min-width: 0; }
  .home-page .about-brand { margin-left: 0; }
  .home-page .about-copy > :is(h2,.about-founder-caption,.about-facts) { margin-left: 14px; }
  .home-page .about-certificate-grid > [href$="certificate-wazzup.png"] { order: -2; }
  .home-page .about-certificate-grid > [href$="certificate-uis.png"] { order: -1; }
}
@media (min-width: 981px) and (max-width: 1180px) {
  .home-page .hero h1 { font-size: 36px; letter-spacing: -1px; }
  .home-page .hero h1 br { display: none; }
  .home-page .hero-lead { font-size: 20px; }
  .home-page .hero-buttons { flex-direction: column; }
  .home-page .hero-buttons .btn { flex: none; }
}
@media (max-width: 430px) {
  .home-page .about-founder-caption { display: block; }
  .home-page .about-founder-caption strong,.home-page .about-founder-caption span { font-size: 18px; }
}
@media (min-width: 981px) and (max-width: 1100px) {
  .home-page .hero-visual { width: 94%; }
  .home-page .hero h1 { font-size: 32px; }
  .home-page .hero-lead { font-size: 18px; margin: 26px 0 30px; }
  .home-page .hero-buttons { flex-direction: row; gap: 12px; }
  .home-page .hero-buttons .btn { flex: 1 1 0; min-width: 0; font-size: 16px; padding-inline: 10px; white-space: nowrap; }
  .home-page .route-control { grid-template-columns: 160px minmax(0,1fr) max-content; gap: 20px; padding-inline: 24px; text-align: center; }
  .home-page .route-control div { flex-wrap: nowrap; justify-content: center; }
  .home-page .route-control div span { white-space: nowrap; }
  .home-page .industry-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
  .home-page .industry-card { min-height: 450px; padding: 24px 22px; }
  .home-page .industry-card:nth-child(2) { transform: translateY(24px); }
  .home-page .industry-card h3 { font-size: 26px; margin: 34px 0 24px; }
  .home-page .industry-card li { font-size: 14px; padding-left: 21px; }
  .home-page .industry-top small { font-size: 9px; }
  .home-page .about-intro { grid-template-columns: minmax(0,1.4fr) minmax(0,.9fr); gap: 36px; }
  .home-page .about-photo { width: 100%; height: auto; align-self: center; justify-self: end; }
  .home-page .about-brand-mark { width: 54px; }
  .home-page .about-brand strong { font-size: 31px; }
  .home-page .about-copy h2 { font-size: 36px; line-height: 1.1; letter-spacing: -1px; margin: 28px 0 22px; }
  .home-page .about-founder-caption { flex-wrap: wrap; margin-bottom: 26px; }
  .home-page .about-founder-caption strong,.home-page .about-founder-caption span { font-size: 18px; }
  .home-page .about-facts { gap: 18px; }
  .home-page .about-facts strong { font-size: 28px; }
  .home-page .about-facts small { font-size: 14px; }
  .home-page .footer-main { grid-template-columns: 1fr .8fr 1.55fr 1.25fr; gap: 28px 24px; padding-block: 46px; }
  .home-page .footer-documents,.home-page .footer-contact { grid-column: auto; }
  .home-page .footer-documents { width: auto; }
  .home-page .footer-documents a,.home-page .footer-documents .cookie-settings-link { white-space: normal; }
}
@media (min-width: 1101px) and (max-width: 1439px) {
  .home-page .footer-main { grid-template-columns: 1.2fr .7fr .7fr 1.2fr; gap: 28px; }
  .home-page .footer-main > .footer-column { transform: none; }
  .home-page .footer-documents { width: auto; }
  .home-page .footer-documents a,.home-page .footer-documents .cookie-settings-link { white-space: normal; }
  .home-page .footer-contact { grid-column: 1 / -1; }
  .home-page .footer-signature { margin-top: 26px; transform: none; gap: 16px; }
}
@media (min-width: 1101px) and (max-width: 1439px) {
  .home-page .change-card p:has(.production-problem)::after { display: none; }
  .home-page .production-problem { background: linear-gradient(rgba(140,100,73,.42),rgba(140,100,73,.42)) left 55% / 0 1.5px no-repeat; -webkit-box-decoration-break: clone; box-decoration-break: clone; transition: background-size .48s cubic-bezier(.22,.8,.24,1); }
  .home-page .change-card:is(:hover,:focus-within) .production-problem { background-size: 100% 1.5px; }
}
@media (min-width: 1101px) and (max-width: 1439px) and (hover: none) {
  .home-page .production-problem { background-size: 100% 1.5px; }
}
@media (min-width: 1280px) and (max-width: 1439px) {
  .home-page .footer-main { grid-template-columns: 1.15fr .8fr .65fr 1.35fr 1.1fr; gap: 24px; padding-block: 46px; }
  .home-page .footer-brand,.home-page .footer-contact { grid-column: auto; min-width: 0; }
  .home-page .footer-signature { align-items: flex-start; gap: 12px; font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-page .monitor-video { display: none; }
  .home-page .monitor-poster { display: block; }
}
