﻿/* Layout breakpoints, applied once after the base stylesheet. No page scaling. */
@media (min-width: 992px) and (max-width: 1199.98px) {
  .navbar > .site-nav { gap: 16px; min-height: 84px; }
  .brand-mark img { width: 145px; }
  .navbar-collapse { gap: 14px; }
  .navbar-nav { gap: 8px; }
  .nav-link { font-size: 13px; }
  .nav-actions { gap: 10px; }
  .header-cta { font-size: 13px; padding-inline: 18px; }
  .lang-switch { font-size: 10px; }
  .hero-heading { font-size: 38px; }
  .hero-description { font-size: 15px; max-width: 41ch; }
  .hero-actions .btn { font-size: 13px; padding-inline: 18px; }
  .needs-copy, .needs-aside { padding: 28px 24px; }
  .needs-copy .section-title { font-size: 30px; }
  .needs-aside h3 { font-size: 35px; }
  .service-panel { padding: 24px 20px; }
  .service-panel h3 { font-size: 25px; }
  .work-section > .alia-container { grid-template-columns: 28% minmax(0, 1fr); gap: 16px; }
  .work-section .section-heading, .mode-card { padding: 24px; }
  .mode-grid { gap: 16px; }
  .mode-card h3 { font-size: 25px; }
  .mode-card p { font-size: 14px; }
  .process-step { gap: 6px; }
  .step-number { flex-basis: 48px; width: 48px; height: 48px; font-size: 27px; }
  .process-step-copy h3 { font-size: 17px; }
  .process-arrow { margin-top: 12px; }
  .process-diagnostic .diagnostic-banner { grid-template-columns: 44px minmax(0, 1fr); gap: 10px; padding: 14px; }
  .diagnostic-icon { width: 44px; height: 44px; font-size: 25px; }
  .process-diagnostic h3 { font-size: 18px; }
  .process-diagnostic .btn { padding-inline: 16px; }
  .about-copy { padding: 28px; }
  .about-motto { font-size: 35px; padding-inline: 12px; }
  .footer-contact { font-size: 13px; gap: 10px 18px; }
  .footer-grid { gap: 18px; }
}

@media (max-width: 991.98px) {
  :root { --gutter: 28px; }
  .section-anchor { scroll-margin-top: 100px; }
  .navbar > .site-nav { gap: 0; min-height: 80px; }
  .brand-mark img { width: 150px; }
  .navbar-collapse { flex-basis: 100%; padding-block: 12px 20px; }
  .navbar-nav { gap: 0; }
  .nav-link { font-size: 16px; padding-block: 12px !important; }
  .nav-actions { margin-top: 16px; justify-content: space-between; }
  .lang-switch { font-size: 13px; gap: 5px; }
  .lang-btn { min-width: 42px; min-height: 44px; }
  .hero-shell { min-height: 570px; }
  .hero-content { width: 55%; padding-block: 32px; }
  .hero-heading { font-size: 37px; }
  .hero-subtitle { font-size: 25px; }
  .hero-description { font-size: 15px; }
  .hero-actions { gap: 10px; }
  .hero-actions .btn { font-size: 14px; }
  .hero-benefits { margin-top: 24px; }
  .hero-visual { left: 49%; }
  .hero-visual::after { background: linear-gradient(90deg, var(--cream), transparent 28%); }
  .needs-layout { grid-template-columns: 36% minmax(0, 1fr); }
  .needs-photo { grid-row: 1 / 3; }
  .needs-copy { padding: 26px 28px 16px; }
  .needs-copy .section-title { font-size: 30px; }
  .needs-aside { grid-column: 2; padding: 16px 28px 28px; }
  .needs-aside::before { inset: 0 -15% -90% 0; }
  .needs-aside h3 { font-size: 31px; max-width: none; }
  .needs-aside p { max-width: none; }
  .section-heading { gap: 12px 18px; }
  .services-intro { margin: 0; max-width: none; }
  .services-grid { grid-template-columns: 1fr; gap: 18px; }
  .service-panel { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.2fr); gap: 18px 30px; padding: 26px; }
  .service-panel__header { gap: 12px; margin-bottom: 0; }
  .service-panel h3 { font-size: 27px; min-height: 0; }
  .service-panel__header p { font-size: 15px; min-height: 0; }
  .service-panel__list { grid-column: 2; grid-row: 1 / 3; font-size: 15px; gap: 10px; }
  .service-panel__list li { padding-left: 25px; }
  .service-panel > .btn { grid-column: 1; grid-row: 2; justify-self: center; margin: 0; padding-inline: 18px; font-size: 14px; }
  .work-section > .alia-container { grid-template-columns: 1fr; gap: 18px; }
  .work-section .section-heading { padding: 26px; }
  .work-section .section-title { font-size: 32px; }
  .mode-card { padding: 26px; }
  .process-shell { grid-template-columns: 1fr; gap: 18px; }
  .process-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
  .process-arrow { display: none; }
  .process-diagnostic { border-left: 0; border-top: 2px solid #deb697; padding: 18px 0 0; }
  .process-diagnostic .diagnostic-banner { grid-template-columns: 56px minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 24px; }
  .process-diagnostic .btn { grid-column: 3; }
  .about-layout { grid-template-columns: 35% minmax(0, 1fr); }
  .about-photo { min-height: 0; }
  .about-photo img { object-fit: contain; object-position: bottom center; }
  .about-copy { padding: 30px 28px; }
  .about-motto { display: none; }
  .contact-copy { grid-template-columns: 1fr; gap: 14px; }
  .contact-copy > .btn { grid-column: 1; grid-row: auto; justify-self: start; }
  .footer-grid { flex-wrap: wrap; justify-content: center; }
  .footer-brand { margin-right: auto; }
  .footer-contact { order: 3; flex-basis: 100%; gap: 12px 24px; }
}

