/* Shared finishing layer: legibility, mobile wayfinding and comfortable controls. */
:root{--muted:#4e6b58}
html{scroll-padding-top:110px}
.header-inner{padding-block:17px}.site-header{background:#fffffff2;box-shadow:0 3px 24px #17523407}
#main-nav>a:not(.button),.sector-nav-toggle{font-size:14px;min-height:44px;display:flex;align-items:center}
.mobile-nav-extras,.mobile-contact-dock,.shortlist-jump{display:none}
.refined-hero .future-hero-grid{min-height:720px;gap:40px}
.refined-hero .hero-actions .button{font-size:14px}.refined-hero .hero-secondary{font-size:14px}
.refined-hero .hero-foot{font-size:12px}.refined-hero .hero-detail-line span{font-size:10px;letter-spacing:.035em}
.refined-hero .world-overline,.world-insight-kicker{font-size:10px;color:#4f6f40}
.world-overline button{font-size:12px;min-height:44px}
.refined-hero .world-sector-buttons button{font-size:12px;min-height:44px}
.world-insight p{font-size:13px;color:#4f6e42}.refined-hero .world-caption{font-size:10px;line-height:1.6;flex-wrap:wrap}
.world-stage-tools button{min-height:44px;font-size:12px}.world-zoom button{width:44px}
.refined-hero .world-utility-buttons button{min-height:44px;font-size:12px}.world-utility-buttons>span{font-size:10px}
.discovery-kicker,.scenario-scene-label{color:#506f40}.discovery-kicker{font-size:11px}
.scenario-toolbar button{min-width:44px;min-height:44px;font-size:12px}
.scenario-tabs strong{font-size:14px}.scenario-inspector>p{font-size:14px;color:#4f6d43}
.scenario-parts button{font-size:13px;min-height:46px}.scenario-hints,.discovery-note{font-size:11px;color:#567346}
.scenario-build-controls>label,.scenario-build-controls>button{font-size:12px}.scenario-build-controls output{font-size:11px;color:#527440}
.scenario-build-controls>button{min-height:44px}.scenario-role-panel .button,.discovery-role-chips a{font-size:12px;min-height:44px}
.discovery-role-chips a{display:inline-flex;align-items:center}.scenario-inspector .scenario-status{font-size:12px;color:#526e43}
.skill-card-top{font-size:10px;color:#526f42}.skill-card>p{font-size:14px}.skill-sectors span{font-size:10px;color:#526e42}
.skill-card-actions button,.skill-card-actions a{font-size:12px;min-height:44px;display:inline-flex;align-items:center}
.skills-results-bar p,.skills-results-bar button{font-size:13px}.shortlist-items button{min-width:44px;min-height:44px}
.shortlist-items>div{font-size:13px}.skill-shortlist .shortlist-note{font-size:11px;color:#516e41}.shortlist-heading .discovery-kicker{font-size:10px}
.skill-shortlist>p{font-size:14px}.skill-shortlist .text-link{font-size:12px;min-height:44px}.skills-tools label{font-size:12px}
.brief-roles label{min-height:44px}.form-card label,.brief-card label{font-size:13px}
.form-card input,.form-card select,.form-card textarea,.brief-card input,.brief-card select,.brief-card textarea{font-size:16px}
.brief-card textarea,.form-card textarea{min-height:140px}.form-note,.brief-note{line-height:1.8}
.gallery-note,.editorial-footnote{font-size:11px;color:#5a7250}.gallery-index,.photo-caption{font-size:10px}
.footer-main .email{overflow-wrap:anywhere}.footer-main>div>a:not(.brand){min-height:36px;display:flex;align-items:center}
.hero-object-drawer summary,.world-tour-row button{font-size:12px;min-height:44px}.world-tour-row>span{font-size:11px;color:#547047}
.hero-object-drawer .object-buttons button,.object-buttons button,.phase-buttons button{font-size:12px;min-height:44px}
.object-inspector>p,.sector-world .object-inspector>p:not(.object-add-status){font-size:14px;line-height:1.8}
.object-add-status,.construction-note{font-size:12px;color:#526e42}
.sector-world .world-caption,.lab-world .world-caption{font-size:10px;line-height:1.7;flex-wrap:wrap}
.sector-world .world-utility-buttons button,.lab-world .world-utility-buttons button,.sector-world .world-stage-tools button{font-size:12px;min-height:44px}
.sector-world .world-zoom button{font-size:22px}.sector-world .object-inspector .button,.hero-object-drawer .object-inspector .button{font-size:12px;min-height:46px}
.brief-visual-sectors button>span:last-child{font-size:11px}.crew-preview-head{font-size:10px}.crew-role-list>span,.crew-preview>p{font-size:11px;color:#526e42}
.team-stepper button{min-width:44px;min-height:44px}.candidate-role-picker>p{font-size:14px}.candidate-role-options button{font-size:12px;min-height:44px}.candidate-role-picker .candidate-role-status{font-size:12px;color:#526e42}
button,a,input,select,textarea{touch-action:manipulation}
:focus-visible{outline:3px solid #087b49;outline-offset:4px}
@media(min-width:761px) and (max-width:1100px){.refined-hero .future-hero-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px}.refined-hero h1{font-size:clamp(45px,5vw,60px)}.refined-hero .hero-actions{gap:18px}.refined-hero .hero-actions .button{font-size:12px}.refined-hero .hero-secondary{font-size:12px}}
@media(max-width:980px){
 .header-inner{padding-block:12px;gap:16px}.menu-toggle{display:block;flex:none;border-radius:12px;width:48px;height:48px}
 .menu-toggle[aria-expanded=true]>span:not(.sr-only):first-child{transform:translateY(3.75px) rotate(45deg)}
 .menu-toggle[aria-expanded=true]>span:not(.sr-only):nth-child(2){transform:translateY(-3.75px) rotate(-45deg)}
 .menu-toggle>span:not(.sr-only){transition:transform .2s;margin:6px 0}
 #main-nav{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - var(--nav-header-height,78px));overflow-y:auto;overscroll-behavior:contain;flex-direction:column;align-items:stretch;gap:0;padding:12px var(--gutter) 28px;background:linear-gradient(145deg,#fff,#f1f9e9);border-bottom:1px solid #cddfc1;box-shadow:0 20px 35px #22533222}
 #main-nav.is-open{display:flex}#main-nav>a:not(.button),.sector-nav-toggle{font-size:21px;font-weight:600;min-height:64px;width:100%;border-bottom:1px solid #dce8d3;padding:12px 0;justify-content:space-between}
 #main-nav>a[aria-current]:after{display:none}#main-nav .button{width:100%;min-height:52px;margin-top:20px}
 .sector-nav{width:100%}.sector-nav-panel{position:static;transform:none;width:100%;border:0;box-shadow:none;border-radius:0;background:transparent;padding:18px 0}
 .sector-nav-heading{display:none}.sector-nav-grid{grid-template-columns:1fr 1fr;gap:12px;margin:0 0 20px}.sector-nav-grid>a{padding:16px;min-height:130px}
 .sector-nav-grid strong{font-size:17px}.sector-nav-grid small{font-size:11px}.sector-nav-number{font-size:10px;margin-bottom:24px}.sector-nav-grid .micro-scene{display:none}
 .sector-nav-bottom{font-size:12px;flex-wrap:wrap}.sector-nav-discovery{display:none}
 .mobile-nav-extras{display:grid;gap:10px;padding:22px 0 0}.mobile-nav-extras>span{font:11px monospace;letter-spacing:.09em;color:#5d7650}
 .mobile-nav-extras a{min-height:48px;font-size:14px;display:flex;align-items:center;justify-content:space-between;padding:12px 15px;border:1px solid #d0e2c3;border-radius:10px;background:#fff}
 body.mobile-menu-open{overflow:hidden}.mobile-menu-open .mobile-contact-dock{visibility:hidden}
}
@media(max-width:760px){
 :root{--gutter:22px}html{scroll-padding-top:95px}.header-inner{min-height:76px}.brand-name{font-size:20px}
 .refined-hero .future-hero-grid{gap:28px;padding-block:34px 30px;min-height:0}.refined-hero h1{font-size:clamp(38px,10.3vw,60px);line-height:1.07;letter-spacing:-.06em}
 .refined-hero .eyebrow{font-size:10px;line-height:1.6;margin-bottom:22px}.refined-hero .future-hero-copy>p:not(.eyebrow){font-size:15px;line-height:1.75;margin-top:22px}
 .refined-hero .hero-actions{display:grid;grid-template-columns:1fr;gap:12px;margin-top:25px;align-items:stretch}
 .refined-hero .hero-actions .button{font-size:14px;min-height:54px;padding:14px 20px}
 .refined-hero .hero-secondary{font-size:14px;min-height:44px;justify-content:center;border:1px solid #bed6ae;border-radius:9px;background:#ffffff8c;padding:10px 16px}
 .refined-hero .hero-foot{font-size:11px;margin-top:23px}.refined-hero .hero-detail-line{display:none}
 .refined-hero .world-overline{font-size:9px;letter-spacing:.04em;gap:8px;padding-bottom:5px}.world-overline button{font-size:11px;white-space:nowrap}
 .refined-hero .world-canvas{height:300px}.refined-hero .hero-monogram{width:60px;height:55px;top:8px;right:5px}
 .refined-hero .world-caption{font-size:9px;padding:7px 3px 17px;gap:5px}.world-caption>span:last-child{max-width:none;text-align:left}
 .refined-hero .world-sector-buttons button{min-height:48px;font-size:12px}.world-insight{padding-block:18px;min-height:0}.world-insight-kicker{font-size:9px}.world-insight h2{font-size:23px}.world-insight p{font-size:13px;line-height:1.75}.world-insight>a{width:44px;height:44px}
 .refined-hero .world-utility-buttons button{font-size:12px}.world-utility-buttons>span{display:none}
 .facts strong{font-size:28px}.facts span{font-size:12px;line-height:1.6}.facts{gap:25px 18px}
 .section{padding-block:64px}.section-heading h2,.scenario-section .section-heading h2{font-size:clamp(31px,8.5vw,42px);line-height:1.12}
 .section-heading p,.refined-intro-copy>p:not(.lead):not(.eyebrow),.refined-sectors .sector-content p,.refined-people .people-grid p,.steps p,.project-story-stages p{font-size:14px;line-height:1.85}
 .refined-intro-grid{gap:35px}.refined-intro{padding-block:70px}.refined-intro h2{font-size:39px}.refined-intro .lead{font-size:20px}
 .editorial-primary{transform:rotate(-1.5deg)}.editorial-secondary{transform:rotate(3deg)}.editorial-footnote{font-size:10px;width:48%;line-height:1.7}
 .refined-sectors .sector-tabs button{min-height:52px;font-size:12px}.refined-sectors .sector-number,.tags>span{font-size:11px}
 .gallery-section{padding-top:40px}.gallery-note{font-size:11px}.gallery-index{font-size:9px}.gallery-expand{width:44px;height:44px}.gallery-close{width:44px;height:44px}
 .scenario-tabs button{min-height:58px;padding:11px}.scenario-tabs strong{font-size:12px}.scenario-tabs button>span:first-child{font-size:10px}
 .scenario-scene-label{font-size:8px;line-height:1.5}.scenario-canvas{height:300px}.scenario-toolbar{gap:8px}.scenario-toolbar button{min-height:44px;min-width:44px;font-size:12px}.scenario-toolbar [data-scene-zoom]{font-size:22px}
 .scenario-build-controls{gap:10px}.scenario-build-controls>label{font-size:12px}.scenario-build-controls>label>span{font-size:12px}.scenario-build-controls output{font-size:10px;min-width:95px}
 .scenario-hints{font-size:10px;line-height:1.8}.scenario-inspector h3{font-size:28px}.scenario-inspector>p{font-size:14px}.scenario-parts button{font-size:12px;min-height:54px}
 .scenario-inspector .scenario-status,.scenario-role-panel .text-link{font-size:12px}.discovery-note{font-size:11px;line-height:1.8}
 .discovery-hero h1,.page-hero h1{font-size:clamp(38px,10.5vw,55px)}.discovery-hero-bottom p,.scenario-page-hero>.container>p:last-child,.page-hero-grid>div:first-child>p:last-child{font-size:15px}
 .skills-results-bar{position:sticky;top:76px;z-index:8;display:flex;flex-wrap:wrap;gap:8px 16px;background:#fbfdf8f5;border-bottom:1px solid #d8e5cc;padding:15px 2px;backdrop-filter:blur(12px);margin-bottom:20px}
 .skills-results-bar p{flex:1;font-size:12px}.skills-results-bar button{font-size:12px;min-height:44px}
 .shortlist-jump{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:13px;font-weight:600;color:#086d38;padding:12px 14px;min-height:46px;background:#eaf5df;border:1px solid #c7ddb5;border-radius:9px}
 .skill-shortlist{scroll-margin-top:210px}.skill-card-top{font-size:10px}.skill-card>p{font-size:14px}.skill-card-actions{gap:10px;flex-wrap:wrap}.skill-card-actions button,.skill-card-actions a{font-size:12px;min-height:44px}.skill-sectors span{font-size:10px}
 .skills-tools{gap:16px 12px}.skills-tools label{font-size:12px}.skills-tools input::placeholder{font-size:14px}.skill-shortlist label,.skill-shortlist .text-link{font-size:13px}.shortlist-heading .discovery-kicker{font-size:10px}.skill-shortlist .shortlist-note{font-size:12px}
 .brief-card{padding:25px 18px}.brief-card label,.form-card label{font-size:13px}.brief-roles label{font-size:12px;padding:12px;min-height:48px}.brief-step-heading h3{font-size:21px}.brief-note,.brief-result [data-brief-status],.form-card .form-note{font-size:12px;line-height:1.75}
 .brief-intro>p:not(.eyebrow):not(.lead),.careers-grid>div:first-child>p:not(.eyebrow),.form-card>p{font-size:14px;line-height:1.8}.brief-helper{font-size:13px;flex-wrap:wrap}
 .faq-list summary{font-size:15px;line-height:1.5;min-height:72px}.faq-list details>p{font-size:14px;line-height:1.8}.faq-plus{min-width:32px;height:32px}.faq-index{font-size:10px}
 .contact-email{font-size:13px;overflow-wrap:anywhere}.contact-hero p:not(.eyebrow){font-size:15px}.footer-main .email{font-size:13px!important}.footer-main>div>a:not(.brand){min-height:44px}.footer-bottom,.footer-bottom p{font-size:11px}
 .mobile-contact-dock:not([hidden]){display:grid;grid-template-columns:.8fr 1.5fr;gap:10px;position:fixed;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:45;padding:9px;border:1px solid #d7e6cd;border-radius:16px;background:#fffffff2;box-shadow:0 8px 35px #174c3230;backdrop-filter:blur(15px)}
 .mobile-contact-dock a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 10px;font-size:13px;font-weight:700;border-radius:10px;background:#edf6e5;color:#145b35}
 .mobile-contact-dock a:last-child{background:linear-gradient(135deg,#148845,#066c36);color:#fff;box-shadow:0 3px 0 #04512a}.mobile-contact-dock svg{width:18px;height:18px}
 body.has-mobile-dock{padding-bottom:90px}
}
@media(max-width:359px){:root{--gutter:18px}.brand-name{font-size:18px}.refined-hero h1{font-size:36px}.world-overline>span:first-child{max-width:160px}.skills-tools{grid-template-columns:1fr}.skills-search{grid-column:auto}.scenario-tabs button{gap:5px}.scenario-tabs strong{font-size:11px}.scenario-tabs button>span:last-child{display:none}.scenario-parts{grid-template-columns:1fr}.contact-email{font-size:12px}}
@media(prefers-reduced-motion:reduce){.menu-toggle>span:not(.sr-only){transition:none}}

.labour-search{display:block;margin:12px 0 18px}.labour-hint{font-size:12px;line-height:1.6;color:#5d7357;margin:10px 0}.labour-role-group{display:flex;flex-wrap:wrap;gap:8px;width:100%;min-width:0;border:0;padding:0;margin:0 0 16px}.labour-role-group legend{font-size:12px;font-weight:600;padding:0;margin-bottom:10px;color:#285d40}.labour-role-group label[hidden],[data-candidate-roles] button[hidden],.labour-role-group[hidden]{display:none!important}.cv-upload input[type=file]{padding:14px;max-width:100%;background:#f8fcf2}.field-help{display:block;font-size:12px;font-weight:400;color:#607555;margin-top:7px;line-height:1.5}
