/* Scoped repairs for anonymous navigation and service page headings. */
.nav-container .nav-bar .logo {width:320px;height:auto;max-height:54px;object-fit:contain;vertical-align:middle;}
.nav-container .mobile-toggle {border:0;background:transparent;color:inherit;padding:0 16px;margin:0;border-radius:0;min-width:44px;box-shadow:none;}

@media(max-width:990px){
 .nav-container .nav-bar .logo {width:min(280px,calc(100vw - 100px));max-height:48px;}
 .nav-container .mobile-toggle {height:84px;line-height:84px;}
}
@media(max-width:767px){
 .page-title.page-title-center {height:auto;min-height:440px;padding:100px 20px 60px;display:flex;flex-direction:column;justify-content:center;align-items:center;}
 .page-title.page-title-center .container {position:relative;top:auto;transform:none;}
 .page-title.page-title-center .breadcrumb {position:relative;bottom:auto;left:auto;margin:20px 0 0;padding:0 5px;line-height:1.6;}
 .page-title .heading-title {overflow-wrap:normal;word-break:normal;}
}
/* Legacy form columns inherit a zero line-height: keep each visible label above its field. */
.page-id-1967 .wpcf7 .cf7-field-label {line-height:1.6;margin:0 0 16px;}
.page-id-1967 .wpcf7 .cf7-field-label > br {display:none;}
.page-id-1967 .wpcf7 .cf7-field-label .wpcf7-form-control-wrap {display:block;margin-top:5px;}
.page-id-1967 .wpcf7 .cf7-field-label input,
.page-id-1967 .wpcf7 .cf7-field-label textarea {margin-bottom:0;}
.page-id-1967 a[href^="mailto:"] {overflow-wrap:anywhere;white-space:normal;max-width:100%;}


/* Workwear navy: source theme/builder colours are set through their controls.
   These rules cover legacy opacity, photograph contexts and missing state controls. */
