:root{--yellow:#FFED05;--ink:#1D1D1B;--gray:#6B6B68;--line:#ECECE8;--paper:#F6F6F3;--white:#FFFFFF;--gutter:clamp(22px,5.6vw,96px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;background:var(--white);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}body,button,input,textarea,select{font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}img{display:block;width:100%;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.06;font-weight:700;letter-spacing:-.055em;text-wrap:balance}h2{font-size:clamp(36px,4.4vw,66px)}h3{font-size:clamp(22px,2vw,29px);letter-spacing:-.035em}p{margin-bottom:1.25em}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--ink);outline-offset:5px}.contact-cta a:focus-visible{outline-color:var(--white)}[hidden]{display:none!important}.wrap{padding-left:var(--gutter);padding-right:var(--gutter)}.utility{background:var(--paper);color:var(--gray);padding:8px var(--gutter);font-size:10px;letter-spacing:.04em;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.header{height:98px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;background:var(--white);position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line)}.brand{display:block;flex-shrink:0;padding:15px 0}.brand img{width:190px;max-height:47px;object-fit:contain}.header nav{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:600}.header nav>a:not(.button){padding:16px 0;border-bottom:2px solid transparent}.header nav>a[aria-current="page"],.header nav>a:hover{border-bottom-color:var(--yellow)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:15px 25px;background:var(--yellow);border:1px solid var(--yellow);font-size:13px;font-weight:700;line-height:1.4;color:var(--ink);text-align:center;transition:background .18s,color .18s}.button:hover{background:var(--ink);border-color:var(--ink);color:var(--white)}.header .button{min-height:44px;padding:12px 20px}.text-link{display:inline-block;font-weight:bold;font-size:13px;border-bottom:1px solid var(--ink);padding-bottom:5px;line-height:1.5}.text-link:hover{border-bottom:3px solid var(--yellow);padding-bottom:3px}.menu-button{display:none}.header details summary{font-size:13px;font-weight:600;cursor:pointer;list-style:none;padding:16px 0;border-bottom:2px solid transparent}.header details[open] summary{border-bottom-color:var(--yellow)}summary::-webkit-details-marker{display:none}.mega{position:absolute;top:98px;left:0;right:0;background:var(--white);border-bottom:1px solid var(--line);padding:36px var(--gutter);display:grid;grid-template-columns:repeat(3,1fr);gap:26px;box-shadow:0 20px 25px #1d1d1b0d}.mega a{display:flex;flex-direction:column;padding:15px 0;line-height:1.5}.mega strong{font-size:21px;letter-spacing:-.03em}.mega span{font-size:12px;color:var(--gray);margin-top:5px}.mega .all-services{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px}.mega a:hover strong{text-decoration:underline;text-decoration-color:var(--yellow);text-underline-offset:8px}.skip{position:fixed;top:-100px;left:20px;z-index:200;padding:12px;background:var(--yellow)}.skip:focus{top:10px}.hero{display:grid;grid-template-columns:.92fr 1.08fr;min-height:650px;height:calc(100svh - 130px);max-height:850px}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:45px 40px 55px var(--gutter)}.eyebrow{font-size:10px;letter-spacing:.16em;line-height:1.4;font-weight:bold;margin-bottom:27px}.hero h1{font-size:clamp(60px,7vw,112px);line-height:.98;letter-spacing:-.065em;margin-bottom:30px}.hero h1 span{position:relative}.hero h1 span:after{content:'';display:block;width:96px;height:6px;background:var(--yellow);margin-top:30px}.hero-intro{font-size:16px;line-height:1.7;color:var(--gray);margin-bottom:28px}.hero-actions{display:flex;align-items:center;gap:23px;flex-wrap:wrap}.hero-image{position:relative;min-width:0;overflow:hidden;background:var(--paper)}.hero-image>img{height:100%;object-fit:cover;object-position:48% center}.image-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#1d1d1bb3);padding:60px 25px 22px;color:white;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.08em}.intro{padding-top:115px;padding-bottom:75px;display:grid;grid-template-columns:1.3fr 1fr;gap:35px 10%}.intro>.eyebrow{grid-column:1/-1;margin-bottom:0;color:var(--gray)}.intro-statement{font-size:clamp(25px,3.2vw,48px);line-height:1.17;font-weight:bold;letter-spacing:-.045em;margin:0}.intro-statement>span{color:var(--gray)}.intro-detail{align-self:end;max-width:480px;font-size:16px;color:var(--gray)}.intro-detail .text-link{color:var(--ink)}.fields{display:grid;grid-template-columns:repeat(3,1fr);padding-bottom:110px;gap:35px}.field{border-top:1px solid var(--ink);padding-top:22px;display:flex;flex-direction:column;gap:30px}.field-no{font-size:12px;color:var(--gray)}.field h2{font-size:clamp(24px,2.55vw,38px);letter-spacing:-.04em;margin-bottom:18px;overflow-wrap:anywhere}.field p{font-size:14px;color:var(--gray);line-height:1.75;min-height:100px}.field:hover{border-top:4px solid var(--yellow);padding-top:19px}.services-section{padding:95px 0 105px;background:var(--paper)}.section-title{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:45px}.section-title>p{max-width:350px;font-size:14px;color:var(--gray);margin:0;line-height:1.8}.section-title h2{margin:0}.section-title .eyebrow{color:var(--gray)}.service-controls{border-top:1px solid var(--line);padding-top:25px;margin:35px 0;display:flex;align-items:end;gap:30px;justify-content:space-between}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters button{font-size:11px;line-height:1.4;padding:12px 14px;background:transparent;color:var(--gray);border:1px solid var(--line);min-height:40px}.filters button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:white}.filters button:hover{border-color:var(--ink)}.search{width:240px;flex-shrink:0;font-size:10px;color:var(--gray)}.search>span{display:block;margin-bottom:5px}.search input{border:0;border-bottom:1px solid var(--gray);background:transparent;padding:8px 0;width:100%;font-size:12px;min-height:35px;border-radius:0}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 23px}.service-photo{aspect-ratio:4/3;background:var(--line);overflow:hidden;margin-bottom:18px}.service-photo img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.service-card a:hover img{transform:scale(1.04)}.service-card .meta{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--gray);margin-bottom:10px}.service-card h3{font-size:23px;line-height:1.1;margin-bottom:12px}.service-card p:not(.meta){font-size:13px;color:var(--gray);line-height:1.7;min-height:65px;margin-bottom:17px}.service-card .text-link{font-size:11px;font-weight:600}.showcase{padding-top:110px;padding-bottom:110px}.showcase-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:start}.case-small{margin-top:120px}.case>img{aspect-ratio:1.12;object-fit:cover}.case-small>img{aspect-ratio:.95;object-fit:cover}.case-caption{padding:22px 0 0;border-bottom:1px solid var(--line)}.case-caption h3{font-size:28px;max-width:380px;line-height:1.15}.case-caption p{margin-top:12px;font-size:13px;color:var(--gray)}.case-caption>span{display:inline-block;margin-bottom:20px;font-size:12px;font-weight:bold;border-bottom:1px solid var(--ink)}.knowledge{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:white}.knowledge-photo{min-height:620px}.knowledge-photo>img{height:100%;object-fit:cover;object-position:center 40%}.knowledge-copy{padding:80px var(--gutter) 85px 65px;align-self:center}.knowledge .eyebrow{color:var(--yellow)}.knowledge h2{font-size:clamp(40px,4.6vw,72px);margin-bottom:30px}.knowledge-copy>p:not(.eyebrow){font-size:15px;color:#ECECE8;max-width:420px;line-height:1.8;margin-bottom:30px}.knowledge .button:hover{background:white;color:var(--ink);border-color:white}.faq-section{display:grid;grid-template-columns:1fr 1.12fr;gap:10%;padding-top:110px;padding-bottom:100px}.faq-section h2{font-size:clamp(35px,3.4vw,52px);margin-bottom:28px}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{font-size:15px;font-weight:bold;line-height:1.5;list-style:none;padding:23px 0;cursor:pointer}.faq summary:hover{text-decoration:underline;text-decoration-color:var(--yellow);text-underline-offset:6px}.faq details p{font-size:14px;color:var(--gray);line-height:1.8;padding-bottom:12px}.career{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:65px;padding-bottom:70px;border-top:1px solid var(--line);align-items:end}.career h2{font-size:clamp(34px,3.5vw,54px);margin-bottom:28px}.career>div:last-child{max-width:470px;color:var(--gray)}.small{font-size:12px;line-height:1.75}.muted{color:var(--gray)}.contact-cta{background:var(--yellow)}.cta-inner{padding-top:60px;padding-bottom:65px;display:flex;justify-content:space-between;align-items:center;gap:30px}.cta-inner .eyebrow{margin-bottom:20px}.cta-inner h2{font-size:clamp(38px,4.4vw,68px)}.cta-inner .button{background:var(--ink);border-color:var(--ink);color:white;min-width:200px}.cta-inner .button:hover{background:white;color:var(--ink);border-color:white}.footer{padding-top:60px;padding-bottom:25px}.footer-main{display:grid;grid-template-columns:1.1fr 1.1fr 1.1fr .55fr;gap:40px;padding-bottom:60px}.footer-main>a>img{width:190px;max-height:55px;object-fit:contain}.footer-main strong{font-size:14px;line-height:1.6}.footer-main p,.footer-main>div>a{font-size:12px;line-height:1.8}.footer-main>div>a{display:block;margin-bottom:7px}.footer-main>div>a:hover{text-decoration:underline}.footer-base{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;gap:25px;font-size:10px;color:var(--gray)}.footer-base>div{display:flex;gap:25px}.page-head{padding-top:45px;padding-bottom:65px;background:var(--paper)}.page-head .back-link{display:inline-block;font-size:12px;color:var(--gray);margin-bottom:35px;border-bottom:1px solid var(--gray)}.page-head h1{font-size:clamp(42px,6vw,86px);max-width:1100px;overflow-wrap:anywhere}.page-head .eyebrow{margin-top:20px}.page-head .lead{font-size:18px;color:var(--gray);margin-top:25px;max-width:700px}.page-photo{background:linear-gradient(var(--paper) 50%,white 50%)}.page-photo img{width:100%;height:440px;object-fit:cover}.article{padding-top:25px;padding-bottom:75px}.article-section{display:grid;grid-template-columns:1fr 1.25fr;gap:9%;padding:60px 0;border-bottom:1px solid var(--line)}.article-section>h2{font-size:clamp(26px,3vw,43px);overflow-wrap:anywhere;line-height:1.15}.prose{min-width:0;font-size:16px;line-height:1.85;overflow-wrap:anywhere}.prose p{margin-bottom:22px}.prose .lead-small{font-size:15px;font-weight:700;color:var(--gray)}.prose ul,.prose ol{padding-left:22px;margin:0 0 20px}.prose h2{font-size:28px;margin:25px 0 15px;line-height:1.2}.prose h3,.prose h4{font-size:23px;margin:20px 0 15px;line-height:1.25}.prose a{text-decoration:underline;text-decoration-color:var(--gray);text-underline-offset:4px}.prose a:hover{text-decoration-color:var(--ink)}.page-services{padding-top:60px;padding-bottom:80px}.page-services h2{margin-bottom:40px}.notice{font-size:13px;line-height:1.7;background:var(--paper);border-left:3px solid var(--yellow);padding:18px 22px;margin:30px 0}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;padding-bottom:85px}.gallery>button{padding:0;border:0;background:var(--paper)}.gallery img{width:100%;height:300px;object-fit:cover}.job-list{padding-bottom:75px}.job-list h2{margin:30px 0}.job-list>a{display:block;border-top:1px solid var(--line);padding:23px 0;font-size:23px;font-weight:bold;letter-spacing:-.03em}.job-list>a:hover{border-top-color:var(--ink)}.apply{padding-top:0;padding-bottom:70px}.apply h2{margin-bottom:20px}.plain-button{margin-left:25px;background:transparent;border:0;border-bottom:1px solid var(--ink);padding:8px 0;font-size:13px}.legal-list{display:grid;grid-template-columns:1fr 2fr;gap:0;max-width:850px}.legal-list dt,.legal-list dd{margin:0;padding:17px 0;border-bottom:1px solid var(--line)}.legal-list dt{font-weight:bold}.legal-list dd{padding-left:25px}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;padding-top:70px;padding-bottom:90px}.contact-layout h2{font-size:29px;margin-bottom:26px}.contact-layout address{font-style:normal;margin-bottom:25px}.contact-layout aside>a{display:block;font-size:18px;margin-bottom:15px}.contact-layout aside>.small{max-width:300px;margin-top:30px}.contact-layout form{padding:35px;background:var(--paper)}form>p{color:var(--gray)}label{display:block;font-size:12px;font-weight:bold;margin-bottom:20px}input,textarea,select{width:100%;display:block;background:white;border:1px solid var(--line);border-bottom-color:var(--gray);padding:12px;margin-top:8px;border-radius:0;min-width:0;font-size:15px}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.check{display:flex;gap:10px;font-weight:normal;align-items:start}.check input{width:auto;margin-top:4px}.check a{text-decoration:underline}#mail-status{margin-top:20px;margin-bottom:0}dialog{max-width:90vw;max-height:92svh;border:0;padding:60px 20px 20px;background:var(--ink);color:white}dialog::backdrop{background:#1d1d1be6}dialog>img{max-height:76svh;max-width:85vw;width:auto;object-fit:contain}#close-image{position:absolute;top:16px;right:20px;border:0;background:transparent;color:white;font-size:13px}body:has(dialog[open]){overflow:hidden}.sr-only{position:absolute;overflow:hidden;width:1px;height:1px;clip-path:inset(50%);white-space:nowrap}
@media(min-width:1700px){:root{--gutter:max(90px,calc((100vw - 1500px)/2))}.hero h1{font-size:112px}.hero-copy{padding-right:50px}}
@media(max-width:1180px){.header nav{gap:22px;font-size:12px}.brand img{width:190px}.hero{min-height:610px}.hero h1{font-size:80px}.hero-actions{gap:20px;align-items:start;flex-direction:column}.service-controls{align-items:stretch;flex-direction:column;gap:20px}.search{width:100%;max-width:340px}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fields{gap:26px}.field p{min-height:140px}.knowledge-copy{padding-left:45px}.footer-main{gap:25px}.footer-main>a>img{width:155px}}
@media(max-width:940px){.header{height:85px}.menu-button{display:block;background:white;border:1px solid var(--line);padding:11px 18px;font-size:13px;font-weight:bold;min-height:44px}.header nav{display:none;position:absolute;top:85px;left:0;right:0;background:white;padding:20px var(--gutter) 30px;max-height:calc(100svh - 85px);overflow-y:auto;border-bottom:1px solid var(--line)}.header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:5px}.header nav>a,.header details summary{font-size:16px;min-height:48px}.header .button{margin-top:10px}.mega{position:static;display:flex;flex-direction:column;padding:5px 0 15px 15px;gap:5px;box-shadow:none;border:0}.mega strong{font-size:17px}.mega span{font-size:12px}.mega a{padding:10px 0}.hero{height:auto;min-height:590px;grid-template-columns:1fr 1fr}.hero-copy{padding-top:55px;padding-bottom:55px}.hero h1{font-size:clamp(58px,8.6vw,80px)}.hero-intro{font-size:14px}.hero-intro br{display:none}.image-caption{display:none}.intro{gap:30px 7%;padding-top:75px}.intro-detail{font-size:14px}.fields{padding-bottom:75px;gap:22px}.field h2{font-size:24px}.field p{font-size:13px;min-height:145px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.services-section{padding-top:75px;padding-bottom:80px}.section-title>p{max-width:250px;font-size:13px}.showcase{padding-top:80px;padding-bottom:80px}.showcase-grid{gap:25px}.case-small{margin-top:80px}.case-caption h3{font-size:24px}.knowledge-photo{min-height:550px}.knowledge-copy{padding:60px 35px}.knowledge-copy>p:not(.eyebrow){font-size:14px}.faq-section{gap:7%;padding-top:80px;padding-bottom:75px}.faq summary{font-size:14px}.footer-main{grid-template-columns:1fr 1fr;gap:40px}.footer-main>a>img{width:190px}.footer-base{flex-wrap:wrap}.article-section{grid-template-columns:1fr;gap:28px;padding:45px 0}.article-section>h2{max-width:700px;font-size:34px}.contact-layout{gap:6%}.contact-layout form{padding:25px}.form-row{grid-template-columns:1fr;gap:0}.gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){:root{--gutter:22px}html{scroll-padding-top:90px}.utility{font-size:8px;padding-top:7px;padding-bottom:7px}.utility>span:last-child{display:none}.header{height:76px}.brand img{width:190px;max-height:40px}.header nav{top:76px;max-height:calc(100svh - 76px)}.hero{display:flex;flex-direction:column;min-height:0;max-height:none;height:auto}.hero-copy{padding:48px var(--gutter) 40px}.hero .eyebrow{margin-bottom:20px}.hero h1{font-size:clamp(62px,16vw,94px);line-height:.97;margin-bottom:24px}.hero h1 span:after{height:5px;width:75px;margin-top:25px}.hero-intro{font-size:15px;max-width:270px;margin-bottom:24px}.hero-actions{flex-direction:row;align-items:center;gap:23px}.hero-actions .button{padding:14px 20px;font-size:12px;min-height:48px}.hero-actions .text-link{font-size:12px}.hero-image{height:350px}.hero-image>img{height:350px;object-position:50% 40%}.intro{grid-template-columns:1fr;gap:24px;padding-top:60px;padding-bottom:40px}.intro>.eyebrow{margin-bottom:0}.intro-statement{font-size:30px;line-height:1.2}.intro-detail{font-size:15px;margin-top:0}.intro-detail p{margin-bottom:18px}.fields{grid-template-columns:1fr;gap:0;padding-bottom:60px}.field{flex-direction:row;gap:22px;padding:26px 0;border-color:var(--line)}.field:hover{padding-top:23px}.field-no{min-width:22px;font-size:11px;padding-top:5px}.field h2{font-size:30px;margin-bottom:14px}.field p{min-height:0;font-size:14px;margin-bottom:17px}.eyebrow{font-size:9px;margin-bottom:20px}.services-section{padding:60px 0 65px}.section-title{display:block;margin-bottom:30px}.section-title h2{font-size:43px}.section-title>p{font-size:14px;max-width:100%;margin-top:23px}.section-title>p br{display:none}.service-controls{margin:25px 0 30px;padding-top:18px;gap:22px}.filters{gap:7px}.filters button{padding:10px 11px;font-size:10px;min-height:40px}.search{max-width:100%;font-size:11px}.search input{font-size:14px}.service-grid{gap:35px 16px}.service-photo{aspect-ratio:.94;margin-bottom:16px}.service-card .meta{font-size:8px;letter-spacing:.06em;line-height:1.5}.service-card h3{font-size:22px;line-height:1.1;overflow-wrap:anywhere}.service-card p:not(.meta){font-size:12px;min-height:80px}.service-card .text-link{font-size:11px}.showcase{padding-top:60px;padding-bottom:60px}.showcase-grid{grid-template-columns:1fr;gap:35px}.case-small{margin-top:0}.case>img{aspect-ratio:1.05}.case-small>img{aspect-ratio:1.2}.case-caption{padding-top:18px}.case-caption h3{font-size:27px}.knowledge{grid-template-columns:1fr}.knowledge-photo{min-height:0;height:350px}.knowledge-photo>img{height:350px;object-position:center 35%}.knowledge-copy{padding:50px var(--gutter) 55px}.knowledge h2{font-size:48px}.knowledge-copy>p:not(.eyebrow){font-size:15px}.faq-section{grid-template-columns:1fr;gap:35px;padding-top:60px;padding-bottom:55px}.faq-section h2{font-size:38px;margin-bottom:20px}.faq summary{font-size:15px;padding:22px 0}.career{grid-template-columns:1fr;gap:26px;padding-top:45px;padding-bottom:50px}.career h2{font-size:39px}.career>div:last-child{font-size:15px}.cta-inner{padding-top:45px;padding-bottom:50px;flex-direction:column;align-items:start;gap:28px}.cta-inner h2{font-size:44px}.cta-inner .eyebrow{font-size:9px;margin-bottom:15px}.cta-inner .button{min-width:175px}.footer{padding-top:45px;padding-bottom:25px}.footer-main{grid-template-columns:1fr 1fr;gap:35px 22px;padding-bottom:35px}.footer-main>a{grid-column:1/-1}.footer-main>a>img{width:190px}.footer-main strong{font-size:13px}.footer-main>div:nth-child(4){grid-column:1/-1;display:flex;gap:25px}.footer-base{gap:20px;font-size:10px}.footer-base>span{width:100%}.footer-base>div{gap:18px;flex-wrap:wrap}.footer-base>a{margin-left:0}.page-head{padding-top:30px;padding-bottom:45px}.page-head .eyebrow{margin-top:12px}.page-head .back-link{margin-bottom:20px}.page-head h1{font-size:43px}.page-head .lead{font-size:16px;margin-top:20px}.page-photo img{height:270px}.article{padding-top:5px;padding-bottom:45px}.article-section{padding:35px 0;gap:20px}.article-section>h2{font-size:30px;line-height:1.15}.prose{font-size:15px;line-height:1.8}.prose h2{font-size:26px}.prose h3,.prose h4{font-size:21px}.page-services{padding-top:45px;padding-bottom:50px}.page-services>h2{font-size:36px}.gallery{gap:13px;padding-bottom:50px}.gallery img{height:220px}.job-list{padding-bottom:45px}.job-list h2{font-size:34px}.job-list>a{font-size:21px;padding:20px 0}.apply h2{font-size:35px}.plain-button{display:block;margin:20px 0 0}.legal-list{grid-template-columns:1fr}.legal-list dt{border:0;padding-bottom:0}.legal-list dd{padding-left:0;padding-top:8px}.contact-layout{grid-template-columns:1fr;gap:40px;padding-top:40px;padding-bottom:55px}.contact-layout aside>.small{max-width:100%}.contact-layout form{padding:25px 20px}label{font-size:13px}input,textarea,select{font-size:16px}.contact-layout aside>a{font-size:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.utility,.header,.footer,.contact-cta,.skip,.button,.back-link,.gallery,dialog,.apply,.service-controls{display:none!important}.wrap{padding:0!important}.page-head{background:white;padding:0 0 20px!important}.page-head h1{font-size:28pt}.article-section{display:block;padding:20px 0;break-inside:avoid}.article-section h2{font-size:17pt;margin-bottom:12px}.prose{font-size:10pt;line-height:1.6}.page-photo{display:none}.notice{margin:10px 0;padding:10px}.hero{height:auto}.hero h1{font-size:40pt}.hero-copy{padding:15px}.hero-image{max-height:300px}.service-grid{grid-template-columns:repeat(2,1fr)}}

/* The approved homepage system extends to all independent content pages. */
.hero-intro{max-width:370px}.subhero{background:var(--paper)}.subhero.has-image{display:grid;grid-template-columns:1.1fr .9fr}.subhero-copy{padding:35px var(--gutter) 65px;min-width:0}.has-image .subhero-copy{padding-right:45px}.subhero h1{font-size:clamp(42px,4.9vw,76px);max-width:1100px;overflow-wrap:anywhere;line-height:1.04}.subhero .lead{font-size:18px;line-height:1.65;max-width:650px;color:var(--gray);margin:27px 0 30px}.subhero .eyebrow{margin-top:30px;margin-bottom:24px}.subhero-photo{min-width:0;min-height:440px;max-height:700px}.subhero-photo img{width:100%;height:100%;object-fit:cover}.breadcrumbs{font-size:11px;line-height:1.6;color:var(--gray)}.breadcrumbs ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:5px 10px}.breadcrumbs li+li{border-left:1px solid var(--gray);padding-left:10px}.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}.related{padding-top:60px;padding-bottom:75px;border-top:1px solid var(--line)}.related h2{font-size:clamp(34px,3.5vw,52px);margin-bottom:30px}.related-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.related-links a{border-top:1px solid var(--ink);padding:22px 0;font-size:20px;line-height:1.3;font-weight:bold}.related-links a:hover{border-color:var(--yellow);text-decoration:underline;text-underline-offset:5px}.gallery-section{padding-top:30px;padding-bottom:50px}.gallery-section h2{font-size:36px;margin-bottom:35px}.gallery-section .gallery{padding:0}.gallery>a{display:block;overflow:hidden}.gallery a:hover img{transform:scale(1.02)}.gallery img{transition:transform .2s}.job-list>a{display:flex;justify-content:space-between;gap:25px;align-items:center}.job-list>a>span{font-size:12px;font-weight:400;letter-spacing:0;flex-shrink:0}.sitemap-list{padding-top:55px;padding-bottom:80px}.sitemap-list ul{list-style:none;padding:0;margin:0;columns:2;column-gap:60px}.sitemap-list li{break-inside:avoid;border-top:1px solid var(--line)}.sitemap-list a{display:block;padding:18px 0;text-decoration:underline;text-underline-offset:5px}.form-actions{display:flex;gap:20px;flex-wrap:wrap;align-items:center}.text-button{border:0;border-bottom:1px solid var(--ink);background:transparent;padding:10px 0;font-size:13px;color:var(--ink)}#bereich{margin-bottom:25px}.contact-layout aside h3{font-size:22px;margin-top:35px;margin-bottom:20px}.service-controls{display:none}.js .service-controls{display:flex}.menu-button{display:none}.js .menu-button{display:none}.knowledge a:focus-visible{outline-color:var(--white)}.footer-main>a>img{min-width:180px}.prose li{margin-bottom:10px}.prose li:last-child{margin-bottom:0}.prose strong{font-weight:700}.prose a:focus-visible{outline:3px solid var(--ink)}
@media(max-width:1180px){.subhero h1{font-size:52px}.subhero-copy{padding-bottom:50px}.has-image .subhero-copy{padding-right:30px}.subhero .lead{font-size:16px}.subhero-photo{min-height:430px}.footer-main>a>img{width:180px}}
@media(max-width:940px){.subhero.has-image{grid-template-columns:1.1fr .9fr}.subhero h1{font-size:44px}.subhero .lead{font-size:15px}.subhero-photo{max-height:none}.related-links{grid-template-columns:repeat(2,minmax(0,1fr))}.header{height:auto;min-height:85px;flex-wrap:wrap}.header nav{display:flex;position:static;width:100%;flex-direction:column;align-items:stretch}.js .header{height:85px;flex-wrap:nowrap}.js .header nav{display:none;position:absolute;width:auto}.js .header nav.open{display:flex}.js .menu-button{display:block}.sitemap-list ul{column-gap:30px}}
@media(max-width:600px){.subhero.has-image{display:flex;flex-direction:column}.subhero-copy,.has-image .subhero-copy{padding:25px var(--gutter) 40px}.subhero h1{font-size:clamp(38px,10vw,55px)}.subhero .lead{font-size:16px;line-height:1.65;margin:23px 0}.subhero-photo{min-height:0;height:300px}.subhero-photo img{height:300px}.subhero .eyebrow{margin-top:30px}.breadcrumbs{font-size:10px}.related{padding-top:45px;padding-bottom:45px}.related-links{grid-template-columns:1fr;gap:0}.related-links a{font-size:21px}.gallery-section{padding-top:20px;padding-bottom:40px}.gallery-section h2{font-size:31px}.job-list>a{align-items:start;flex-direction:column;gap:12px;font-size:24px}.sitemap-list ul{columns:1}.header{min-height:76px}.js .header{height:76px}.footer-main>a>img{width:190px}.form-actions{align-items:stretch;flex-direction:column}.text-button{align-self:start}.hero-intro{max-width:300px}.related h2{font-size:36px}}
@media(prefers-reduced-motion:reduce){.gallery img{transition:none}.gallery a:hover img{transform:none}}
@media print{.subhero.has-image{display:block}.subhero-photo,.related,.gallery-section,.subhero .button,.breadcrumbs,.form-actions{display:none!important}.subhero-copy{padding:20px 0}.subhero h1{font-size:28pt}.subhero .lead{font-size:12pt}.article-section{display:block;break-inside:avoid}.article-section h2{font-size:19pt;margin-bottom:15px}.subhero,.contact-layout form{background:white}.faq details>p{display:block!important}.faq-section{display:block}.job-list>a{font-size:16pt}}

