/* ==========================================================================
   RESMA — responsive layer.  Desktop-first overrides, loaded after style.css
   Breakpoints: 1180 (small laptop) · 1024 (tablet landscape → drawer nav)
                820 (tablet portrait) · 600 (phone) · 400 (small phone)
   ========================================================================== */

/* 12-column spans used by .split */
.c-4 { grid-column: span 4; }
.c-5 { grid-column: span 5; }
.c-6 { grid-column: span 6; }
.c-7 { grid-column: span 7; }
.c-8 { grid-column: span 8; }
.c-12 { grid-column: span 12; }
.start-8 { grid-column-start: 8; }

@media (max-width: 1180px) {
  .brand__text { display: none; }
  .nav__link { padding-inline: 11px; }
  .num-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .num-list__item:not(:nth-child(3n + 1)) { padding-left: 0; border-left: 0; }
  .num-list__item:nth-child(even) { padding-left: clamp(20px, 2.4vw, 36px); border-left: 1px solid var(--rule); }
  .detail { grid-template-columns: minmax(0, 1fr) 320px; }
  .footer__grid { grid-template-columns: 1.3fr 1fr 1fr; }
  .footer__grid > :last-child { grid-column: 1 / -1; }
  .footer__contact { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 0 32px; }
}

@media (max-width: 1024px) {
  :root { --header-h: 72px; }
  .nav,
  .header-actions .btn { display: none; }
  .nav-toggle { display: grid; }
  .brand__text { display: block; }

  .hero__grid { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .hero__media { justify-self: start; width: min(100%, 440px); order: 2; margin-left: 24px; }
  .hero__facts li { max-width: none; }
  .page-hero h1 { max-width: 18ch; }

  .feature { grid-template-columns: minmax(0, 1fr); }
  .feature__media { clip-path: polygon(0 10%, 100% 0, 100% 100%, 0 100%); margin: 0; min-height: 0; height: clamp(220px, 46vw, 380px); }

  .explorer { grid-template-columns: minmax(0, 1fr); }
  .explorer__panel { position: static; min-height: 0; }

  .detail { grid-template-columns: minmax(0, 1fr); }
  .facts { position: static; order: -1; }

  .people { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .person:not(:nth-child(3n + 1)) { padding-left: 0; border-left: 0; }
  .person:nth-child(even) { padding-left: clamp(18px, 2vw, 30px); border-left: 1px solid var(--rule); }
  .expert-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .contact-grid { grid-template-columns: minmax(0, 1fr); }
  .split > .c-4,
  .split > .c-5,
  .split > .c-6,
  .split > .c-7,
  .split > .c-8 { grid-column: span 12; }
  .split > .start-8 { grid-column-start: auto; }
  .footer__grid { grid-template-columns: 1fr 1fr; }
  .footer__grid > :first-child { grid-column: 1 / -1; }
}

@media (max-width: 820px) {
  .expert-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .era { grid-template-columns: 1fr; border-top: 0; }
  .era__item,
  .era__item + .era__item { padding: 24px 0; border-left: 0; border-top: 1px solid var(--rule); }
  .gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gallery__item,
  .gallery__item--wide { grid-column: span 1; aspect-ratio: 4 / 3; }
  .gallery__item--wide { grid-column: span 2; aspect-ratio: 16 / 9; }
  .gallery__cap { transform: none; font-size: 0.78rem; padding: 28px 12px 10px; }
  .audience { grid-template-columns: 1fr; }
  .stat:nth-child(odd) { border-left: 0; padding-left: 0; }
  .lightbox__stage { padding: 72px 12px 8px; }
  .lightbox__prev { left: 8px; top: auto; bottom: 86px; margin: 0; }
  .lightbox__next { right: 8px; top: auto; bottom: 86px; margin: 0; }
}

@media (max-width: 600px) {
  .hero__media { width: calc(100% - 24px); margin-left: 12px; }
  .hero__facts { gap: 16px 24px; }
  .hero__facts strong { font-size: 2rem; }
  .btn { width: 100%; justify-content: space-between; }
  .hero__cta,
  .cta__actions { flex-direction: column; align-items: stretch; }
  .num-list { grid-template-columns: 1fr; }
  .num-list__item:nth-child(even) { padding-left: 0; border-left: 0; }
  .people { grid-template-columns: 1fr; }
  .person:nth-child(even) { padding-left: 0; border-left: 0; }
  .tiles { grid-template-columns: 1fr; }
  .form { grid-template-columns: 1fr; }
  .form .field { grid-column: 1 / -1; }
  .footer__grid { grid-template-columns: 1fr; }
  .footer__contact { grid-template-columns: 1fr; }
  .accordion__btn { gap: 12px; padding: 20px 0; }
  .accordion__body { padding-left: 0; }
  .accordion__btn .num { display: none; }
  .cta__trio li { grid-template-columns: 1fr; gap: 4px; }
  .chain { justify-content: center; }
  .chain__arrow { display: none; }
  .chain__node { width: calc(50% - 8px); max-width: 150px; }
  .stat__num { font-size: 3.2rem; }
  .explorer__tab { padding-block: 15px; }
  .fig-box { width: 100%; }
  .carousel__btns .round-btn { width: 46px; height: 46px; }
  .to-top { width: 46px; height: 46px; }
  .search { margin-top: 72px; }
  .crumbs { font-size: 0.7rem; }
}

@media (max-width: 400px) {
  :root { --gutter: 18px; }
  .brand__text { display: none; }
  .expert-grid { gap: 10px; }
  .expert h3 { font-size: 0.7rem; letter-spacing: 0.08em; }
  .gallery { gap: 8px; }
  .hero__tag { padding: 10px 12px; font-size: 0.62rem; }
}

/* very large screens: keep composition, enlarge the container slightly */
@media (min-width: 1700px) {
  :root { --container: 1360px; }
}

/* print */
@media print {
  .site-header, .to-top, .ticker, .mobile-nav, .site-footer .footer__mark { display: none !important; }
  .hero, .page-hero, .on-dark, .bg-dark { background: #fff !important; color: #000 !important; }
  body { font-size: 11pt; }
}

/* late additions */
@media (max-width: 1180px) { .tiles--5 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 820px) {
  .tiles--3 { grid-template-columns: 1fr; }
  .tiles--2 { grid-template-columns: 1fr; }
  .tiles--5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .span-7, .span-5 { grid-column: span 12; }
}
@media (max-width: 600px) {
  .tiles--5 { grid-template-columns: 1fr; }
  .direction li { grid-template-columns: 1fr; gap: 6px; }
  .direction .icon { transform: rotate(90deg); }
}
@media (max-width: 820px) {
  .prog-grid .prog-card--flagship { grid-template-columns: 1fr; grid-template-areas: "top" "title" "sub" "meta" "more"; }
  .prog-card--flagship h3 { margin-bottom: 8px; }
  .prog-card--flagship .prog-card__sub { margin-bottom: 24px; }
}
@media (max-width: 1024px) {
  .js [data-reveal="left"], .js [data-reveal="right"] { transform: translateY(28px); }
  .js [data-reveal="left"].is-in, .js [data-reveal="right"].is-in { transform: none; }
}
