
@media (min-width: 1921px) {
  :root { --container: 1400px; --container-wide: 1560px; }
  .hero { min-height: clamp(700px, calc(100svh - var(--header-h)), 1040px); }
  .hero__media img { object-position: 68% 26%; }
}

@media (min-width: 2400px) {
  :root { --container: 1560px; --container-wide: 1720px; }
  body { font-size: clamp(1.10rem, .9rem + .2vw, 1.22rem); }
}

@media (max-width: 1280px) {
  :root { --logo-block-w: 252px; }
  .hero__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 400px); gap: var(--space-xl); }
  .footer__grid { gap: var(--space-l); }
}

@media (max-width: 1080px) {
  .hero__inner { grid-template-columns: 1fr; align-items: start; gap: var(--space-xl); }
  .hero__form { align-self: start; max-width: 520px; width: 100%; }
  .hero__content { max-width: min(100%, 34rem); }
  .hero__media img { object-position: 78% 22%; }
  .hero__media::after {
    background:
      linear-gradient(180deg, rgba(17,34,50,.90) 0%, rgba(17,34,50,.68) 48%, rgba(15,30,44,.92) 100%),
      linear-gradient(90deg, rgba(17,34,50,.9), rgba(17,34,50,.18) 82%);
  }
  .hero__scroll { display: none; }

  .founder__grid { grid-template-columns: 1fr; }
  .founder__media { margin-right: 34px; }
  .founder__bio { max-width: 46ch; }

  .commitment__grid { grid-template-columns: 1fr; align-items: start; }
  .commitment__media { order: 2; margin-bottom: calc(var(--section-y) * -1); max-width: 560px; }
  .commitment__body { order: 1; max-width: none; }

  .news .carousel { --slides: 2; }

  .cta-band__inner { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .site-header { grid-template-columns: 1fr; }
  .header__brand {
    justify-content: flex-start;
    height: var(--header-nav-h);
    padding-inline: var(--gutter);
    background: var(--color-surface);
    position: absolute;
    inset: 0 auto 0 0;
    z-index: 2;
  }
  .header__brand img { width: 168px; }
  .site-header.is-scrolled .header__brand img { width: 150px; }
  .topbar { display: none; }
  .navbar { justify-content: flex-end; padding-inline: var(--gutter); }
  .nav-list { display: none; }
  .nav-toggle { display: grid; }

  .navbar [data-search-toggle] { display: none; }
  .search-panel { inset: var(--header-nav-h) 0 auto 0; }

  .contact__grid { grid-template-columns: 1fr; }
  .contact h2 { max-width: 22ch; }

  .footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer__brand { grid-column: 1 / -1; }
}

@media (max-width: 900px) {
  .js [data-reveal="left"],
  .js [data-reveal="right"] { transform: translateY(26px); }
}

@media (max-width: 1023px) {
  .carousel--sided { display: flex; flex-wrap: wrap; padding-inline: 0; }
  .carousel--sided .carousel__viewport { order: 1; flex: 1 0 100%; }
  .carousel--sided .carousel__btn--side {
    position: static;
    transform: none;
    margin-top: var(--space-l);
  }
  .carousel--sided .carousel__btn--side:hover { transform: translateY(-2px); }
  .carousel--sided .carousel__btn--left  { order: 2; margin-left: auto; }
  .carousel--sided .carousel__btn--right { order: 3; margin-right: auto; margin-left: var(--space-s); }
  .carousel--sided .carousel__dots { order: 4; flex: 1 0 100%; }
}

@media (max-width: 768px) {
  .services__grid { grid-template-columns: 1fr; }
  .news .carousel { --slides: 1.15; }
  .testimonials .carousel { --slides: 1.08; }
  .service-detail { grid-template-columns: 1fr; }
  .service-detail__icon { width: 64px; }
}

@media (max-width: 560px) {
  .hero { min-height: auto; }
  .hero__inner { padding-block: clamp(2.5rem, 9vw, 3.5rem); }
  .hero__content { max-width: none; }
  .hero__actions { gap: var(--space-2xs); }
  .hero__actions .btn { width: 100%; }
  .hero__form { padding: 1.25rem; }
  .hero__form .btn { width: 100%; }

  .founder__media::before { inset: 22px -22px -22px 22px; }
  .founder__media { margin-right: 22px; }
  .founder__body .btn { width: 100%; }

  .carousel__viewport { gap: var(--space-s); }
  .news .carousel, .testimonials .carousel { --slides: 1; }

  .contact form .btn { align-self: stretch; }
  .cta-band__actions .btn { width: 100%; }
  .footer__grid { grid-template-columns: 1fr; }
  .footer__logo { width: 200px; }
}

@media (max-width: 400px) {
  .navbar .btn { display: none; }
}

@media (max-width: 360px) {
  :root { --gutter: 1rem; }
  .header__brand img { width: 142px; }
  .btn { padding-inline: 1.25rem; }
  .testimonial__mark { width: 48px; }
  .footer__phone { font-size: var(--step-2); }
}

@media (hover: none) {
  .service-card:hover,
  .member-card:hover,
  .post-card:hover { transform: none; box-shadow: none; }
  .service-card:hover::after { width: 46px; }
}

@media print {
  .site-header, .nav-drawer, .search-panel, .floating-contact,
  .carousel__nav, .carousel__dots, .hero__scroll, .scroll-progress { display: none !important; }
  .page-body { padding-top: 0; }
  body { background: #fff; color: #000; }
  .hero, .services, .news, .cta-band, .site-footer { background: #fff !important; color: #000 !important; }
  .hero__media { display: none; }
  a[href^="http"]::after { content: " (" attr(href) ")"; font-size: .8em; }
}
