/* The existing identity, with room for translated copy and a compact language menu. */
.header { gap:24px; }
.language-switcher { position:relative; flex-shrink:0; z-index:25; }
.language-switcher summary { display:flex; align-items:center; justify-content:center; gap:8px; min-width:66px; min-height:46px; padding:10px; border:1px solid #58634e; cursor:pointer; font-size:14px; font-weight:600; list-style:none; }
.language-switcher summary::-webkit-details-marker { display:none; }
.language-switcher[open] summary { border-color:var(--orange); color:var(--orange); }
.language-options { position:absolute; right:0; top:calc(100% + 10px); display:grid; width:210px; padding:8px; background:#171d14; border:1px solid #59664d; box-shadow:0 18px 48px #0008; }
.language-options a { padding:13px 14px; font:500 16px/1.4 Manrope,Arial,sans-serif; }
.language-options a:hover,.language-options a:focus-visible { background:#2b3424; color:var(--white); }
.language-options a[aria-current=page] { background:var(--orange); color:#101210; }
.language-switcher :focus-visible { outline:2px solid var(--orange); outline-offset:3px; }
.header .desktop-nav { margin-left:auto; }
.header .desktop-nav a { white-space:nowrap; }
html:not([lang=en]) :is(h1,h2,h3,h4,.ops-name) { overflow-wrap:break-word; hyphens:auto; }
html:not([lang=en]) :is(.section-heading,.roots-grid,.ops-heading) > * { min-width:0; }
html:not([lang=en]) .hero h1 { font-size:clamp(68px,min(7.2vw,11.5svh),124px); line-height:1; }
html:not([lang=en]) .hero-line { padding-block:.05em; margin-bottom:-.05em; }
html:not([lang=en]) :is(.talent-copy h3,.talent-support h3,.service-card h3) { font-size:clamp(38px,3.3vw,60px); line-height:1.06; }
html:not([lang=en]) .ops-name { min-width:0; font-size:clamp(25px,2.3vw,36px); }
html:not([lang=en]) .ops-copy h4 { line-height:1.04; }
html:not([lang=en]) .mission-brief h3 { font-size:clamp(42px,4.5vw,68px); line-height:1.04; }
html:not([lang=en]) .roots h2 { font-size:clamp(60px,6.8vw,112px); line-height:1; }
html:not([lang=en]) .final-content h2 { font-size:clamp(64px,8vw,130px); line-height:1; }
html[lang=uk] { --display:'Oswald', 'Barlow Condensed', sans-serif; }
html[lang=uk] .logo span { font-family:'Barlow Condensed',sans-serif; }
html[lang=uk] :is(h1,h2,h3,h4,.ops-name) { letter-spacing:-.015em; line-height:1.12; }
html[lang=uk] .hero h1 { font-size:clamp(56px,min(6.4vw,10.5svh),108px); line-height:1.1; }
html[lang=uk] .hero-line { padding-block:.08em; margin-bottom:-.08em; }
html[lang=uk] .sites-heading h2 { font-size:clamp(54px,5.8vw,100px); }
html[lang=uk] .roots h2 { font-size:clamp(48px,5.6vw,92px); }
html[lang=uk] .ops-heading h3 { font-size:clamp(46px,4.8vw,78px); }
html[lang=uk] .ops-copy h4 { font-size:clamp(40px,4.1vw,64px); }
html[lang=uk] .ops-name { font-size:clamp(23px,2vw,31px); }
html[lang=uk] .final-content h2 { font-size:clamp(50px,6.9vw,112px); }
@media(min-width:1101px) and (max-width:1400px) {
 .header { gap:20px; }
 .header .desktop-nav { gap:20px; }
 .header .nav-brief { display:none; }
}
@media(max-width:1100px) {
 .header .language-switcher { margin-left:auto; }
 html:not([lang=en]) .hero h1 { font-size:7.1vw; }
 html[lang=uk] .hero h1 { font-size:6.3vw; }
 html:not([lang=en]) :is(.talent-copy h3,.talent-support h3,.service-card h3) { font-size:clamp(36px,4.2vw,52px); }
 html:not([lang=en]) .ops-name { font-size:27px; }
 html[lang=uk] .ops-name { font-size:23px; }
}
@media(max-width:800px) {
 html:not([lang=en]) .ops-name { font-size:clamp(27px,6vw,36px); }
 html[lang=uk] .ops-name { font-size:clamp(23px,5.8vw,30px); }
 html:not([lang=en]) .ops-copy h4 { font-size:clamp(38px,9vw,62px); }
 html[lang=uk] .ops-copy h4 { font-size:clamp(32px,7.8vw,52px); }
 html:not([lang=en]) .mission-brief h3 { font-size:clamp(42px,10.6vw,68px); }
}
@media(max-width:760px) {
 .header { gap:10px; }
 .header .logo { gap:10px; }
 .header .logo img { width:34px; }
 .header .logo span { font-size:30px; letter-spacing:1px; }
 .language-switcher summary { min-width:60px; gap:6px; padding:8px; }
 .menu-toggle { flex-shrink:0; }
 html:not([lang=en]) .hero h1 { font-size:clamp(58px,16.4vw,118px); line-height:.98; }
 html[lang=uk] .hero h1 { font-size:clamp(44px,12.8vw,88px); line-height:1.1; }
 html:not([lang=en]) :is(.section-heading h2,.sites-heading h2,.engagement .section-heading h2,.people-copy h2) { font-size:clamp(46px,12.5vw,82px); line-height:1.04; }
 html[lang=uk] :is(.section-heading h2,.sites-heading h2,.engagement .section-heading h2,.people-copy h2) { font-size:clamp(36px,10vw,66px); line-height:1.14; }
 html:not([lang=en]) .roots h2 { font-size:clamp(48px,12.8vw,90px); }
 html[lang=uk] .roots h2 { font-size:clamp(40px,10.5vw,70px); }
 html:not([lang=en]) .final-content h2 { font-size:clamp(50px,12vw,88px); }
 html[lang=uk] .final-content h2 { font-size:clamp(39px,10.4vw,72px); }
 html:not([lang=en]) .ops-heading h3 { font-size:clamp(45px,10vw,72px); }
 html[lang=uk] .ops-heading h3 { font-size:clamp(38px,9.4vw,62px); }
 html[lang=uk] :is(.talent-copy h3,.talent-support h3,.service-card h3) { font-size:clamp(30px,8.5vw,46px); }
 html[lang=uk] .mission-brief h3 { font-size:clamp(36px,9.4vw,56px); }
 html:not([lang=en]) .site-management { font-size:15px; }
}
/* Long role names must not impose a minimum width on two-column lists. */
html:not([lang=en]) .role-list li { min-width:0; overflow-wrap:anywhere; hyphens:auto; }
