/* NXA responsive V1. Loaded after page styles. Desktop >1024px is unchanged. */
@media (max-width:1024px) {
  html {max-width:100%; overflow-x:clip;}
  body {max-width:100%; overflow-x:clip;}
  main, section, article, form, .footer-col {min-width:0;}
  img, video, iframe {max-width:100%;}
  .contact-ref-detail, .footer a, .event-detail-copy {overflow-wrap:anywhere;}
  .categories-columns {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .category-photo.short {height:clamp(180px,26vw,280px)!important;}
  .category-photo.medium {height:clamp(250px,37vw,380px)!important;}
  .category-photo.tall {height:clamp(330px,48vw,490px)!important;}
  .category-photo.bottom {height:clamp(260px,36vw,370px)!important;}
  .subcat-hero-right {width:100%!important;height:100%!important;}
  .subcat-hero-right video {transform:translate(-50%,-50%)!important;}
  .subcat-cinematic-copy {width:min(82%,720px)!important;}
  .subcat-cinematic-meta {top:auto!important;bottom:max(28px,env(safe-area-inset-bottom))!important;transform:none!important;}
  .subcat-album-grid {grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px!important;}
  .contact-ref-grid {grid-template-columns:minmax(0,1fr)!important;gap:36px!important;}
  .contact-ref-divider {width:100%;height:1px;min-height:1px;}
  .contact-ref-info, .contact-ref-form-wrap {padding-left:0;padding-right:0;max-width:100%;}
  .contact-ref-location {grid-template-columns:1fr 1fr;}
  .contact-ref-field, .contact-ref-phone-row {min-width:0;}
  .contact-ref-field input, .contact-ref-field select, .contact-ref-field textarea {min-width:0;max-width:100%;font-size:16px;}
  .events-editorial-card {grid-template-columns:40px minmax(0,1fr) minmax(0,1fr);gap:20px;}
  .event-detail-body {grid-template-columns:minmax(0,1fr)!important;gap:32px;}
  .footer-main {grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:36px!important;}
  .footer-bottom {flex-wrap:wrap;gap:18px;}
  .work-gallery-row, .card-showcase-track {touch-action:pan-x pan-y;overscroll-behavior-x:contain;scroll-snap-type:x proximity;}
  .work-gallery-card, .showcase-card {scroll-snap-align:start;}
  .faq-classic-question {white-space:normal;gap:20px;min-height:48px;}
  .faq-classic-question span {min-width:0;}
}
@media (max-width:900px) {
  .site-header {height:72px!important;padding:0 5vw!important;}
  .site-header .desktop-nav {display:none!important;}
  .site-header .menu-btn {display:block!important;min-width:44px;min-height:44px;}
  .site-logo, .site-logo img {width:105px!important;}
  .nxa-mobile-menu {top:72px!important;bottom:0!important;padding:16px 6vw max(24px,env(safe-area-inset-bottom))!important;overscroll-behavior:contain;}
  .nxa-mobile-menu.open {display:block!important;}
  .nxa-mobile-menu a {min-height:44px;font-size:20px!important;}
  body.mobile-menu-lock {overflow:hidden!important;}
  body.mobile-menu-lock .site-header {background:#fffdf8!important;}
  body.mobile-menu-lock .site-header .site-logo img {filter:none!important;}
  body.mobile-menu-lock .site-header .menu-btn span {background:#5d0b0b!important;}
  .split-about-section {height:auto!important;min-height:0!important;}
  .split-about-sticky {position:relative!important;top:auto!important;height:auto!important;min-height:680px;}
  .split-about-content {position:relative!important;padding:120px 7vw!important;}
  .about-intro-inner, .about-story-inner, .about-philosophy-grid {grid-template-columns:minmax(0,1fr)!important;gap:36px!important;}
  .about-story-visual {min-width:0;}
  .approach-section {grid-template-columns:minmax(0,1fr)!important;}
  .home-events-grid {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .subcat-cinematic-copy h1 {font-size:clamp(34px,6vw,54px)!important;}
}
@media (min-width:901px) {
  .nxa-mobile-menu, .nxa-mobile-menu.open {display:none!important;}
  .site-header .menu-btn {display:none!important;}
}
@media (min-width:901px) and (max-width:1024px) {
  .site-header {padding-inline:3vw!important;}
  .site-header .desktop-nav {gap:20px!important;}
}
@media (max-width:600px) {
  .categories-columns-wrap {padding:8px!important;}
  .categories-columns,.categories-column {gap:8px!important;}
  .category-photo.short {height:180px!important;}
  .category-photo.medium {height:240px!important;}
  .category-photo.tall {height:310px!important;}
  .category-photo.bottom {height:240px!important;}
  .subcat-cinematic-copy {width:88%!important;}
  .subcat-cinematic-copy p {font-size:13px!important;line-height:1.6!important;}
  .subcat-cinematic-meta {font-size:10px!important;}
  .subcat-cinematic-meta.left {gap:12px!important;}
  .subcat-albums {padding:64px 5vw 72px!important;}
  .subcat-albums-head {align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:32px;}
  .subcat-album-grid, .subcat-album-grid.cards-2 {grid-template-columns:minmax(0,1fr)!important;}
  .subcat-album-card:nth-child(n) {margin-top:0!important;}
  .home-events-grid, .events-past-grid {grid-template-columns:minmax(0,1fr)!important;}
  .events-editorial-card {grid-template-columns:minmax(0,1fr)!important;gap:18px;}
  .events-card-number {display:none;}
  .events-card-content {grid-template-columns:minmax(0,1fr)!important;}
  .event-detail-actions {flex-wrap:wrap;gap:16px;}
  .contact-ref-form-row, .contact-ref-location {grid-template-columns:minmax(0,1fr)!important;}
  .contact-ref-phone-row {display:grid;grid-template-columns:minmax(90px,.7fr) minmax(0,1.3fr);gap:8px;}
  .contact-ref-phone-row > * {width:100%!important;min-width:0!important;}
  .contact-ref-section {padding:56px 5vw 64px!important;}
  .contact-ref-info h1 {font-size:clamp(38px,11vw,48px);}
  .contact-ref-map, .contact-ref-map iframe {min-height:300px;}
  .faq-classic-tabs {display:flex;flex-wrap:wrap;gap:10px;}
  .faq-classic-tabs button {white-space:normal;min-height:44px;}
  .footer-main {grid-template-columns:minmax(0,1fr)!important;gap:28px!important;}
  .footer-bottom, .footer-bottom-links {flex-wrap:wrap;gap:16px;}
  .home-hero-center h1 {font-size:clamp(48px,16vw,84px)!important;}
  .about-hero-title {font-size:clamp(46px,13vw,72px)!important;}
  .about-cta-buttons {flex-wrap:wrap;}
  .work-gallery-card {flex:0 0 78vw!important;width:78vw!important;max-width:340px!important;}
  .work-album-viewer, .story-photo-viewer {padding-inline:4vw!important;}
  .nxa-media-lightbox-close, .nxa-selected-media-close {right:12px!important;top:max(12px,env(safe-area-inset-top))!important;min-width:44px;min-height:44px;}
  .nxa-selected-media-modal, .nxa-youtube-modal {padding:12px!important;}
}
@media (hover:none), (pointer:coarse) {
  .category-photo-hover {display:flex!important;opacity:1!important;}
  .category-photo:hover img,.category-photo:hover video {transform:none;}
  .gallery-card-content, .work-gallery-card-overlay {opacity:1!important;visibility:visible!important;}
  .nxa-youtube-fullscreen {opacity:1!important;pointer-events:auto!important;min-height:44px;}
  .nav-dropdown:focus-within .dropdown-menu {opacity:1;visibility:visible;pointer-events:auto;}
  .nxa-touch-gallery .gallery-3d-track {display:flex!important;gap:16px;overflow-x:auto!important;overflow-y:hidden!important;position:relative!important;width:100%!important;height:auto!important;transform:none!important;scroll-snap-type:x mandatory;touch-action:pan-x pan-y;padding:12px 6vw 24px;}
  .nxa-touch-gallery .gallery-3d-card {position:relative!important;inset:auto!important;flex:0 0 76vw!important;width:76vw!important;max-width:420px;height:420px!important;transform:none!important;opacity:1!important;pointer-events:auto!important;scroll-snap-align:center;}
  .nxa-touch-gallery .gallery-3d-stage {height:auto!important;perspective:none!important;}
}
@media (prefers-reduced-motion:reduce) {
  .category-photo img,.category-photo video,.menu-btn span {transition:none!important;}
}
/* Replace the desktop sticky composition with normal document flow on narrow screens. */
@media (max-width:900px) {
  .split-about-sticky {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-height:0!important;padding:64px 5vw!important;}
  .split-about-content {grid-column:1/-1;order:-1;top:auto!important;left:auto!important;width:100%!important;max-width:640px;margin:0 auto;padding:0 0 28px!important;transform:none!important;opacity:1!important;}
  .split-about-sticky .split-image {position:relative!important;top:auto!important;left:auto!important;right:auto!important;width:100%!important;max-width:none;height:clamp(200px,40vw,350px)!important;transform:none!important;}
  .split-about-content h2 {font-size:clamp(36px,7vw,58px)!important;}
}

/* NXA mobile media/menu fix: grouped navigation and non-emoji link icons. */
.nxa-clean-arrow {display:inline-block;vertical-align:middle;line-height:1;}
.nxa-clean-arrow > svg {display:none;}
@media (max-width:1024px) {
  .nxa-clean-arrow > .nxa-original-arrow {display:none!important;}
  .nxa-clean-arrow > svg {display:inline-block!important;width:.9em;height:.9em;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vertical-align:baseline;}
}
@media (max-width:900px) {
  #mobileMenu {overflow-y:auto!important;}
  #mobileMenu .nxa-nav-group {border-bottom:1px solid rgba(93,11,11,.18);}
  #mobileMenu .nxa-nav-group-toggle {
    display:flex;align-items:center;justify-content:space-between;gap:16px;
    width:100%;min-height:60px;padding:18px 0;border:0!important;border-radius:0;
    background:transparent!important;color:#5d0b0b;font-family:inherit;font-size:20px!important;
    font-weight:400;text-align:left;letter-spacing:inherit;cursor:pointer;
  }
  #mobileMenu .nxa-nav-group-toggle::after {
    content:'';width:8px;height:8px;border-right:1px solid currentColor;
    border-bottom:1px solid currentColor;transform:rotate(45deg);margin:0 5px 5px;
    transition:transform .2s ease;
  }
  #mobileMenu .nxa-nav-group-toggle[aria-expanded="true"]::after {transform:rotate(225deg);margin-bottom:0;}
  #mobileMenu .nxa-nav-submenu[hidden] {display:none!important;}
  #mobileMenu .nxa-nav-submenu {padding:0 0 12px 20px;}
  #mobileMenu .nxa-nav-submenu a {
    display:block;min-height:44px;padding:12px 0!important;border:0!important;
    font-size:16px!important;line-height:1.4;
  }
  #mobileMenu .nxa-nav-group-toggle:focus-visible {outline:2px solid #5d0b0b;outline-offset:3px;}
}
@media (prefers-reduced-motion:reduce) {
  #mobileMenu .nxa-nav-group-toggle::after {transition:none;}
}