@media (max-width: 699.98px) {
  :root { --gutter: 22px; }
  .section-title { font-size: 32px; }
  .navbar > .site-nav { min-height: 76px; }
  .brand-mark img { width: 145px; }
  .hero-shell { min-height: 0; display: flex; flex-direction: column; align-items: stretch; }
  .hero-content { width: 100%; padding-block: 28px; }
  .nav-actions { flex-wrap: wrap; }
  .hero-heading { font-size: clamp(34px, 7.8vw, 44px); }
  .hero-subtitle { font-size: 25px; max-width: 27ch; }
  .hero-description { font-size: 16px; max-width: none; }
  .hero-actions { align-items: stretch; }
  .hero-actions .btn { font-size: 14px; min-height: 46px; }
  .hero-benefits { width: 100%; }
  .hero-visual { position: relative; inset: auto; width: calc(100% + var(--gutter) * 2); margin-inline: calc(-1 * var(--gutter)); height: clamp(240px, 58vw, 360px); }
  .hero-visual img { object-fit: cover; object-position: center; }
  .hero-visual::after { background: linear-gradient(180deg, var(--cream), transparent 12%); }
  .hero-section::before { opacity: .4; }
  .needs-layout { grid-template-columns: 1fr; }
  .needs-photo { grid-row: auto; height: 250px; }
  .needs-photo img { object-position: center 45%; }
  .needs-copy { padding: 28px var(--gutter) 16px; }
  .needs-copy .section-title { font-size: 32px; }
  .needs-copy p, .needs-aside p { font-size: 16px; }
  .needs-aside { grid-column: 1; padding: 18px var(--gutter) 30px; }
  .needs-aside h3 { font-size: 33px; }
  .services-section { padding-block: 30px; }
  .services-grid { grid-template-columns: 1fr; gap: 18px; }
  .service-panel { display: flex; padding: 28px; gap: 0; }
  .service-panel__header { margin-bottom: 22px; }
  .service-panel > .btn { margin-top: auto; }
  .service-panel h3 { font-size: 29px; min-height: 0; }
  .service-panel__header p { font-size: 16px; min-height: 0; }
  .service-panel__list { font-size: 15px; gap: 11px; }
  .service-panel__list li { padding-left: 29px; }
  .service-panel > .btn { font-size: 14px; }
  .work-section .section-heading { padding: 26px; }
  .mode-grid { grid-template-columns: 1fr; gap: 18px; }
  .mode-card { padding: 26px; }
  .mode-card h3 { font-size: 28px; }
  .mode-card p { font-size: 16px; }
  .process-section { padding-bottom: 30px; }
  .process-heading-title { gap: 12px; }
  .process-heading-line { flex-basis: 28px; width: 28px; }
  .process-steps { grid-template-columns: 1fr; gap: 24px; }
  .process-step { gap: 16px; }
  .process-step-copy h3 { font-size: 20px; }
  .process-step-copy p { font-size: 15px; }
  .process-diagnostic .diagnostic-banner { grid-template-columns: 52px minmax(0, 1fr); gap: 14px; align-items: start; padding: 20px; }
  .process-diagnostic h3 { font-size: 22px; }
  .process-diagnostic p { font-size: 15px; }
  .process-diagnostic .btn { grid-column: 2; }
  .about-layout { grid-template-columns: 1fr; }
  .about-photo { height: 360px; }
  .about-photo img { object-fit: contain; object-position: bottom center; }
  .about-copy { padding: 30px var(--gutter); }
  .about-copy > .section-kicker { font-size: 34px; }
  .about-copy .section-title { font-size: 28px; }
  .about-copy > p:not(.section-kicker) { font-size: 16px; }
  .contact-section { padding-block: 30px; }
  .contact-copy .section-title { font-size: 33px; }
  .contact-copy > p { font-size: 16px; }
  .footer-grid { gap: 20px; }
  .footer-contact { flex-direction: column; align-items: center; gap: 8px; font-size: 14px; }
  .footer-brand { margin: 0; flex-basis: 100%; }
  .footer-brand img { margin-inline: auto; }
  .footer-social { order: 4; }
  .footer-bottom { font-size: 12px; }
}
