@media (max-width: 1080px) {
  :root { --container: min(100% - 32px, 980px); }
  .desktop-nav { display: none; }
  .menu-toggle { display: flex; }
  .header-actions .btn { display: none; }
  .hero__inner { grid-template-columns: 1fr .48fr; gap: 36px; }
  .hero-card { padding: 23px; }
  .program-grid { grid-template-columns: repeat(2, 1fr); }
  .program-card { min-height: 390px; }
  .story-grid { gap: 45px; }
  .feature-band__content { padding: 56px 42px; }
  .footer-main { grid-template-columns: 1.2fr .8fr .8fr; }
  .footer-main > div:last-child { grid-column: 1 / -1; }
  .schedule { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 860px) {
  :root { --header-height: 72px; }
  .topbar__links { display: none; }
  .topbar__inner { justify-content: center; text-align: center; }
  .brand { min-width: 0; }
  .brand img { width: 46px; height: 46px; flex-basis: 46px; }
  .brand__name { font-size: .96rem; }
  .brand__sub { font-size: .6rem; }
  .mobile-nav { inset: 113px 12px auto; }
  .hero { min-height: 780px; }
  .hero__inner { grid-template-columns: 1fr; padding: 80px 0 95px; align-items: center; }
  .hero__copy { max-width: 720px; }
  .hero-card { max-width: 540px; }
  .hero__media::after { background: linear-gradient(180deg, rgba(34,8,13,.89), rgba(34,8,13,.74) 62%, rgba(34,8,13,.9)); }
  .hero__scroll { display: none; }
  .intro-strip { margin-top: -28px; }
  .intro-strip__grid { grid-template-columns: repeat(2, 1fr); }
  .intro-strip__item:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .intro-strip__item:nth-child(4) { border-top: 1px solid var(--line); }
  .story-grid, .value-grid, .contact-grid { grid-template-columns: 1fr; }
  .image-stack { min-height: 560px; }
  .value-sticky { position: static; }
  .feature-band__grid { grid-template-columns: 1fr; }
  .feature-band__media { min-height: 420px; }
  .feature-band__media::after { background: linear-gradient(180deg, transparent 65%, rgba(42,11,15,.9)); }
  .feature-band__content { padding: 52px 38px; }
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .stat:nth-child(3) { border-left: 0; border-top: 1px solid rgba(255,255,255,.1); }
  .stat:nth-child(4) { border-top: 1px solid rgba(255,255,255,.1); }
  .process-grid, .cards-3 { grid-template-columns: 1fr 1fr; }
  .gallery-mosaic { grid-template-columns: 1fr 1fr; grid-template-rows: 330px 240px 240px; }
  .gallery-item:first-child { grid-column: 1 / -1; grid-row: auto; }
  .quote-banner__inner { grid-template-columns: 1fr; }
  .president-card { grid-template-columns: 1fr; }
  .president-card__visual { min-height: 360px; }
  .president-card__content { padding: 50px 38px; }
  .gallery-grid { grid-template-columns: 1fr 1fr; }
  .gallery-card.wide { grid-column: span 2; }
  .footer-main { grid-template-columns: 1fr 1fr; }
  .footer-main > div:first-child, .footer-main > div:last-child { grid-column: 1 / -1; }
  .schedule { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 620px) {
  :root { --container: calc(100% - 28px); }
  body { font-size: 15.5px; padding-bottom: 64px; }
  .section { padding: 78px 0; }
  .section--compact { padding: 58px 0; }
  .topbar { font-size: .74rem; }
  .topbar__inner { min-height: 36px; }
  .header-inner { gap: 10px; }
  .brand img { width: 42px; height: 42px; flex-basis: 42px; }
  .brand__name { font-size: .86rem; }
  .brand__sub { display: none; }
  .menu-toggle { width: 43px; height: 43px; }
  .mobile-nav { inset: 102px 10px auto; max-height: calc(100vh - 120px); overflow-y: auto; }
  .mobile-nav__actions { grid-template-columns: 1fr; }
  .section-head { display: block; margin-bottom: 32px; }
  .section-head .btn { margin-top: 20px; }
  h1 { font-size: clamp(2.45rem, 12vw, 3.7rem); }
  h2 { font-size: clamp(2rem, 10vw, 3rem); }
  .hero { min-height: 790px; }
  .hero__inner { padding: 64px 0 84px; }
  .hero .lead { font-size: 1rem; }
  .hero__actions { display: grid; grid-template-columns: 1fr; }
  .hero__actions .btn { width: 100%; }
  .hero__trust { gap: 8px; }
  .trust-pill { font-size: .74rem; }
  .hero-card { padding: 20px; }
  .hero-card h3 { font-size: 1.4rem; }
  .page-hero { min-height: 410px; }
  .page-hero__inner { padding: 78px 0 54px; }
  .intro-strip__grid { grid-template-columns: 1fr 1fr; }
  .intro-strip__item { padding: 22px 16px; }
  .intro-strip__num { font-size: 1.65rem; }
  .intro-strip__label { font-size: .67rem; }
  .story-grid { gap: 35px; }
  .image-stack { min-height: 440px; }
  .image-stack__main { inset: 0 30px 55px 0; }
  .image-stack__small { width: 55%; height: 40%; border-width: 7px; }
  .image-stack__seal { width: 96px; height: 96px; font-size: .72rem; left: -8px; bottom: 15px; }
  .program-grid, .process-grid, .cards-3 { grid-template-columns: 1fr; }
  .program-card { min-height: 390px; }
  .program-card p { max-height: 100px; opacity: 1; margin-top: 10px; }
  .feature-band { border-radius: 26px; }
  .feature-band__media { min-height: 320px; }
  .feature-band__content { padding: 38px 24px 42px; }
  .feature-points { grid-template-columns: 1fr; }
  .value-row { grid-template-columns: 46px 1fr; gap: 14px; padding: 23px 0; }
  .value-row__icon { display: none; }
  .stats-grid { grid-template-columns: 1fr 1fr; }
  .stat { padding: 32px 12px; }
  .stat__number { font-size: 2.6rem; }
  .gallery-mosaic { grid-template-columns: 1fr; grid-template-rows: repeat(5, 260px); }
  .gallery-item:first-child { grid-column: auto; }
  .quote-banner { padding: 64px 0; }
  .faq-question { padding: 18px 17px; }
  .faq-answer__inner { padding: 0 17px 18px; }
  .contact-panel, .form-card { padding: 27px 20px; border-radius: 22px; }
  .form-grid { grid-template-columns: 1fr; }
  .form-field--full { grid-column: auto; }
  .form-actions { display: grid; }
  .form-actions .btn { width: 100%; }
  .map-wrap, .map-wrap iframe { min-height: 330px; }
  .president-card__visual { min-height: 290px; }
  .president-card__monogram { font-size: 5.6rem; }
  .president-card__content { padding: 38px 24px; }
  .schedule { grid-template-columns: 1fr; }
  .gallery-grid { grid-template-columns: 1fr; }
  .gallery-card, .gallery-card.wide { grid-column: auto; min-height: 285px; }
  .footer-main { grid-template-columns: 1fr; gap: 34px; padding: 58px 0 42px; }
  .footer-main > div:first-child, .footer-main > div:last-child { grid-column: auto; }
  .footer-bottom__inner { display: grid; text-align: center; justify-items: center; }
  .footer-bottom__links { justify-content: center; }
  .float-actions { display: none; }
  .back-to-top { right: 15px; bottom: 78px; }
  .mobile-bottom-bar { position: fixed; left: 10px; right: 10px; bottom: 8px; z-index: 950; display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; padding: 7px; border: 1px solid rgba(90,23,30,.12); border-radius: 18px; background: rgba(255,250,244,.96); backdrop-filter: blur(16px); box-shadow: 0 18px 50px rgba(37,15,12,.18); }
  .mobile-bottom-bar a { min-height: 48px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; border-radius: 12px; color: var(--maroon); font-size: .68rem; font-weight: 900; }
  .mobile-bottom-bar a.primary { color: #fff; background: var(--maroon); }
  .mobile-bottom-bar svg { width: 18px; height: 18px; fill: currentColor; }
}

@media (max-width: 360px) {
  :root { --container: calc(100% - 22px); }
  .brand__name { font-size: .8rem; }
  .hero { min-height: 820px; }
  .hero h1 { font-size: 2.5rem; }
  .intro-strip__label { letter-spacing: .02em; }
}
