@font-face{font-family:Montserrat;src:url("montserrat-200.woff2") format("woff2");font-weight:200;font-style:normal;font-display:swap}
@font-face{font-family:Montserrat;src:url("montserrat-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Montserrat;src:url("montserrat-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"PEC AWB Icons";src:url("pec-awb-icons.woff") format("woff");font-weight:400;font-style:normal;font-display:block}
@font-face{font-family:"PEC Font Awesome";src:url("pec-fa-regular-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:block}
/* R2: German content headings retain their type scale, with emergency wrapping
   for compounds. Explicit specificity outranks route-level nowrap overrides. */
html:lang(de) body main :is(h1,h2,h3,h4,h5,h6){overflow-wrap:anywhere!important;word-break:normal;white-space:normal!important;min-width:0}
:root{--ink:#090909;--blue:#454dff;--green:#72f898;--navy:#100c2f;--body:"Open Sans",Arial,Helvetica,sans-serif;--heading:Montserrat,Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip}
body{margin:0;color:var(--ink);background:#fff;font:16px/1.5 var(--body);letter-spacing:.015em;overflow-x:clip}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{cursor:pointer}
[hidden]{display:none!important}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;z-index:100;top:8px;left:8px;padding:10px 14px;background:#fff;transform:translateY(-150%)}
.skip-link:focus{transform:none}
.text-link{display:inline-block;color:var(--blue);font:600 20px/1.25 var(--heading)}
.text-link:hover,.text-link:focus-visible{text-decoration:underline;text-underline-offset:5px}

.site-header{position:sticky;z-index:10011;top:0;height:110px;background:#fff;transition:background-color .2s ease,box-shadow .2s ease;isolation:isolate}
.site-header.is-scrolled{background:rgba(255,255,255,.8);backdrop-filter:saturate(1.8) blur(20px);-webkit-backdrop-filter:saturate(1.8) blur(20px);box-shadow:0 1px 12px rgba(16,12,47,.06)}
.header-inner{height:110px;padding:0 30px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:27px;font:700 12px/1.4 var(--heading);text-transform:uppercase}
.brand img{width:122px;height:auto}
.desktop-nav{display:flex;align-items:center;gap:39px;font:600 14px/1.2 var(--heading)}
.desktop-nav a,.desktop-nav button{text-transform:none}
.portfolio-nav-item{height:110px;display:flex;align-items:center}
.portfolio-nav-item>[data-mega-menu-trigger]{height:110px;display:flex;align-items:center;border-bottom:2px solid transparent}
.portfolio-nav-item>[data-mega-menu-trigger][aria-expanded="true"]{color:#1623ff;border-bottom-color:#1623ff}
.portfolio-mega-menu{position:absolute;z-index:10012;top:110px;left:0;width:100%;height:418px;padding:36px 0 30px;background:#fff;box-shadow:0 16px 28px rgba(16,12,47,.08);color:#090909}
.portfolio-mega-grid{width:calc(100% + 14.375px);transform:translateX(-7.1875px);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:start}
.portfolio-mega-column{min-width:0;padding-left:37.125px;text-align:center}
.portfolio-mega-column:last-child{padding-right:37.125px}
.portfolio-mega-column>img{width:80px;height:80px;margin:0 auto;object-fit:contain}
.portfolio-mega-column--compact>img{width:70px;height:70px;margin-top:10px}
.portfolio-mega-title{margin:20px 16px 20px;font:700 15px/20px var(--heading);letter-spacing:0}
.portfolio-mega-column nav{display:grid;justify-items:center;gap:18px;font:400 15px/24px var(--body);letter-spacing:.015em}
.portfolio-mega-column nav a,.portfolio-mega-title a{max-width:100%;padding:0 10px}
.portfolio-mega-column nav a:hover,.portfolio-mega-column nav a:focus-visible,.portfolio-mega-title a:hover,.portfolio-mega-title a:focus-visible{color:#1623ff}
.desktop-nav .career-link{height:51px;color:#1623ff;text-transform:uppercase;letter-spacing:.11em;display:inline-flex;align-items:center;gap:10px}
.career-icon::before{content:"\f135";font:400 12px/1 "PEC Font Awesome";letter-spacing:0}
.icon-button{width:35px;height:45px;border:0;background:transparent;padding:0;display:grid;place-items:center;color:#000}
.search-icon::before{content:"\f002";font:400 16px/1 "PEC AWB Icons"}
.menu-toggle{display:none;width:52px;height:52px;padding:0;border:0;background:transparent;font:600 13px var(--heading);text-transform:uppercase;letter-spacing:.08em}
.menu-toggle i,.menu-toggle i::before,.menu-toggle i::after{display:block;width:28px;height:2px;background:#000;content:"";margin-left:12px;position:relative}
.menu-toggle i::before{position:absolute;left:-12px;top:-8px}
.menu-toggle i::after{position:absolute;left:-12px;top:8px}
.search-panel{position:absolute;right:30px;top:90px;width:min(520px,calc(100% - 60px));padding:28px;background:#fff;box-shadow:0 12px 35px #0002}
.search-panel form{display:flex;align-items:end;gap:12px}
.search-panel label{font-weight:600;flex:1}
.search-panel input{display:block;width:100%;border:0;border-bottom:1px solid;padding:7px 0;background:transparent}
.search-panel button{border:0;background:#000;color:#fff;padding:10px 18px;text-transform:uppercase}
.search-status{min-height:24px;margin:12px 0 0;font-size:14px}
/* Round 2: source mobile off-canvas. Fonts are scoped to keep the hero intact. */
@font-face{font-family:"PEC Mobile Montserrat";src:url("nav-montserrat-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"PEC Mobile Open Sans";src:url("nav-open-sans-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"PEC Mobile Light Icons";src:url("nav-fa-light-300.woff2") format("woff2");font-weight:300;font-display:block}
@font-face{font-family:"PEC Mobile Solid Icons";src:url("pec-fa-solid-900.woff2") format("woff2");font-weight:900;font-display:block}
.site-header.is-mobile-menu-open{backdrop-filter:none;-webkit-backdrop-filter:none}
body.has-mobile-menu{overflow:hidden}
.mobile-menu{position:fixed;z-index:10013;inset:0;height:100dvh;padding:91px 30px 40px;background:#110d2e;color:#fff;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}
.mobile-menu::-webkit-scrollbar{display:none}
.mobile-menu a{display:block;border:0;padding:0;font:400 18px/1.2 "PEC Mobile Montserrat",var(--heading);letter-spacing:.015em}
.mobile-menu>a,.mobile-portfolio-row>a{min-height:51px;display:flex;align-items:center;padding:0 27px}
.mobile-menu a:hover,.mobile-menu a:focus-visible,.mobile-menu a[aria-current="page"]{color:#3cff66}
.mobile-menu :focus-visible{outline:2px solid #3cff66;outline-offset:2px}
.mobile-menu-close{position:absolute;top:30px;right:max(20px,calc((100vw - 800px)/2 + 20px));width:35px;height:32px;padding:1px 6px;border:0;background:transparent;color:#3cff66}
.mobile-menu-close span::before{content:"\f00d";font:900 30px/1 "PEC Mobile Solid Icons"}
/* The original combined Portfolio und Expertise item keeps a separate disclosure. */
.mobile-portfolio-row{display:flex;align-items:stretch}
.mobile-portfolio-row>a{flex:1;min-width:0}
.mobile-submenu-toggle{flex:0 0 48px;min-height:51px;border:0;background:transparent;color:#3cff66;cursor:pointer;display:grid;place-items:center}
.mobile-submenu-toggle span{width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}
.mobile-submenu-toggle[aria-expanded="true"] span{transform:rotate(225deg)}
.mobile-portfolio-submenu{padding:0 27px 16px}
.mobile-portfolio-group p{margin:22px 0 6px;font:600 16px/1.4 var(--heading);color:#3cff66}
.mobile-portfolio-group a{font-size:14px;line-height:1.4;padding:12px 0;overflow-wrap:anywhere}
.mobile-portfolio-group p a{font-size:16px;font-weight:600}
.mobile-menu-utilities{margin:8px 25px 0;font:400 16px/24px "PEC Mobile Open Sans",var(--body)}
.mobile-menu-utilities .mobile-contact{min-height:40px;display:flex;align-items:center;gap:18px;font:inherit;color:#fff}
.mobile-contact>span{width:14px;flex:0 0 14px;color:#3cff66}
.mobile-phone-icon::before{content:"\f3cd";font:300 16px/1 "PEC Mobile Light Icons"}
.mobile-mail-icon::before{content:"\f1d8";font:300 16px/1 "PEC Mobile Light Icons"}
.mobile-language-icon::before{content:"\f0ac";font:300 16px/1 "PEC Mobile Light Icons"}
.mobile-menu .mobile-menu-utilities [data-mobile-search-toggle]{display:flex;align-items:center;gap:14px;width:100%;height:40px;margin-top:24px;padding:0 12px;background:transparent;color:#3cff66;border:0;border-left:1px solid #fff;border-bottom:1px solid #fff;text-align:left;font:inherit}
@media(min-width:641px) and (max-width:1024px){
 .mobile-menu{--mobile-panel:min(800px,100vw);--mobile-inner:calc(var(--mobile-panel) - 60px);padding-top:70px;padding-left:calc((100vw - var(--mobile-panel))/2 + 30px + var(--mobile-inner)*.208);padding-right:calc((100vw - var(--mobile-panel))/2 + 30px + var(--mobile-inner)*.0512)}
}
@media(min-width:801px) and (max-width:1024px){.mobile-menu{padding-top:max(70px,calc((100dvh - 396.72px)/2))}}
@media(min-width:1025px){.mobile-menu{display:none}}
@media(forced-colors:active){.mobile-menu{background:Canvas;color:CanvasText}.mobile-menu a,.mobile-menu button,.mobile-contact{color:CanvasText!important}}


.hero{position:relative;height:92vh;min-height:720px;max-height:994px;overflow:hidden;display:flex;align-items:center}
.hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(105deg,rgba(112,248,152,.88) 0%,rgba(86,181,222,.68) 38%,rgba(7,17,34,.55) 76%,rgba(7,17,34,.42) 100%)}
.hero-content{position:relative;z-index:1;width:634px;margin-left:max(8.5vw,60px);margin-top:-5px}
.hero .eyebrow{margin:0 0 32px;text-transform:uppercase;font:600 16px/1.2 var(--heading)}
.hero h1{max-width:634px;margin:0;font:700 40px/44px var(--heading);letter-spacing:.2px}
.hero-subtitle{margin:23px 0 0;font:200 20px/24px var(--heading)}
.portfolio-rail{position:fixed;z-index:20;right:0;top:42%;box-sizing:border-box;width:112px;height:107px;padding:14px 10px 11px;border-radius:6px 0 0 6px;background:var(--navy);color:#fff;text-align:center;text-transform:uppercase;font:600 14px var(--heading);letter-spacing:.08em}
.portfolio-rail span{display:block;width:48px;height:48px;margin:0 auto 7px;background:url("pec-portfolio.svg") center/contain no-repeat}

.intro{min-height:849px;display:grid;grid-template-columns:minmax(0,1fr) calc((100vw - 30px)*.220064);column-gap:calc(100px + (100vw - 30px)*.019968);margin:0;padding-left:calc(30px + (100vw - 30px)*.155968)}
.intro-copy{padding:70px 0 60px;text-align:center}
.intro h2{max-width:1042px;margin:0 auto 40px;font:200 60px/72px var(--heading);letter-spacing:.3px}
.intro h2 span,.intro h2 strong{display:block}
.intro h2 strong{font-weight:700}
.intro-copy>p{max-width:1040px;margin:0 auto 18px;line-height:1.5}
.intro .text-link{margin-top:3px}
.expertise-intro{width:min(1042px,100%);margin:72px 0 0;text-align:left}
.expertise-intro h3{width:100%;margin:0;white-space:nowrap;font:700 24px/1.2 var(--heading)}
.expertise-intro p{width:79.2%;max-width:none;margin:40px 0 0 20.8%}
.counters{position:relative;align-self:start;margin:-120px 0 20px;border-top:8px solid var(--blue);border-left:8px solid var(--blue);border-bottom:8px solid var(--blue);padding:150px 40px 40px;display:grid;grid-template-rows:auto;text-align:center;background:transparent}
.counters div{align-self:center;padding:20px;margin-bottom:14px}
.counters dt{color:var(--blue);font:700 60px/1.4 var(--heading)}
.counters dd{margin:0 auto;max-width:270px;color:var(--blue);font:200 18px/1.4 var(--heading)}

.industries{height:auto;margin-bottom:80px;padding:8px 0 0 calc(100vw / 6);overflow:hidden}
.industry-slider{position:relative}
.industry-slider .slides{touch-action:pan-y;cursor:grab;user-select:none;translate:var(--industry-drag,0px) 0}
.industry-slider .slides.is-dragging{cursor:grabbing;transition:none}
.slides{width:max-content;height:auto;display:flex;gap:30px;transform:translateX(calc(var(--industry-index,0) * (min(-360px, -41.666667vw - 15px))));transition:transform .35s ease}
.industry-slide{flex:0 0 auto;width:calc(100vw * 5 / 12 - 15px);min-height:336px;height:auto;padding:40px 30px;display:grid;grid-template-columns:20.8% minmax(0,1fr);gap:0;align-content:start;background:transparent}
.industry-slide.is-active{background:var(--green)}
.industry-slide[aria-hidden="true"]{visibility:hidden}
.industry-slide img{width:100px;height:100px;object-fit:contain}
.industry-symbol{display:grid;width:100px;height:100px;place-items:center;font-size:75px;font-weight:200}
.industry-slide h3{margin:0 0 15px;font:700 16px/1.2 var(--heading)}
.industry-slide p{margin:0;max-width:780px;line-height:1.5}
.slider-controls{margin-top:21px;display:flex;align-items:center;gap:18px}
.slider-dots{display:flex;gap:0}
.slider-dots button{position:relative;width:31px;height:31px;border:0;padding:0;background:transparent}
.slider-dots button::before{position:absolute;left:50%;top:50%;width:7px;height:7px;border-radius:50%;background:#000;content:"";transform:translate(-50%,-50%)}
.slider-dots button[aria-current="true"]::before{background:var(--green);transform:translate(-50%,-50%) scale(1.5)}
.slider-dots button:last-child{display:none}

.career{height:857px;margin-bottom:108px;background:linear-gradient(#07162960,#07162960),url("career.jpg") center/cover no-repeat;display:grid;place-items:center;color:#fff;text-align:center}
.career>div{max-width:1260px;padding:0 30px}
.career h2{max-width:1200px;margin:0 auto 48px;font:700 40px/48px var(--heading)}
.button-outline{display:inline-block;border:2px solid #fff;padding:16px 30px;text-transform:uppercase;font:600 18px var(--heading);letter-spacing:.08em}

.makers{height:312px;width:100%;position:relative;padding:10px 0 0}
.vertical-mark{position:absolute;left:50%;top:-180px;width:8px;height:150px;background:#000;transform:translateX(-50%)}
.makers h2{width:888px;margin:0 auto;white-space:nowrap;font:600 24px/1.2 var(--heading)}
.makers p{width:703px;margin:40px auto 0;transform:translateX(77px)}
.makers .text-link{display:block;width:888px;margin:40px auto 0;text-align:center}

.team{height:748px;display:grid;place-items:center;padding:60px 30px}
.team-card{position:relative;width:min(950px,100%);height:560px;border:8px solid var(--blue);display:grid;grid-template-columns:1fr 1fr}
.team-card>img{position:absolute;left:20px;bottom:0;width:430px;max-height:660px;object-fit:contain;object-position:bottom}
.team-copy{grid-column:2;padding:125px 45px 30px;color:var(--blue)}
.team-copy blockquote{margin:0;font:700 25px/1.3 var(--heading)}
.team-copy>p{font-size:14px}
.team-copy hr{width:40px;margin:40px 0 23px;border:0;border-top:2px solid var(--blue)}
.team-copy a{font:600 14px/1.35 var(--heading)}

.case-studies{height:535px;width:100%;padding:10px 0 0}
.case-studies h2{width:888px;margin:0 auto;white-space:nowrap;font:600 24px/1.2 var(--heading)}
.case-copy{width:703px;margin:40px auto 0;transform:translateX(77px)}
.case-copy p{margin:0 0 20px}
.case-copy nav{display:grid;gap:28px;margin-top:40px}
.case-copy nav a{color:var(--blue);font:600 20px/1.25 var(--heading)}

.project-request{height:601px;padding:65px max(calc((100vw - 1150px)/2),30px) 38px max(calc((100vw - 1120px)/2),30px);display:grid;grid-template-columns:340px 1fr;gap:104px;background:linear-gradient(110deg,#a5ffb9,#b4d9ff)}
.request-intro h2{margin:0 0 30px;font:700 24px var(--heading)}
.request-intro p{margin:0;max-width:320px}
.project-request form{min-width:0}
.form-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:40px;row-gap:15px}
.project-request label{display:block}
.project-request input:not([type="checkbox"]),.project-request textarea{width:100%;border:0;border-left:1px solid;border-bottom:1px solid;background:transparent;padding:12px 15px;border-radius:0;outline-offset:3px}
.project-request textarea{margin-top:15px;resize:vertical}
.project-request .consent{margin:42px 0 20px}
.project-request .consent a{color:var(--blue)}
.project-request button[type="submit"]{width:100%;margin-top:20px;border:0;padding:16px;background:#000;color:#fff;text-transform:uppercase;font:600 16px var(--heading);letter-spacing:.15em}
.form-status{min-height:24px;margin:12px 0 0;font-weight:700}

/* Shared in-page destinations must clear the fixed header. */
#projektanfrage,#pec-portfolio{scroll-margin-top:130px}
@media(max-width:1024px){#projektanfrage,#pec-portfolio{scroll-margin-top:100px}}

.site-footer{height:auto;min-height:715px;padding:56px 30px 25px;background:var(--navy);color:#fff}
.footer-inner{max-width:1200px;margin:auto}
.footer-logo{width:205px;height:auto;margin:0 auto 42px}
.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:70px}
.footer-grid h2{margin:0 0 28px;color:var(--green);font:600 14px var(--heading)}
.footer-grid nav a{display:block;margin:0 0 10px;font:600 14px var(--heading)}
.footer-grid p{font:600 14px/1.25 var(--heading);margin:0 0 26px}
.footer-grid .awards img{width:300px;height:auto;aspect-ratio:400/178;object-fit:contain}
.socials{width:100%;margin:35px auto 0;text-align:center;display:grid;grid-template-columns:minmax(0,1fr) 316px minmax(0,1fr);align-items:center;column-gap:20px;row-gap:0}
.social-line{width:100%;height:1px;background:#fff}
.social-icons{width:316px;display:flex;justify-content:center;align-items:center}
.social-icon{width:38px;height:44px;margin:5px;display:grid;place-items:center;color:#fff}
.social-icon::before{font:400 28px/1 "PEC AWB Icons"}
.social-icon[data-social-icon="linkedin"]::before{content:"\e60f"}
.social-icon[data-social-icon="instagram"]::before{content:"\ea92"}
.social-icon[data-social-icon="facebook"]::before{content:"\e604"}
.social-icon[data-social-icon="xing"]::before{content:"\e4d8"}
.social-follow{grid-column:2;font-size:14px}
.copyright{text-align:center;margin:18px 0 10px;font-size:14px}
.legal{text-align:center;margin:0;color:var(--green);font-size:14px}
.legal button{border:0;background:transparent;color:inherit;padding:0}
.cookie-dialog{position:fixed;z-index:200;inset:0;display:grid;place-items:center;padding:30px;background:#100c2fcc}
.cookie-dialog-panel{width:min(560px,100%);padding:36px;background:#fff;color:#090909;box-shadow:0 20px 60px #0006}
.cookie-dialog-panel h2{margin:0 0 18px;font:700 24px/1.2 var(--heading)}
.cookie-dialog-panel p{margin:0 0 24px}
.cookie-dialog-panel button{border:0;padding:12px 20px;background:#000;color:#fff;text-transform:uppercase;font-weight:700}

:focus-visible{outline:3px solid var(--blue);outline-offset:4px}

@media (max-width:1100px){
  .desktop-nav{gap:20px}
  .intro{grid-template-columns:minmax(0,1fr) 310px;margin:0;padding-left:30px}
  .intro-copy{padding-right:35px}
  .expertise-intro{width:100%;margin-left:0}
  .expertise-intro h3{white-space:normal}
  .expertise-intro p{width:100%;margin-left:0}
  .counters{padding-left:20px;padding-right:20px}
  .industries{height:auto;margin-bottom:80px}
  .slides{width:auto;height:552px;display:block;transform:none;transition:none}
  .slides,.industry-slide{height:552px}
  .industry-slide{width:calc(100vw - 30px)}
  .industry-slide[aria-hidden="true"]{display:none;visibility:visible}
  .slider-dots button:last-child{display:block}
  .makers h2,.case-studies h2{white-space:normal}
  .case-copy nav a{overflow-wrap:anywhere}
  .project-request{gap:60px}
}

@media (max-width:1024px){
  .intro{display:none!important}
  .site-header,body[class] .site-header{display:block!important;height:80px}
  .header-inner{height:80px}
  .header-inner{padding:0 30px}
  .brand{gap:14px}
  .brand img{width:100px}
  .brand span{display:none}
  .desktop-nav{display:none}
  .menu-toggle{display:flex;align-items:center}
}

@media (max-width:860px){
  .site-header,.header-inner{height:80px}
  .header-inner{padding:0 30px}
  .brand{gap:14px}
  .brand img{width:100px}
  .brand span{display:none}
  .desktop-nav{display:none}
  .menu-toggle{display:flex;align-items:center}
  .hero{height:calc(100vh - 80px);min-height:650px;max-height:760px}
  .hero-content{width:auto;margin:0 40px}
  .hero .eyebrow{font-size:13px;margin-bottom:24px}
  .hero h1{font-size:42px;max-width:610px}
  .portfolio-rail{display:none}
  .intro{margin:0;min-height:0;display:block}
  .intro-copy{padding:70px 40px;text-align:left}
  .intro h2{text-align:center;font-size:48px}
  .intro-copy>p{max-width:none}
  .expertise-intro{margin-top:55px}
  .counters{margin:0;border:0;border-top:8px solid var(--blue);padding:45px 25px;grid-template-columns:repeat(2,1fr);grid-template-rows:auto;gap:38px;background:#f7f7f7}
  .industries{height:auto;margin-bottom:80px;padding:8px 0 0 30px}
  .slides,.industry-slide{height:384px}
  .career{height:700px}
  .makers{height:auto;min-height:390px;padding:100px 30px 55px;grid-template-columns:1fr;gap:24px}
  .makers h2,.case-studies h2{white-space:normal}
  .makers h2,.makers p,.makers .text-link,.case-studies h2,.case-copy{width:auto;transform:none}
  .makers p{margin:0 0 26px}
  .makers .text-link{margin-top:0;text-align:left}
  .case-copy{margin:0}
  .vertical-mark{left:50%;top:-180px;height:150px}
  .team{height:auto;padding:45px 30px 65px}
  .team-card{height:650px;grid-template-columns:1fr 1fr}
  .team-card>img{width:360px;left:0}
  .team-copy{padding:80px 25px}
  .case-studies{height:auto;min-height:650px;padding:65px 30px;grid-template-columns:1fr 1.25fr}
  .project-request{height:auto;grid-template-columns:1fr;padding:70px 50px;gap:50px}
  .request-intro p{max-width:560px}
}

@media (max-width:560px){
  body{font-size:16px;line-height:1.48}
  .header-inner{padding:0 30px}
  .hero{min-height:620px}
  .hero-content{margin:0 30px}
  .hero h1{font-size:35px;line-height:1.08}
  .hero-subtitle{font-size:17px}
  .intro-copy{padding:55px 30px 45px}
  .intro h2{text-align:left;font-size:38px;line-height:1.12;margin-bottom:30px;overflow-wrap:anywhere}
  .expertise-intro h3{font-size:24px}
  .counters{grid-template-columns:1fr 1fr;padding:38px 20px}
  .counters dt{font-size:42px}
  .counters dd{font-size:15px}
  .industries{height:auto;min-height:665px;margin-bottom:80px;padding:8px 0 0 30px}
  .slides{height:auto}
  .industry-slide{height:auto;min-height:619px;display:block;padding:40px 30px 35px}
  .industry-slide img,.industry-symbol{width:100px;height:100px;margin-bottom:38px}
  .industry-slide h3{font-size:17px;margin-bottom:10px}
  .industry-slide p{font-size:16px;line-height:1.49}
  .slider-controls>button{display:none}
  .slider-controls{margin-top:27px;padding-left:15px}
  .slider-dots{gap:6px}
  .career{height:626px;background-position:center}
  .career h2{font-size:25px;line-height:1.15;margin-bottom:34px}
  .button-outline{font-size:17px}
  .makers{height:auto;min-height:0;padding:95px 30px 40px;overflow:visible}
  .makers h2{font-size:24px}
  .makers .text-link{display:block;text-align:center;margin-top:40px}
  .vertical-mark{height:150px;top:-180px}
  /* Round 2: let the portrait follow the copy, without an absolute contain-box spacer. */
  .team{height:auto;padding:0 30px}
  .team-card{width:100%;height:auto;border-width:8px;display:flex;flex-direction:column;padding:45px 22px 0;text-align:center;overflow:hidden}
  .team-card>img{position:static;order:2;align-self:center;flex-shrink:0;width:300px;max-width:calc(100% + 44px);height:auto;max-height:none}
  .team-copy{padding:0;color:var(--blue)}
  .team-copy blockquote{font-size:24px;line-height:1.25}
  .team-copy>p{margin-top:32px}
  .team-copy hr{margin:35px auto 24px}
  .team-copy a{font-size:14px}
  .case-studies{min-height:0;padding:80px 30px 70px;display:block}
  .case-studies h2{font-size:24px;margin-bottom:20px}
  .case-copy p{margin-bottom:25px}
  .case-copy nav{gap:23px;margin-top:42px}
  .case-copy nav a{font-size:20px}
  .project-request{height:924px;min-height:0;padding:31px 30px 40px;display:block;overflow:hidden}
  .request-intro h2{font-size:24px}
  .request-intro p{margin-bottom:60px}
  .form-grid{display:block}
  .project-request input:not([type="checkbox"]){height:40px;margin-bottom:20px;padding:0 15px}
  .form-grid label:last-child input{margin-bottom:0}
  .project-request textarea{height:150px;margin-top:20px}
  .project-request .consent{margin:20px 0}
  .project-request button[type="submit"]{margin-top:35px}
  /* Keep the source resting height; allow the local submitted status to fit. */
  .project-request:has([data-form-status]:not(:empty)){height:auto;min-height:924px}
  .site-footer{height:auto;min-height:1131px;padding:60px 30px 25px}
  .footer-logo{width:150px;margin:0 0 50px}
  .footer-grid{display:block}
  .footer-grid>nav,.footer-grid>div{margin-bottom:48px}
  .footer-grid h2{margin-bottom:25px}
  .footer-grid .awards{margin-bottom:33px}
  .footer-grid .awards h2{margin-bottom:10px}
  .footer-grid .awards img{width:300px;max-width:100%;height:auto}
  .socials{width:100%;margin-top:15px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);column-gap:10px}
  .social-icons{width:auto}
  .copyright{margin-top:26px}
}
