/* TheGroundCrew mobile-first launch pass v3.6.0
   Public-facing responsive enhancements; desktop layout and admin unaffected. */
@media (max-width: 980px) {
  body:not(.portal-page) { overflow-x: clip; }
  body:not(.portal-page) :is(main, section, article, .shell, .card, .section-head, .footer-grid) { min-width: 0; }
  .site-header { z-index: 95; background: rgba(3,15,27,.95); }
  .site-header .nav { min-height: 64px; gap: 10px; display: flex !important; align-items: center; justify-content: space-between; }
  .site-header .brand { min-width: 0; flex-shrink: 1; }
  .site-header .brand img { width: 42px; height: 42px; }
  .site-header .brand span { font-size: .94rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .site-header .book-cta, .site-header .nav-cta { display: none !important; }
  .site-header .mobile-menu {
    display: inline-flex !important; flex: 0 0 auto; justify-content: center; align-items: center;
    min-width: 48px; min-height: 46px; border: 1px solid rgba(143,205,240,.35);
    border-radius: 13px; background: #11273a; color: #eef9ff; font-size: .8rem; font-weight: 850;
  }
  .site-header .nav-links[data-open="true"] {
    display: flex !important; position: absolute; z-index: 110;
    top: calc(100% + 5px); left: 0; right: 0; width: 100%;
    max-height: min(74dvh,580px); overflow-y: auto; overscroll-behavior: contain;
    flex-direction: column; gap: 2px; align-items: stretch;
    padding: 10px; border: 1px solid rgba(129,201,244,.28); border-radius: 18px;
    background: #071c2d; box-shadow: 0 24px 50px rgba(0,0,0,.5);
  }
  .site-header .nav-links[data-open="true"] a {
    display: flex; align-items: center; min-height: 48px; padding: 11px 15px;
    color: #d9eaf5; border-radius: 11px; font-size: .94rem;
  }
  .site-header .nav-links[data-open="true"] a.current,
  .site-header .nav-links[data-open="true"] a[aria-current="page"] { background: rgba(107,196,249,.15); color:#fff; }
  .site-header .nav-links a[hidden], [data-shop-public-entry][hidden], [data-pilot-public-entry][hidden] { display:none!important; }
  .section-head h2, .snap-section-head h2 { font-size: clamp(1.9rem,5vw,3rem); line-height:1.07; letter-spacing:-.045em; }
  .section-head { margin-bottom:20px; }
  .section-head p, .page-lead { font-size:.93rem; line-height:1.55; }
  :is(.page-hero,.page-hero.compact) { padding:42px 0 30px; }
  .page-hero h1 { font-size:clamp(2.65rem,8vw,4rem); line-height:1.05; margin:12px 0; }
  .event-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
  .event-card { min-width:0; height:100%; overflow:hidden; border-radius:18px; }
  .event-card-media { display:block; aspect-ratio:16/10; overflow:hidden; }
  .event-card-media img { width:100%; height:100%; object-fit:cover; }
  .event-card-body { padding:17px; }
  .event-card-body h3 { line-height:1.22; }
  .event-card-body>p:not(.event-date-line) {
    display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden;
    line-height:1.52; min-height:0;
  }
  .concept-events .event-filter-topline { flex-wrap:wrap; gap:10px; }
  .concept-events .event-filter-topline #eventTypeFilters { width:100%; margin:0; justify-content:flex-start; }
  .concept-events :is(#eventTypeFilters,#eventBrandFilters,#eventFilters) { gap:7px; }
  .concept-events :is(#eventTypeFilters,#eventBrandFilters,#eventFilters) button {
    min-height:43px; padding:9px 12px; white-space:nowrap;
  }
  .partner-section-intro, .partner-section-intro.compact,
  .partner-experience-final .partner-section-intro.compact, .snap-section-head {
    display:grid; grid-template-columns:1fr; gap:12px; align-items:start;
  }
  .partner-services-final, .partner-reach-final, .partner-experience-final,
  .snap-positioning, .snap-services, .snap-fit { padding:42px 0; }
  .partner-service-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .partner-service-list article { min-height:0; padding:15px; }
  .partner-service-list p,.partner-reach-grid p { font-size:.8rem; line-height:1.5; }
  .partner-reach-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .partner-reach-grid article { min-width:0; }
  .partner-experience-final .partner-logo-gallery {
    grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px;
    padding:12px; border-radius:16px;
  }
  .partner-experience-final .partner-logo-item { min-height:76px; padding:5px; }
  .partner-experience-final .partner-logo-item img { max-width:100%; max-height:62px; height:auto; width:auto; }
  .partner-experience-cases { gap:12px; }
  .partner-testimonial-viewport, .home-testimonial-viewport { scroll-snap-type:x mandatory; overscroll-behavior-inline:contain; }
  .snap-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .snap-service-grid article { min-height:0; padding:18px; }
  .snap-service-grid h3 { margin:20px 0 7px; }
  :is(.about-layout,.home-booking-shell,.home-organisations-layout,.partner-subsidiary-grid) {
    grid-template-columns:1fr;
  }
  .home-booking-media { min-height:285px; }
  .home-booking-copy h2 { font-size:clamp(2.1rem,5.5vw,3.3rem); line-height:1.04; }
  .home-proof-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .brand-home-grid { grid-template-columns:1fr!important; }
  .home-brand-split .brand-home-card { min-height:420px!important; }
  .editorial-story-layout { min-height:0!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  .site-footer .footer-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .footer-bottom { gap:8px; }
}
@media (max-width:760px) {
  :root { scroll-padding-top:78px; }
  body:not(.portal-page) { padding-bottom:calc(82px + env(safe-area-inset-bottom,0px)); }
  .shell,.narrow { width:calc(100% - 32px); }
  .site-header .nav { min-height:62px; }
  .site-header .brand span { max-width:min(44vw,200px); }
  .hci-mobile-dock {
    display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
    left:max(10px,env(safe-area-inset-left,0px)); right:max(10px,env(safe-area-inset-right,0px));
    bottom:calc(8px + env(safe-area-inset-bottom,0px));
    min-height:64px; padding:5px; border-radius:18px;
    background:rgba(5,21,36,.97); border:1px solid rgba(133,211,254,.27);
    box-shadow:0 10px 35px rgba(0,0,0,.48);
  }
  .hci-mobile-dock :is(a,button) {
    min-width:0; min-height:52px; text-decoration:none; color:#c0d5e4;
    font-size:.67rem; border-radius:12px; touch-action:manipulation;
  }
  .hci-mobile-dock span { font-size:1.15rem; }
  .hci-mobile-dock [aria-current="page"] { background:rgba(98,191,247,.18); color:#fff; }
  .site-footer { padding-bottom:38px; }
  .section { padding:42px 0; }
  .section-head { gap:9px; margin-bottom:18px; }
  .section-head h2 { font-size:clamp(1.8rem,8vw,2.65rem); line-height:1.07; }
  .section-head p { font-size:.88rem; }
  .eyebrow { letter-spacing:.09em; font-size:.65rem; }
  .btn { min-height:48px; display:inline-flex; justify-content:center; align-items:center; text-align:center; }
  :is(.page-actions,.section-actions,.hero-actions) { gap:10px; }
  .page-hero h1 { font-size:clamp(2.4rem,10vw,3.6rem); }
  /* Full-bleed mobile hero, retaining the CMS-managed live slideshow */
  .concept-home .home-hero.hero { padding:10px 0 20px; }
  .concept-home .home-hero .hero-card {
    position:relative; display:block; isolation:isolate; overflow:hidden;
    min-height:620px; border-radius:22px; background:#071c30;
  }
  .concept-home .home-hero .hero-card::before {
    content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
    background:linear-gradient(0deg,rgba(2,11,22,.98) 0%,rgba(2,11,22,.95) 22%,rgba(2,11,22,.76) 47%,rgba(2,11,22,.08) 91%);
  }
  .concept-home .home-hero .hero-media {
    position:absolute; inset:0; display:block; height:100%; min-height:0; width:100%;
    z-index:0; overflow:hidden; border:0; border-radius:0; pointer-events:none;
  }
  .concept-home .home-hero .hero-slide-stack,
  .concept-home .home-hero .hero-slide { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
  .concept-home .home-hero .hero-copy {
    position:relative; z-index:2; display:flex; flex-direction:column; justify-content:flex-end;
    width:100%; min-height:620px; padding:225px 20px 25px;
  }
  .concept-home .home-hero .hero-copy .eyebrow { font-size:.58rem; line-height:1.5; align-self:flex-start; max-width:100%; }
  .concept-home .home-hero h1 { font-size:clamp(2.35rem,10.5vw,3.8rem); line-height:.99; letter-spacing:-.06em; margin:16px 0 11px; }
  .concept-home .home-hero .hero-copy p { font-size:.9rem; line-height:1.52; margin:0 0 18px; max-width:440px; color:#d7e7f2; }
  .concept-home .home-hero .hero-actions { display:grid; grid-template-columns:1fr; width:100%; gap:9px; }
  .concept-home .home-hero .hero-actions .btn { min-height:49px; border-radius:13px; width:100%; }
  .concept-home .home-hero .hero-label { display:none; }
  .concept-home .home-hero .hero-slide-dots {
    position:absolute; z-index:3; top:14px; right:14px; bottom:auto; pointer-events:auto;
    padding:8px 10px; border-radius:999px; background:rgba(3,18,34,.45);
  }
  .concept-home .home-hero .hero-slide-dots button { min-width:10px; min-height:10px; }
  .home-proof-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-proof-grid>div { padding:12px; border-bottom:1px solid rgba(138,207,247,.1); }
  .home-proof-grid strong { font-size:.76rem; line-height:1.4; }
  .editorial-story-layout { grid-template-columns:1fr!important; gap:12px!important; }
  .editorial-lead,.editorial-support-card { min-height:245px!important; height:auto!important; }
  .home-booking { padding:42px 0; }
  .home-booking-shell { gap:16px; }
  .home-booking-media { min-height:220px; aspect-ratio:16/10; border-radius:18px; }
  .home-booking-copy { padding:0; }
  .home-booking-copy h2 { font-size:clamp(2rem,8.6vw,2.9rem); margin:10px 0; }
  .home-booking-options { margin:16px 0; gap:8px; }
  .home-booking-options article { padding:12px; }
  .home-booking-options p { font-size:.77rem; }
  .home-booking-actions { flex-direction:column; align-items:stretch; }
  .home-brand-split .brand-home-card { min-height:385px!important; border-radius:18px; }
  .home-brand-split .brand-home-kicker { bottom:155px!important; }
  .home-brand-split .brand-home-card h3 { bottom:116px!important; font-size:1.38rem!important; }
  .home-brand-split .brand-home-card p { bottom:64px!important; font-size:.75rem!important; }
  .home-brand-split .brand-home-card .btn { bottom:14px!important; min-height:44px; }
  .home-organisations-media { min-height:205px!important; }
  .home-testimonial-stage,.partner-testimonial-stage { padding-top:16px; }
  .home-testimonial-card,.partner-testimonial-card { min-height:0; }
  .event-grid { grid-template-columns:1fr; gap:13px; }
  .event-card-media { aspect-ratio:16/9; }
  .event-card-body { padding:15px; }
  .event-card-body h3 { font-size:1.17rem; margin:8px 0; }
  .event-card-body .event-date-line { margin:0 0 8px; font-size:.74rem; }
  .event-card-body>p:not(.event-date-line) { margin:0 0 12px; font-size:.85rem; }
  .event-actions :is(.btn,a) { min-height:44px; }
  .concept-events .event-filter-topline { gap:8px; margin-bottom:8px; }
  .concept-events .concept-filterbar { display:flex; max-width:100%; overflow-x:auto; flex-wrap:nowrap!important; scrollbar-width:none; padding:2px 0 6px; }
  .concept-events .concept-filterbar::-webkit-scrollbar { display:none; }
  .concept-events .concept-filterbar button { flex:0 0 auto; }
  .concept-events #eventBrandFilters { display:flex; gap:8px; overflow-x:auto; flex-wrap:nowrap; padding:2px 0 9px; }
  .concept-events #eventsRoot .section-head { margin:18px 0 14px; }
  .concept-events #eventsRoot .section-head h2 { font-size:clamp(1.6rem,7vw,2.3rem); }
  .concept-events #eventsRoot .section-head p { display:none; }
  .partner-hero,.partner-primary-hero { min-height:0!important; }
  .partner-hero-inner,.partnerships-premium .partner-hero-inner { padding:85px 0 38px; align-items:flex-start; }
  .partner-hero-copy h1 { font-size:clamp(2.4rem,10vw,3.7rem)!important; line-height:1.01; }
  .partner-hero-copy p { font-size:.91rem; line-height:1.55; }
  .partner-primary-stat { display:none; }
  .partner-subsidiary-grid { grid-template-columns:1fr; gap:18px; }
  .partner-subsidiary-copy h2 { font-size:clamp(2rem,8vw,2.8rem); }
  .partner-subsidiary-media { min-height:210px; border-radius:17px; }
  .partner-subsidiary-meta { grid-template-columns:1fr 1fr; gap:8px; }
  .partner-subsidiary-meta>div { min-width:0; }
  .partner-service-list,.partner-reach-grid,.partner-experience-cases { grid-template-columns:1fr; }
  .partner-service-list article { display:flex; gap:11px; min-height:0; padding:13px 14px; }
  .partner-service-list h3 { font-size:1rem; }
  .partner-service-list p { font-size:.78rem; }
  .partner-experience-final .partner-section-intro.compact h2 { font-size:clamp(2.1rem,8vw,3rem); line-height:1.07; }
  .partner-experience-final .partner-section-intro.compact p { border-left:0; padding:0; }
  .partner-experience-final .partner-logo-gallery {
    display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px;
    padding:12px 9px; border-radius:16px;
  }
  .partner-experience-final .partner-logo-item { min-height:72px; padding:5px 7px; }
  .partner-experience-final .partner-logo-item img,
  .partner-experience-final .partner-logo-item:nth-child(n) img { max-width:100%; max-height:64px; width:auto; height:auto; }
  .partner-experience-cases article { min-height:220px; }
  .partner-testimonial-topline { gap:8px; }
  .partner-testimonial-card { max-height:none; padding:18px; }
  .partner-final-cta,.partnerships-premium .partner-final-cta { min-height:0; }
  .partnerships-premium .partner-final-inner { padding:45px 0; }
  .snap-hero { min-height:0; }
  .snap-hero-inner { padding:120px 0 38px; gap:20px; flex-direction:column; align-items:flex-start; }
  .snap-hero h1 { font-size:clamp(2.5rem,11vw,3.8rem); line-height:1.01; }
  .snap-hero p { font-size:.92rem; margin-bottom:14px; }
  .snap-hero-proof { flex:0 0 auto; width:100%; padding:15px; }
  .snap-section-head { gap:12px; margin-bottom:20px; }
  .snap-brand-split { grid-template-columns:1fr; }
  .snap-brand-panel { min-height:370px; }
  .snap-service-grid { grid-template-columns:1fr; }
  .snap-service-grid article { min-height:0; }
  .snap-service-grid h3 { margin:12px 0 6px; }
  .site-footer .footer-grid { grid-template-columns:1fr; gap:14px; }
  .site-footer .footer-links { grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 13px; }
  .site-footer .footer-links a { min-height:43px; display:flex; align-items:center; }
  body:not(.portal-page) :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea) {
    max-width:100%; font-size:16px; /* prevent automatic iOS zoom on focus */
  }
  body:not(.portal-page) :is(a,button,[role="button"]) { touch-action:manipulation; }
}
@media(max-width:380px) {
  .shell,.narrow { width:calc(100% - 24px); }
  .site-header .brand img { width:37px; height:37px; }
  .site-header .brand span { max-width:142px; font-size:.82rem; }
  .concept-home .home-hero .hero-card,
  .concept-home .home-hero .hero-copy { min-height:600px; }
  .concept-home .home-hero h1 { font-size:clamp(2rem,10.5vw,2.5rem); }
  .concept-home .home-hero .hero-copy { padding:212px 15px 20px; }
  .concept-home .home-hero .hero-copy p { font-size:.84rem; }
  .hci-mobile-dock { left:6px; right:6px; }
  .hci-mobile-dock :is(a,button) { font-size:.6rem; }
}
@media(prefers-reduced-motion:reduce) {
  .hci-mobile-dock *, .site-header .nav-links, .home-hero .hero-slide { animation:none!important; transition:none!important; }
}

/* Mobile-only hero booking CTA; desktop continues to show event coverage. */
.mobile-book-hero{display:none}
@media(max-width:760px){.concept-home .home-hero .hero-actions>a[href="/events"]{display:none!important}.concept-home .home-hero .hero-actions .mobile-book-hero{display:inline-flex!important}}

/* Final narrow-screen overrides */
@media(max-width:760px){
  .concept-home .site-header .brand span{display:inline!important;max-width:174px}
  .concept-home .home-hero .hero-media{pointer-events:auto}
}

/* Accessible booking access in the mobile/tablet drawer, never in desktop navigation */
@media(max-width:980px){
  .site-header .nav-links[data-open="true"] a.mobile-book-nav{display:flex!important;background:rgba(104,197,246,.16);color:#ebf9ff;font-weight:900}
}
