/* Komstadt V3.6.6: mobile-only refinement. Desktop >=801px intentionally untouched. */
@media screen and (max-width:800px) {
  /* All mobile text must have an explicitly available sans-serif family on iOS.
     Segoe UI and Calibri are Windows-specific; without fallbacks Safari defaults to serif. */
  html, body {max-width:100%;}
  body, body :is(h1,h2,h3,h4,h5,h6,p,a,span,strong,b,em,small,div,button,summary,label,legend,input,select,textarea,li,th,td,blockquote,figcaption) {
    font-family:Arial,Helvetica,sans-serif!important;
  }
  main, main>section, .section, .container, .section-heading, .section-intro,
  main :is(.grid,.card,.card-copy,.section-heading,.hero-copy) {min-width:0;}
  main :is(h1,h2,h3,h4,p) {max-width:100%; overflow-wrap:break-word;}
  img, video {max-width:100%;}
  .button, a.button {max-width:100%;min-width:0;white-space:normal;}
  .button-label {min-width:0; overflow-wrap:break-word;}
  .actions {max-width:100%;}

  /* Shared navigation: old stylesheet hides nav with !important even when .open is toggled. */
  #site-header {position:relative!important;z-index:90!important;}
  #site-header .nav-inner {position:relative!important;align-items:center!important;}
  #site-header .mobile-toggle {
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    min-height:44px!important;min-width:88px!important;gap:8px!important;
    font-size:13px!important;line-height:1.2!important;padding:9px 11px!important;
    white-space:nowrap!important;touch-action:manipulation;
  }
  #site-header .mobile-toggle span {font-size:19px!important;line-height:1!important;font-weight:400!important;}
  #site-header .nav-inner>nav,
  #site-header .nav-inner>#main-navigation {display:none!important;}
  #site-header .nav-inner>nav.open,
  #site-header .nav-inner>#main-navigation.open {
    display:flex!important;position:relative!important;flex:0 0 100%!important;
    flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;
    width:100%!important;max-height:min(72vh,650px)!important;overflow-x:hidden!important;overflow-y:auto!important;
    order:3!important;gap:0!important;padding:8px 0 18px!important;z-index:95!important;
    background:var(--navy-deep,#001522)!important;-webkit-overflow-scrolling:touch;
  }
  #site-header .nav-inner>nav.open>details,
  #site-header .nav-inner>nav.open>a {width:100%!important;display:block!important;}
  #site-header .nav-inner>nav.open>details>summary,
  #site-header .nav-inner>nav.open>.nav-link {display:flex!important;align-items:center!important;min-height:44px!important;padding:11px 12px!important;white-space:normal!important;font-size:15px!important;line-height:1.4!important;}
  #site-header .nav-inner>nav.open>details>summary {justify-content:space-between!important;cursor:pointer;}
  #site-header .nav-inner>nav.open>details[open]>summary {border-bottom:1px solid #31566b!important;}
  #site-header .nav-inner>nav.open .menu-panel,
  #site-header .nav-inner>nav.open .menu-panel-compact,
  #site-header .nav-inner>nav.open .compact-menu .menu-panel,
  #site-header .nav-inner>nav.open .projects-menu .menu-panel {
    position:static!important;display:block!important;width:100%!important;max-width:100%!important;
    max-height:none!important;overflow:visible!important;margin:0 0 7px!important;
    background:#0b3042!important;color:#fff!important;box-shadow:none!important;
    border:0!important;border-left:2px solid #e4182a!important;
  }
  #site-header .nav-inner>nav.open .menu-link {display:block!important;min-height:44px!important;padding:12px 16px!important;white-space:normal!important;line-height:1.35!important;}
  #site-header .nav-inner>nav.open .menu-link:focus-visible {outline-offset:-3px!important;}
  #site-header .nav-inner>nav .mobile-enquire-link {display:none!important;}
  #site-header .nav-inner>nav.open .mobile-enquire-link {
    display:block!important;margin-top:12px!important;padding:12px 14px!important;
    border-radius:2px!important;background:#e4182a!important;color:#fff!important;font-weight:700!important;
  }

  /* Headline with original inline width:670px / height:153px was clipped on iPhone. */
  body[data-page-id="P01"] .v27-hero {height:auto!important;min-height:0!important;overflow:hidden;}
  body[data-page-id="P01"] .v27-hero>.container {max-width:100%;}
  body[data-page-id="P01"] .v27-hero-inner {
    box-sizing:border-box!important;min-height:0!important;height:auto!important;width:100%!important;
    max-width:100%!important;padding:48px 0 43px!important;
  }
  body[data-page-id="P01"] .v27-hero-inner h1 {
    width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;
    min-height:0!important;position:static!important;left:auto!important;top:auto!important;
    font-size:clamp(35px,8.7vw,49px)!important;line-height:1.08!important;
    letter-spacing:-.035em!important;overflow:visible!important;margin:0 0 22px!important;
    white-space:normal!important;overflow-wrap:normal!important;
  }
  body[data-page-id="P01"] .v27-hero-inner .v27-kicker {
    font-size:12px!important;line-height:1.45!important;letter-spacing:.16em!important;
    margin-bottom:22px!important;
  }
  body[data-page-id="P01"] .v27-hero-inner>p:not(.v27-meta) {
    font-size:clamp(15px,4vw,18px)!important;line-height:1.55!important;
    max-width:100%!important;margin:0 0 22px!important;
  }
  body[data-page-id="P01"] .v27-hero-inner>p:not(.v27-meta) br {display:none;}
  body[data-page-id="P01"] .v27-hero-inner .actions {
    display:flex!important;flex-wrap:wrap!important;align-items:flex-start!important;gap:12px!important;
    margin:0 0 20px!important;
  }
  body[data-page-id="P01"] .v27-hero-inner .actions>.button {
    min-height:47px!important;padding:12px 15px!important;font-size:14px!important;
    line-height:1.25!important;gap:14px!important;width:auto!important;
  }
  body[data-page-id="P01"] .v27-hero-inner .v27-meta {
    max-width:100%!important;margin:0!important;font-size:12px!important;line-height:1.65!important;
    letter-spacing:0!important;overflow-wrap:break-word!important;
  }
  body[data-page-id="P01"] .v27-solution-strip .container {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body[data-page-id="P01"] .v27-solution-strip a {
    min-width:0!important;min-height:0!important;padding:18px 12px!important;gap:8px!important;
  }
  body[data-page-id="P01"] .v27-solution-strip a strong {
    font-size:14px!important;line-height:1.32!important;white-space:normal!important;
  }
  body[data-page-id="P01"] .v27-solution-strip a span {font-size:12px!important;line-height:1.5!important;}
  body[data-page-id="P01"] .v27-challenge-layout,
  body[data-page-id="P01"] .v28-project-references .v27-challenge-layout,
  body[data-page-id="P01"] .v27-regional-grid {grid-template-columns:minmax(0,1fr)!important;}
  body[data-page-id="P01"] .v27-challenge-intro,
  body[data-page-id="P01"] .v27-regional-copy {min-width:0!important;padding:0 0 20px!important;}
  body[data-page-id="P01"] :is(.v27-challenge-intro h2,.v27-regional-copy h2,.v27-w2go-copy h2,.v27-w2go-side h2) {
    font-size:clamp(27px,7.7vw,38px)!important;line-height:1.15!important;letter-spacing:-.035em!important;
    width:auto!important;height:auto!important;max-width:100%!important;
  }
  body[data-page-id="P01"] .v27-challenge-card {min-width:0!important;}
  body[data-page-id="P01"] .v27-challenge-card img {max-width:100%!important;}
  body[data-page-id="P01"] .v27-regional-grid>.v27-city {min-width:0!important;}
  body[data-page-id="P01"] .v27-regional-grid .v28-city-photo {width:100%!important;height:195px!important;object-fit:cover!important;}
  body[data-page-id="P01"] .v27-regional-grid .v28-city-copy {height:auto!important;min-height:0!important;}
  body[data-page-id="P01"] .v27-w2go-grid,
  body[data-page-id="P01"] .v27-projects-home {grid-template-columns:minmax(0,1fr)!important;height:auto!important;min-height:0!important;}
  body[data-page-id="P01"] .v27-w2go-copy,
  body[data-page-id="P01"] .v27-w2go-side,
  body[data-page-id="P01"] .v27-projects-copy,
  body[data-page-id="P01"] .v27-projects-side {height:auto!important;min-height:0!important;overflow:visible!important;}
  body[data-page-id="P01"] .v27-w2go-grid>img,
  body[data-page-id="P01"] .v27-projects-home>img {width:calc(100% - 32px)!important;height:auto!important;min-height:0!important;max-height:none!important;margin:16px!important;}
  body[data-page-id="P01"] .v27-booqed-grid,
  body[data-page-id="P01"] .v27-contact-grid {grid-template-columns:minmax(0,1fr)!important;}
  body[data-page-id="P01"] .v27-mini-form,
  body[data-page-id="P01"] .v27-mini-form :is(input,select,textarea) {max-width:100%;min-width:0;}
  body[data-page-id="P01"] .v27-logo-row {grid-template-columns:repeat(2,minmax(0,1fr))!important;}

  /* Dense compliance tables scroll within their own area on narrow phones. */
  table.tbl {display:block!important;max-width:100%!important;width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch;}

  /* Prevent min-content grid tracks from stretching beyond mobile viewport. */
  main .split-copy,
  main .solution-grid,
  main .solution-grid.two-col,
  main .insights-grid {grid-template-columns:minmax(0,1fr)!important;max-width:100%!important;}
  main .split-copy :is(h1,h2,h3,p) {
    width:auto!important;max-width:100%!important;height:auto!important;
    min-height:0!important;position:static!important;top:auto!important;left:auto!important;
  }
  main .split-copy>*,
  main .solution-grid>*,
  main .insights-grid>* {min-width:0!important;max-width:100%!important;}
  main :is(.solution-card,.insight-card,.heritage-panel) {max-width:100%!important;min-width:0!important;}

  /* Inner pages: stop inline fixed widths from protruding on small screens. */
  :is(.hero,.home-hero,.page-hero) :is(h1,h2) {max-width:100%!important;width:auto!important;height:auto!important;min-height:0!important;}
  .section-heading {grid-template-columns:minmax(0,1fr)!important;}
  .search-guide-v354 .guide-questions {grid-template-columns:minmax(0,1fr)!important;}
  .search-guide-v354 .guide-links {max-width:100%;flex-wrap:wrap;}
}
@media screen and (max-width:480px) {
  body[data-page-id="P01"] .v27-hero-inner {padding:38px 0 35px!important;}
  body[data-page-id="P01"] .v27-hero-inner h1 {font-size:clamp(32px,9vw,42px)!important;}
  body[data-page-id="P01"] .v27-hero-inner .actions {flex-direction:column!important;align-items:flex-start!important;}
  body[data-page-id="P01"] .v27-hero-inner .actions>.button {max-width:100%!important;}
  body[data-page-id="P01"] .v27-challenge-intro h2,
  body[data-page-id="P01"] .v27-regional-copy h2 {font-size:clamp(28px,7.7vw,36px)!important;}
  body[data-page-id="P01"] .v27-regional-grid .v28-city-photo {height:200px!important;}
  body[data-page-id="P01"] .v27-challenges,
  body[data-page-id="P01"] .v27-regional,
  body[data-page-id="P01"] .v28-project-references {padding-top:36px!important;padding-bottom:36px!important;}
  #site-header .nav-inner {gap:9px!important;}
  #site-header .corporate-logo {max-width:calc(100vw - 154px)!important;height:auto!important;}
  .footer-bottom {min-width:0;}
  .footer-bottom .footer-legal-links {min-width:0;white-space:normal!important;flex-wrap:wrap;}
}
@media screen and (max-width:360px) {
  #site-header .mobile-toggle {min-width:74px!important;padding:8px 9px!important;}
  body[data-page-id="P01"] .v27-hero-inner h1 {font-size:32px!important;}
  body[data-page-id="P01"] .v27-solution-strip a {padding:16px 10px!important;}
}


/* V3.6.8: P01 home / customer logos — 8 on mobile, unchanged desktop. */
body[data-page-id="P01"] .v27-customers .v27-logo-row > img.v368-mobile-only-logo {
  display:none!important;
}

@media screen and (max-width:800px) {
  /* One continuous outer rail down all three rows, with no double border. */
  body[data-page-id="P01"] .v27-solution-strip > .container {
    border-left:1px solid #31566a!important;
  }
  body[data-page-id="P01"] .v27-solution-strip > .container > a:first-child {
    border-left:0!important;
  }

  /* Eight logos including Bird & Bird, only on mobile. */
  body[data-page-id="P01"] .v27-customers .v27-logo-row > img.v368-mobile-only-logo {
    display:block!important;
  }
  /* Actual rendered width and height reduced by 30%, preserving alignment. */
  body[data-page-id="P01"] .v27-customers .v27-logo-row > img {
    transform:scale(.7)!important;
    transform-origin:center center!important;
  }
}
