@media (min-width: 992px) and (max-width: 1919.98px) {
  .hero { min-height: 0; aspect-ratio: 12 / 5; padding: 0; background-position: center; background-size: cover; }
  .hero .site-container,
  .hero .row { height: 100%; }
  .hero .row { --bs-gutter-y: 0; flex-wrap: nowrap; align-items: center !important; }
  .hero .row > .col-lg-7 { width: auto; max-width: none; flex: 1 1 0; }
  .hero-copy { flex: 0 0 45%; max-width: 45%; align-self: center; transform: none; }
  .hero h1 { width: 100%; margin: clamp(7px,.677vw,13px) 0 clamp(16px,1.563vw,30px); font-size: 54px; line-height: 1.13; }
  .hero .eyebrow { font-size: clamp(10px,.833vw,16px); line-height: 1.2; }
  .hero-lead { margin-bottom: clamp(22px,2.135vw,41px); font-size: clamp(16px,1.25vw,24px); line-height: 1.2; }
  .hero .btn-brand { height: clamp(36px,3.021vw,58px); min-height: clamp(36px,3.021vw,58px); gap: clamp(8px,.677vw,13px); padding-inline: clamp(14px,1.198vw,23px); font-size: clamp(10px,.833vw,16px); line-height: 1.2; }
  .hero .btn-brand > img { width: clamp(20px,1.563vw,30px); height: clamp(20px,1.563vw,30px); flex-basis: clamp(20px,1.563vw,30px); }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  .hero-copy { flex: 0 0 42%; max-width: 42%; padding-right: 20px; }
  .hero h1 { font-size: 40px; line-height: 1.12; }
  .hero-lead { font-size: 19px; }
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
  .hero h1 { font-size: 48px; line-height: 1.12; }
}

@media (min-width: 1400px) and (max-width: 1599.98px) {
  .hero-copy { flex-basis: 48%; max-width: 48%; }
}

@media (max-width: 1919.98px) {
  .certificates-wrap { height: auto; }
  .certificates-wrap .site-container { height: auto; }
  .certificates-slider, .certificates-track, .certification-slide { min-height: clamp(86px,7.3vw,140px); }
  .certification-slide { padding: clamp(12px,1.35vw,22px) clamp(10px,1.6vw,26px); }
  .certification-slide img { max-height: clamp(48px,4.6vw,88px); }
  .section.about { padding-top: 40px; }
}

@media (min-width: 1200px) and (max-width: 1919.98px) {
  .certificates-wrap { margin-top: clamp(-70px,-3.65vw,-44px); }
}

/* Keep every shared container on one fluid alignment grid below the 1920px canvas. */
@media (min-width: 1200px) and (max-width: 1399.98px) {
  .site-container,
  .inner-footer .site-container { width: 100%; max-width: 1140px; padding-inline: 0; }
}

@media (min-width: 1400px) and (max-width: 1599.98px) {
  .site-container,
  .inner-footer .site-container { width: 100%; max-width: 1360px; padding-inline: 0; }
}

@media (min-width: 1600px) and (max-width: 1679.98px) {
  .site-container,
  .inner-footer .site-container { width: 100%; max-width: 1440px; padding-inline: 0; }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  .site-container { width: 100%; max-width: 100%; padding-inline: 32px; }
}

@media (min-width: 576px) and (max-width: 991.98px) {
  .site-container { width: 100%; max-width: 100%; padding-inline: 24px; }
}

@media (max-width: 575.98px) {
  .site-container { width: 100%; max-width: 100%; padding-inline: 16px; }
}

