/* Shared editorial left edge follows the same 1160px content rail as headings. */
.twe-editorial>.twe-prose{margin-left:max(0px,calc((100% - 1160px)/2))!important;margin-right:auto!important;max-width:800px!important}
.entry-content :is(h1,h2,h3,h4,p,li,blockquote,summary){text-align:left}
.twe-editorial-heading{background:transparent;padding-top:34px;padding-bottom:0}.twe-editorial-heading+.twe-editorial{padding-top:24px}
.twe-editorial-row:has(.twe-office-map) .twe-prose{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.twe-editorial-row:has(.twe-office-map) .twe-prose>p{flex-basis:100%;margin:0}.twe-editorial-row:has(.twe-office-map) .wp-block-buttons{margin:0}
.twe-industries .twe-industry-icon img{width:72px;height:72px}.twe-industries .wp-block-buttons,.twe-industries .wp-block-button{width:100%}.twe-industries .wp-block-button__link{width:100%;min-height:42px!important;padding:9px 16px!important;font-size:12px!important;box-sizing:border-box}
.twe-footer .twe-footer-logo{margin:0 0 24px;padding:16px 18px;background:#fff;border-radius:14px;width:256px;max-width:100%;box-sizing:border-box;display:block}.twe-footer .twe-footer-logo img{display:block;width:220px;max-width:100%;height:auto;filter:none;border-radius:0}.twe-footer a[href^="mailto:"]{overflow-wrap:anywhere}
@media(min-width:1100px){.twe-job-grid>.twe-job-card{flex-basis:calc((100% - 48px)/3);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 8px;padding:24px}.twe-job-grid .twe-tag,.twe-job-grid h3,.twe-job-grid .twe-job-meta{grid-column:1/-1}.twe-job-grid .twe-tag{justify-self:start}.twe-job-grid .twe-job-salary{grid-column:1;margin:0;font-size:24px;align-self:center;white-space:nowrap}.twe-job-grid .twe-card-link{grid-column:2;grid-row:4;align-self:center;justify-self:end;margin:0;min-height:42px;padding:10px 12px;font-size:11px;gap:7px}.twe-job-grid .twe-job-salary small{font-size:10px}}
@media(max-width:781px){.twe-editorial-row:has(.twe-office-map) .twe-prose{display:block}.twe-editorial-row:has(.twe-office-map) .wp-block-buttons{margin-top:14px}.twe-industries .twe-industry-icon img{width:64px;height:64px}}

@media(min-width:1100px){.twe-job-grid .twe-card-link{height:42px;min-height:42px}}
@media(min-width:1100px){.twe-job-grid .twe-card-link{align-self:start}}
/* FAQ uses the same thin downward chevron as navigation dropdowns. */
.wp-block-details>summary{list-style:none;position:relative;padding-right:30px}
.wp-block-details>summary::-webkit-details-marker{display:none}
.wp-block-details>summary::marker{content:""}
.wp-block-details>summary::after{content:"";position:absolute;right:3px;top:.45em;width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .24s ease;transform-origin:center}
.wp-block-details[open]>summary::after{transform:translateY(4px) rotate(225deg)}
@media(prefers-reduced-motion:reduce){.wp-block-details>summary::after{transition:none}}
@media(min-width:1100px){.twe-job-grid .twe-card-link{align-self:end}}
.twe-job-controls{flex-wrap:wrap;gap:14px}.twe-section .twe-job-controls>.wp-block-buttons{margin:0;flex:none}.twe-job-controls>.wp-block-buttons .wp-block-button__link{min-height:50px;display:inline-flex;align-items:center;white-space:nowrap}
@media(max-width:480px){.twe-job-controls{gap:9px}.twe-job-controls>button{width:40px;height:40px}.twe-job-controls>span{min-width:36px;font-size:11px}.twe-job-controls>.wp-block-buttons .wp-block-button__link{min-height:40px;padding:10px 14px;font-size:11px}}
.twe-contact{align-items:end}
.twe-form .twe-form-status{grid-column:1/-1;display:flex;align-items:flex-start;gap:12px;margin:0;padding:16px 18px;border:1px solid #c8dfe9;border-radius:16px;background:#edf6fb;color:#123347;font-size:13px;font-weight:500;line-height:1.7}
.twe-form .twe-form-status[hidden]{display:none}
.twe-form-status::before{content:"i";display:flex;align-items:center;justify-content:center;flex:0 0 22px;height:22px;border:1.5px solid currentColor;border-radius:50%;font-size:13px;font-weight:700;line-height:1;margin-top:1px}
.twe-form .twe-form-status[data-state=success]{background:#eef7f3;border-color:#bcdccc;color:#235e48}.twe-form-status[data-state=success]::before{content:"✓"}
.twe-form .twe-form-status[data-state=error]{background:#fff3f1;border-color:#e9c7c1;color:#963e35}.twe-form-status[data-state=error]::before{content:"!"}
.twe-form-status[data-state=pending]::before{content:"…"}.twe-form button:disabled{opacity:.65;cursor:wait}
.twe-form [aria-invalid=true]{border-color:#b65a4e!important;background:#fff8f6!important}.twe-form .twe-field-error{display:block;color:#963e35;font-size:11px;font-weight:500;line-height:1.5;margin-top:7px}.twe-form .twe-check:has(.twe-field-error){flex-wrap:wrap}.twe-form .twe-check>.twe-field-error{flex-basis:100%;padding-left:24px;margin-top:0}
@media(hover:hover) and (pointer:fine){.twe-review-track{cursor:grab}.twe-review-track.is-dragging,.twe-review-track.is-dragging *{cursor:grabbing!important;user-select:none}}
.twe-review-track.is-dragging{scroll-snap-type:none!important;scroll-behavior:auto!important}

/* Related jobs and the home carousel share one card design. */
.twe-job-grid:not(.twe-hot-jobs){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.twe-job-grid>.twe-job-card{border:1px solid var(--twe-line);border-radius:22px;background:#fff;min-width:0;text-align:left;grid-template-rows:auto auto auto 1fr}
.twe-job-grid .twe-card-link{background:var(--twe-blue);color:#fff;border:0;white-space:nowrap;text-decoration:none}
.twe-job-grid .twe-card-link:hover{background:var(--twe-ink);color:#fff}
.twe-job-grid h3{font-size:23px;line-height:1.35;margin:0;letter-spacing:-.035em}
.twe-job-grid .twe-job-meta{margin:0;font-size:12px;line-height:1.8}
.twe-related-jobs>h2{font-size:clamp(30px,3.4vw,42px);line-height:1.2;letter-spacing:-.035em;margin-bottom:32px}
.twe-related-jobs>.twe-eyebrow{margin-bottom:16px!important}.twe-related-jobs>.wp-block-buttons{margin-top:28px!important}
@media(min-width:1100px){.twe-job-grid .twe-job-salary{grid-row:4;align-self:end}.twe-job-grid .twe-card-link{grid-row:4;align-self:end}}
@media(max-width:1099px){.twe-job-grid:not(.twe-hot-jobs){grid-template-columns:repeat(2,minmax(0,1fr))}.twe-job-grid>.twe-job-card{display:flex;flex-direction:column;padding:24px;gap:19px}.twe-job-grid .twe-job-salary{font-size:27px;margin:0}.twe-job-grid .twe-card-link{align-self:flex-start;margin-top:auto;min-height:50px;padding:15px 23px;font-size:13px}}
@media(max-width:781px){.twe-job-grid:not(.twe-hot-jobs){grid-template-columns:1fr}}
@media(min-width:1100px){.twe-job-grid .twe-job-card :is(.twe-tag,h3,.twe-job-meta){grid-column:1/-1}.twe-job-grid .twe-job-card .twe-tag{grid-row:1}.twe-job-grid .twe-job-card h3{grid-row:2}.twe-job-grid .twe-job-card .twe-job-meta{grid-row:3}}
.twe-job-controls .wp-block-button.is-style-outline .wp-block-button__link{background:#fff}
.twe-job-controls .wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--wp--preset--color--soft)}
.twe-related-jobs>:is(h2,.twe-eyebrow){max-width:1240px;width:100%;text-align:left}
.twe-related-jobs .wp-block-button.is-style-outline .wp-block-button__link{background:#fff}
.twe-related-jobs .wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--wp--preset--color--soft)}
@media(min-width:782px){.twe-related-jobs>.wp-block-buttons{justify-content:flex-end}}
.twe-languages{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid #ffffff30;border-radius:999px;background:#ffffff08}
.twe-languages a{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:28px;padding:4px 9px;border-radius:999px;font-size:10px;font-weight:650;line-height:1;letter-spacing:.04em;color:#e8f3f8;text-decoration:none;transition:background .2s,color .2s}
.twe-languages a:hover{background:#ffffff20;color:#fff}.twe-languages a.is-current{background:#fff;color:var(--twe-ink)}.twe-languages a:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.twe-languages a{transition:none}}
.twe-mobile-brand,.twe-mobile-contact{display:none}
@media(max-width:900px){
 .twe-header{padding:18px 24px!important}.twe-header .wp-block-site-logo img{width:170px}
 .twe-header .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}
 .twe-header .wp-block-navigation__responsive-container-open{display:flex!important;align-items:center;justify-content:center;width:44px;height:44px;background:#eaf4fa;color:var(--twe-ink);border:1px solid var(--twe-line);border-radius:999px}
 .twe-topbar{padding:7px 24px!important}.twe-topbar>p{display:none}.twe-topbar{justify-content:flex-end!important}
 .twe-header .wp-block-navigation__responsive-container.is-menu-open{padding:24px!important;background:#f0f7fb!important;color:var(--twe-ink)!important;animation:twe-menu-in .2s ease-out}
 .is-menu-open .twe-mobile-brand{display:block;margin:0;padding:0 56px 20px 0}.is-menu-open .twe-mobile-brand img{width:175px!important;height:auto}
 .twe-header .is-menu-open .wp-block-navigation__responsive-container-close{top:0;right:0;display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--twe-line);background:#fff;border-radius:999px}
 .twe-header .is-menu-open .wp-block-navigation__responsive-container-content{padding-top:16px!important;align-items:stretch!important;gap:28px}
 .twe-header .is-menu-open .wp-block-navigation__container{width:100%;align-items:stretch!important;gap:8px!important}
 .twe-header .is-menu-open .wp-block-navigation__container>li{width:100%;align-items:stretch!important;background:#fff;border:1px solid var(--twe-line);border-radius:18px;overflow:hidden}
 .twe-header .is-menu-open .wp-block-navigation__container>li>.wp-block-navigation-item__content{display:block;padding:15px 18px;font-size:17px!important;font-weight:600;text-align:left}
 .twe-header .is-menu-open .wp-block-navigation__container>li:first-child{background:var(--twe-blue);border-color:var(--twe-blue);border-radius:999px;margin-bottom:8px}
 .twe-header .is-menu-open .wp-block-navigation__container>li:first-child>.wp-block-navigation-item__content{color:#fff;text-align:center}
 .twe-header .is-menu-open .wp-block-navigation__submenu-container{width:100%;padding:0 18px 12px!important;margin:0!important;gap:0!important;align-items:flex-start!important}
 .twe-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content{font-size:13px!important;padding:8px 0!important;color:#526a7b}
 .is-menu-open .twe-mobile-contact{display:flex;flex-direction:column;align-items:flex-start;gap:14px;width:100%;padding:22px 0 12px;border-top:1px solid var(--twe-line)}
 .twe-mobile-contact .twe-eyebrow{margin:0!important;font-size:10px!important}.twe-mobile-contact>a{display:inline-flex;gap:12px;align-items:center;font-size:15px;color:var(--twe-ink);text-decoration:none;overflow-wrap:anywhere}
 .twe-mobile-contact>a::before{content:"";width:22px;height:22px;flex:none;background:var(--twe-blue);mask:url('phone.svg') center/contain no-repeat}
 .twe-mobile-contact>a[href^="mailto:"]::before{mask-image:url('email.svg')}
 .twe-mobile-contact .twe-languages{margin-top:8px;border-color:var(--twe-line);background:#fff}.twe-mobile-contact .twe-languages a{color:var(--twe-ink);min-height:34px;min-width:42px}.twe-mobile-contact .twe-languages .is-current{background:var(--twe-blue);color:#fff}
}
@keyframes twe-menu-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.twe-header .wp-block-navigation__responsive-container.is-menu-open{animation:none}}
@media(max-width:900px){
 .twe-header .is-menu-open .wp-block-navigation__container>li{background:#fff!important}
 .twe-header .is-menu-open .wp-block-navigation__container>li:first-child{background:var(--twe-blue)!important}
 .twe-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item{width:100%;align-items:flex-start!important}
 .twe-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content{width:100%;text-align:left!important}
}
.twe-job-list .twe-job-meta{display:block!important;visibility:visible;color:var(--twe-ink);font-size:15px;margin:4px 0 0}
.twe-list-city{display:inline-flex;align-items:center;gap:8px;font-weight:600}.twe-list-city svg{color:var(--twe-blue);flex-shrink:0}
.twe-facts.twe-facts-wide{max-width:1240px;margin-inline:auto;padding:36px;width:100%;box-sizing:border-box}
.twe-facts-wide h2{font-size:32px;margin:0 0 30px;letter-spacing:-.035em}
.twe-facts-wide dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px}
.twe-facts-wide .twe-fact-item{border-top:1px solid var(--twe-line);padding-top:20px;min-width:0}
.twe-facts-wide .twe-fact-item dt{border:0;padding:0;margin:0;font-size:12px;line-height:1.6}
.twe-facts-wide .twe-fact-item dd{font-size:19px;line-height:1.45;margin:8px 0 0;overflow-wrap:anywhere}
@media(max-width:1000px){.twe-facts-wide dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.twe-facts.twe-facts-wide{padding:24px}.twe-facts-wide h2{font-size:27px}.twe-facts-wide dl{grid-template-columns:1fr;gap:20px}.twe-facts-wide .twe-fact-item dd{font-size:18px}}
.twe-section.twe-offer-hero{padding-top:48px;padding-bottom:48px}
.twe-offer-hero .twe-job-breadcrumb{display:inline-block;margin:0 0 28px;font-size:13px}
.twe-offer-hero .twe-job-header h1{margin:0 0 16px;max-width:1000px;font-size:clamp(38px,4.3vw,60px);line-height:1.13;letter-spacing:-.045em}
.twe-offer-location{display:flex;align-items:center;gap:9px;margin:0!important;font-size:16px;color:var(--twe-ink)}
.twe-offer-location svg{color:var(--twe-blue);flex-shrink:0}
.twe-offer-hero .twe-job-lead{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid #cbdfe7;margin-top:28px;padding-top:24px}
.twe-offer-pay{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px;margin:0!important;color:var(--twe-ink);line-height:1.35}
.twe-offer-pay>span{font-size:32px;font-weight:600;letter-spacing:-.04em}
.twe-offer-pay>small{font-size:15px;font-weight:400;letter-spacing:0;color:#526779;white-space:nowrap}
.twe-offer-hero .twe-job-lead>.twe-submit{flex-shrink:0;margin:0;min-height:52px;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:600px){.twe-section.twe-offer-hero{padding-block:32px}.twe-offer-hero .twe-job-breadcrumb{margin-bottom:24px}.twe-offer-hero .twe-job-lead{align-items:flex-start;flex-direction:column;gap:22px;margin-top:24px}.twe-offer-pay>span{font-size:28px}.twe-offer-pay>small{font-size:14px}.twe-offer-hero .twe-job-lead>.twe-submit{width:100%}}
.twe-job-body-described{grid-template-columns:minmax(0,1fr) minmax(300px,370px);gap:64px}
.twe-job-description{min-width:0}.twe-job-description h2{margin-top:0}.twe-job-description li{margin-bottom:12px;line-height:1.8}
.twe-facts-sidebar h2{font-size:25px;margin:0 0 24px;letter-spacing:-.03em}
.twe-facts-sidebar .twe-fact-item{padding-top:17px;margin-top:17px;border-top:1px solid var(--twe-line)}
.twe-facts-sidebar .twe-fact-item dt{margin:0;padding:0;border:0}.twe-facts-sidebar .twe-fact-item dd{margin-top:6px;font-size:16px;line-height:1.5}
@media(max-width:781px){.twe-job-body-described{grid-template-columns:1fr;gap:30px}}
/* Google permits hiding the badge when the disclosure remains in the form flow. */
body:has(.twe-form) .grecaptcha-badge{visibility:hidden!important}
.twe-form>small.twe-wide{font-size:12px;line-height:1.6;color:#526779}
.twe-form>small.twe-wide a{text-decoration:underline;text-underline-offset:2px}
/* Contact icons share the outline assets used in the CTA and mobile menu. */
body a:is([href^="tel:"],[href^="mailto:"]):not(:has(svg,img)){
 position:relative;display:inline-block;max-width:100%;padding-inline-start:1.65em;overflow-wrap:anywhere
}
body a:is([href^="tel:"],[href^="mailto:"]):not(:has(svg,img))::before{
 content:"";position:absolute;inset-inline-start:0;top:.2em;width:1.15em;height:1.15em;background:currentColor;
 mask:url('phone.svg') center/contain no-repeat;transition:transform .2s ease;pointer-events:none
}
body a[href^="mailto:"]:not(:has(svg,img))::before{mask-image:url('email.svg')}
@media(hover:hover){
 body a[href^="tel:"]:not(:has(svg,img)):hover::before{transform:rotate(-12deg)}
 body a[href^="mailto:"]:not(:has(svg,img)):hover::before{transform:translate(2px,-2px)}
 .twe-connect-call:hover>svg{transform:rotate(-12deg)}
}
.twe-connect-call>svg{transition:transform .2s ease}
.twe-languages a{min-width:42px;min-height:36px;padding:8px 9px}
.twe-languages .twe-language-flag{display:block;width:24px;height:16px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px #122d4320}
.twe-mobile-contact .twe-languages a{min-width:44px;min-height:44px}
@media(prefers-reduced-motion:reduce){
 body a:is([href^="tel:"],[href^="mailto:"])::before,.twe-connect-call>svg{transition:none!important;transform:none!important}
}

/* Compact sticky header. The same language and contact links move into the main row. */
.wp-site-blocks>header{overflow-anchor:none}
header.is-scrolled .twe-header{display:flex;align-items:center;flex-wrap:nowrap;gap:clamp(10px,1.4vw,24px);max-width:1520px;min-height:64px;margin-inline:auto;padding:8px clamp(12px,2vw,32px)!important}
header.is-scrolled .twe-header>.wp-block-site-logo{flex:0 1 auto;min-width:0;margin:0}
header.is-scrolled .twe-header>.wp-block-site-logo img{width:clamp(104px,11vw,160px);max-width:100%;height:auto}
header.is-scrolled .twe-header>.twe-topbar{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:nowrap;margin:0 0 0 auto;padding:0!important;background:transparent!important;color:var(--twe-ink)!important}
header.is-scrolled .twe-topbar>p{margin:0;white-space:nowrap}
header.is-scrolled .twe-topbar>p,header.is-scrolled .twe-topbar>p a{color:var(--twe-ink)}
header.is-scrolled .twe-topbar .twe-languages{background:#edf5f8;border-color:#d6e4ea;flex-wrap:nowrap}
header.is-scrolled .twe-topbar .twe-languages a{min-width:32px;min-height:32px;padding:5px}
header.is-scrolled .twe-topbar .twe-languages .is-current{box-shadow:0 0 0 1px #93b5c2;background:#fff}
header.is-scrolled .twe-header>.wp-block-navigation{flex:none;margin:0}
@media(min-width:901px) and (max-width:1199px){
 header.is-scrolled .twe-header .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}
 header.is-scrolled .twe-header .wp-block-navigation__responsive-container-open{display:grid!important;place-items:center;width:44px;height:44px;border-radius:999px;background:#eaf4fa}
}
@media(max-width:900px){
 header.is-scrolled .twe-header{gap:8px}
 header.is-scrolled .twe-header>.twe-topbar{flex:none}
 header.is-scrolled .twe-topbar>p{display:none}
}
@media(max-width:380px){
 header.is-scrolled .twe-header{padding-inline:8px!important;gap:6px}
 header.is-scrolled .twe-topbar .twe-languages{gap:1px}
 header.is-scrolled .twe-topbar .twe-languages a{min-width:28px;padding:3px}
}
