/* Compact homepage cards, scoped independently of detail pages. */
.home-page #all-services{padding:38px 0 44px}.home-page #all-services .section-heading{margin-bottom:22px}.home-page #all-services .eyebrow{margin-bottom:7px}
.home-page .service-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.home-page .photo-service-card{border-radius:8px}.home-page .service-photo,.home-page .service-illustration{height:140px;aspect-ratio:auto;flex-shrink:0}.home-page .service-illustration svg{width:68px;height:58px}.home-page .service-photo span,.home-page .service-illustration>span{left:12px;bottom:10px;font-size:.58rem}.home-page .service-card-copy{padding:16px}.home-page .service-card-copy h3{font-size:.96rem;line-height:1.45;letter-spacing:-.01em}.home-page .service-card-copy p{font-size:.79rem;line-height:1.65;margin:9px 0 15px}.home-page .service-request{font-size:.73rem;padding-top:11px;gap:10px}.home-page .airport-detail-link{font-size:.72rem;margin-bottom:12px}.home-page .stock-disclosure{margin-top:17px;font-size:.67rem}
.home-page .home-industry-links{padding:22px 0}.home-page .home-industry-links ul{gap:7px;margin-top:14px}.home-page .home-industry-links li a{padding:5px 9px;font-size:.7rem;border-radius:5px}
.home-page .institutions-section{padding:36px 0}.home-page .institution-card{width:190px;border-radius:8px}.home-page .institution-card figure{height:102px}.home-page .institution-card>div{padding:12px 13px 14px}.home-page .institution-card h3{font-size:.85rem;line-height:1.45;min-height:0;margin-top:5px}.home-page .institution-card>div>span{font-size:.59rem;line-height:1.5;display:block}.home-page .institution-city{font-size:.65rem}.home-page .institution-group{gap:14px;padding-right:14px}
.home-page .step{height:100%;padding:18px;border:1px solid #dfe6ea;border-top:2px solid #c6a268;border-radius:7px}.home-page .step>span{font-size:.68rem;margin-bottom:9px}.home-page .step h3{font-size:1rem;margin-bottom:7px}.home-page .step p{font-size:.81rem;line-height:1.7;margin:0}.home-page .faq{padding-bottom:15px;margin-bottom:15px}.home-page .faq summary{font-size:.9rem}.home-page .faq p{font-size:.83rem;line-height:1.75}
@media(max-width:1099px){.home-page .service-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:849px){.home-page .service-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.home-page .service-photo,.home-page .service-illustration{height:150px}}
@media(max-width:575px){.home-page .service-photo-grid{grid-template-columns:minmax(0,1fr)}.home-page #all-services{padding:30px 0 36px}.home-page .service-photo,.home-page .service-illustration{height:160px}.home-page .service-card-copy{padding:17px}.home-page .service-card-copy h3{font-size:1.04rem}.home-page .service-card-copy p{font-size:.86rem}.home-page .service-request{font-size:.8rem}.home-page .institution-card{width:180px}.home-page .institution-card figure{height:96px}}
/* One compact support block replaces two oversized sections. */
.home-help-section{padding:38px 0 28px;background:#f7f9fa;border-top:1px solid #e8edf0}.home-help-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:start}.home-help-grid h2{font-size:1.35rem;line-height:1.4;margin:0 0 20px;letter-spacing:-.02em}.home-process-list{list-style:none;margin:0;padding:0}.home-process-list li{display:flex;align-items:flex-start;gap:13px;padding:0 0 16px;margin-bottom:16px;border-bottom:1px solid #e2e9ed}.home-process-list li:last-child{margin-bottom:0;padding-bottom:0;border:0}.process-number{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border:1px solid #e4d8bf;border-radius:50%;background:#f5efe3;color:#8a672e;font-size:.65rem;font-weight:700}.home-process-list h3{font-size:.88rem;line-height:1.5;margin:1px 0 5px;letter-spacing:0}.home-process-list p{font-size:.77rem;line-height:1.7;margin:0;max-width:460px}.home-page .home-faq .faq{border:1px solid #e0e7ec;border-radius:7px;background:white;padding:14px 16px;margin:0 0 10px}.home-page .home-faq .faq summary{font-size:.82rem;line-height:1.6;padding-right:25px}.home-page .home-faq .faq p{font-size:.78rem;line-height:1.75;margin:10px 0 0}.home-page .home-photo-credits{padding-top:0;padding-bottom:18px}.home-page .home-photo-credits .photo-credits{margin-top:0;padding-top:15px;border:0;font-size:.65rem}.home-page .footer-cta{padding:25px 0;background:#f1eee6;border-top:1px solid #e7e1d5}.home-page .footer-cta h2{font-size:1.3rem;line-height:1.5;max-width:700px;margin:0}.home-page .footer-cta .eyebrow,.home-page .footer-cta p:not(.eyebrow){display:none}.home-page .footer-cta .btn{font-size:.8rem;padding:12px 20px;margin:0}
@media(max-width:767px){.home-help-section{padding:28px 0 22px}.home-help-grid{grid-template-columns:1fr;gap:30px}.home-help-grid h2{font-size:1.25rem;margin-bottom:16px}.home-process-list p{font-size:.83rem}.home-process-list h3{font-size:.93rem}.home-page .home-faq .faq summary{font-size:.87rem}.home-page .footer-cta .container{display:flex;gap:16px;align-items:flex-start}.home-page .footer-cta h2{font-size:1.16rem}.home-page .footer-cta .btn{font-size:.8rem}}

/* A consistent numbered hierarchy for homepage sections. */
.home-page #main{counter-reset:home-section}
.home-page .home-industry-links h2,.home-page #all-services .section-heading h2,.home-page #network-title,.home-page #institutions-title,.home-page #team-heading,.home-page #openings-heading,.home-page #gallery-heading,.home-page .home-process>h2,.home-page .home-faq>h2{counter-increment:home-section;display:flex;align-items:center;gap:11px;font-size:1.4rem;line-height:1.4;font-weight:700;letter-spacing:-.02em}
.home-page #network-title:before{background:#ffffff0b;border-color:#c5ad8366;color:#ebca8b}
.home-page .section-heading .eyebrow,.home-page .content-section-heading .eyebrow{display:none}
/* Recruitment receives its own navy band with clear application actions. */
body.home-page .openings-section{background:#12394f;padding:32px 0 36px;border-top:3px solid #c39b56;border-bottom:1px solid #254d65}
.home-page #openings-heading{color:#fff;margin:0}.home-page .home-opening-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px}.home-page .home-opening-actions .btn{font-size:.79rem;padding:10px 16px}.home-page .home-opening-actions .text-link{color:#e3edf4;border-color:#8da8bb;font-size:.76rem}
body.home-page .openings-section .opening-card{background:#e3edf4;border-color:#b3c9da;box-shadow:0 4px 16px #001b2b15}.home-page .openings-section .content-section-heading{align-items:center;margin-bottom:23px}.home-page .openings-section .content-empty{background:#e3edf4;padding:20px;border-radius:8px}
@media(max-width:767px){.home-page .home-industry-links h2,.home-page #all-services .section-heading h2,.home-page #network-title,.home-page #institutions-title,.home-page #team-heading,.home-page #openings-heading,.home-page #gallery-heading,.home-page .home-process>h2,.home-page .home-faq>h2{font-size:1.2rem;gap:9px}.home-page .openings-section .content-section-heading{display:flex;align-items:flex-start;flex-direction:column;gap:16px}.home-page .home-opening-actions{gap:15px}body.home-page .openings-section{padding:25px 0 29px}}
/* A compact recruitment shelf beneath the banner. */
body.home-page .openings-section{background:#e3ebf1;border-top:0;border-bottom:1px solid #c1d1de;padding:22px 0}
.home-page .openings-section>.container{display:grid;grid-template-columns:245px minmax(0,1fr);gap:26px;align-items:center}
.home-page .openings-section .content-section-heading{display:block;margin:0}
.home-page #openings-heading{color:#12394f;font-size:1.2rem;gap:9px;margin:0 0 13px}
.home-page .home-opening-actions{gap:11px}.home-page .home-opening-actions .btn{background:#12394f;border-color:#12394f;color:#fff;padding:8px 11px;font-size:.71rem}.home-page .home-opening-actions .btn:hover{background:#082a43}.home-page .home-opening-actions .text-link{color:#355b74;border-color:#91aaba;font-size:.69rem}
.home-page .openings-section .openings-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
body.home-page .openings-section .opening-card{background:#f2f6f9;border:1px solid #bdcedb;border-top:2px solid #ba965a;border-radius:7px;padding:13px 14px;box-shadow:none}
.home-page .openings-section .opening-top{gap:6px;margin-bottom:9px}.home-page .openings-section .job-city{font-size:.66rem}.home-page .openings-section .job-status{font-size:.48rem;padding:2px 5px}.home-page .openings-section .opening-card h3{font-size:.9rem;line-height:1.45;margin:0}.home-page .openings-section .opening-card h3 a{text-decoration:none}.home-page .openings-section .opening-card h3 a:hover{text-decoration:underline}
.home-page .openings-section .opening-card dl,.home-page .openings-section .opening-description,.home-page .openings-section .sample-vacancy-note,.home-page .openings-section .opening-apply{display:none}
@media(max-width:1099px){.home-page .openings-section>.container{grid-template-columns:1fr;gap:15px}.home-page .openings-section .content-section-heading{display:flex;flex-direction:row;align-items:center;gap:15px}.home-page #openings-heading{margin:0}}
@media(max-width:575px){body.home-page .openings-section{padding:18px 0}.home-page .openings-section .content-section-heading{flex-direction:column;align-items:flex-start;gap:11px}.home-page .openings-section .openings-grid{grid-template-columns:repeat(3,230px);overflow-x:auto;padding-bottom:7px;scroll-snap-type:x mandatory;scrollbar-width:thin}.home-page .openings-section .opening-card{scroll-snap-align:start}.home-page #openings-heading{font-size:1.15rem}.home-page .home-opening-actions .btn{font-size:.77rem}.home-page .home-opening-actions .text-link{font-size:.76rem}}
/* Single-line careers entry; vacancies stay on the Careers page. */
.home-career-strip{background:#dbe6ee;border-bottom:1px solid #bdcedb;border-top:2px solid #bd995c}
.home-career-strip>.container{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:12px;padding-bottom:12px}
.career-strip-label{display:flex;align-items:center;gap:11px;min-width:0}.career-strip-icon{display:grid;place-items:center;flex:0 0 31px;width:31px;height:31px;background:#cbdce8;border-radius:6px;color:#315d78}.career-strip-icon svg{width:19px;height:19px}
.home-career-strip h2{font-size:1rem;line-height:1.5;margin:0;font-weight:650;letter-spacing:0;color:#173d55}.home-career-strip>.container>a{display:inline-flex;align-items:center;gap:18px;font-size:.78rem;font-weight:650;text-decoration:none;color:#173d55;white-space:nowrap;padding:5px 0}.home-career-strip>.container>a:hover{color:#805e2a}.home-career-strip>.container>a>span{font-size:1.15rem;color:#916f39}
@media(max-width:575px){.home-career-strip>.container{gap:12px;padding-top:10px;padding-bottom:10px}.career-strip-label{gap:8px}.home-career-strip h2{font-size:.9rem}.home-career-strip>.container>a{font-size:.75rem;gap:8px}}
/* Persistent, compact careers shortcut without a full-width strip. */
.home-floating-jobs{position:fixed;right:22px;bottom:24px;z-index:90;display:inline-flex;align-items:center;gap:9px;max-width:calc(100vw - 36px);padding:12px 16px;background:#12394f;color:#fff;border:1px solid #c6a367;border-radius:8px;box-shadow:0 5px 18px #07283e35;font-size:.79rem;font-weight:650;line-height:1.5;text-decoration:none}
.home-floating-jobs>svg{width:19px;height:19px;flex-shrink:0;color:#e4c58f}.home-floating-jobs>span:last-child{color:#e4c58f;font-size:1rem}.home-floating-jobs:hover{background:#082a43;color:#fff;border-color:#e4c58f}
@media(max-width:575px){.home-floating-jobs{right:14px;bottom:calc(14px + env(safe-area-inset-bottom));padding:10px 13px;font-size:.76rem;gap:7px}.home-page .site-footer{padding-bottom:72px}}
/* High-visibility careers action in the brand gold. */
.home-floating-jobs{background:#ebc77f;color:#102f46;border:2px solid #fff1ce;padding:13px 19px;font-size:.86rem;font-weight:750;box-shadow:0 0 0 4px #c3954930,0 6px 22px #082a4340;gap:10px}
.home-floating-jobs>svg{width:23px;height:23px;color:#12394f}.home-floating-jobs>span:last-child{color:#12394f;font-size:1.2rem}.home-floating-jobs:hover{background:#f4d99f;color:#102f46;border-color:#fff6e1;box-shadow:0 0 0 5px #c3954940,0 7px 24px #082a4340}
@media(max-width:575px){.home-floating-jobs{padding:11px 15px;font-size:.81rem;gap:8px}.home-floating-jobs>svg{width:21px;height:21px}}
/* Selected design 04: premium careers button, scaled for mobile screens. */
.home-floating-jobs-premium{right:22px;bottom:24px;max-width:calc(100vw - 40px);padding:15px 18px;gap:13px;background:#10364d;color:#fff;border:1px solid #d5b476;border-radius:13px;box-shadow:0 6px 22px #082a4340;font-weight:650}
.home-floating-jobs-premium .floating-job-icon{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;background:#ebc77f;color:#12364d;border-radius:10px}.home-floating-jobs-premium .floating-job-icon svg{width:27px;height:27px;color:inherit}.floating-job-copy{min-width:0}.floating-job-copy strong{display:block;font-size:1.02rem;line-height:1.4;letter-spacing:.01em;color:#fff}.floating-job-copy small{display:block;font-size:.65rem;line-height:1.5;color:#ccdce7;margin-top:3px;font-weight:400}.home-floating-jobs-premium .floating-job-arrow{font-size:1.4rem;color:#ebc77f;margin-left:3px}.home-floating-jobs-premium:hover{background:#082a43;color:#fff;border-color:#edcf95;box-shadow:0 7px 24px #082a434d}
.home-page .site-footer{padding-bottom:110px}
@media(max-width:575px){.home-floating-jobs-premium{right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));max-width:calc(100vw - 24px);padding:10px 12px;gap:9px;border-radius:10px}.home-floating-jobs-premium .floating-job-icon{width:35px;height:35px;flex-basis:35px;border-radius:8px}.home-floating-jobs-premium .floating-job-icon svg{width:22px;height:22px}.floating-job-copy strong{font-size:.88rem}.floating-job-copy small{font-size:.6rem;margin-top:2px}.home-floating-jobs-premium .floating-job-arrow{font-size:1.2rem;margin-left:0}.home-page .site-footer{padding-bottom:92px}}
@media(max-width:359px){.home-floating-jobs-premium{padding:9px 10px;gap:8px}.floating-job-copy strong{font-size:.8rem}.floating-job-copy small{font-size:.56rem}}
/* Gold careers action with a navy icon tile. */
.home-floating-jobs-premium{background:#e5bd70;color:#10364d;border-color:#fff0cc;box-shadow:0 6px 22px #082a4338}
.home-floating-jobs-premium .floating-job-icon{background:#10364d;color:#f1d496}
.home-floating-jobs-premium .floating-job-copy strong{color:#10364d}.home-floating-jobs-premium .floating-job-copy small{color:#3f4d51}.home-floating-jobs-premium .floating-job-arrow{color:#10364d}
.home-floating-jobs-premium:hover{background:#efd095;color:#10364d;border-color:#fff5df}
/* Gold careers action gently lifts; interaction pauses the movement. */
.home-floating-jobs-premium{animation:career-float 4.5s ease-in-out infinite}
.home-floating-jobs-premium:hover,.home-floating-jobs-premium:focus-visible{animation-play-state:paused}
@keyframes career-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@media(prefers-reduced-motion:reduce){.home-floating-jobs-premium{animation:none}}

/* Full-width photography with copy directly over a soft gradient. */
@media(min-width:768px) {
.home-page .work-slide { display:block; background:#f3f7fa; }
#main .work-scene { position:absolute; inset:0; display:block; width:100%; height:100%; aspect-ratio:auto; object-fit:cover!important; object-position:var(--banner-position,center 15%)!important; }
.home-page .work-slide-content { position:relative; min-height:clamp(360px,31vw,440px); width:100%; align-items:flex-end; justify-content:flex-start; padding-top:32px; padding-bottom:32px; }
.home-page .work-copy { width:38%; max-width:390px; margin:0; padding:0; background:transparent; border:0; border-radius:0; box-shadow:none; }
.home-page .work-banner .work-shade { background:linear-gradient(90deg,rgba(8,30,45,.78) 0%,rgba(8,30,45,.62) 22%,rgba(8,30,45,.18) 45%,transparent 65%); pointer-events:none; }
}

/* Light, concise banner copy shared by all five slides. */
.home-page .work-banner { background:#f3f7fa; color:#163c53; }
#workCarousel .work-copy h1,#workCarousel .work-copy h2 { color:#fff; text-shadow:0 1px 3px #0005; font-size:clamp(1.25rem,1.7vw,1.6rem); line-height:1.35; margin:0 0 11px; letter-spacing:-.015em; }
html:not([lang=en]) #workCarousel .work-copy h1,html:not([lang=en]) #workCarousel .work-copy h2 { font-size:clamp(1.2rem,1.6vw,1.5rem); line-height:1.45; }
#workCarousel .work-copy>p:not(.hero-tag) { color:#fff; text-shadow:0 1px 3px #0007; font-size:.85rem; line-height:1.75; margin-bottom:0; max-width:460px; }
#workCarousel .hero-tag { color:#f3d59c; font-size:.62rem; letter-spacing:.12em; margin-bottom:10px; }
#workCarousel .sector-badge { display:none; }
#workCarousel .banner-footnote { display:none; }
@media(max-width:767px) {
    .home-page .work-banner .work-slide { display:block; background:#102e43; }
    #main .work-banner .work-scene { position:static; display:block; width:100%; height:auto; aspect-ratio:1672 / 941; object-fit:contain!important; object-position:center!important; }
    .home-page .work-banner .work-shade { display:block; pointer-events:none; background:linear-gradient(0deg,rgba(5,23,36,.9) 0%,rgba(5,23,36,.6) 30%,transparent 70%); }
    .home-page .work-banner .work-slide-content { position:absolute; inset:auto 0 0; width:100%; min-height:0; padding:12px 16px 14px; align-items:flex-end; justify-content:flex-start; }
    .home-page .work-banner .work-copy { width:100%; max-width:none; margin:0; padding:0; background:transparent; border:0; border-radius:0; box-shadow:none; }
    #workCarousel .work-copy h1,#workCarousel .work-copy h2 { font-size:1.05rem; line-height:1.3; margin-bottom:5px; }
    html:not([lang=en]) #workCarousel .work-copy h1,html:not([lang=en]) #workCarousel .work-copy h2 { font-size:1rem; }
    #workCarousel .work-copy>p:not(.hero-tag) { font-size:.7rem; line-height:1.5; max-width:310px; }
}

/* Preserve panoramic Metro artwork while sharing banner typography and spacing. */
#main .work-banner .work-slide.metro-slide{display:block;position:relative;background:#10364d}
#main .work-banner .metro-slide .work-scene{position:static;inset:auto;display:block;width:100%;height:auto;aspect-ratio:2172/724;object-fit:contain!important;object-position:center!important}
#main .work-banner .metro-slide .work-shade{display:none}
@media(min-width:768px){
.home-page .work-banner .metro-slide .work-slide-content{position:absolute;inset:0;align-items:flex-end;min-height:0}
}
@media(max-width:767px){
#main .work-banner .metro-slide .work-scene{aspect-ratio:1672/941;object-fit:cover!important;object-position:right center!important}
#main .work-banner .metro-slide .work-shade{display:block;background:linear-gradient(0deg,rgba(5,23,36,.94),rgba(5,23,36,.45) 38%,transparent 75%)}
.home-page .work-banner .metro-slide .work-slide-content{position:absolute;inset:auto 0 0;min-height:0;padding:12px 16px 14px}
}.banner-picture{display:contents}
.common-service-banner{position:relative;background:#061d30;container-type:inline-size}
.common-banner-visual{position:relative;width:88%;max-width:1600px;margin-left:auto}
.common-service-banner-image{display:block;width:100%;height:auto}
.common-banner-copy{position:absolute;left:4%;top:50%;transform:translateY(-50%);width:30%;color:#fff}
#main .common-banner-brand{margin:0 0 1.1cqw;color:#eba650;font-size:clamp(10px,.9cqw,17px);font-weight:600;letter-spacing:.18em}
#main .common-banner-copy h1{margin:0;color:#fff;font-size:clamp(20px,2.1cqw,36px);line-height:1.22;font-weight:700;letter-spacing:-.02em}
#main .common-banner-subtitle{margin:1.1cqw 0 1.8cqw;color:#d5e0e9;font-size:clamp(12px,1.25cqw,23px);line-height:1.5}
.common-banner-link{display:inline-flex;align-items:center;gap:20px;background:#fff;color:#092a43!important;padding:.7cqw 1.4cqw;border-radius:3px;font-size:clamp(11px,1cqw,17px);font-weight:600;text-decoration:none}
.common-banner-link:hover{background:#f0d19a}
.city-label{position:absolute;transform:translate(-50%,-50%);max-width:18%;padding:.25cqw .6cqw;background:#071e33;border:1px solid #e99344;color:#fff;font-size:clamp(8px,.8cqw,15px);line-height:1.25;text-align:center}
.city-label-metro{left:43%;top:18%}.city-label-airport{left:82%;top:18%}.city-label-hotel{left:60%;top:37%}.city-label-residential{left:42%;top:47%}.city-label-banking{left:61%;top:61%}.city-label-facilities{left:89%;top:53%}
@media(max-width:767px){
.common-service-banner{min-height:0;display:block;padding:0;overflow:hidden}
.common-banner-visual{width:108%;height:auto;max-width:none;margin:0 0 0 -8%}
.common-service-banner-image{height:auto;aspect-ratio:2084/840;object-fit:fill}
.common-banner-copy{position:absolute;left:4%;top:50%;transform:translateY(-50%);width:26%;margin:0;padding:0;background:none;color:#fff;display:block}
#main .common-banner-brand{display:none}
#main .common-banner-copy h1{color:#fff;font-size:clamp(12px,3.2cqw,21px);line-height:1.22;letter-spacing:-.01em}
#main .common-banner-subtitle{color:#d5e0e9;font-size:clamp(9px,2.35cqw,13px);line-height:1.35;margin:6px 0 0}
.common-banner-link{font-size:clamp(9px,2.35cqw,12px);padding:5px 7px;gap:7px;background:#fff;border-radius:3px;margin-top:7px;white-space:nowrap}
.city-label{font-size:8px;padding:2px 3px;max-width:22%}
}
@media(min-width:768px){
#main .work-banner .desktop-wide-slide .work-scene{position:static;inset:auto;display:block;width:100%;height:auto;aspect-ratio:2172/724;object-fit:contain!important;object-position:center!important}
#main .work-banner .desktop-wide-slide .work-shade{display:none}
.home-page .work-banner .desktop-wide-slide .work-slide-content{position:absolute;inset:0;align-items:flex-end;min-height:0}
}