/* Three fields, their branches and directly accessible service subgroups. */
.taxonomy-mega{gap:22px 35px;max-height:calc(100svh - 100px);overflow:auto;align-items:start}.taxonomy-mega .mega-field>a{padding:0 0 18px}.taxonomy-mega ul{list-style:none;margin:0;padding:0}.taxonomy-mega li>a{display:block;font-size:13px;font-weight:400;line-height:1.45;padding:9px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.taxonomy-mega li>a:hover,.taxonomy-mega li>a[aria-current],.taxonomy-mega .current-branch{color:var(--ink);text-decoration:underline;text-decoration-color:var(--ink);text-underline-offset:4px}.taxonomy-mega .all-services{padding:18px 0 0;margin-top:5px}.subhero-jump{margin:20px 0 0 22px}.branch-grid .service-card{min-width:0;display:flex;flex-direction:column}.branch-grid .branch-primary{display:block;flex:1}.branch-grid h3{font-size:clamp(21px,1.9vw,27px);line-height:1.15;overflow-wrap:anywhere}.branch-grid .service-card p:not(.meta){min-height:0}.card-details{margin-top:22px;border-top:1px solid var(--line)}.card-details summary{list-style:none;padding:14px 0;font-size:12px;font-weight:bold;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.card-details[open] summary{border-bottom:3px solid var(--yellow);padding-bottom:11px}.card-details ul{list-style:none;padding:0;margin:0}.card-details li>a{display:block;font-size:12px;padding:11px 0;line-height:1.5;border-bottom:1px solid var(--line);text-decoration:underline;text-underline-offset:3px}.card-details li>a:hover{background:var(--white)}.type-panel{background:var(--ink);color:var(--white);padding:25px;display:flex;flex-direction:column;justify-content:space-between;gap:15px}.type-panel>span{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--yellow)}.type-panel>strong{font-size:clamp(19px,1.6vw,26px);letter-spacing:-.04em;line-height:1.15;overflow-wrap:anywhere}.subgroups{padding-top:55px;padding-bottom:80px;border-top:1px solid var(--line)}.subgroups>h2{font-size:clamp(34px,3.8vw,58px);margin-bottom:40px;max-width:850px}.subgroup-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.subgroup{min-width:0;border-top:1px solid var(--ink);padding-top:25px}.subgroup h3{font-size:clamp(23px,2vw,30px);line-height:1.2;margin-bottom:18px;overflow-wrap:anywhere}.subgroup p{font-size:14px;color:var(--gray);line-height:1.8;margin-bottom:22px}.subgroup a{display:block}.subgroup a:hover h3{text-decoration:underline;text-decoration-color:var(--yellow);text-underline-offset:5px}.subgroup .text-link{font-size:12px}.subgroup.combined{grid-column:1/-1;max-width:900px}.combined h4{font-size:17px;margin:30px 0 12px}.combined ul{padding-left:20px;margin-bottom:28px}.combined li{font-size:15px;margin-bottom:10px}.additional-topic{margin:45px 0 0}.subgroups article[id]{scroll-margin-top:125px}.taxonomy-finder .section-title>p{max-width:370px}
@media(max-width:1180px){.taxonomy-mega li>a{font-size:12px}.subgroup-grid{gap:30px}.subhero-jump{display:table;margin-left:0}.type-panel{padding:20px}}
@media(max-width:940px){.taxonomy-mega{max-height:none;overflow:visible;padding:15px 0}.taxonomy-mega .mega-field{width:100%;margin-bottom:20px}.taxonomy-mega .mega-field>a{padding-bottom:15px}.taxonomy-mega li>a{font-size:14px;padding:11px 0}.taxonomy-mega .all-services{width:100%}.subgroup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.subgroups{padding-top:45px;padding-bottom:60px}}
@media(max-width:600px){.branch-grid h3{font-size:23px}.branch-grid .service-card p:not(.meta){font-size:13px}.taxonomy-finder .service-grid{grid-template-columns:1fr;gap:40px}.taxonomy-finder .service-photo{aspect-ratio:1.65}.taxonomy-finder .meta{font-size:10px}.card-details summary,.card-details li>a{font-size:14px}.type-panel>strong{font-size:27px;max-width:310px}.type-panel>span{font-size:10px}.subgroups{padding-top:40px;padding-bottom:50px}.subgroups>h2{font-size:36px;margin-bottom:30px}.subgroup-grid{grid-template-columns:1fr;gap:30px}.subgroup h3{font-size:27px}.subgroup p{font-size:15px}.subhero-jump{margin-top:22px}.subgroups article[id]{scroll-margin-top:95px}.taxonomy-mega .mega-field>a>strong{font-size:21px}}
@media print{.card-details{display:none}.subgroup-grid{display:block}.subgroup{break-inside:avoid;margin:20px 0}.subgroups,.taxonomy-finder{padding:20px 0}.subhero-jump{display:none!important}}

/* Shared scale and vertical placement from the unchanged CI group (216.5 × 101 units).
   Individual SVG crops are 24.8 × 59, 49.3 × 93 and 48.6 × 53; equal total heights distort their relative stroke weights. */
.field-icon{--icon-size:38px;--icon-inset:0px;--icon-border:0px;--icon-top:0;--icon-bottom:0;display:inline-block!important;flex:0 0 var(--icon-size);width:var(--icon-size)!important;height:var(--icon-size)!important;max-height:none;box-sizing:border-box;padding:calc(var(--icon-inset) + (var(--icon-size) - var(--icon-inset)*2 - var(--icon-border)*2)*var(--icon-top)) var(--icon-inset) calc(var(--icon-inset) + (var(--icon-size) - var(--icon-inset)*2 - var(--icon-border)*2)*var(--icon-bottom))!important;object-fit:contain!important;object-position:center!important;transform:none!important;vertical-align:middle}
.field-icon[src$="/industrieklettern.svg"]{--icon-top:.4158415842;--icon-bottom:0}
.field-icon[src$="/arbeitssicherheit.svg"]{--icon-top:0;--icon-bottom:.0792079208}
.field-icon[src$="/objektsicherheit.svg"]{--icon-top:.3960396040;--icon-bottom:.0792079208}
.field-badge,.field-label{display:flex;align-items:center;gap:12px}.field-badge{margin:28px 0;font-size:12px;font-weight:bold}.field-label{min-height:42px;margin-bottom:15px!important}.field-label .field-icon{--icon-size:32px}
.taxonomy-mega .mega-field>a{display:flex;flex-direction:row;align-items:center;gap:12px}.taxonomy-mega li>a{display:flex;align-items:center;gap:10px}.taxonomy-mega li>a .field-icon{--icon-size:25px}.taxonomy-mega li>a span{font-size:inherit;color:inherit;margin:0}.taxonomy-mega .mega-field>a>strong{min-width:0}.related-links a{display:flex;gap:15px;align-items:center}.subgroup .field-icon{margin-bottom:20px}.filters button{display:inline-flex;align-items:center;gap:7px}.header nav{gap:20px}.brand img{width:175px}
.fields .field-visual{border:1px solid var(--line);padding:0!important;gap:0;background:var(--white);transition:border-color .2s}.field-visual:hover{border:1px solid var(--ink)}.field-visual>div:not(.field-media){padding:25px 25px 30px}.field-visual p{min-height:110px}.field-media{position:relative;aspect-ratio:1.65;overflow:hidden;border-bottom:3px solid var(--yellow);background:var(--paper)}.field-media>img:not(.field-icon){width:100%;height:100%;object-fit:cover}.field-media:after{content:'';position:absolute;inset:0;background:linear-gradient(45deg,#fff 3%,#ffffffd9 25%,#ffffff00 80%);pointer-events:none}.field-media>.field-icon{position:absolute;z-index:1;bottom:18px;left:24px;--icon-size:52px}.field-visual h2{font-size:clamp(24px,2.2vw,34px)}
@media(min-width:941px) and (max-width:1200px){.header nav{gap:13px;font-size:12px}.brand img{width:150px}.header .button{padding:10px 13px}.header{padding-left:25px;padding-right:25px}.header details summary{font-size:12px}}
@media(max-width:940px){.header .brand img{width:170px}.header nav{gap:0}.fields .field-visual{flex-direction:column}.field-visual p{min-height:0}.field-media{width:100%}.taxonomy-mega li>a{min-height:44px}.field-visual>div:not(.field-media){padding:25px}.field-visual h2{font-size:28px}}
.filters button .field-icon{--icon-size:44px;--icon-inset:6px;--icon-border:1px;background:var(--white);border:1px solid var(--ink)}.filters button[aria-pressed="true"]:has(.field-icon){background:var(--yellow);color:var(--ink);border-color:var(--ink)}
@media(max-width:940px) and (min-width:601px){.fields{grid-template-columns:1fr}.field-visual{display:grid!important;grid-template-columns:1fr 1.2fr;align-items:stretch}.field-media{height:100%;aspect-ratio:auto;min-height:240px}.field-visual p{min-height:0}}
@media(max-width:600px){.fields{gap:24px}}

.home-news{padding-top:50px;padding-bottom:95px;border-top:1px solid var(--line)}.news-overview{padding-top:40px;padding-bottom:90px}.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.news-card{min-width:0;border:1px solid var(--line);background:var(--white)}.news-card>a{display:flex;flex-direction:column;height:100%}.news-photo{aspect-ratio:1.6;overflow:hidden;border-bottom:3px solid var(--yellow);background:var(--paper)}.news-photo img{height:100%;width:100%;object-fit:cover;transition:transform .2s}.news-card a:hover .news-photo img{transform:scale(1.03)}.news-copy{padding:25px}.news-meta{display:flex;flex-wrap:wrap;gap:10px 20px;font-size:11px;color:var(--gray);margin-bottom:20px}.news-meta>span{border-left:2px solid var(--yellow);padding-left:15px}.news-card h3{font-size:28px;line-height:1.15;margin-bottom:18px}.news-copy>p:not(.news-meta):not(.field-label){font-size:14px;line-height:1.7;color:var(--gray)}.news-controls{display:flex;justify-content:space-between;align-items:end;gap:25px;border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:35px}.news-filters{display:none;flex-wrap:wrap;gap:8px}.js .news-filters{display:flex}.news-filters button{border:1px solid var(--line);padding:12px 18px;min-height:44px;background:var(--white);color:var(--ink);font-size:13px}.news-filters button[aria-pressed=true]{background:var(--ink);color:var(--white);border-color:var(--ink)}.news-filters button:hover{border-color:var(--ink)}.news-search{display:none;font-size:11px;color:var(--gray);max-width:320px;min-width:200px}.js .news-search{display:block}.news-search input{display:block;border:0;border-bottom:1px solid var(--gray);padding:8px 0;background:transparent;min-height:44px;font-size:14px;width:100%;border-radius:0}.news-empty{padding:40px 0}.news-empty h2{font-size:30px;margin-bottom:20px}.news-article{padding-top:45px;padding-bottom:90px}.news-article>.prose{max-width:820px;font-size:18px;line-height:1.85}.news-article>.news-meta{margin-bottom:30px}.news-related{margin-top:55px;margin-bottom:45px;border-top:1px solid var(--line);padding-top:35px}.news-related h2{font-size:33px;margin-bottom:25px}.news-related .related-links{gap:25px}.news-related .related-links a{font-size:20px}.news-grid:has(>.news-card:only-child){grid-template-columns:minmax(0,780px)}.news-grid>.news-card:only-child>a{display:grid;grid-template-columns:1fr 1fr}.news-grid>.news-card:only-child .news-photo{height:100%;aspect-ratio:auto;min-height:280px;border-bottom:0;border-right:3px solid var(--yellow)}
@media(max-width:1000px){.news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.news-controls{align-items:stretch;flex-direction:column}.news-related .related-links{grid-template-columns:1fr}.news-related .related-links a{align-items:center}}
@media(max-width:600px){.home-news{padding-top:40px;padding-bottom:60px}.home-news .section-title{align-items:start;flex-direction:column;gap:20px}.home-news h2{font-size:40px}.news-grid,.news-grid:has(>.news-card:only-child){grid-template-columns:1fr;gap:24px}.news-grid>.news-card:only-child>a{display:flex}.news-grid>.news-card:only-child .news-photo{aspect-ratio:1.6;min-height:0;border-right:0;border-bottom:3px solid var(--yellow)}.news-copy{padding:23px}.news-card h3{font-size:28px}.news-article>.prose{font-size:16px}.news-overview,.news-article{padding-bottom:60px}.news-filters button{padding:10px 14px}}

/* Business-field photographs use the same fade and overlaid icons as the homepage. */
.news-related .field-photo-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.news-related .field-photo-cards>a{display:flex;flex-direction:column;align-items:stretch;gap:0;min-width:0;padding:0;border:1px solid var(--line);background:var(--white);font-size:clamp(18px,1.8vw,26px);text-decoration:none;transition:border-color .18s}
.news-related .field-photo-cards>a:hover{border-color:var(--ink)}
.field-photo-cards .field-media{display:block;width:100%}
.field-photo-title{display:flex;align-items:center;padding:24px;min-height:86px;line-height:1.35;overflow-wrap:anywhere}
.field-photo-cards>a:hover .field-photo-title{text-decoration:underline;text-underline-offset:5px}
@media(max-width:700px){.news-related .field-photo-cards{grid-template-columns:minmax(0,440px);justify-content:center;gap:28px}.news-related .field-photo-cards>a{font-size:24px}.field-photo-title{min-height:82px;padding:22px}}

.fields:has(+.services-overview-link){padding-bottom:28px}
.services-overview-link{padding-bottom:70px}
@media(max-width:650px){.services-overview-link{padding-bottom:45px}.services-overview-link .button{width:100%}}
.recruitment{background:var(--ink);color:var(--white);display:grid;grid-template-columns:1.2fr 1fr;margin-bottom:0}
.recruitment-copy{padding:64px 55px 68px var(--gutter);min-width:0;align-self:center}
.recruitment .eyebrow{display:inline-block;background:var(--yellow);color:var(--ink);padding:8px 13px;font-size:12px;letter-spacing:.1em;margin-bottom:25px}
.recruitment h2{font-size:clamp(36px,4.4vw,66px);line-height:1.06;max-width:760px;margin-bottom:25px}
.recruitment-role{font-size:clamp(20px,2vw,28px);line-height:1.35;font-weight:bold;max-width:600px;margin-bottom:17px}
.recruitment-intro{font-size:16px;line-height:1.75;max-width:520px;color:var(--white);margin-bottom:27px}
.recruitment .button{font-size:15px;min-height:56px}.recruitment .button:hover{background:var(--white);color:var(--ink);border-color:var(--white)}
.recruitment-photo{min-width:0;min-height:440px;overflow:hidden}.recruitment-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:940px){.recruitment{grid-template-columns:1.2fr 1fr}.recruitment-copy{padding:45px 30px 50px var(--gutter)}.recruitment h2{font-size:40px}.recruitment-role{font-size:22px}}
@media(max-width:650px){.recruitment{grid-template-columns:1fr}.recruitment-copy{padding:42px var(--gutter) 45px}.recruitment h2{font-size:clamp(34px,8vw,46px)}.recruitment-photo{min-height:0;height:250px}.recruitment-role{font-size:22px}.recruitment .button{width:100%}}

.apply .button{margin:0 16px 16px 0}
.career-overview-intro{max-width:680px;color:var(--gray);margin-bottom:32px}
.career-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center;border-top:1px solid var(--line);padding:25px 0}
.career-profile{display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:23px;font-weight:bold;letter-spacing:-.03em;line-height:1.35;min-width:0}
.career-profile>span:first-child{overflow-wrap:anywhere}
.career-profile-hint{font-size:12px;font-weight:normal;letter-spacing:0;flex-shrink:0}
.career-profile:hover>span:first-child{text-decoration:underline;text-underline-offset:5px}
.career-download{font-size:12px;min-height:44px;padding:12px 18px;white-space:nowrap}
@media(max-width:940px){.career-profile{display:block}.career-profile-hint{display:block;margin-top:10px}.career-row{gap:20px}}
@media(max-width:600px){.career-row{grid-template-columns:1fr;gap:18px;padding:24px 0}.career-profile{font-size:23px}.career-download{justify-self:start}.career-overview-intro{font-size:15px}}

.application-layout{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:64px;padding-top:55px;padding-bottom:80px}.application-layout aside{align-self:start}.application-layout h2{font-size:clamp(30px,3vw,43px);line-height:1.15;margin-bottom:22px}.application-layout aside p{font-size:16px;line-height:1.7;margin-bottom:22px}.application-layout .application-help{font-size:13px;color:var(--gray);margin-top:12px}.application-panel .form-consent-placeholder{margin-top:0}.application-panel iframe{width:100%;min-height:1800px}.application-panel iframe[hidden]{display:none}.application-panel .contact-form-link{line-height:1.7}.application-layout .button{color:var(--ink)}@media(max-width:800px){.application-layout{grid-template-columns:1fr;gap:30px;padding-top:32px;padding-bottom:45px}.application-layout aside{max-width:600px}.application-panel iframe{min-height:1900px}}

/* Functional contrast uses the approved CI ink; pale lines stay decorative. */
.filters button,.news-filters button{
  background:var(--white);color:var(--ink);border:2px solid var(--ink);
  min-height:56px;padding:10px 14px;font-size:14px;gap:10px;
}
.filters button[aria-pressed="true"],.news-filters button[aria-pressed="true"]{
  border-color:var(--ink);font-weight:700;text-decoration:underline;
  text-decoration-thickness:2px;text-underline-offset:4px;
}
.filters button[aria-pressed="true"]:has(.field-icon){background:var(--yellow);color:var(--ink)}
.search,.news-search{font-size:13px;color:var(--ink)}
.search input,.news-search input{font-size:16px;min-height:48px;color:var(--ink);border-bottom:2px solid var(--ink)}
input,textarea,select{color:var(--ink);border-color:var(--ink)}
input::placeholder,textarea::placeholder{color:var(--gray);opacity:1}
.image-caption{background:var(--ink)}
.menu-button{border-color:var(--ink)}
/* A white inner ring and dark outer ring remain visible on light, yellow and dark surfaces. */
:root :is(a,button,input,textarea,select,summary):focus-visible{
  outline:3px solid var(--ink)!important;outline-offset:3px;
  box-shadow:0 0 0 3px var(--white)!important;
}
.check input{width:24px;height:24px;min-height:24px;flex-shrink:0;accent-color:var(--ink)}
#close-image,.text-button,.plain-button{min-height:44px}
@media(forced-colors:active){
  .filters button,.news-filters button{border-color:ButtonText}
  .filters button[aria-pressed="true"],.news-filters button[aria-pressed="true"]{border-color:Highlight;outline:2px solid Highlight;outline-offset:-5px}
  .filters button .field-icon{forced-color-adjust:none}
  :root :is(a,button,input,textarea,select,summary):focus-visible{outline-color:Highlight!important}
}

/* Photo framing is attached to each source image, so reuse keeps its subject. */
.hero-image>img.photo,.subhero-photo>img.photo,.field-media>img.photo,
.service-photo>img.photo,.case>img.photo,.knowledge-photo>img.photo,
.recruitment-photo>img.photo,.page-photo img.photo,.gallery img.photo,
.news-photo img.photo{object-position:var(--photo-position,50% 50%)}
/* A photo must fill its layout, never determine a grid row from its intrinsic height. */
.subhero-photo,.recruitment-photo,.knowledge-photo{position:relative;overflow:hidden}
.subhero-photo{max-height:none}
.subhero-photo>img.photo,.recruitment-photo>img.photo,.knowledge-photo>img.photo{
 position:absolute;inset:0;width:100%;height:100%;object-fit:cover
}
.subhero-photo:has(>.photo-profile){background:#211e1c}
.subhero-photo>img.photo-profile{object-fit:cover;object-position:50% 0%}
/* Gallery photographs retain all of the scene, including equipment and faces. */
.gallery>a{background:var(--paper)}
.gallery img.photo{object-fit:contain;transform:none}
@media(max-width:600px){
 .subhero-photo:has(>.photo-portrait){height:clamp(380px,120vw,560px)}
 .hero-image>img.photo,.subhero-photo>img.photo,.knowledge-photo>img.photo{
  object-position:var(--photo-position,50% 50%)
 }
}

/* Approved second-stage homepage review, 30.10.2026. */
.header .brand img{width:180px;max-height:78px;height:78px;object-fit:contain}
.header{height:112px}.mega{top:112px}
.site-address{border:1px solid var(--line);padding:20px;margin:20px 0}.site-address legend{font-weight:bold;padding:0 6px}
.more-careers{margin-top:30px;border-top:1px solid var(--line)}.more-careers summary{cursor:pointer;font-weight:bold;padding:24px 0;font-size:20px}.more-careers>a{display:flex;justify-content:space-between;padding:20px 0;border-top:1px solid var(--line);font-size:21px;font-weight:bold}.more-careers>a>span{font-size:12px;font-weight:normal}
.subhero-photo:has(>.photo-profile){background:var(--paper);min-height:460px}.subhero-photo>img.photo-profile{object-fit:contain!important;object-position:center!important}
@media(max-width:940px){.js .header{height:96px}.header .brand img{width:150px;height:72px;max-height:72px}}
@media(max-width:600px){.header .brand img{width:130px;height:66px;max-height:66px}.js .header{height:88px}.more-careers>a{flex-direction:column;gap:10px}}

.photo-credits{font-size:10px;line-height:1.8;padding-top:16px;padding-bottom:20px;color:var(--gray)}.photo-credits a{text-decoration:underline;text-underline-offset:2px}

/* Fixed gallery stage: no image dragging or internal scrolling. */
#image-dialog{position:fixed;inset:0;margin:0;width:100%;height:100vh;height:100dvh;max-width:none;max-height:none;box-sizing:border-box;padding:calc(64px + env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom));border:0;background:#1d1d1bf5;overflow:hidden;overscroll-behavior:none;touch-action:none}
#image-dialog[open]{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;grid-template-rows:minmax(0,1fr) 32px;gap:10px;align-items:center}
#image-dialog>img{grid-column:2;grid-row:1;width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none}
#image-dialog button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;background:transparent;color:#fff;cursor:pointer}
#image-dialog button:hover{background:#ffffff18}#image-dialog button:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}
#image-dialog #close-image{position:absolute;top:calc(12px + env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right))}
#image-dialog [data-image-prev]{grid-column:1;grid-row:1}#image-dialog [data-image-next]{grid-column:3;grid-row:1}
#image-dialog [hidden]{display:none}#image-dialog [data-image-status]{grid-column:1/-1;grid-row:2;text-align:center;font-size:12px;margin:0;color:#fff}
@media(max-width:600px){#image-dialog{padding-left:4px;padding-right:4px}#image-dialog[open]{grid-template-columns:40px minmax(0,1fr) 40px;gap:0}#image-dialog [data-image-prev],#image-dialog [data-image-next]{width:40px;height:48px}}
@media(max-width:600px){#image-dialog[open]{grid-template-columns:minmax(0,1fr)}#image-dialog>img{grid-column:1}#image-dialog [data-image-prev],#image-dialog [data-image-next]{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:48px;background:#1d1d1b55}#image-dialog [data-image-prev]{left:4px}#image-dialog [data-image-next]{right:4px}}

/* Team and founder photographs are documentary: retain the complete frame. */
.subhero.about-hero.has-image{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:0;background:var(--paper)}
.about-hero .subhero-copy{max-width:720px;padding-right:40px;padding-bottom:55px}
.about-hero .subhero-copy h1{font-size:clamp(40px,4.2vw,62px);max-width:650px}
.about-hero .subhero-photo{position:relative;height:auto;min-height:0;max-height:none;margin:40px var(--gutter) 40px 0;background:transparent;overflow:visible}
.about-hero .subhero-photo>img.photo{position:static;display:block;width:100%;height:auto;max-height:420px;object-fit:contain;object-position:center}
.timeline-story{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:28px;align-items:start}
.timeline-portrait{margin:0}.timeline-portrait img.photo{width:100%;height:auto;object-fit:contain!important}
.timeline-portrait figcaption{font-size:11px;line-height:1.6;margin-top:10px;color:var(--gray)}
.founder-story{display:grid;grid-template-columns:minmax(160px,220px) minmax(0,1fr);gap:32px;align-items:start}
.founder-portrait{margin:0}.founder-portrait img.photo{width:100%;height:auto;object-fit:contain}
.founder-portrait figcaption{font-size:11px;line-height:1.6;margin-top:12px;color:var(--gray)}
.company-timeline{list-style:none!important;margin:0!important;padding:0!important}
.company-timeline>li{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr);gap:22px;margin:0!important;padding:0 0 36px 23px;border-left:2px solid var(--yellow)}
.company-timeline>li:before{content:"";position:absolute;left:-7px;top:8px;width:12px;height:12px;border-radius:50%;background:var(--yellow)}
.company-timeline>li:last-child{padding-bottom:0}.timeline-year{font-size:17px;font-weight:700}
.company-timeline h3{font-size:22px;margin:0 0 15px!important}.company-timeline p{margin-bottom:0}
.about-careers{padding-top:20px;padding-bottom:65px}.about-careers h2{max-width:750px;font-size:clamp(30px,4vw,46px)}
.about-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px;margin-top:30px}
.about-role-grid>a{display:block;border-top:1px solid var(--line);padding:27px 0}
.about-role-grid h3{font-size:23px;line-height:1.35;margin:0 0 18px}.about-role-grid>a:hover h3{text-decoration:underline;text-underline-offset:5px}
.contact-panel{min-width:0}.contact-panel h2{margin-top:0}.contact-panel iframe{display:block;width:100%;border:0;min-height:600px;background:#fff}
.request-context{padding:18px 20px;background:var(--paper);border-left:3px solid var(--yellow);margin:20px 0}
.contact-form-link{font-size:12px;line-height:1.8}.contact-layout{align-items:start}.contact-layout aside p{line-height:1.75}
.subgroup.combined .detail-copy{font-size:15px;line-height:1.8;margin-top:22px}.subgroup.combined .detail-copy h4{font-size:18px}
@media(max-width:940px){.subhero.about-hero.has-image{grid-template-columns:1fr 1fr}.about-hero .subhero-copy h1{font-size:40px}.about-hero .subhero-photo{margin-left:0}.timeline-story{grid-template-columns:minmax(0,1fr) 140px;gap:20px}.founder-story{grid-template-columns:1fr}.founder-portrait{max-width:260px}.company-timeline>li{grid-template-columns:60px minmax(0,1fr);gap:15px}}
@media(max-width:600px){.subhero.about-hero.has-image{display:flex;flex-direction:column}.about-hero .subhero-copy{padding:25px var(--gutter) 20px}.about-hero .subhero-photo{margin:0 var(--gutter) 35px}.timeline-story{grid-template-columns:1fr}.timeline-portrait{max-width:180px}.about-hero .subhero-photo>img.photo{height:auto;max-height:none}.about-role-grid{grid-template-columns:1fr}.company-timeline>li{display:block;padding-left:20px}.timeline-year{display:block;margin-bottom:10px}.about-careers{padding-bottom:40px}.contact-panel iframe{min-height:600px}.contact-layout aside{padding-bottom:15px}}

/* Keep the navigation control neutral on iOS and Android. */
.menu-button{-webkit-appearance:none;appearance:none;color:var(--ink)!important;-webkit-text-fill-color:var(--ink);border:0!important;background:transparent!important;width:48px;height:48px;padding:10px!important;align-items:center;justify-content:center}.menu-button svg{display:block;width:28px;height:28px}.menu-button[aria-expanded="true"]{background:var(--paper)!important}
@media(max-width:940px){.js .menu-button{display:flex}}
.form-consent-placeholder{background:var(--paper);border-left:3px solid var(--yellow);padding:28px;margin:25px 0}.form-consent-placeholder p{font-size:15px}.form-consent-placeholder .button{margin-top:5px}.contact-panel iframe[hidden]{display:none}

.footer-base{align-items:center}.footer-base>div{align-items:center;flex-wrap:wrap}.footer-base>div>a,.footer-base>div>.cookie-settings-link{display:inline-flex;align-items:center;min-height:44px;font-size:10px;line-height:1.6;margin:0;padding:0;vertical-align:middle}

.cookie-banner{position:fixed;z-index:180;bottom:max(18px,env(safe-area-inset-bottom));left:var(--gutter);right:var(--gutter);max-height:70svh;overflow:auto;background:var(--white);color:var(--ink);border:2px solid var(--ink);border-top:6px solid var(--yellow);box-shadow:0 8px 45px #1d1d1b33;padding:24px;display:grid;grid-template-columns:1fr auto;gap:20px 30px}
.cookie-copy h2{font-size:25px;letter-spacing:-.035em;line-height:1.2;margin-bottom:12px}.cookie-copy p{font-size:14px;line-height:1.6;margin:0 0 8px}.cookie-copy>a,.cookie-dialog a{text-decoration:underline;text-underline-offset:4px;font-size:13px}
.cookie-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.cookie-banner>.cookie-actions{flex-direction:column;align-items:stretch;justify-content:center}
.cookie-actions button{min-height:46px;padding:11px 18px;border:2px solid var(--ink);background:var(--white);color:var(--ink);font-size:14px;font-weight:bold;line-height:1.4;text-align:center}.cookie-actions button:hover{background:var(--ink);color:var(--white)}
.cookie-error{grid-column:1/-1;font-size:13px;margin:0}.cookie-settings-link{font:inherit;color:inherit;background:none;border:0;padding:0;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.cookie-dialog{background:var(--white);color:var(--ink);padding:30px;width:min(640px,90vw);max-height:85svh;border:2px solid var(--ink);border-top:6px solid var(--yellow)}
.cookie-dialog h2{font-size:30px;margin-bottom:20px;line-height:1.2}.cookie-dialog>p{font-size:14px;line-height:1.7}.cookie-category{border-top:1px solid var(--gray);padding:18px 0}.cookie-category label{display:flex;align-items:center;gap:12px;font-size:16px;margin:0 0 10px}.cookie-category input{width:24px;height:24px;flex:0 0 24px;margin:0;accent-color:var(--ink)}.cookie-category p{font-size:13px;line-height:1.6;margin:0}.cookie-category code{overflow-wrap:anywhere}.cookie-dialog .cookie-actions{margin:10px 0 20px}.cookie-dialog::backdrop{background:#1d1d1bb3}
@media(max-width:800px){.cookie-banner{grid-template-columns:1fr;gap:16px;padding:20px;left:12px;right:12px;bottom:12px}.cookie-banner>.cookie-actions{flex-direction:row}.cookie-actions button{flex:1 1 145px}.cookie-copy h2{font-size:23px}.cookie-dialog{padding:24px}.cookie-dialog h2{font-size:27px}}
@media print{.cookie-banner,.cookie-dialog,.cookie-settings-link{display:none!important}}

/* Language links stay visible outside the collapsible navigation. */
.header{gap:20px}.header #navigation{order:1;margin-left:auto}.header .language-switch{order:2;display:flex;align-items:center;gap:2px;flex-shrink:0}.language-switch a{font-size:11px;font-weight:700;line-height:1;letter-spacing:.04em;padding:12px 8px;border-bottom:2px solid transparent}.language-switch a[aria-current]{border-bottom-color:var(--yellow)}.language-switch a:hover{background:var(--paper)}.header .menu-button{order:3}html[lang="en-GB"] .hero h1{font-size:clamp(52px,6.1vw,94px)}
@media(min-width:941px) and (max-width:1250px){.header{gap:13px;padding-left:25px;padding-right:25px}.header #navigation{gap:13px;font-size:12px}.header .brand img{width:150px}.header .button{padding:10px 12px}.language-switch a{padding:12px 6px;font-size:10px}}
@media(max-width:940px){.header{gap:12px}.header .language-switch{margin-left:auto}.header #navigation{margin-left:0}.language-switch a{padding:14px 9px}}
@media(max-width:600px){.header .brand img{width:140px}.header{gap:8px}html[lang="en-GB"] .hero h1{font-size:clamp(48px,12vw,68px)}}
@media print{.language-switch{display:none!important}}
