/* TGC Mobile Edition 3.6.1 — phone-only hierarchy and concise content.
   Desktop, CMS/admin, and full inner-page content remain unchanged. */
.mobile-only, .mobile-brand-quick {display:none}
@media (max-width:760px) {
  /* Header and bottom navigation: a restrained, consistent touch UI */
  .site-header .nav {min-height:59px}
  .site-header .brand img {width:38px;height:38px}
  .site-header .mobile-menu {min-width:45px;min-height:43px;border-radius:12px}
  .hci-mobile-dock {min-height:60px;bottom:calc(7px + env(safe-area-inset-bottom,0px));border-radius:17px}
  .hci-mobile-dock :is(a,button) {min-height:49px;font-size:.68rem}
  .hci-mobile-dock :is(a,button) b {font-size:.68rem}
  body:not(.portal-page) {padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))}
  /* Homepage — strong image, plain copy, two clear choices */
  .concept-home .home-hero.hero {padding:7px 0 10px}
  .concept-home .home-hero .hero-card {min-height:492px;border-radius:18px}
  .concept-home .home-hero .hero-card::before {
     background:linear-gradient(0deg,rgba(2,11,22,.99) 0%,rgba(2,11,22,.96) 23%,rgba(2,11,22,.72) 51%,rgba(2,11,22,.02) 95%)
  }
  .concept-home .home-hero .hero-copy {min-height:492px;padding:154px 17px 18px}
  .concept-home .home-hero .hero-copy .eyebrow {font-size:.57rem;padding:5px 9px}
  .concept-home .home-hero h1 {font-size:clamp(2.15rem,9.5vw,3.15rem);line-height:1.025;letter-spacing:-.054em;margin:10px 0}
  .concept-home .home-hero .hero-copy>p:not(.mobile-hero-brief) {display:none!important}
  .concept-home .home-hero .hero-copy .mobile-hero-brief {display:block!important;font-size:.86rem;line-height:1.46;margin:0 0 14px;color:#e3eff8}
  .concept-home .home-hero .hero-actions {grid-template-columns:1fr 1fr;gap:8px}
  .concept-home .home-hero .hero-actions .btn {min-height:45px;padding:10px 8px;font-size:.77rem;line-height:1.18;white-space:normal;border-radius:11px}
  .concept-home .home-hero .hero-slide-dots {top:12px;right:12px}
  .concept-home .home-proof {display:none!important}
  /* A single latest-story feature rather than a long stack */
  .concept-home .editorial-stories-home {padding:25px 0 28px!important}
  .concept-home .editorial-stories-home .section-head {margin-bottom:12px}
  .concept-home .editorial-stories-home .section-head .eyebrow {font-size:.61rem}
  .concept-home .editorial-stories-home .section-head h2 {font-size:clamp(1.64rem,7.8vw,2.18rem);letter-spacing:-.045em}
  .concept-home .editorial-stories-home .section-head p {display:none}
  .concept-home .editorial-story-layout {grid-template-columns:1fr!important;gap:0!important}
  .concept-home .editorial-story-layout .editorial-support-card {display:none!important}
  .concept-home .editorial-story-layout .editorial-lead {min-height:245px!important;max-height:330px;border-radius:16px}
  .concept-home .editorial-stories-home .section-actions {margin-top:12px}
  .concept-home .editorial-stories-home .section-actions .btn {width:100%;min-height:44px}
  /* Booking should be a quick decision, not another full landing page */
  .concept-home .home-booking {padding:25px 0 28px;background:linear-gradient(145deg,#061b2c,#071522)}
  .concept-home .home-booking-shell {display:block}
  .concept-home .home-booking-media,
  .concept-home .home-booking-options,
  .concept-home .home-booking-copy>p:not(.mobile-booking-brief),
  .concept-home .home-booking-actions>span {display:none!important}
  .concept-home .home-booking-copy {padding:18px;border:1px solid rgba(112,196,246,.22);border-radius:18px;background:rgba(15,43,65,.58)}
  .concept-home .home-booking-copy .eyebrow {font-size:.62rem}
  .concept-home .home-booking-copy h2 {font-size:clamp(1.9rem,8.5vw,2.45rem);line-height:1.07;letter-spacing:-.04em;margin:8px 0 10px}
  .concept-home .home-booking-copy .mobile-booking-brief {display:block!important;font-size:.88rem;line-height:1.5;margin:0 0 15px;color:#c2d5e2}
  .concept-home .home-booking-actions {margin-top:0}
  .concept-home .home-booking-actions .btn {min-height:47px}
  /* Let the partnerships page carry long reviews; give home a fast route there */
  .concept-home .home-testimonials-vibrant,
  .concept-home .home-organisations-cinematic,
  .concept-home .home-about-vibrant {display:none!important}
  /* Two compact editorial brand routes instead of two 400px image billboards */
  .concept-home .home-brand-split {padding:28px 0 36px!important}
  .concept-home .home-brand-split .section-head {margin-bottom:14px}
  .concept-home .home-brand-split .section-head h2 {font-size:clamp(1.65rem,7.8vw,2.25rem)}
  .concept-home .home-brand-split .section-head p {display:none!important}
  .concept-home .home-brand-split .brand-home-grid {display:none!important}
  .concept-home .home-brand-split .mobile-brand-quick {display:grid!important;gap:10px}
  .concept-home .mobile-brand-quick a {
     display:flex;align-items:center;justify-content:space-between;gap:14px;
     min-height:76px;padding:15px 16px;border-radius:15px;
     border:1px solid rgba(127,194,229,.22);background:#0b2133;
     color:#fff;text-decoration:none;
  }
  .concept-home .mobile-brand-quick a:focus-visible {outline:3px solid #8cd8ff;outline-offset:2px}
  .concept-home .mobile-brand-quick a span {display:grid;gap:4px;min-width:0}
  .concept-home .mobile-brand-quick a b {font-size:.98rem;font-weight:850;line-height:1.15}
  .concept-home .mobile-brand-quick a small {font-size:.74rem;line-height:1.4;color:#a9c6d7}
  .concept-home .mobile-brand-quick a>span:last-child {font-size:1.2rem;color:#74c9fa}
  /* Quiet footer; still retains every important full-page destination */
  .concept-home .site-footer .footer-brand p {font-size:.75rem;line-height:1.5}
  .concept-home .site-footer .footer-grid {gap:8px}
  /* On inner pages: ease scanning without compromising content */
  .concept-events .page-hero h1,.partnerships-premium .partner-hero h1,.snap-page .snap-hero h1 {
     font-size:clamp(2.05rem,9vw,3.15rem);line-height:1.06
  }
  .concept-events .event-card {border-radius:15px}
  .concept-events .event-card-body>p:not(.event-date-line) {-webkit-line-clamp:2}
  .concept-events .event-card-media {aspect-ratio:16/9}
}
@media(max-width:360px) {
  .concept-home .home-hero .hero-card,.concept-home .home-hero .hero-copy {min-height:515px}
  .concept-home .home-hero .hero-copy {padding-top:160px}
  .concept-home .home-hero .hero-actions .btn {font-size:.7rem}
}
@media(prefers-reduced-motion:reduce) {
  .concept-home .home-hero .hero-slide {transition:none!important}
}


/* v3.6.2 Mobile finishing pass — verified after v3.6.1 visual audit. */
@media(max-width:760px){
  :root{scroll-padding-top:74px}
  body:not(.portal-page){overflow-x:clip;padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))}
  body:not(.portal-page) :is(h1,h2,h3){overflow-wrap:break-word;text-wrap:pretty}
  .shell,.narrow,body:not(.portal-page) .shell{width:calc(100% - 28px)!important;max-width:520px;margin-inline:auto}
  /* The persistent 4-way dock is the sole mobile Menu control.
     The dock's Menu action still opens the original nav drawer. */
  .site-header .mobile-menu{display:none!important}
  .site-header .nav{min-height:59px!important;padding-block:5px!important}
  .site-header .brand img{height:36px!important;width:36px!important}
  .site-header .brand span{max-width:calc(100vw - 130px)!important;font-size:1rem!important;white-space:nowrap}
  .site-header .nav-links[data-open="true"]{top:calc(100% + 3px);left:12px;right:12px;width:auto;max-height:min(70dvh,540px);border-radius:16px}
  .hci-mobile-dock{grid-template-columns:repeat(4,minmax(0,1fr))!important;min-height:60px!important;bottom:calc(8px + env(safe-area-inset-bottom,0px));padding:5px!important}
  .hci-mobile-dock :is(a,button){min-height:48px!important;padding:5px 2px!important;gap:2px!important;font-size:.67rem!important}
  /* Predictable, centrally framed media for every portrait viewport */
  :is(.home-hero .hero-slide,.event-card-media img,.editorial-story-layout img,.page-hero-media img,.brand-home-media img,.home-booking-media img,.about-photo img,.partner-logo-item img,.partner-subsidiary-media img,.home-organisations-media img,.snap-hero-image){
     object-fit:cover;
     object-position:center center!important;
  }
  /* Preserve entire brand logos even if a mixed-size asset comes through */
  .partner-logo-item img{object-fit:contain!important}
  .concept-home .home-hero.hero{padding:7px 0 13px!important}
  .concept-home .home-hero .hero-card,
  .concept-home .home-hero .hero-copy{min-height:490px!important}
  .concept-home .home-hero .hero-card{border-radius:18px!important;overflow:hidden}
  .concept-home .home-hero .hero-copy{width:100%!important;max-width:none!important;padding:145px 18px 21px!important;justify-content:flex-end!important;gap:0!important}
  .concept-home .home-hero .hero-copy .eyebrow{font-size:.55rem!important;line-height:1.35!important;max-width:100%!important;letter-spacing:.055em!important;margin-bottom:7px!important;white-space:normal}
  .concept-home .home-hero .hero-copy h1,
  .concept-home .home-hero h1{
     font-size:clamp(2.15rem,9.6vw,2.65rem)!important;
     line-height:1.025!important;
     letter-spacing:-.053em!important;
     width:100%!important;max-width:360px!important;
     margin:7px 0 11px!important;overflow-wrap:normal!important;text-wrap:balance;
  }
  .concept-home .home-hero .hero-copy h1 span{font-size:inherit!important;line-height:inherit!important}
  .concept-home .home-hero .hero-copy>p{display:none!important}
  .concept-home .home-hero .hero-copy .mobile-hero-brief{
     display:block!important;font-size:.87rem!important;line-height:1.5!important;
     color:#e2eef6!important;width:100%;max-width:315px!important;
     margin:0 0 15px!important;
  }
  .concept-home .home-hero .hero-actions{
     display:block!important;width:100%!important;max-width:340px!important;
     padding:0!important;margin:0!important;min-width:0!important;
  }
  .concept-home .home-hero .hero-actions>a[href="/events"],
  .concept-home .home-hero .hero-actions .mobile-book-hero{display:none!important}
  .concept-home .home-hero .hero-actions>a[href="/portfolio"]{
     display:flex!important;justify-content:center!important;align-items:center!important;
     box-sizing:border-box!important;width:100%!important;min-width:0!important;
     max-width:340px!important;min-height:48px!important;
     padding:12px 15px!important;white-space:normal!important;border-radius:12px!important;
     line-height:1.2!important;font-size:.86rem!important;
  }
  .concept-home .home-hero .hero-slide-dots{top:12px;right:12px}
  .concept-home .home-hero .hero-card::before{
     background:linear-gradient(0deg,rgba(2,11,22,.99),rgba(2,11,22,.94) 27%,rgba(2,11,22,.52) 66%,rgba(2,11,22,.06) 95%)!important
  }
  /* Hero moved up without losing the image's subject or the action. */
  .concept-home .editorial-stories-home{padding:27px 0 29px!important}
  .concept-home .editorial-stories-home .editorial-lead{min-height:230px!important}
  .concept-home .home-booking-copy h2{font-size:clamp(1.78rem,7.8vw,2.25rem)!important;line-height:1.07}
  .concept-home .home-brand-split .section-head h2{font-size:clamp(1.65rem,7.3vw,2.1rem)!important;line-height:1.1}
  /* Events heading and filtering share the space instead of wasting 1 screen */
  .concept-events .page-hero,.concept-events .page-hero.compact{
     padding:31px 0 17px!important;min-height:0!important;margin:0!important
  }
  .concept-events .page-hero .shell{padding:0!important}
  .concept-events .page-hero .eyebrow{font-size:.63rem;margin-bottom:6px}
  .concept-events .page-hero h1:not(.events-mobile-title),
  .concept-events .page-hero .page-lead:not(.events-mobile-lead){display:none!important}
  .concept-events .page-hero .events-mobile-title{display:block!important;font-size:clamp(2rem,8.8vw,2.45rem)!important;line-height:1.05!important;letter-spacing:-.055em!important;margin:7px 0 9px!important;max-width:none!important}
  .concept-events .page-hero .events-mobile-lead{display:block!important;font-size:.9rem!important;line-height:1.45!important;color:#b8cddb!important;max-width:34ch;margin:0!important}
  .concept-events .page-hero+.section{padding:18px 0 42px!important}
  .concept-events .event-filter-topline{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:8px!important;margin:0 0 7px!important}
  .concept-events .event-filter-topline #eventFilters{
      width:auto!important;min-width:0!important;flex:0 0 auto!important;
      display:flex!important;gap:7px!important;margin:0!important;padding:0!important
  }
  .concept-events .event-filter-topline #eventTypeFilters{
      flex:1 1 0!important;min-width:0!important;max-width:100%!important;
      width:auto!important;justify-content:flex-start!important;
      display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;gap:7px!important;
      margin:0!important;padding:2px 0 4px!important;scrollbar-width:none;
  }
  .concept-events #eventBrandFilters{
      display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;min-width:0!important;
      width:100%!important;max-width:100%!important;gap:7px!important;margin:0 0 13px!important;
      padding:2px 0 7px!important;scrollbar-width:none
  }
  .concept-events #eventFilters button,
  .concept-events #eventTypeFilters button,
  .concept-events #eventBrandFilters button{
      display:inline-flex!important;align-items:center!important;justify-content:center!important;
      flex:0 0 auto!important;min-height:41px!important;min-width:0!important;
      padding:9px 12px!important;white-space:nowrap!important;
      line-height:1.2!important;border-radius:12px!important;font-size:.8rem!important
  }
  .concept-events #eventFilters::-webkit-scrollbar,
  .concept-events #eventTypeFilters::-webkit-scrollbar,
  .concept-events #eventBrandFilters::-webkit-scrollbar{display:none}
  .concept-events #eventsRoot .section-head{margin:14px 0 10px!important}
  .concept-events #eventsRoot .section-head h2{font-size:clamp(1.55rem,7vw,2rem)!important}
  .concept-events .event-card-body h3{font-size:1.08rem!important;line-height:1.23}
  .concept-events .event-card-body>p:not(.event-date-line){-webkit-line-clamp:2!important}
  /* Make other pages readable and avoid runaway headline sizes */
  :is(.concept-about,.concept-partnerships,.snap-premium,.concept-portfolio,.concept-contact)
    .page-hero h1,
  .partnerships-premium .partner-hero-copy h1,
  .snap-premium .snap-hero h1{
     font-size:clamp(2.05rem,8.8vw,2.65rem)!important;line-height:1.055!important;letter-spacing:-.045em!important;
  }
  :is(.concept-about,.concept-partnerships,.snap-premium,.concept-portfolio,.concept-contact)
    .page-lead{font-size:.93rem!important;line-height:1.5!important}
  .section-head h2{overflow-wrap:break-word}
  .site-footer{padding-bottom:20px!important}
}
@media(max-width:360px){
  .concept-home .home-hero .hero-card,
  .concept-home .home-hero .hero-copy{min-height:495px!important}
  .concept-home .home-hero .hero-copy{padding:153px 15px 18px!important}
  .concept-home .home-hero .hero-copy h1{font-size:2.13rem!important}
}


@media(max-width:760px){
 .concept-home .home-hero .hero-copy h1,.concept-home .home-hero h1{font-size:clamp(2.05rem,8.7vw,2.42rem)!important;line-height:1.045!important;letter-spacing:-.052em!important}
 .concept-home .home-hero .hero-copy h1 span{display:inline!important;font:inherit!important;color:inherit!important}
}

/* Mobile v3.6.4: subject-first images, only one menu trigger */
@media(max-width:760px){
.site-header .mobile-menu{display:none!important}
.site-header .nav-links[data-open="true"]{display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;z-index:400!important;top:calc(100% + 4px);left:14px;right:14px;width:auto;max-height:min(66dvh,550px);overflow-y:auto;box-shadow:0 20px 45px rgba(0,0,0,.58)}
.site-header:has(.nav-links[data-open="true"]){z-index:500!important}
.hci-mobile-dock [data-dock-more][aria-expanded="true"]{color:#fff;background:rgba(98,191,247,.18)}
.concept-home .home-hero .hero-card,.concept-home .home-hero .hero-copy{min-height:505px!important}
.concept-home .home-hero .hero-card{background:#061523!important}
.concept-home .home-hero .hero-media{position:absolute!important;inset:0!important;overflow:hidden!important;z-index:0!important}
.concept-home .home-hero .hero-slide-stack{position:absolute!important;top:0!important;right:0!important;left:0!important;bottom:auto!important;height:clamp(255px,71vw,305px)!important;width:100%!important;overflow:hidden!important}
.concept-home .home-hero .hero-slide-stack .hero-slide{position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:auto!important;height:100%!important;width:100%!important;object-fit:cover!important;max-height:none!important;transform:none!important;filter:none!important}
.concept-home .home-hero .hero-slide:nth-child(1){object-position:49% 46%!important}
.concept-home .home-hero .hero-slide:nth-child(2){object-position:57% 54%!important}
.concept-home .home-hero .hero-slide:nth-child(3){object-position:52% 63%!important}
.concept-home .home-hero .hero-slide:nth-child(4){object-position:50% 67%!important}
.concept-home .home-hero .hero-slide:nth-child(5){object-position:52% 59%!important}
.concept-home .home-hero .hero-card::before{content:""!important;position:absolute;inset:0;z-index:1!important;pointer-events:none!important;background:linear-gradient(0deg,#061523 0%,rgba(6,21,35,.99) 30%,rgba(6,21,35,.94) 40%,rgba(6,21,35,.34) 55%,rgba(6,21,35,.02) 73%)!important}
.concept-home .home-hero .hero-copy{position:relative!important;z-index:2!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;padding:252px 18px 19px!important;width:100%!important}
.concept-home .home-hero .hero-copy .eyebrow{margin-bottom:8px!important;max-width:100%}
.concept-home .home-hero .hero-copy h1,.concept-home .home-hero h1{font-size:clamp(2.02rem,8.9vw,2.45rem)!important;line-height:1.035!important;max-width:360px!important;margin:6px 0 11px!important}
.concept-home .home-hero .hero-copy .mobile-hero-brief{margin-bottom:14px!important;font-size:.86rem!important;line-height:1.46!important;max-width:320px!important}
.concept-home .home-hero .hero-actions>a[href="/portfolio"]{min-height:47px!important}
.concept-home .home-hero .hero-slide-dots{top:12px!important;right:12px!important;z-index:6!important}
}
@media(max-width:360px){.concept-home .home-hero .hero-card,.concept-home .home-hero .hero-copy{min-height:508px!important}.concept-home .home-hero .hero-copy{padding:240px 15px 17px!important}.concept-home .home-hero .hero-slide-stack{height:258px!important}}


/* Blend the landscape photo into the dark copy area without a hard crop seam. */
@media(max-width:760px){
.concept-home .home-hero .hero-slide-stack{
 -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 82%,transparent 100%)!important;
 mask-image:linear-gradient(to bottom,#000 0%,#000 82%,transparent 100%)!important;
}
}


/* Mobile navigation refinement v3.6.5. Clean, compact editorial dropdown. */
.mobile-nav-head{display:none!important}
@media(max-width:760px){
 .site-header .nav-links[data-open="true"]{
   position:absolute!important;
   top:calc(100% + 8px)!important;
   bottom:auto!important;
   left:auto!important;
   right:0!important;
   transform:none!important;
   margin:0!important;
   box-sizing:border-box!important;
   width:min(320px,calc(100vw - 28px))!important;
   max-width:calc(100vw - 28px)!important;
   max-height:min(65dvh,350px)!important;
   padding:9px 11px 10px!important;
   display:flex!important;
   flex-direction:column!important;
   align-items:stretch!important;
   gap:0!important;
   border:1px solid rgba(135,203,240,.29)!important;
   border-radius:17px!important;
   background:#091e30!important;
   box-shadow:0 18px 42px rgba(0,0,0,.42)!important;
   z-index:450!important;
   overflow-y:auto!important;
 }
 .site-header .nav-links[data-open="true"] .mobile-nav-head{
   display:flex!important;align-items:center!important;justify-content:space-between!important;
   gap:12px!important;padding:3px 3px 9px 12px!important;
   margin:0 0 3px!important;border-bottom:1px solid rgba(129,198,234,.15)!important;
 }
 .site-header .nav-links .mobile-nav-head span{
   color:#86bbd8;font-size:.68rem;font-weight:850;line-height:1.2;
   text-transform:uppercase;letter-spacing:.11em;
 }
 .site-header .nav-links .mobile-nav-close{
   display:inline-flex!important;align-items:center;justify-content:center;
   height:34px;min-height:34px;width:34px;min-width:34px;
   padding:0!important;margin:0!important;
   border-radius:10px!important;
   background:rgba(116,185,228,.12)!important;
   border:1px solid rgba(125,202,246,.2)!important;
   color:#e5f6ff!important;font-size:1.35rem!important;font-weight:400;
   cursor:pointer;touch-action:manipulation;
 }
 .site-header .nav-links[data-open="true"] a:not([hidden]){
   display:flex!important;align-items:center!important;min-height:44px!important;
   padding:11px 13px!important;margin:0!important;
   border:0!important;border-radius:10px!important;
   background:transparent!important;box-shadow:none!important;
   color:#d9e9f5!important;font-size:.91rem!important;font-weight:650!important;
   line-height:1.2!important;text-decoration:none!important;
 }
 .site-header .nav-links[data-open="true"] a:not([hidden]):hover,
 .site-header .nav-links[data-open="true"] a:not([hidden]):focus-visible{
   background:rgba(122,200,247,.12)!important;color:#fff!important;
 }
 .site-header .nav-links[data-open="true"] a.current,
 .site-header .nav-links[data-open="true"] a[aria-current="page"]{
   background:rgba(102,190,239,.15)!important;color:#fff!important;
 }
 /* The persistent bottom dock already contains Book; no redundant menu row. */
 .site-header .nav-links[data-open="true"] a.mobile-book-nav{display:none!important}
 .site-header .nav-links .mobile-nav-close:focus-visible,
 .hci-mobile-dock [data-dock-more]:focus-visible{outline:2px solid #89d5ff;outline-offset:2px}
}


/* Avoid duplicating Coverage and Book within the phone menu. */
@media(max-width:760px) {
 .site-header .nav-links[data-open="true"] a[href="/events"],
 .site-header .nav-links[data-open="true"] a[href="/events/"]{display:none!important}
}
@media(min-width:761px){
 .site-header .nav-links a.mobile-nav-secondary{display:none!important}
}

/* Ensure the secondary-brand link remains distinct from CMS-managed main links. */
@media(max-width:760px){
 .site-header .nav-links[data-open="true"] a.mobile-nav-secondary{display:flex!important}
 .site-header .nav-links[data-open="true"] a[href="/snapandcapturemedia/"]:not(.mobile-nav-secondary){display:none!important}
 .site-header .nav-links[data-open="true"] a[href="/snapandcapturemedia"]:not(.mobile-nav-secondary){display:none!important}
}