.main-container .wpb_text_column {font-size:18px;line-height:1.6;}
.main-container .wpb_text_column p,.main-container .wpb_text_column li {font-size:18px;line-height:1.6;}
.main-container .wpb_text_column a {color:#173247;text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px;}
.main-container .wpb_text_column a:visited {color:#244B66;}
.main-container .wpb_text_column a:hover,.main-container .wpb_text_column a:focus {color:#244B66;text-decoration-thickness:2px;}
.main-container .ams-navy-section {color:#fff;}
.main-container .ams-navy-section .wpb_text_column a,
.main-container .ams-navy-section .wpb_text_column a:visited,
.main-container .ams-navy-section .wpb_text_column a:hover {color:#fff;}
.main-container .ams-navy-section .wpb_text_column a:hover {text-decoration-thickness:2px;}
.page-title.image-bg.overlay:before {background:#000;opacity:.65;}
body .page-title.image-bg .heading-title,
body .page-title.image-bg .breadcrumb li,
body .page-title.image-bg .breadcrumb li a,
body .page-title.image-bg .breadcrumb li:before {color:#fff!important;opacity:1;}
.page-title .breadcrumb a {text-decoration:none;transition:opacity .18s ease;}
.page-title .breadcrumb a:hover {opacity:.8!important;}
.ams-photo-cta .background-content:after {content:"";position:absolute;inset:0;background:rgba(0,0,0,.65);pointer-events:none;}
.nav-container nav .menu > li > a {color:#173247;opacity:1;}
.nav-container nav .menu > li.current-menu-item > a {color:#061A29;}
.nav-container nav .menu li ul a {opacity:1;}
.nav-container .mobile-toggle {color:#173247;}
.page-id-1967 .wpcf7 .cf7-field-label {font-size:14px;letter-spacing:.03em;color:#374151;}
.page-id-1967 .wpcf7 input:not([type=submit]),.page-id-1967 .wpcf7 textarea {font-size:18px;line-height:1.6;color:#374151;}
.page-id-1967 .wpcf7 input::placeholder,.page-id-1967 .wpcf7 textarea::placeholder {color:#596371;opacity:1;}
.page-id-1967 .wpcf7 input[type=submit] {background:#173247;border-color:#173247;color:#fff;}
.page-id-1967 .wpcf7 input[type=submit]:hover,.page-id-1967 .wpcf7 input[type=submit]:focus {background:#244B66;border-color:#244B66;color:#fff;}
body .main-container a:focus-visible,body .main-container button:focus-visible,
body .main-container input:focus-visible,body .main-container textarea:focus-visible {outline:3px solid #173247;outline-offset:3px;box-shadow:0 0 0 3px #fff;}
body .ams-hero a:focus-visible,body .ams-hero button:focus-visible,
body .page-title a:focus-visible,body .ams-photo-cta a:focus-visible,
body .ams-navy-section a:focus-visible,body .ams-footer a:focus-visible {outline-color:#fff;box-shadow:0 0 0 3px #173247;}

/* Replaces the old copyright-only footer through the active child template. */
.ams-footer {padding:36px 0 22px;background:#173247;color:#fff;}
.ams-footer .ams-footer__columns {display:grid;grid-template-columns:1.45fr 1.2fr .7fr;gap:48px;}
.ams-footer .ams-footer__columns > div {min-width:0;}
.ams-footer h2 {font-size:18px;line-height:1.4;font-weight:700;text-transform:none;letter-spacing:0;margin:0 0 16px;color:#fff;}
.ams-footer p,.ams-footer address,.ams-footer li {font-size:16px;line-height:1.6;color:#fff;opacity:1;}
.ams-footer a,.ams-footer a:visited {color:#fff;opacity:1;text-decoration:none;transition:opacity .18s ease,transform .18s ease;}
.ams-footer a:hover {color:#fff;opacity:.82;}
.ams-footer__links a:hover {transform:translateX(3px);}
.ams-footer .ams-footer__logo-panel {display:inline-flex;padding:0;max-width:100%;text-decoration:none;}
.ams-footer__logo-panel img {display:block;width:310px;max-width:100%;height:auto;filter:brightness(0) invert(1);}
.ams-footer .ams-footer__brand {display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;}
.ams-footer .ams-footer__tagline {margin:16px 0 0;max-width:100%;}
.ams-footer__tagline span {display:block;white-space:nowrap;}
.ams-footer address {font-style:normal;margin:0;}
.ams-footer address a {display:block;width:fit-content;max-width:100%;min-height:36px;padding:4px 0;overflow-wrap:anywhere;}
.ams-footer .ams-footer__links {list-style:none;padding:0;margin:0;}
.ams-footer .ams-footer__links li {margin:0;padding:0;}
.ams-footer__links a {display:inline-flex;align-items:center;min-height:32px;padding:3px 0;font-size:15px;font-weight:500;}
.ams-footer .ams-footer__bottom {display:flex;align-items:flex-start;justify-content:space-between;gap:24px;border-top:1px solid rgba(255,255,255,.3);margin-top:22px;padding-top:18px;}
.ams-footer__bottom p {margin:0;}
.ams-footer__credit {text-align:right;white-space:nowrap;font-size:14px!important;}
.ams-footer__credit a {display:inline-block;min-height:28px;}
.ams-footer__credit sup {font-size:.7em;}
@media(max-width:991px){.ams-footer .ams-footer__columns{gap:24px;}}
@media(max-width:767px){
 .ams-footer{padding-top:36px;}
 .ams-footer .ams-footer__columns{grid-template-columns:1fr;gap:28px;}
 .ams-footer .ams-footer__bottom{flex-direction:column;gap:18px;}
 .ams-footer__credit{text-align:left;}
}

/* Let the header scroll away naturally; legacy scroll classes must not slide it. */
body .nav-container > nav,body .nav-container > nav.fixed {position:relative!important;top:auto!important;transform:none!important;transition:none!important;}
.nav-container nav .menu > li > a {transition:color .18s ease;}
.nav-container nav .menu > li > a:hover,.nav-container nav .menu > li > a:focus-visible {color:#061A29;background:transparent;}
@media(prefers-reduced-motion:reduce){.ams-footer a,.nav-container nav .menu > li > a,.page-title .breadcrumb a{transition:none;}.ams-footer__links a:hover{transform:none;}}

/* Inner photograph titles follow the existing homepage hero type scale. */
body .page-title.image-bg .heading-title {font-size:75px;line-height:1.06;font-weight:700;text-transform:none;margin:0;}
@media(max-width:1200px){body .page-title.image-bg .heading-title{font-size:56px;}}
@media(max-width:960px){body .page-title.image-bg .heading-title{font-size:40px;}}
@media(max-width:480px){body .page-title.image-bg .heading-title{font-size:27px!important;}}


/* Continuous partner strip, with explicit pause and accessible static keyboard mode. */
.logo-carousel.ams-logo-strip {overflow:hidden;position:relative;}
.logo-carousel .ams-logo-track {display:flex;width:max-content;max-width:none;margin:0;padding:0;list-style:none;animation:ams-logo-flow var(--ams-logo-duration,50s) linear infinite;}
.logo-carousel .ams-logo-track > li {flex:0 0 220px;width:220px;padding:20px 28px;margin:0;display:flex;align-items:center;justify-content:center;}
.logo-carousel .ams-logo-track img {max-width:164px;max-height:100px;width:auto;height:auto;object-fit:contain;}
.logo-carousel .ams-logo-track a {display:flex;align-items:center;justify-content:center;min-height:100px;}
.ams-logo-strip:hover .ams-logo-track,.ams-logo-strip.is-paused .ams-logo-track {animation-play-state:paused;}
.ams-logo-strip:focus-within {overflow-x:auto;}
.ams-logo-strip .ams-logo-track:focus-within {animation:none;transform:none;}
.ams-logo-strip .ams-logo-pause {display:block;margin:8px 0 0 auto;padding:0;width:44px;height:44px;min-height:44px;background:#173247;color:#fff;border:0;font-size:14px;line-height:20px;}
.ams-logo-strip .ams-logo-pause:hover {background:#244B66;}
@keyframes ams-logo-flow {to{transform:translateX(-50%);}}
@media(max-width:767px){.logo-carousel .ams-logo-track > li{flex-basis:180px;width:180px;padding:20px;} .logo-carousel .ams-logo-track img{max-width:140px;}}
@media(prefers-reduced-motion:reduce){.logo-carousel .ams-logo-track{animation:none;width:100%;flex-wrap:wrap;justify-content:center;}.logo-carousel .ams-logo-track > .ams-logo-clone{display:none;}.ams-logo-strip .ams-logo-pause{display:none;}}
/* Limited callout movement, without the legacy full-page parallax engine. */
.ams-photo-cta .background-content {top:-24px!important;height:calc(100% + 48px)!important;transform:translateY(var(--ams-photo-offset,0px))!important;}
@media(max-width:990px),(prefers-reduced-motion:reduce){.ams-photo-cta .background-content{transform:none!important;}}

/* Service cards: stable artwork and titles, with a small tonal hover response. */
.page-id-1961 .tlg-banner figure.hover-caption-1 img,.home .tlg-banner figure.hover-caption-1 img {transform:none;opacity:.9;transition:opacity .2s ease;}
.page-id-1961 .tlg-banner figure.hover-caption-1:hover img,.home .tlg-banner figure.hover-caption-1:hover img {transform:none;opacity:.82;}
.page-id-1961 .tlg-banner figure.hover-caption-1 figcaption > div,.home .tlg-banner figure.hover-caption-1 figcaption > div {height:auto;bottom:0;width:100%;padding:12px;background:rgba(0,0,0,.7);}
.page-id-1961 .tlg-banner figure.hover-caption-1 h2,.home .tlg-banner figure.hover-caption-1 h2 {transform:none;transition:none;font-size:17px!important;line-height:1.3;}
.page-id-1961 .tlg-banner figure.hover-caption-1 p:empty,.home .tlg-banner figure.hover-caption-1 p:empty {display:none;}
.tlg-banner figure:focus-within {outline:3px solid #173247;outline-offset:3px;}

.ams-hero__pause:before,.ams-logo-pause:before {content:"";display:inline-block;vertical-align:middle;box-sizing:border-box;width:14px;height:18px;border-left:5px solid currentColor;border-right:5px solid currentColor;}
.ams-hero__pause.is-paused:before,.ams-logo-pause.is-paused:before {width:0;height:0;border:9px solid transparent;border-left:14px solid currentColor;border-right:0;}

.logo-carousel:has(.ams-logo-source) {overflow:hidden;}
.logo-carousel .ams-logo-source {display:flex;list-style:none;}
.logo-carousel .ams-logo-source > li {flex-shrink:0;}
/* Let the hero show through the initial header without restoring sticky motion. */
body .nav-container {position:absolute;top:0;left:0;width:100%;z-index:20;min-height:0!important;background:transparent;}
body .nav-container > nav {background:rgba(255,255,255,.60)!important;}
body .nav-container .nav-bar {background:transparent;border-bottom:1px solid rgba(255,255,255,.3);}
@media(max-width:990px){body .nav-container .nav-bar.nav-open,body .nav-container .nav-open .module-group{background:rgba(255,255,255,.98);}}
