/* Shared layout for the complete bilingual website. */
[hidden]{display:none!important}
.button{white-space:normal;max-width:100%;text-align:center;border:0;cursor:pointer}
.home-page .hero-content>.eyebrow{font-size:.75rem;color:#d6dcdb;letter-spacing:.075em;max-width:480px;align-items:center;gap:12px}
.hero-content .hero-actions .text-link{color:#e0e5e5}
.feature-card>.text-link{margin-top:22px;font-size:.875rem;gap:10px}
.section-end-link{margin-top:28px}
.section-end-link>.text-link:hover,.content-card>.text-link:hover,.resource-intro>.text-link:hover{color:#526111}
.page-intro{background:var(--ink);color:white;padding-block:26px 65px}
.breadcrumb{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:.75rem;color:#c0c9ce;margin-bottom:43px}
.breadcrumb a:hover{color:var(--yellow)}
.breadcrumb>span[aria-hidden]{color:#9ba7b0}
.page-intro>.container>.eyebrow{color:#c7d0d2}
.page-intro-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:60px;align-items:end;margin-top:25px}
.page-intro h1{font-size:clamp(2.65rem,4.5vw,4.8rem);line-height:1.06;letter-spacing:-.055em;overflow-wrap:break-word}
.page-intro h1>span{color:#b0bdc2}
.page-intro-grid>div>p{color:#c0c9ce;font-size:1rem;line-height:1.85;max-width:460px}
.page-intro-grid>div>.button{margin-top:25px}
.white-section{background:white;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.content-grid{display:grid;gap:20px}
.columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.content-card{background:white;border:1px solid var(--border);padding:32px;display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.white-section .content-card{background:var(--paper)}
.card-index{font-family:var(--display);color:#657367;font-size:.875rem;padding-bottom:10px;border-bottom:3px solid var(--yellow);min-width:34px;display:inline-block;margin-bottom:24px}
.content-card>h3{font-size:clamp(1.5rem,2.2vw,2rem);letter-spacing:-.045em;line-height:1.2;max-width:95%;margin-bottom:18px}
.content-card>p{color:var(--muted);font-size:1rem;line-height:1.8;flex-grow:1}
.content-card>.text-link{margin-top:26px}
.collaboration-band{margin-top:65px;border-top:1px solid var(--border);padding-top:40px;display:grid;grid-template-columns:1fr 1.25fr;gap:70px;align-items:start}
.collaboration-band h2{font-size:2.3rem}
.collaboration-band p{color:var(--muted);font-size:1rem;line-height:1.85}
.collaboration-band p+p{margin-top:18px}
.technology-jump{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--border);background:white}
.technology-jump>a{padding:22px 18px;border-right:1px solid var(--border);font-size:.875rem;line-height:1.6;display:flex;flex-wrap:wrap;align-content:flex-start;gap:9px;position:relative;font-weight:600;min-width:0}
.technology-jump>a:last-child{border-right:0}
.technology-jump>a>span{flex-basis:100%;font-size:.75rem;color:var(--muted);font-weight:400}
.technology-jump>a>.icon{width:18px;height:18px;align-self:center;transform:rotate(90deg)}
.technology-jump>a:hover{background:var(--yellow)}
.scope-note{font-size:.875rem;line-height:1.8;color:#5e6b70;border-left:3px solid #bdc82f;padding:15px 20px;background:#eaf0e9;margin-top:28px}
.technology-row{display:grid;grid-template-columns:1fr 1.25fr;gap:70px;border-bottom:1px solid var(--border);padding-block:60px;scroll-margin-top:20px}
.technology-row:last-child{border-bottom:0;padding-bottom:0}
.technology-label>.feature-icon{margin-bottom:26px}
.technology-label>.eyebrow{color:#56665b;margin-bottom:16px}
.technology-label>h2{font-size:clamp(2.1rem,3.1vw,3rem);line-height:1.15}
.technology-detail>p{font-size:1rem;color:var(--muted);line-height:1.85;max-width:560px}
.equipment-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin:25px 0 27px;padding:0;list-style:none;font-size:1rem;line-height:1.7}
.equipment-list>li{border-bottom:1px solid var(--border);padding:15px 0}
.story-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:80px}
.story-layout h2{margin-top:25px}
.story-copy p{font-size:1rem;color:var(--muted);line-height:1.9;margin-bottom:22px}
.story-copy .text-link{margin-top:8px}
.team-profiles{display:grid;gap:50px}
.team-profile{display:grid;grid-template-columns:.85fr 1.55fr;background:white;border:1px solid var(--border);min-width:0}
.profile-identity{padding:42px;background:var(--ink);color:white;min-width:0}
.profile-monogram{display:grid;place-items:center;width:85px;height:85px;font-family:var(--display);font-size:2.3rem;font-weight:700;letter-spacing:-.06em;background:var(--yellow);color:var(--ink);margin-bottom:35px}
.profile-identity>.eyebrow{color:#bfcacd;margin-bottom:15px}
.profile-identity .short-rule{display:none}
.profile-identity>h2{font-size:2.8rem;line-height:1.1;margin-bottom:20px}
.profile-identity>p{color:#bcc7cc;font-size:.875rem;line-height:1.8}
.profile-identity>a{display:flex;align-items:center;gap:12px;color:var(--yellow);margin-top:29px;font-size:.875rem;font-weight:600}
.profile-copy{padding:42px;min-width:0}
.profile-copy>h3{font-size:1.9rem;line-height:1.2;letter-spacing:-.04em;margin-bottom:22px}
.profile-copy>p{font-size:1rem;line-height:1.85;color:var(--muted);margin-bottom:20px}
.profile-facts{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding-block:23px;margin-bottom:24px;border-block:1px solid var(--border)}
.profile-facts>div{display:flex;flex-direction:column;gap:7px}
.profile-facts strong{font-family:var(--display);font-size:2.9rem;letter-spacing:-.055em;line-height:1.1}
.profile-facts span{font-size:.875rem;color:var(--muted);line-height:1.6}
.profile-copy>h4{font-size:.875rem;margin:0 0 13px;letter-spacing:.04em}
.qualification-list{padding-left:19px;margin:0;display:grid;gap:9px;font-size:.875rem;color:var(--muted)}
.enquiry-layout{display:grid;grid-template-columns:.8fr 1.2fr;align-items:start;gap:70px}
.enquiry-intro h2{font-size:clamp(2.2rem,3.1vw,3rem);margin-top:22px}
.enquiry-intro>p{color:var(--muted);font-size:1rem;line-height:1.85;margin-top:24px}
.enquiry-intro>.email-link{display:inline-block;color:var(--ink);font-size:1rem;margin-top:23px}
.contact-details{margin:32px 0;display:grid;gap:19px}
.contact-details dt{font-size:.75rem;color:#647078;text-transform:uppercase;letter-spacing:.1em;font-weight:700;margin-bottom:5px}
.contact-details dd{margin:0;font-size:1rem;overflow-wrap:anywhere}
.contact-details a:hover{text-decoration:underline;text-underline-offset:5px}
.enquiry-route{padding-top:28px;border-top:1px solid var(--border)}
.enquiry-route h3{font-size:1.4rem;letter-spacing:-.035em}
.enquiry-route p{font-size:1rem;color:var(--muted);line-height:1.8;margin-block:12px 21px}
.form-panel{background:#fff;border:1px solid var(--border);padding:35px;min-width:0}
.form-heading{border-bottom:1px solid var(--border);padding-bottom:22px;margin-bottom:28px}
.form-heading h3{font-size:1.8rem;letter-spacing:-.04em;line-height:1.2}
.form-heading p{font-size:.875rem;color:var(--muted);margin-top:10px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 19px}
.form-field{min-width:0}
.field-wide{grid-column:1/-1}
.form-field label,.enquiry-review>label{display:block;font-size:.875rem;font-weight:600;line-height:1.6;margin-bottom:8px}
.form-field label>span{color:#6b481b}
input,select,textarea{font-family:var(--body);font-size:1rem;line-height:1.5;color:var(--ink);border:1px solid #aab8b2;background:#fff;border-radius:0;min-width:0;max-width:100%;width:100%;padding:12px 13px;min-height:49px}
textarea{resize:vertical}

select{padding-right:10px}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #5573d7;outline-offset:2px;border-color:#5573d7}
input:user-invalid,select:user-invalid,textarea:user-invalid{border-color:#b5452f}
.attachment-note{display:flex;align-items:flex-start;gap:12px;padding:18px 0;margin-top:6px}
.attachment-note>.icon{width:20px;height:20px;margin-top:3px;color:#556663}
.attachment-note strong{font-size:.875rem;font-weight:600}
.attachment-note p{font-size:.875rem;color:var(--muted);line-height:1.75;margin-top:4px}
.form-submit{border-top:1px solid var(--border);padding-top:25px;display:flex;align-items:flex-start;gap:18px;flex-wrap:wrap}
.form-submit>.button{flex-shrink:0;gap:17px}
.form-submit>p{font-size:.875rem;color:var(--muted);line-height:1.8;flex:1;min-width:185px}
.enquiry-review>.eyebrow{color:#55665a;margin-bottom:17px}
.enquiry-review>h3{font-size:2rem;line-height:1.2;letter-spacing:-.045em}
.enquiry-review>p:not(.form-status){color:var(--muted);font-size:1rem;line-height:1.8;margin-block:15px 22px}
.review-message{font-size:.875rem;line-height:1.7;background:var(--paper);resize:vertical;min-height:300px}
.review-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.button-outline{color:var(--ink);border:1px solid #aab8b2;background:transparent}
.button-outline:hover{background:var(--paper)}
.review-secondary{display:flex;gap:20px;flex-wrap:wrap;margin-top:20px}
.review-secondary>button{border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;font-size:.875rem;padding:4px 0;cursor:pointer;color:#465a50}
.enquiry-review .email-help{font-size:.875rem!important;overflow-wrap:anywhere}
.email-help a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.form-status{font-size:.875rem;color:#365f3e;line-height:1.6;min-height:1.6em}
.resource-article{display:grid;grid-template-columns:1fr 1.05fr;gap:80px;border-bottom:1px solid var(--border);padding-block:65px}
.resource-article:first-child{padding-top:0}
.resource-article:last-child{padding-bottom:0;border-bottom:0}
.resource-intro>.eyebrow{color:#5d6d63}
.resource-intro .short-rule{background:#7c8814}
.resource-intro>h2{font-size:clamp(2.1rem,3vw,2.9rem);line-height:1.12;margin-top:23px}
.resource-intro>p{font-size:1rem;color:var(--muted);line-height:1.85;margin-block:24px}
.guide-steps{list-style:none;counter-reset:guide-step;display:grid;gap:22px;margin:0;padding:0}
.guide-steps>li{counter-increment:guide-step;position:relative;padding-left:40px}
.guide-steps>li::before{content:counter(guide-step,decimal-leading-zero);position:absolute;left:0;top:2px;font-family:var(--display);color:#60715e;font-size:.875rem}
.guide-steps h4{font-family:var(--display);font-size:1.15rem;line-height:1.4;letter-spacing:-.025em;margin:0 0 9px}
.guide-steps p{font-size:1rem;line-height:1.85;color:var(--muted)}
.footer-location>p br{display:block}
@media(max-width:1400px){.page-intro-grid{gap:40px}.enquiry-layout{gap:45px}.form-panel{padding:29px}}
@media(max-width:1050px){.page-intro-grid{grid-template-columns:1.2fr 1fr;gap:35px}.page-intro h1{font-size:3.4rem}.columns-3{gap:15px}.content-card{padding:25px}.content-card>h3{font-size:1.6rem}.technology-jump{grid-template-columns:repeat(3,minmax(0,1fr))}.technology-jump>a{border-bottom:1px solid var(--border)}.technology-jump>a:nth-child(3){border-right:0}.technology-jump>a:nth-last-child(-n+2){border-bottom:0}.technology-row{gap:40px;grid-template-columns:1fr 1.15fr}.equipment-list{grid-template-columns:1fr}.story-layout{gap:40px}.collaboration-band{gap:40px}.team-profile{grid-template-columns:.9fr 1.4fr}.profile-identity,.profile-copy{padding:30px}.profile-identity>h2{font-size:2.4rem}.profile-copy>h3{font-size:1.7rem}.enquiry-layout{grid-template-columns:1fr;gap:38px}.enquiry-intro{max-width:720px}.form-panel{padding:35px}.form-submit>p{max-width:380px}.resource-article{gap:45px}}
@media(max-width:700px){.home-page .hero-content>.eyebrow{font-size:.75rem;line-height:1.6;align-items:flex-start}.home-page .hero-content>.eyebrow .short-rule{margin-top:9px;width:19px}.hero-actions>.button{gap:14px!important}.hero-actions>.text-link{font-size:.875rem}.page-intro{padding-block:22px 42px}.breadcrumb{margin-bottom:32px;font-size:.75rem}.page-intro-grid{grid-template-columns:1fr;gap:23px;margin-top:23px}.page-intro h1{font-size:clamp(2.3rem,8.1vw,3.5rem);line-height:1.1;letter-spacing:-.05em}.page-intro h1 br{display:none}.page-intro h1>span::before{content:' '}.page-intro-grid>div>p{font-size:1rem;max-width:none}.page-intro-grid>div>.button{margin-top:23px}.columns-2,.columns-3{grid-template-columns:1fr;gap:16px}.content-card{padding:26px}.content-card>h3{font-size:1.75rem}.collaboration-band{grid-template-columns:1fr;gap:22px;padding-top:30px;margin-top:40px}.collaboration-band h2{font-size:2.1rem}.technology-jump{grid-template-columns:1fr}.technology-jump>a{border-right:0;border-bottom:1px solid var(--border)!important;flex-wrap:nowrap;gap:12px;align-items:center;padding:17px 18px;font-size:.875rem}.technology-jump>a:last-child{border-bottom:0!important}.technology-jump>a>span{flex-basis:auto;flex-shrink:0;min-width:23px}.technology-jump>a>.icon{margin-left:auto}.scope-note{padding:15px 17px;font-size:.875rem;margin-top:25px}.technology-row{grid-template-columns:1fr;gap:25px;padding-block:42px}.technology-label>.feature-icon{margin-bottom:21px}.technology-label>h2{font-size:2.2rem}.equipment-list{grid-template-columns:1fr;margin-top:16px}.equipment-list>li{padding-block:12px}.story-layout{grid-template-columns:1fr;gap:26px}.story-layout h2{font-size:2.35rem}.team-profiles{gap:30px}.team-profile{grid-template-columns:1fr}.profile-identity,.profile-copy{padding:27px}.profile-monogram{width:65px;height:65px;font-size:1.9rem;margin-bottom:25px}.profile-identity>h2{font-size:2.4rem}.profile-identity>p{max-width:380px}.profile-facts{gap:23px}.profile-facts strong{font-size:2.5rem}.profile-copy>h3{font-size:1.8rem}.enquiry-layout{gap:32px}.enquiry-intro h2{font-size:2.3rem}.form-panel{padding:24px 21px}.form-grid{grid-template-columns:1fr;gap:21px}.form-heading{padding-bottom:19px;margin-bottom:24px}.form-heading h3{font-size:1.7rem}.form-submit{gap:18px}.form-submit>.button{width:100%;justify-content:space-between}.form-submit>p{max-width:none;min-width:0;flex-basis:100%}.attachment-note{padding-top:23px}.enquiry-review>h3{font-size:1.85rem}.review-actions{flex-direction:column}.review-actions>.button{width:100%}.review-secondary{gap:18px}.resource-article{grid-template-columns:1fr;gap:30px;padding-block:43px}.resource-intro>h2{font-size:2.2rem}.guide-steps{gap:25px}.guide-steps>li{padding-left:34px}.footer-location>p br{display:block}}
@media(prefers-reduced-motion:reduce){}
@media print{.page-intro{padding-block:20px 30px}.page-intro-grid{grid-template-columns:1fr}.page-intro h1{font-size:35px}.page-intro-grid>div>.button{display:none}.technology-jump{display:none}.technology-row,.resource-article{grid-template-columns:1fr 1.1fr;gap:30px;padding-block:30px}.enquiry-layout{grid-template-columns:1fr}.form-submit,.attachment-note,.review-actions,.review-secondary{display:none}.content-card,.team-profile,.form-panel{break-inside:avoid}.profile-identity,.profile-copy{padding:25px}.footer-top{display:none}}

/* Shared header: the mark is a three-line wordmark at every screen size. */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.98);border-bottom:1px solid #e8ebe9;backdrop-filter:blur(18px)}
.header-inner{position:relative;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px 24px;min-height:96px;padding-block:15px}
.brand{display:inline-flex;align-items:center;gap:10px;max-width:100%;flex-shrink:0}
.brand-mark{display:block;width:31px;height:58px;flex:none}
.brand-mark svg{display:block;width:100%;height:100%;fill:var(--ink)}
.brand-type{display:grid;justify-items:center;gap:5px;color:var(--ink)}
.brand-type>.brand-name{font:700 21px/1 var(--display);letter-spacing:.025em;margin:0}
.brand-type>.brand-rotator{display:grid;width:100%;height:13px;position:relative;font:700 10px/13px var(--body);letter-spacing:.13em;margin:0}
.brand-rotator>span{grid-area:1/1;display:block;text-align:center;opacity:0;visibility:hidden;animation:brand-word 12s step-end infinite}
.brand-rotator>span:nth-child(2){animation-delay:4s}
.brand-rotator>span:nth-child(3){animation-delay:8s}
.brand-type>.brand-static{font:700 10px/1.2 var(--body);letter-spacing:.36em;margin:0;padding-left:.36em}
.brand-light .brand-mark svg{fill:var(--yellow)}
.brand-light .brand-type{color:white}
@keyframes brand-word{0%{opacity:1;visibility:visible}33.333333%,100%{opacity:0;visibility:hidden}}
.primary-nav{display:flex;align-items:center;gap:clamp(12px,1.25vw,20px)}
.primary-nav>a:not(.button){font-size:.875rem;font-weight:600;padding-block:12px;line-height:1.5;position:relative}
.primary-nav>a:not(.button):hover{color:#526111}
.primary-nav>a[aria-current=page]{text-decoration:underline;text-decoration-color:#96a015;text-underline-offset:7px;text-decoration-thickness:2px}
.primary-nav>.button{font-size:.875rem;min-height:48px;padding:14px 18px;gap:14px}
.language-switch{display:flex;align-items:center;gap:2px;border-left:1px solid var(--border);padding-left:8px;flex:none}
.language-switch>a{font-size:.875rem;min-height:44px;min-width:44px;display:grid;place-items:center;color:var(--muted)}
.language-switch>a[aria-current=true]{font-weight:700;color:var(--ink);text-decoration:underline;text-decoration-color:#96a015;text-underline-offset:6px}
.language-switch>a:hover{background:var(--paper)}
.menu-toggle{display:none;border:1px solid #c6d0cb;background:transparent;color:var(--ink);padding:10px 12px;min-height:44px;cursor:pointer;align-items:center;justify-content:center;gap:10px}
.menu-label{font-size:.8125rem;line-height:1.2;font-weight:700}
.menu-bars{display:grid;align-content:center;gap:6px;width:18px;height:20px;flex:none}
.menu-bars i{display:block;background:currentColor;width:18px;height:2px;transition:transform .2s}
.menu-toggle[aria-expanded=true] .menu-bars i:first-child{transform:translateY(4px) rotate(45deg)}
.menu-toggle[aria-expanded=true] .menu-bars i:last-child{transform:translateY(-4px) rotate(-45deg)}

/* Reflow content instead of hiding overflow at the page boundary. */
body{font-size:1rem;overflow-wrap:anywhere}
:where(.hero-layout,.section-intro,.approach-grid,.footer-top,.footer-middle,.page-intro-grid,.content-grid,.collaboration-band,.technology-row,.story-layout,.team-profile,.profile-facts,.enquiry-layout,.form-grid,.resource-article,.stat)>*{min-width:0}
.button,.text-link{max-width:100%;min-width:0;white-space:normal}
.button>span,.text-link>span{min-width:0}
.text-link{line-height:1.6;min-height:44px}
.button-outline{border:1px solid #aab8b2}
.eyebrow{align-items:flex-start;gap:12px}
.eyebrow>.short-rule{margin-top:.6em}
.sectors{flex-wrap:wrap}
.sectors>span,.background-row li{white-space:normal}
.feature-category{min-height:2.8em}
.feature-card h3{max-width:100%}
.stat-since>strong{flex-wrap:wrap}
.footer-contact{min-width:0}
.footer-contact>a{max-width:100%;min-height:44px;display:inline-flex;align-items:center;line-height:1.6}
.footer-link-group>a{width:fit-content;max-width:100%;min-height:44px;margin-bottom:2px}
.footer-bottom{display:flex;flex-wrap:wrap;gap:12px 28px}
.footer-bottom>a{min-height:44px;flex-shrink:0}
.phone-link{font-size:.875rem;color:inherit}
.phone-link:hover{text-decoration:underline;text-underline-offset:4px}
.profile-identity>a{min-height:44px}
.guide-steps>li{padding-left:2.6em}
.image-tag{right:25px;width:fit-content;max-width:calc(100% - 50px)}
.hero-visual{width:100%;min-width:0}
.image-caption{align-items:flex-end}
.field-hint{font-size:.8125rem;line-height:1.6;color:#526268;margin:-2px 0 10px}
input,textarea,select{font-size:max(16px,1rem);scroll-margin-top:calc(var(--header-height) + 24px)}
select{white-space:normal;overflow-wrap:anywhere}
.error-summary{background:#fff2ed;border:1px solid #bd5944;border-left:4px solid #a63a26;padding:20px;margin-bottom:26px;color:#702716;scroll-margin-top:calc(var(--header-height) + 24px)}
.error-summary h4{font-size:1rem;margin:0 0 8px}
.error-summary p,.error-summary li{font-size:.875rem;line-height:1.7}
.error-summary ul{margin:12px 0 0;padding-left:20px}
.error-summary a{display:inline-block;min-height:32px;text-decoration:underline;text-underline-offset:3px}
.field-error{color:#9c3424;font-size:.8125rem;line-height:1.6;margin-top:8px}
[aria-invalid=true]{border:2px solid #aa3c29}
.form-status:not(:empty){border-left:3px solid #47844f;background:#edf5ed;padding:15px 18px;color:#285832;margin-top:20px}
.form-status.status-error{border-color:#ac3f2a;color:#802e20;background:#fff1eb}
.review-secondary>button{min-height:44px;text-align:left}
#review-heading{scroll-margin-top:calc(var(--header-height) + 24px)}
.enquiry-review>h3:focus{outline:0}
.not-found{background:var(--ink);color:white;min-height:70vh}
.not-found .container{max-width:1200px}
.error-code{font-family:var(--display);font-size:clamp(5rem,13vw,10rem);font-weight:700;line-height:1;letter-spacing:-.065em;margin-block:28px}
.error-code>span{color:var(--yellow)}
.not-found h1{font-size:clamp(2.6rem,5.5vw,5rem);line-height:1.06;letter-spacing:-.045em;max-width:850px}
.error-description{max-width:600px;margin-top:25px;color:#bac6cd;font-size:1rem}
.recovery-links{display:flex;align-items:center;flex-wrap:wrap;gap:12px 32px;border-top:1px solid #3b454a;margin-top:55px;padding-top:25px}
.recovery-links>span{flex-basis:100%;font-size:.8125rem;color:#bac6cd}
.recovery-links .text-link{font-size:.875rem}
@media(max-width:1400px){
  .menu-toggle{display:inline-flex}
  .primary-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:14px var(--gutter) 22px;background:white;border-bottom:1px solid var(--border);box-shadow:0 16px 25px #101d2517;flex-direction:column;align-items:stretch;gap:3px;max-height:calc(100dvh - var(--header-height));overflow-y:auto;overscroll-behavior:contain}
  .primary-nav.is-open{display:flex}
  .primary-nav>a:not(.button){font-size:1rem;padding:11px 0;min-height:44px}
  .primary-nav>.button{margin-top:10px}
  .language-switch{border-left:0;border-top:1px solid var(--border);padding:8px 0 0;gap:10px;margin-top:8px}
  html:not(.js) .primary-nav{display:flex;position:static;flex-basis:100%;max-height:none;box-shadow:none;padding:14px 0 0}
  html:not(.js) .menu-toggle{display:none}
}
@media(max-width:1100px){
  .section-intro,.approach-grid,.footer-top,.page-intro-grid,.technology-row,.story-layout,.resource-article{column-gap:30px}
  .hero h1{overflow-wrap:anywhere}
}
@media(max-width:850px){
  .hero-layout,.approach-grid,.section-intro,.footer-top,.page-intro-grid,.team-profile,.story-layout,.collaboration-band,.technology-row,.resource-article{grid-template-columns:minmax(0,1fr)}
  .hero-visual{min-height:24rem;aspect-ratio:1.6}
  .hero-content{padding-block:10px}
  .hero h1{font-size:clamp(3rem,10vw,5rem)}
  .features-grid{grid-template-columns:minmax(0,1fr)}
  .feature-card h3 br{display:none}
  .section-description{justify-self:start;max-width:650px}
  .footer-contact{align-items:flex-start}
  .sector-inner{flex-wrap:wrap}
  .sector-label{max-width:none;flex-basis:100%}
  .sectors{width:100%;max-width:none;flex-grow:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px}
  .profile-identity h2 br{display:none}
  .equipment-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  :root{--gutter:clamp(18px,5vw,28px)}
  .header-inner{min-height:88px;padding-block:12px;gap:10px 14px}
  .brand-type>.brand-name{font-size:19px}
  .brand-mark{width:28px;height:54px}
  .hero-layout{padding-top:34px}
  .hero-content{padding:0}
  .hero h1{font-size:clamp(2.65rem,14vw,5.6rem);line-height:1.04}
  .hero-visual{min-height:19rem;aspect-ratio:1.15}
  .hero h1 br{display:block}
  .image-tag{top:18px;left:18px;right:18px;max-width:calc(100% - 36px);font-size:.6875rem;letter-spacing:.08em}
  .image-caption{left:18px;right:18px;bottom:22px;font-size:.875rem}
  .section-space{padding-block:58px}
  .page-intro h1 br,.not-found h1 br{display:none}
  .page-intro h1>span::before{content:none}
  .page-intro h1{font-size:clamp(2.2rem,8vw,3.4rem)}
  h2,.section-intro h2,.approach-story h2,.enquiry-intro h2,.story-layout h2,.technology-label>h2,.resource-intro>h2{font-size:clamp(1.85rem,7.7vw,2.6rem);line-height:1.16}
  .content-card,.feature-card,.profile-identity,.profile-copy,.experience-panel{padding:24px}
  .feature-category{min-height:0}
  .feature-card h3,.content-card>h3{font-size:1.65rem}
  .columns-2,.columns-3,.form-grid,.equipment-list{grid-template-columns:minmax(0,1fr)}
  .technology-jump>a{flex-wrap:wrap;align-items:flex-start}
  .technology-jump>a>span{flex-basis:100%}
  .technology-jump>a>.icon{margin-left:0}
  .profile-facts,.stat{grid-template-columns:minmax(0,1fr);gap:18px}
  .stat-since>strong{display:flex;flex-wrap:wrap;gap:10px}
  .stat-since>strong>span{display:inline;margin:0}
  .stat>strong{font-size:clamp(3rem,15vw,4.8rem)}
  .stat>strong>span{font-size:.65em}
  .stat-since>strong{font-size:clamp(2.6rem,11vw,3.5rem)}
  .stat-since>strong>span{font-size:.875rem}
  .profile-identity>h2{font-size:2.25rem}
  .profile-facts strong{font-size:2.25rem}
  .form-panel{padding:24px 18px}
  .form-submit>.button{justify-content:center;flex-shrink:1}
  .form-submit>p{min-width:0}
  .footer-middle{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}
  .footer-top h2{font-size:clamp(2rem,7.4vw,3rem)}
  .footer-bottom{align-items:flex-start;gap:10px}
  .footer-bottom>span{flex-basis:100%}
  .footer-bottom>a{grid-column:auto;grid-row:auto}
  .footer-location{display:block}
  .recovery-links{gap:14px;flex-direction:column;align-items:flex-start}
}
@media(prefers-reduced-motion:reduce){
  .brand-rotator>span{animation:none;opacity:0;visibility:hidden}
  .brand-rotator>span:first-child{opacity:1;visibility:visible}
}
@media print{
  .site-header{position:static}.primary-nav,.menu-toggle{display:none!important}
  .brand-rotator>span{animation:none;opacity:0;visibility:hidden}
  .brand-rotator>span:first-child{opacity:1;visibility:visible}
  .error-summary,.field-error{display:none}
}
