/* Shared recruiting area, footer, and related vacancies, independently implemented. */
.recruit-banners{max-width:1000px;gap:20px}.recruit-section .instagram{margin-top:50px}.instagram img{width:400px}.instagram p:before,.instagram p:after{content:'/';display:inline-block;color:#ee6298;margin:0 18px;font-size:25px;transform:rotate(-38deg)}.instagram p:after{transform:rotate(8deg)}.recruit-people{height:650px}.entry-band{padding:40px 20px;font-size:36px}.footer-v2{padding:80px max(calc((100% - 1200px)/2),40px) 24px;min-height:500px}.footer-v2 .footer-grid{grid-template-columns:1fr 1fr;gap:75px}.footer-v2 .footer-logo{width:224px;margin:0 0 15px}.footer-v2 .footer-subtitle{font-size:12px;font-weight:700;letter-spacing:.04em;margin:0 0 35px}.footer-companies{font-size:12px;line-height:2.1;display:flex;flex-wrap:wrap;gap:0 15px;font-weight:700}.footer-contact{display:flex;align-items:center;gap:25px;margin:30px 0 35px}.footer-v2 .footer-phone{display:flex;align-items:center;margin:0;font:700 32px/1.2 Roboto,Arial;white-space:nowrap;letter-spacing:.06em}.footer-phone img{width:16px;height:25px}.footer-contact>p:last-child{font-size:12px;font-weight:700;line-height:1.3;margin:0}.footer-v2 .footer-address{font-size:12px;font-weight:700}.footer-v2 nav{display:grid;grid-auto-flow:column;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 20px;padding-top:0}.footer-v2 nav a{font:700 14px/1.8 Roboto,Arial;white-space:nowrap}.footer-social{display:flex;gap:25px;align-items:center;margin-top:75px}.footer-social>a:not(.footer-official){width:30px;height:30px}.footer-social img{width:100%;height:100%;filter:brightness(0) invert(1)}.footer-official{border:2px solid white;text-align:center;padding:9px 30px;min-width:165px;margin-right:15px;font-size:14px;font-weight:700}.footer-v2>small{text-align:center;font-size:10px;margin-top:55px}.mobile-only{display:none}
.related-vacancies{padding:100px 0 120px}.related-vacancies>h2{text-align:center;font-size:36px;line-height:1.6;margin:0 0 100px}.related-vacancy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.related-vacancy-grid article{background:#e8f5fa}.related-vacancy-grid article>img{width:100%;aspect-ratio:1.85;object-fit:cover}.related-vacancy-grid article>picture.pal-mobile-picture>img{width:100%;aspect-ratio:1.85;object-fit:cover}.related-vacancy-grid article>div{padding:24px 20px 35px}.related-vacancy-grid h3{font-size:20px;line-height:1.7;margin:10px 0 25px}.related-vacancy-grid p{font-size:14px;line-height:1.8}.related-vacancy-grid dl{margin:30px 0;font-size:14px;color:#333}.related-vacancy-grid dt{font-weight:700;border-top:1px solid #b7d0dc;padding:15px 0 8px}.related-vacancy-grid dd{margin:0;padding:0 0 15px}.related-vacancy-grid .button{width:100%;min-height:50px;margin-top:35px;font-size:14px}.related-vacancies>.button{margin-top:60px}
@media(max-width:700px){
 .recruit-section{background:#deebee;padding-top:65px}.recruit-section .section-heading h2{font-size:30px;line-height:1.7}.recruit-section .section-heading .lead{text-align:left;width:calc(100% - 40px);font-size:14px;line-height:1.9}.recruit-section .section-heading{margin-bottom:35px}.recruit-banners{flex-direction:column;width:calc(100% - 55px);gap:20px}.recruit-banners a{width:100%}.recruit-section .instagram{width:100%;margin-top:40px}.instagram img{width:calc(100% - 95px);max-width:400px}.instagram p{font-size:14px;margin-bottom:6px}.instagram p:before,.instagram p:after{font-size:23px;margin:0 15px}.recruit-people{margin-top:35px;height:249.6px;background:var(--recruit-mobile-bg) center bottom/100% auto no-repeat}.entry-band{font-size:27px;padding:32px 15px;min-height:110px}.entry-band small{font-size:12px}.entry-band span{display:none}.footer-v2{min-height:0;padding:60px 20px 100px;text-align:center}.footer-v2 .footer-grid{display:flex;flex-direction:column;gap:30px}.footer-v2 .footer-logo{width:224px;margin:0 auto 12px}.footer-v2 .footer-subtitle{font-size:12px;margin:0 0 35px}.footer-companies{display:block;font-size:12px;line-height:1.65}.footer-companies span{display:block}.footer-contact{display:block;border-top:1px solid #244458;border-bottom:1px solid #244458;padding:28px 0;margin:30px auto 0;max-width:250px}.footer-v2 .footer-phone{justify-content:center;font-size:30px;letter-spacing:.055em}.footer-contact>p:last-child{font-size:12px;margin-top:10px}.footer-v2 .footer-address{font-size:11px;margin:30px 0 0;white-space:nowrap}.footer-v2 .footer-navigation{border-top:1px solid #244458;padding-top:30px}.footer-v2 nav{grid-template-rows:repeat(5,1fr);grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 50px;text-align:left;width:286px;max-width:100%;margin:auto}.footer-v2 nav a{font-size:14px}.footer-social{width:286px;max-width:100%;margin:35px auto 0;gap:20px}.footer-official{min-width:165px;padding:8px 15px;margin-right:15px;font-size:13px}.footer-v2>small{font-size:10px;line-height:1.8;text-align:center;margin-top:40px}.mobile-only{display:block}.related-vacancies{padding:65px 0 75px}.related-vacancies>h2{font-size:24px;margin-bottom:40px}.related-vacancy-grid{grid-template-columns:1fr;gap:35px}.related-vacancy-grid article>div{padding:20px}.related-vacancy-grid h3{font-size:20px;margin-bottom:20px}.related-vacancy-grid dl{display:none}.related-vacancy-grid p{font-size:14px}.related-vacancy-grid .button{margin-top:30px}.related-vacancies>.button{margin-top:35px}
}

/* Refined against measured image bounds; one continuous backdrop. */
.recruit-section{padding:120px 20px 576px;background-size:100% auto;background-position:center bottom}
.recruit-section .section-heading{margin-bottom:69.2px}
.recruit-banners{width:926px;max-width:100%;gap:30px}
.recruit-banners a{width:448px;max-width:calc((100% - 30px)/2)}
.recruit-section .instagram{margin-top:48.75px;max-width:none;width:100%}
.recruit-people{display:none}
.entry-band{height:200px;min-height:0;padding:0;display:flex;align-items:center;justify-content:center;gap:16px;font-size:48px}
.entry-band small{font-size:20px}.entry-band>span{display:none}
.footer-v2>small{margin-top:40px}
@media(max-width:700px){
.recruit-section{padding:60px 20px 292.5px;background-image:var(--recruit-mobile-bg);background-size:100% auto;background-position:center bottom;background-repeat:no-repeat}
.recruit-section .section-heading{margin-bottom:53px}
.recruit-section .section-heading .lead{width:100%}
.recruit-banners{width:335px;max-width:100%;gap:20px}
.recruit-banners a{width:100%;max-width:none}
.recruit-banners img{width:100%;height:145px;object-fit:cover}
.recruit-section .instagram{margin-top:26.6px;max-width:none;width:100%}
.instagram img{width:295px;max-width:100%}
.entry-band{height:110px;font-size:27px;gap:8px}.entry-band small{font-size:12px}
.footer-v2{padding-bottom:52px}
}

.recruit-banners>a{position:relative}.recruit-banner-text{position:absolute;top:50%;left:35px;transform:translateY(-50%);text-align:left;color:white;line-height:1.4;pointer-events:none}.recruit-banner-text b{font-size:26px;font-weight:700}.recruit-banner-text small{display:block;font:700 11px/1.5 Roboto,Arial;margin-top:12px}
.briefing-banners>a{position:relative}.briefing-banners>a:after{content:'';position:absolute;inset:0;background:#0671bb99}.briefing-banners>a:nth-child(2):after{background:#ac9e7bbb}.briefing-banner-text{position:absolute;top:50%;left:40px;transform:translateY(-50%);color:white;text-align:left;z-index:1;line-height:1.5}.briefing-banner-text small{font-size:24px;font-weight:700;display:block}.briefing-banner-text b{font-size:30px}.briefing-banners>a:before{content:'';position:absolute;right:0;top:50%;width:80px;border-top:1px solid #fff8;z-index:1}
@media(max-width:700px){.recruit-banner-text{left:25px}.recruit-banner-text b{font-size:20px}.recruit-banner-text small{font-size:9px;margin-top:10px}.briefing-banner-text{left:25px}.briefing-banner-text small{font-size:18px}.briefing-banner-text b{font-size:23px}.briefing-banners>a:before{width:45px}}
/* Expanded navigation measured independently from the public desktop/mobile view. */
.site-menu{padding:180px max(calc((100% - 1100px)/2),40px) 30px;gap:0}
.site-menu:not([hidden]){display:flex;flex-direction:column}
.menu-open .header-actions,.menu-open .mobile-actions{display:none}
.menu-open .menu-toggle{margin-left:auto}
.menu-open .menu-toggle span{width:55px;position:relative;left:-5px}
.menu-open .site-header{height:110px}
.menu-open .brand{width:214px}
.menu-layout{display:grid;grid-template-columns:408.61px 377px;gap:80px;flex-shrink:0}
.site-menu .menu-pages{display:grid;grid-template-columns:176px 152.61px;grid-template-rows:repeat(4,49px);grid-auto-flow:column;gap:70px 80px}
.site-menu .menu-pages>a{display:block;border:0;padding:0;white-space:nowrap}
.site-menu .menu-pages b{display:block;font-size:20px;line-height:34px;margin-bottom:5px;letter-spacing:.05em}
.site-menu .menu-pages span{display:block;font:700 10px/10px Roboto,Arial;letter-spacing:.05em}
.site-menu .menu-recruit{display:block;margin:0;padding-left:65px}
.menu-recruit-links{display:grid;gap:30px}
.menu-recruit-links>a{display:flex;justify-content:center;align-items:center;border:3px solid;height:66px;font-size:16px;font-weight:700;letter-spacing:.05em}
.menu-fulltime{color:#2590fd}.menu-parttime{color:#5ebbe5}.menu-entry{color:#f7b942}
.menu-recruit-links .menu-entry{gap:8px}.menu-entry small{font-size:12px}.menu-entry b{font-size:20px}
.menu-social{display:flex;align-items:center;gap:20px;margin-top:50px}
.menu-social>a{display:block;width:34px;height:34px;flex-shrink:0}
.menu-social img{width:100%;height:100%;filter:brightness(0) invert(1)}
.menu-social .menu-official{width:140px;height:40px;margin-left:15px;border:3px solid white;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}
.menu-copyright{margin-top:auto;padding-top:80px;font:700 10px/17px Roboto,Arial;letter-spacing:.1em}
.menu-open .office-banner{z-index:58}
@media(min-width:701px) and (max-width:1100px){
 .menu-layout{grid-template-columns:minmax(0,1fr) 280px;gap:35px}
 .site-menu .menu-pages{grid-template-columns:1fr 1fr;column-gap:25px}
 .site-menu .menu-pages b{font-size:17px}
 .site-menu .menu-recruit{padding-left:0}
 .menu-social{gap:15px}.menu-social .menu-official{margin-left:0;width:130px}
}
@media(max-width:700px){
 .site-menu{padding:120px 40px 50px}
 .menu-open .site-header{height:90px;padding:20px 15px 20px 30px}
 .menu-open .menu-toggle span{width:46px;left:-3px}
 .menu-open .brand{width:150px}
 .menu-layout{display:block}
 .site-menu .menu-pages{display:flex;flex-direction:column;gap:30px}
 .site-menu .menu-pages>a{display:flex;align-items:center;justify-content:flex-start;gap:15px}
 .site-menu .menu-pages b{font-size:18px;line-height:1.7;margin:0;letter-spacing:.1em}
 .site-menu .menu-pages span{font-size:10px;line-height:10px;letter-spacing:.05em}
 .site-menu .menu-recruit{position:relative;padding:50px 0 0;margin:0}
 .menu-recruit-links{grid-template-columns:108px 108px;gap:20px 10px;width:226px}
 .menu-recruit-links>a{height:50px;flex-direction:column;font-size:12px;line-height:1.4}
 .menu-recruit-links .menu-entry{grid-column:1/-1;flex-direction:row;gap:10px}
 .menu-entry b{font-size:16px}
 .menu-social{position:absolute;right:-6px;top:42px;margin:0;flex-direction:column;gap:15px}
 .menu-social .menu-official{width:30px;height:30px;flex-direction:column;margin:0;border-width:2px;font-size:10px;line-height:12px}
 .menu-copyright{padding-top:90px}
}
@media(max-width:360px){
 .site-menu{padding-inline:25px}
 .site-menu .menu-pages>a{gap:10px}
 .site-menu .menu-pages b{font-size:17px}
 .menu-social{right:-8px}
}

/* Header behavior verified by hit-testing the reference's visible controls. */
.site-header{height:110px;transition:background .25s,height .25s,transform .25s}
.site-header .brand{width:214px;height:70px}
.site-header .brand img{width:100%;height:100%;object-fit:contain}
.site-header .menu-toggle{height:33px;padding:0}
.scrolled .site-header{height:110px;box-shadow:none;transform:translateY(-15px)}
.is-home:not(.scrolled):not(.menu-open) .site-header{position:fixed;background:transparent}
.is-home.scrolled .site-header{position:fixed;transform:none;background:white}
.menu-open .site-header{position:fixed;transform:none;background:#002341;height:110px}
.menu-open .site-header .menu-toggle{transform:translateY(5px)}
@media(max-width:700px){
 .site-header{height:100px;padding:20px 15px}
 .site-header .brand{width:140px;height:40px}
 .site-header .menu-toggle{height:30px;width:40px}
 .scrolled .site-header{height:110px}
 .menu-open .site-header{height:90px;padding:20px 15px 20px 30px}
 .menu-open .site-header .brand{width:150px;height:49.06px}
 .menu-open .site-header .menu-toggle{height:33px;transform:none}
}
/* Header and menu breakpoints reconstructed from settled, visible controls. */
.site-header{padding-inline:70px;gap:40px}
.header-actions{gap:10px}
.header-actions a{min-width:136px;height:36px;font-size:12px;line-height:1.7}
.header-actions .entry-link{font-size:13px}
@media(min-width:993px) and (max-width:1200px){
 .site-header,.scrolled .site-header{height:140px;padding-inline:30px}
}
@media(min-width:769px) and (max-width:992px){
 .site-header{height:130px;padding:20px;gap:20px}
 .site-header .brand{width:170px;height:50px}
 .site-header .menu-toggle{width:40px;height:30px}
 .header-actions a{min-width:120px;height:34px}
 .scrolled .site-header{height:110px}
}
@media(max-width:768px){
 .site-header{height:100px;padding:20px 15px;gap:15px;justify-content:space-between}
 .site-header .brand{width:140px;height:40px}
 .site-header .menu-toggle{width:40px;height:30px}
 .scrolled .site-header{height:110px}
 .header-actions{display:none}
 .mobile-actions{display:flex;position:fixed;bottom:0;inset-inline:0;z-index:70;background:var(--navy);padding:10px 15px;gap:10px;height:54px}
 .mobile-actions a{min-width:0;width:33.33%;height:34px;font-size:10px;line-height:1.7}
 .mobile-actions .entry-link{border:0;font-size:12px}
}
.site-menu{--menu-font:clamp(18px,calc(16.6851px + .27624vw),20px);padding-inline:max(calc((100% - 1100px)/2),70px)}
.menu-layout{grid-template-columns:calc(16.4305*var(--menu-font) + 80px) 377px;gap:80px}
.site-menu .menu-pages{grid-template-columns:calc(8.8*var(--menu-font)) calc(7.6305*var(--menu-font));grid-template-rows:repeat(4,auto);gap:70px 80px}
.site-menu .menu-pages b{font-size:var(--menu-font);line-height:1.7;letter-spacing:.1em}
.site-menu .menu-pages span{letter-spacing:.1em}
.menu-open .site-header{height:120px;padding:0;transform:none}
.menu-open .site-header .brand{position:absolute;left:70px;top:21.4px;width:214px;height:70px}
.menu-open .site-header .menu-toggle{position:absolute;right:70px;top:40px;width:40px;height:40px;transform:none}
.menu-open .menu-toggle span{width:55px;left:-7.5px}
.menu-open .menu-toggle span:nth-child(1){transform:translateY(18.5px) rotate(45deg)}
.menu-open .menu-toggle span:nth-child(3){transform:translateY(-18.5px) rotate(-45deg)}
@media(min-width:993px) and (max-width:1200px){
 .site-menu{padding:130px max(calc((100% - 1100px)/2),30px) 30px}
 .menu-layout{grid-template-columns:calc(16.4305*var(--menu-font) + 50px) 365px;gap:50px}
 .site-menu .menu-pages{gap:50px;grid-template-columns:calc(8.8*var(--menu-font)) calc(7.6305*var(--menu-font))}
 .site-menu .menu-recruit{padding-left:65px}
 .menu-recruit-links>a{height:60px}
 .menu-recruit-links .menu-entry{margin-top:-10px}
 .menu-social{gap:20px;margin-top:30px}
 .menu-social .menu-official{width:140px;margin-left:15px}
 .menu-open .site-header{height:100px}
 .menu-open .site-header .brand{left:30px;top:11.4px}
 .menu-open .site-header .menu-toggle{right:30px;top:30px}
}
@media(min-width:477px) and (max-width:992px){
 .site-menu{padding:120px 30px 30px}
 .menu-layout{display:grid;grid-template-columns:calc(16.4305*var(--menu-font) + 40px) 243px;gap:80px}
 .site-menu .menu-pages{display:grid;grid-auto-flow:column;grid-template-columns:calc(8.8*var(--menu-font)) calc(7.6305*var(--menu-font));grid-template-rows:repeat(4,auto);gap:30px 40px}
 .site-menu .menu-pages>a{display:block}
 .site-menu .menu-pages b{line-height:1.7;margin:0 0 5px;letter-spacing:.1em}
 .site-menu .menu-recruit{padding:0;position:static}
 .menu-recruit-links{width:243px;grid-template-columns:1fr;gap:20px}
 .menu-recruit-links>a{height:55px;font-size:16px;flex-direction:row}
 .menu-recruit-links>a span+span{margin-left:.25em}
 .menu-recruit-links .menu-entry{grid-column:auto;margin-top:0}
 .menu-entry b{font-size:20px}
 .menu-social{position:static;flex-direction:row;gap:15px;margin-top:25px}
 .menu-social .menu-official{width:140px;height:40px;margin-left:5px;border-width:3px;flex-direction:row;font-size:14px;line-height:1.7}
}
@media(min-width:477px) and (max-width:768px){
 .menu-layout{display:flex;flex-direction:column;align-items:center;gap:30px}
 .menu-recruit-links>a{height:50px}
}
@media(max-width:992px){
 .menu-open .site-header{height:90px}
 .menu-open .site-header .brand{left:20px;top:16.4px;width:170px;height:50px}
 .menu-open .site-header .menu-toggle{right:20px;top:27.5px;width:35px;height:35px}
 .menu-open .menu-toggle span{width:46px;left:-5.5px}
 .menu-open .menu-toggle span:nth-child(1){transform:translateY(16px) rotate(45deg)}
 .menu-open .menu-toggle span:nth-child(3){transform:translateY(-16px) rotate(-45deg)}
}
@media(max-width:768px){.menu-open .site-header .brand{top:16.8px}}
@media(max-width:576px){.menu-open .site-header .brand{top:16.6px}}
@media(max-width:476px){
 .site-menu{padding:120px 40px 50px}
 .menu-layout{width:100%;max-width:310px;display:block}
 .site-menu .menu-pages{display:flex;gap:30px}
 .site-menu .menu-pages b{font-size:18px;line-height:1.7;margin:0}
 .menu-copyright{padding-top:90px}
}
@media(max-width:360px){
 .site-menu{padding-inline:25px}
 .site-menu .menu-pages b{font-size:17px}
}
.menu-open .header-actions,.menu-open .mobile-actions{display:none}
@media(max-width:476px){.site-menu .menu-pages>a{width:max-content}}

/* Source footer stays stacked through tablet widths. */
@media(min-width:701px) and (max-width:992px){
.footer-v2{min-height:0;padding:60px 20px 100px;text-align:center}.footer-v2 .footer-grid{display:flex;flex-direction:column;gap:30px}.footer-v2 .footer-logo{width:224px;margin:0 auto 12px}.footer-v2 .footer-subtitle{font-size:12px;margin:0 0 35px}.footer-companies{display:block;font-size:12px;line-height:1.65}.footer-companies span{display:block}.footer-contact{display:block;border-top:1px solid #244458;border-bottom:1px solid #244458;padding:28px 0;margin:30px auto 0;max-width:250px}.footer-v2 .footer-phone{justify-content:center;font-size:30px;letter-spacing:.055em}.footer-contact>p:last-child{font-size:12px;margin-top:10px}.footer-v2 .footer-address{font-size:11px;margin:30px 0 0;white-space:nowrap}.footer-v2 .footer-navigation{border-top:1px solid #244458;padding-top:30px}.footer-v2 nav{grid-template-rows:repeat(5,1fr);grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 50px;text-align:left;width:286px;max-width:100%;margin:auto}.footer-v2 nav a{font-size:14px}.footer-social{width:286px;max-width:100%;margin:35px auto 0;gap:20px}.footer-official{min-width:165px;padding:8px 15px;margin-right:15px;font-size:13px}.footer-v2>small{font-size:10px;line-height:1.8;text-align:center;margin-top:40px}.mobile-only{display:block}
}
@media(min-width:701px) and (max-width:768px){
 .back-top{bottom:72px;right:15px;width:36px;height:36px}
 .office-banner{bottom:69px}
}
@media(max-width:768px){
 .office-banner{right:15px;bottom:70px;width:150px}
 .office-banner button{width:22px;height:22px;font-size:20px;right:-6px;top:-6px}
}
.is-home:has(.office-banner:not(.near-footer)) .back-top{display:none}

/* Width reveal keeps the menu mounted through both 300ms transitions. */
#site-menu{left:auto;right:0;top:0;bottom:auto;width:0;height:100dvh;padding:0;overflow:hidden;clip-path:none;transition:width .3s ease-out,visibility 0s .3s}
#site-menu.is-open{width:100%;overflow-y:auto;transition:width .3s ease-out,visibility 0s}
.menu-surface{width:100vw;min-height:100dvh;padding:180px max(calc((100vw - 1100px)/2),70px) 30px;display:flex;flex-direction:column;flex-shrink:0}
@media(min-width:993px) and (max-width:1200px){.menu-surface{padding:130px max(calc((100vw - 1100px)/2),30px) 30px}}
@media(min-width:477px) and (max-width:992px){.menu-surface{padding:120px 30px 30px}}
@media(max-width:476px){.menu-surface{padding:120px 40px 50px}}
@media(max-width:360px){.menu-surface{padding-inline:25px}}


/* Panel tracks its own width. Page header and mobile bar stay painted underneath. */
#site-menu{z-index:72}
#site-menu.is-open{overflow-x:hidden;overflow-y:auto}
#site-menu.is-open~main .office-banner{z-index:90}
body:has(#site-menu.is-open) .site-header,body:has(#site-menu.is-open) .mobile-actions{pointer-events:none}
.menu-surface{position:relative;width:100%;min-height:100dvh;padding:180px max(calc((100% - 1100px)/2),70px) 30px}
.menu-layout{width:100%;max-width:1100px;min-width:0;grid-template-columns:minmax(min-content,calc(16.4305*var(--menu-font) + 80px)) 377px}
.site-menu .menu-pages{grid-template-columns:minmax(min-content,calc(8.8*var(--menu-font))) minmax(min-content,calc(7.6305*var(--menu-font)))}
.site-menu .menu-pages>a{white-space:normal}
.menu-panel-header{position:absolute;inset:0 0 auto;height:120px}
.menu-panel-brand{position:absolute;left:70px;top:21.4px;width:214px;height:70px}
.menu-panel-brand img{width:100%;height:100%;object-fit:contain;filter:brightness(0) invert(1)}
.menu-panel-close{position:absolute;right:70px;top:40px;width:40px;height:40px;display:flex;flex-direction:column;justify-content:space-between;padding:0;background:none}
.menu-panel-close span{display:block;height:3px;width:55px;position:relative;left:-7.5px;background:#fff}
.menu-panel-close span:nth-child(1){transform:translateY(18.5px) rotate(45deg)}
.menu-panel-close span:nth-child(2){opacity:0}
.menu-panel-close span:nth-child(3){transform:translateY(-18.5px) rotate(-45deg)}
@media(min-width:993px) and (max-width:1200px){
 .menu-surface{padding:130px max(calc((100% - 1100px)/2),30px) 30px}
 .menu-layout{grid-template-columns:minmax(min-content,calc(16.4305*var(--menu-font) + 50px)) 365px}
 .menu-panel-header{height:100px}
 .menu-panel-brand{left:30px;top:11.4px}
 .menu-panel-close{right:30px;top:30px}
}
@media(min-width:477px) and (max-width:992px){
 .menu-surface{padding:120px 30px 30px}
 .menu-layout{grid-template-columns:minmax(min-content,calc(16.4305*var(--menu-font) + 40px)) 243px}
}
@media(max-width:992px){
 .menu-panel-header{height:90px}
 .menu-panel-brand{left:20px;top:16.4px;width:170px;height:50px}
 .menu-panel-close{right:20px;top:27.5px;width:35px;height:35px}
 .menu-panel-close span{width:46px;left:-5.5px}
 .menu-panel-close span:nth-child(1){transform:translateY(16px) rotate(45deg)}
 .menu-panel-close span:nth-child(3){transform:translateY(-16px) rotate(-45deg)}
}
@media(max-width:768px){.menu-panel-brand{top:16.8px}}
@media(max-width:576px){.menu-panel-brand{top:16.6px}}
@media(max-width:476px){
 .menu-surface{padding:120px 40px 50px}
 .menu-layout{width:100%;max-width:310px}
 .site-menu .menu-pages>a{width:fit-content;max-width:100%;white-space:normal}
}
@media(max-width:360px){.menu-surface{padding-inline:25px}}

/* Codex candidate: preserve a menu session during close/reversal. */
body:has(#site-menu.is-open) .site-header,body:has(#site-menu.is-open) .mobile-actions{pointer-events:none}
body.menu-present .office-banner{z-index:90}
body.menu-present #site-menu{pointer-events:auto}
@media(min-width:769px){
 .menu-layout{display:grid;grid-template-columns:auto auto 377px;grid-template-rows:repeat(5,1fr);gap:70px 80px;justify-content:start}
 .site-menu .menu-pages{display:contents}
 .site-menu .menu-pages>a{align-self:start;grid-column:1}
 .site-menu .menu-pages>a:nth-child(n+5){grid-column:2}
 .site-menu .menu-pages>a:nth-child(4n+1){grid-row:1}
 .site-menu .menu-pages>a:nth-child(4n+2){grid-row:2}
 .site-menu .menu-pages>a:nth-child(4n+3){grid-row:3}
 .site-menu .menu-pages>a:nth-child(4n){grid-row:4}
 .site-menu .menu-recruit{grid-column:3;grid-row:1/span 4;width:377px}
 .menu-layout{margin-bottom:50px}
 .menu-copyright{padding-top:0;line-height:1.7rem}
}
@media(min-width:477px) and (max-width:768px){
 .menu-layout{display:grid;width:max-content;max-width:100%;margin-inline:auto;grid-template-columns:auto auto;grid-template-rows:repeat(5,auto);gap:30px 40px;justify-content:start}
 .site-menu .menu-pages{display:contents}
 .site-menu .menu-pages>a{align-self:start;grid-column:1}
 .site-menu .menu-pages>a:nth-child(n+5){grid-column:2}
 .site-menu .menu-pages>a:nth-child(4n+1){grid-row:1}
 .site-menu .menu-pages>a:nth-child(4n+2){grid-row:2}
 .site-menu .menu-pages>a:nth-child(4n+3){grid-row:3}
 .site-menu .menu-pages>a:nth-child(4n){grid-row:4}
 .site-menu .menu-recruit{grid-column:1/span 2;grid-row:5;width:auto;display:flex;flex-direction:column;align-items:center;gap:0;padding:0}
}
@media(min-width:993px) and (max-width:1200px){
 .menu-layout{grid-template-columns:auto auto 365px;gap:50px}
 .site-menu .menu-recruit{width:365px}
}
@media(min-width:769px) and (max-width:992px){
 .menu-layout{grid-template-columns:auto auto 283px;gap:30px 40px}
 .site-menu .menu-recruit{width:283px;padding-left:40px}
}
@media(max-width:476px){.site-menu .menu-pages>a{max-width:none}}
/* Independent menu hover: the fill expands inside the existing border. */
#site-menu :is(.menu-fulltime,.menu-parttime,.menu-entry,.menu-official){position:relative}
#site-menu .menu-fulltime{--menu-fill:#2590fd}
#site-menu .menu-parttime{--menu-fill:#5ebbe5}
#site-menu .menu-entry{--menu-fill:#f7b942}
#site-menu .menu-official{--menu-fill:#fff}
@media(max-width:476px){#site-menu .menu-social .menu-official{border-width:3px}}
#site-menu :is(.menu-fulltime,.menu-parttime,.menu-entry,.menu-official)::before{content:"";position:absolute;inset:0 auto 0 0;width:0;background:var(--menu-fill);z-index:5;transition:width 300ms ease}
#site-menu :is(.menu-fulltime,.menu-parttime,.menu-entry,.menu-official)>:is(span,small,b){position:relative;z-index:10;transition:color 300ms ease}
#site-menu :is(.menu-fulltime,.menu-parttime,.menu-entry,.menu-official):hover::before{width:100%}
#site-menu :is(.menu-fulltime,.menu-parttime,.menu-entry,.menu-official):hover>:is(span,small,b){color:#002341}


/* A page's positioned artwork cannot escape above the navigation layer. */
#site-menu{z-index:1000;isolation:isolate}
body.menu-present{overflow:hidden!important}
body.menu-present #app>:is(main,.site-footer){isolation:isolate}
