/* One shared page rhythm, including ultra-wide screens. */
.local-app{--page-width:1560px;--page-gutter:42px}
.local-app .gateway-intro,.local-app .worlds,.local-app .gateway-bottom,.local-app.gateway .home-trust,.local-app .portfolio-home{box-sizing:border-box;width:100%;max-width:var(--page-width);margin-inline:auto;padding-inline:var(--page-gutter)}
.local-app .portfolio-home{border-top:0;position:relative}
.local-app .portfolio-home::before{content:"";position:absolute;top:0;left:var(--page-gutter);right:var(--page-gutter);border-top:1px solid #475245}
.local-app .nav-wrap,.local-app .shop-bar{box-sizing:border-box;max-width:var(--page-width);padding-inline:var(--page-gutter)}
.local-app .header-links,.local-app .shop-bar{font-size:14px;line-height:1.5}
.local-app .header-links{flex-wrap:wrap;gap:12px 22px}
.local-app .brand-description{font-size:14px;min-width:170px}
.local-app .shop-bar{flex-wrap:wrap;gap:12px}
.local-app .shop-bar>div{flex-wrap:wrap;gap:18px}
.header-search{display:flex;align-items:stretch;flex:0 1 220px;max-width:220px;min-width:180px;margin:0;border:0;border-bottom:1px solid #82907b;background:transparent;color:#31523a;transition:border-color .18s ease}
.local-app .header-search input{width:100%;min-width:0;border:0;border-radius:0;background:transparent;padding:10px 0;font:inherit;font-size:14px;color:inherit;min-height:44px;outline:none;box-shadow:none}
.local-app .header-search input::placeholder{color:#64715e;opacity:1}
/* The translated button text remains its accessible name; the visible mark is
   drawn in CSS so it inherits both light and dark header colours. */
.header-search button{position:relative;flex:0 0 44px;width:44px;min-height:44px;border:0;border-radius:0;background:transparent;color:inherit;padding:0;font-size:0;cursor:pointer}
.header-search button::before{content:"";position:absolute;width:13px;height:13px;border:1.5px solid currentColor;border-radius:50%;left:13px;top:12px;box-sizing:border-box}
.header-search button::after{content:"";position:absolute;width:8px;height:1.5px;background:currentColor;left:24px;top:25px;transform:rotate(45deg);transform-origin:left center}
.header-search button:hover{background:#31523a0a}
.header-search:focus-within{border-bottom-color:currentColor;box-shadow:0 1px 0 currentColor}
.header-search button:focus-visible{outline:2px solid currentColor;outline-offset:-4px}
.local-app.gateway .header-search{color:#e4ebdf;border-bottom-color:#ffffff40}
.local-app.gateway .header-search input::placeholder{color:#b5c0ae}
.local-app.gateway .header-search:focus-within{border-bottom-color:#d5e3c9}
.local-app.gateway .header-search button:hover{background:#ffffff08}
@media(min-width:781px){.local-app .shop-bar>div{flex-wrap:nowrap;min-width:0}.header-search{min-width:160px}}
@media(prefers-reduced-motion:reduce){.header-search{transition:none}}
.local-app .office-hero .sector-copy{box-sizing:border-box;width:calc(100% - 2 * var(--page-gutter));max-width:1476px;margin-inline:auto;padding:80px 0;min-width:0}
.local-app .sector-copy h1{max-width:760px;font-size:clamp(40px,4.8vw,72px);overflow-wrap:normal}
.local-app .sector-copy .eyebrow,.local-app .sector-lead{width:100%;max-width:550px}
.local-app .sector-copy .hero-actions{max-width:760px}
.local-app .office-hero .button.secondary{color:white;border-color:#ffffffa3;background:transparent}
.local-app .office-hero .portfolio-anchor{color:white}
.local-app .education-hero,.local-app .technical-hero{max-width:1560px;margin-inline:auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0;align-items:stretch}
.local-app .education-hero>.sector-image,.local-app .technical-hero>.sector-image{height:100%;min-height:540px;max-height:720px;object-fit:cover;min-width:0}
.local-app .education-hero .sector-copy,.local-app .technical-hero .sector-copy{min-width:0;padding:65px 42px;max-width:none}
.institution-link{cursor:default}
.institution-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:auto}
.institution-actions a{font-size:15px;min-height:44px;display:inline-flex;align-items:center;text-underline-offset:5px}
.institution-actions a:last-child{border:1px solid #afbeaa;padding:8px 16px;color:#006536;text-decoration:none}
.institution-actions a:hover{color:#008c4e;border-color:#008c4e}
.services-model-visual{width:100%;height:190px;object-fit:cover;margin:0 0 22px;background:#e5e8df}
.services-models{gap:24px;border:0}
.services-model,.services-model+.services-model{padding:0 0 24px;border:0;border-bottom:1px solid #ccd5c6}
.services-model .services-text-link{font-size:15px}
.services-outcome{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:center;background:#e8eee3;padding:36px;margin-block:0 48px}
.services-outcome h2{font-size:clamp(28px,3vw,42px);line-height:1.15;margin:0 0 16px}
.services-outcome p{line-height:1.7;color:#4c5d49;margin:0 0 20px;max-width:540px}
.services-outcome ul{padding:0;margin:0;list-style:none}
.services-outcome li{padding:14px 0;border-bottom:1px solid #c7d2bf;line-height:1.6}
.services-outcome li::before{content:"↗";color:#006536;margin-right:12px}
.finish-confirmation-note{grid-column:1/-1;font-size:14px;line-height:1.6;color:#55634e;margin:0;padding:15px 0;border-top:1px solid #d5ddce}
@media(max-width:1100px){.local-app{--page-gutter:28px}.local-app .shop-bar>div{flex:1;justify-content:flex-end}.local-app .education-hero .sector-copy,.local-app .technical-hero .sector-copy{padding:44px 28px}.local-app .header-links{gap:12px 16px}.services-model-visual{height:160px}}
@media(max-width:780px){.local-app{--page-gutter:20px}.local-app .shop-bar>div{justify-content:flex-start}.local-app .header-links{font-size:14px;gap:10px 16px}.local-app .header-links .partner-login-link{font-size:13px}.local-app .shop-bar nav{font-size:14px}.header-search{flex:1 1 100%;max-width:none;order:-1}.local-app .office-hero .sector-copy{padding:54px 0}.local-app .education-hero,.local-app .technical-hero{grid-template-columns:1fr}.local-app .education-hero>.sector-image,.local-app .technical-hero>.sector-image{height:280px;min-height:0;max-height:none}.local-app .education-hero .sector-copy,.local-app .technical-hero .sector-copy{padding:36px 20px}.local-app .sector-copy h1{font-size:44px}.local-app .sector-copy .hero-actions{gap:12px}.services-outcome{grid-template-columns:1fr;padding:25px;gap:16px}.services-model-visual{height:230px}}