@media (max-width: 1199.98px) {
  .certificates-wrap { margin-top: 24px; }
  .site-header { height: auto; min-height: 76px; }
  .navbar { min-height: 76px; }
  .navbar-collapse { padding: 16px 0 10px; border-top: 1px solid #eee; }
  .navbar-nav { align-items: stretch !important; }
  .navbar-nav .btn { width: 100%; margin-top: 8px; }
  .about-image { aspect-ratio: 1.5; }
  .section.about { padding-bottom: 40px; }
  .section.products-section { padding-top: 0; }
  .sizes-label { font-size: 14px; line-height: 22px; letter-spacing: 1.5px; }
  .size-list { gap: 16px; margin-top: 16px; }
  .size-list li { min-height: 58px; padding: 10px 48px 10px 20px; font-size: clamp(20px,2vw,24px); line-height: 1.2; }
  .size-list li::after { right: 16px; width: 19px; height: 19px; }
  .features-grid { grid-template-columns: repeat(3,1fr); row-gap: 64px; }
  .features-grid .feature:nth-last-child(-n+2) { transform: translateX(55%); }
}

@media (max-width: 991.98px) {
  .site-header { height: auto; min-height: 76px; }
  .navbar { min-height: 76px; }
  .navbar-collapse { padding: 16px 0 10px; border-top: 1px solid #eee; }
  .navbar-nav { align-items: stretch !important; }
  .navbar-nav .btn { width: 100%; margin-top: 8px; }
  .hero { min-height: 0; aspect-ratio: 12 / 5; padding: 0; text-align: left; background-position: center; background-size: cover; }
  .hero .site-container, .hero .row { height: 100%; }
  .hero .row { --bs-gutter-x: 0; --bs-gutter-y: 0; flex-wrap: nowrap; align-items: center !important; }
  .hero .row > .col-lg-7 { width: auto; max-width: none; flex: 1 1 0; }
  .hero-copy { max-width: 38%; display: flex; flex: 0 0 38%; flex-direction: column; align-items: flex-start; align-self: center; justify-content: center; transform: none; }
  .hero .eyebrow { font-size: clamp(5px,.82vw,8px); line-height: 1.2; }
  .hero h1 { width: 100%; max-width: none; margin: clamp(4px,1vw,10px) 0 clamp(5px,1.2vw,12px); font-size: clamp(11px,3.54vw,35px); line-height: 1.12; }
  .hero-line { white-space: nowrap; }
  .hero-lead { margin-bottom: clamp(6px,1.5vw,15px); font-size: clamp(6px,1.11vw,11px); line-height: 1.2; }
  .hero .btn-brand { height: clamp(22px,3.43vw,34px); min-height: clamp(22px,3.43vw,34px); gap: clamp(4px,.8vw,8px); padding: clamp(4px,.7vw,7px) clamp(8px,1.4vw,14px); font-size: clamp(6px,.91vw,9px); line-height: 1.2; }
  .hero .btn-brand > img { width: clamp(12px,1.82vw,18px); height: clamp(12px,1.82vw,18px); flex-basis: clamp(12px,1.82vw,18px); }
  .product-stage { display: none; }
  .certificates-wrap { margin-top: 24px; }
  .certificates-wrap, .certificates-wrap .site-container { height: auto; }
  .features-grid { grid-template-columns: repeat(3,1fr); row-gap: 64px; }
  .features-grid .feature:nth-last-child(-n+2) { transform: translateX(55%); }
  .about-image { aspect-ratio: 1.5; }
}

@media (max-width: 767.98px) {
  .site-header, .navbar { min-height: 68px; }
  .navbar-brand img { width: 145px; height: 42px; }
  .hero { aspect-ratio: 4 / 3; background-image: var(--hero-mobile-background, none); background-position: center; background-size: cover; }
  .hero .site-container { position: absolute !important; inset: 0; z-index: 2; }
  .hero .row { position: relative; height: 100%; margin: 0; }
  .hero-copy { position: relative; z-index: 2; max-width: 75%; flex-basis: 75%; align-self: flex-start; justify-content: flex-start; margin-top: 7%; padding-right: 6px; }
  .hero .eyebrow { font-size: clamp(8px,2.3vw,10px); line-height: 1.15; }
  .hero h1 { font-size: clamp(22px,6vw,32px); line-height: 1.06; letter-spacing: -.02em; }
  .hero-line { white-space: normal; }
  .hero-lead { font-size: clamp(10px,2.8vw,11px); line-height: 1.2; padding: 10px 0; }
  .hero .btn-brand { height: clamp(28px,7.5vw,34px); min-height: clamp(28px,7.5vw,34px); gap: clamp(5px,1.5vw,7px); padding-inline: clamp(9px,2.5vw,12px); font-size: clamp(9px,2.5vw,11px); line-height: 1.1; }
  .hero .btn-brand > img { width: clamp(14px,3.8vw,17px); height: clamp(14px,3.8vw,17px); flex-basis: clamp(14px,3.8vw,17px); }
  .certificates-wrap { margin-top: 18px; }
  .certificates-slider { border-radius: 12px; }
  .certificates-slider, .certificates-track, .certification-slide { min-height: 64px; }
  .certification-slide { padding: 8px 5px; }
  .certification-slide img { max-width: 92%; max-height: 38px; }
  .product-card { padding: clamp(14px,4vw,18px); }
  .product-card h3 { margin: clamp(16px,4.5vw,22px) 0 6px; font-size: clamp(20px,5.2vw,24px); line-height: 1.15; }
  .product-card > p { min-height: 0; margin-bottom: 10px; font-size: clamp(12px,3.2vw,14px); line-height: 1.5; }
  .sizes-label { font-size: clamp(11px,2.9vw,13px); line-height: 18px; letter-spacing: clamp(.8px,.3vw,1.2px); }
  .size-list { gap: clamp(10px,2.6vw,12px); margin-top: 12px; }
  .size-list li { min-height: clamp(44px,11.8vw,50px); padding: 8px 38px 8px clamp(14px,3.6vw,18px); font-size: clamp(14px,3.6vw,17px); line-height: 1.2; }
  .size-list li::after { right: 12px; width: clamp(14px,3.6vw,17px); height: clamp(14px,3.6vw,17px); }
  .cert { min-height: 70px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .cert:nth-child(2n) { border-right: 0; }
  .cert:nth-last-child(-n+2) { border-bottom: 0; }
  .cert:last-child { grid-column: 1/-1; border: 0; }
  .section { padding-block: 70px; }
  .gradient-panel { border-radius: 18px; }
  .features-grid { grid-template-columns: repeat(2,1fr); }
  .features-grid .feature:nth-last-child(-n+2) { transform: none; }
  .features-grid .feature:last-child { grid-column: 1/-1; width: calc(50% - 11px); justify-self: center; }
  .footer-nav { gap: 28px; flex-wrap: wrap; }
}

@media (max-width: 575.98px) {
  body { font-size: 14px; }
  .gradient-panel { padding: 60px 12px; }
  .section-heading { margin-bottom: 58px; }
  .product-visual { min-height: 0; }
  .features-grid { gap: 58px 12px; }
  .feature { min-height: 115px; }
  .feature strong { font-size: 9px; }
  .accordion-button { padding: 17px; font-size: 14px; }
  .accordion-body { padding: 0 17px 18px; }
}

/* Exact 1920px homepage geometry from Figma frame 199:779. */
@media (min-width: 1680px) {
  .site-container { padding-inline: 0; }

  .section.about { padding: 100px 0 82px; }
  .about .row {
    display: grid;
    grid-template-columns: 785px 692px;
    column-gap: 72px;
    margin: 0;
  }
  .about .row > [class*="col-"] { width: auto; max-width: none; margin-top: 0; padding: 0; }
  .about-image { width: 785px; height: 600px; aspect-ratio: auto; }
  .about .row > [class*="col-"]:last-child > .section-tag,
  .about .row > [class*="col-"]:last-child > h2 { margin-left: 8px; }
  .about .section-tag { width: 124px; padding-inline: 0; text-align: center; }
  .about h2 { width: 624px; margin-top: 18px; margin-bottom: 32px; line-height: 60px; }
  .about .home-about-copy { width: 692px; }
  .about .home-about-copy p { max-width: none; margin: 0; }
  .about .btn { margin-top: 36px; }
  .about .btn-brand { width: 208px; }
  .hero .btn-brand { width: 213px; }

  .products-section .section-heading { margin-bottom: 49px; }
  .products-section .section-tag,
  .features-section .section-tag,
  .faq-section .section-tag { display: block; width: max-content; margin-inline: auto; }
  .products-section .section-heading h2 { margin: 10px 0 15px; }
  .products-section .section-heading p { line-height: 24px; }
  .products-section .row {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 30px;
    margin: 0;
  }
  .products-section .row > [class*="col-"] { width: auto; max-width: none; height: 847px; margin-top: 0; padding: 0; }
  .product-visual { aspect-ratio: 474 / 315; }

  .features-section { padding-top: 100px; }
  .features-section .section-heading { margin-bottom: 94px; }
  .features-section .section-heading h2 { margin: 27px 0 0; }

  .manufacturing-section { padding-top: 100px; }
  .manufacturing-panel > .site-container > .row {
    width: 1602px;
    display: grid;
    grid-template-columns: 600px 785px;
    column-gap: 217px;
    margin: 0;
    transform: translateX(-2px);
  }
  .manufacturing-panel > .site-container > .row > [class*="col-"] { width: auto; max-width: none; margin-top: 0; padding: 0; }
  .manufacturing-section .section-tag { width: 310px; padding-inline: 0; text-align: center; }
  .manufacturing-section h2 { margin: 23px 0 0; }
  .manufacturing-section .check-list { gap: 16px; margin: 31px 0 57px; line-height: 27px; }
  .manufacturing-section .check-list li { line-height: 27px; }
  .manufacturing-section .check-list li::before { top: 3px; }
  .manufacturing-image { width: 785px; height: 600px; aspect-ratio: auto; }
  .manufacturing-section .btn-brand { width: 213px; }

  .faq-section { padding: 100px 0 99px; }
  .faq-section .section-heading { margin-bottom: 35px; }
  .faq-section .section-heading h2 { margin: 26px 0 0; line-height: 60px; }
  .faq-section .accordion-button { min-height: 76px; }
  .faq-section .accordion-body { padding-bottom: 31px; }

  .inner-footer-cta { padding-bottom: 59px; }
  .inner-footer-cta .section-tag { width: 225px; display: block; padding-inline: 0; text-align: center; }
  .inner-footer-cta h2 { margin: 26px 0 0; line-height: 60px; }
  .inner-footer-cta .btn-brand { width: 213px; }
  .inner-footer-main { padding-block: 65px 39px; }
  .inner-footer-logo { transform: translateX(-2px); }
  .inner-footer-links-row { padding-bottom: 23px; }
  .inner-footer-nav { width: 472px; justify-content: space-between; gap: 0; transform: translateX(1px); }
  .footer-social-links { transform: translateX(-1px); }
  .inner-footer-bottom { padding: 22px 0 27px; }
}
