:root{
  --red:#ed261c;
  --red-dark:#c51f17;
  --ink:#171c1f;
  --paper:#f1f4f7;
  --muted:#5f686f;
  --line:#cfd5da;
  --max:1420px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:inherit}
button{font:inherit}
a:focus-visible,button:focus-visible{outline:3px solid var(--red);outline-offset:4px}
.skip{position:absolute;z-index:20;left:-9999px;top:8px;background:#fff;padding:12px}
.skip:focus{left:12px}
.container{width:min(calc(100% - 112px),var(--max));margin-inline:auto}
.eyebrow{color:var(--red);font-size:15px;line-height:1.25;font-weight:900;letter-spacing:.065em;text-transform:uppercase}
.site-header{height:98px;background:#fff;position:relative;z-index:5;border-bottom:1px solid #d8dee2}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:40px}
.logo{width:112px;height:68px;flex:0 0 auto;display:flex;align-items:center;line-height:0}
.logo img{display:block;width:100%;height:100%;object-fit:contain}
.nav{display:flex;align-items:center;gap:clamp(34px,6vw,100px)}
.nav a{text-decoration:none;font-size:17px;font-weight:800}
.nav a:hover,.text-link:hover,.service-action:hover{color:var(--red)}
.nav .nav-action{padding:16px 26px;margin-left:clamp(40px,9vw,150px);background:var(--ink);color:#fff;border-radius:3px;white-space:nowrap}
.nav .nav-action:hover{background:var(--red);color:#fff}
.nav-toggle{display:none}
body.menu-open:before{content:"";position:fixed;inset:70px 0 0;background:#10151820;z-index:4}
.hero{height:519px;position:relative;background:linear-gradient(110deg,#f0f3f6 0%,#e9eff4 100%);overflow:hidden}
.hero-grid{height:100%;position:relative}
.hero-copy{position:relative;z-index:2;max-width:690px;padding-top:44px}
.hero h1{margin:26px 0 18px;font-size:clamp(60px,5vw,78px);line-height:.94;letter-spacing:-.06em;font-weight:950;text-transform:uppercase;text-wrap:balance}
.hero h1 em{font-style:normal;color:var(--red)}
.hero p{font-size:clamp(20px,1.55vw,24px);line-height:1.23;margin:0 0 31px;max-width:605px}
.actions{display:flex;align-items:center;gap:52px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;gap:11px;padding:15px 25px;min-height:54px;background:var(--red);color:#fff;border:0;border-radius:0;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%);font-size:18px;line-height:1.2;font-weight:800;text-decoration:none;text-align:center}
.button:hover{background:var(--red-dark)}
.text-link{font-size:18px;font-weight:800;text-decoration:none;white-space:nowrap}
.hero-art{position:absolute;right:calc((100vw - 100%)/-2);top:0;bottom:0;width:65vw;clip-path:polygon(44% 0,100% 0,100% 100%,0 100%);background:var(--red)}
.hero-photo{position:absolute;inset:0;clip-path:polygon(0 0,100% 0,100% 79%,69% 100%,0 100%);background-image:url('assets/first-look-reference.png');background-repeat:no-repeat;background-size:1536px 1024px;background-position:right calc(100vw - 1536px) top -98px}
.dark{background:var(--ink);color:#fff}
.craft{padding:36px 0 35px}
.craft-grid{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(0,1fr);gap:3.4%;align-items:center}
.craft h2{margin:14px 0 22px;font-size:clamp(43px,3.4vw,56px);line-height:1.05;letter-spacing:-.045em}
.service-list{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-right:22px;margin-bottom:23px}
.service-list a{font-size:clamp(20px,1.75vw,27px);font-weight:800;text-decoration:none;white-space:nowrap}
.service-list a:hover{color:#ff514b}
.craft-recruit{border-top:1px solid #a2aaaf;padding-top:21px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.craft-recruit .eyebrow{color:#fff}
.craft-recruit .eyebrow:before{content:"";display:inline-block;width:13px;height:13px;margin-right:12px;background:var(--red);border-radius:50%}
.craft-recruit p{font-size:clamp(21px,2vw,29px);line-height:1.18;font-weight:800;margin:8px 0 0;white-space:nowrap}
.craft-recruit .button{font-size:18px;white-space:nowrap}
.craft-photo{height:279px;background-image:url('assets/first-look-reference.png');background-repeat:no-repeat;background-size:1536px 1024px;background-position:right -68px top -653px}
.section{padding:94px 0}
.intro-head{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:end}
.section h2,.altbau h2,.contact-section h2{font-size:clamp(44px,4vw,64px);line-height:1.02;letter-spacing:-.05em;margin:14px 0 0;text-wrap:balance}
.lead{font-size:21px;line-height:1.47;margin:0 0 4px;max-width:650px}
.line-items{border-top:1px solid var(--line);margin-top:58px}
.line-item{display:grid;grid-template-columns:minmax(240px,.85fr) minmax(0,1.35fr) auto;gap:48px;align-items:baseline;padding:27px 0;border-bottom:1px solid var(--line)}
.line-item strong{font-size:31px;letter-spacing:-.035em}
.line-item p{margin:0;font-size:17px;line-height:1.5;max-width:640px}
.service-action{font-weight:800;text-decoration:none;white-space:nowrap}
.altbau{background:var(--paper);padding:92px 0 100px}
.altbau-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:8%;align-items:end}
.altbau h2{max-width:850px}
.altbau-copy p{font-size:20px;line-height:1.5;margin:0 0 26px;max-width:560px}
.altbau .text-link{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px}
.contact-section{background:#fff;overflow:hidden}
.contact-layout{display:grid;grid-template-columns:1.5fr 1fr}
.contact-project{padding:90px 9% 92px 0}
.contact-jobs{position:relative;background:var(--red);color:#fff;padding:90px 0 92px 10%}
.contact-jobs:after{content:"";position:absolute;left:100%;top:0;bottom:0;width:50vw;background:var(--red)}
.contact-jobs .eyebrow{color:#fff}
.contact-section h2{margin-bottom:28px}
.contact-section p{font-size:18px;line-height:1.53;max-width:560px}
.contact-link{display:inline-block;margin-top:14px;font-size:clamp(23px,2.4vw,36px);font-weight:800;text-decoration-thickness:2px;text-underline-offset:8px}
.contact-jobs .job-links{display:flex;flex-direction:column;align-items:flex-start;gap:17px;margin-top:32px}
.contact-jobs .job-links a{font-size:21px;font-weight:800;text-decoration:none;border-bottom:2px solid #fff;padding-bottom:5px}
.contact-jobs .job-links a:hover{color:var(--ink);border-color:var(--ink)}
.small{color:var(--muted);font-size:14px!important;line-height:1.5!important}
.site-footer{background:#111619;color:#fff;padding:46px 0 88px;border-top:5px solid var(--red)}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.footer-inner a{color:#fff}
.footer-links{display:flex;gap:28px}
.page-hero{background:var(--paper);padding:78px 0 86px}
.page-hero h1{font-size:clamp(46px,5vw,76px);line-height:.98;letter-spacing:-.055em;margin:19px 0 25px;max-width:1000px;text-wrap:balance}
.page-hero p{font-size:21px;line-height:1.45;max-width:690px;margin:0 0 27px}
.job-hero{background:var(--ink);color:#fff;position:relative;overflow:hidden;min-height:500px}
.job-hero .container{position:relative;z-index:2}
.job-hero .eyebrow{color:#ff514b}
.job-hero h1{max-width:720px}
.job-hero h1 em{font-style:normal;color:#ff514b}
.job-hero p{max-width:670px}
.job-hero:after{content:"";position:absolute;inset:0 0 0 auto;width:46%;background:linear-gradient(90deg,var(--ink) 0%,transparent 18%),url('assets/first-look-reference.png') no-repeat left -1640px top -1169px;background-size:auto,2750px auto;clip-path:polygon(32% 0,100% 0,100% 100%,0 100%);opacity:.9}
.job-hero .button{position:relative;z-index:2}
.draft-tag{font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:#a7afb4;margin-top:24px}
.job-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(270px,.65fr);gap:9%;align-items:start}
.job-body h2{font-size:clamp(34px,3.4vw,52px);line-height:1.05;letter-spacing:-.045em;margin:13px 0 23px}
.job-body p,.job-body li{font-size:18px;line-height:1.58}
.job-body p{margin:0 0 22px}
.job-body aside{background:var(--paper);padding:38px}
.job-body aside h2{font-size:30px}
.job-body aside .button{font-size:16px;min-height:48px}
.job-body .small{margin-top:18px}
.legal{max-width:870px}
.legal h1{font-size:clamp(42px,5vw,70px);letter-spacing:-.05em;margin:18px 0}
.legal h2{font-size:29px;letter-spacing:-.03em;margin:34px 0 12px}
.legal p{font-size:18px;line-height:1.63}
.notice{border-left:5px solid var(--red);background:var(--paper);padding:22px 26px;margin:30px 0;line-height:1.5}
.notice strong{display:block;margin-bottom:8px}
.back-link{display:inline-block;margin-top:25px;font-weight:800}
@media(max-width:1280px){
  .nav{gap:34px}
  .nav .nav-action{margin-left:35px}
  .hero-copy{max-width:630px}
  .hero h1{font-size:clamp(57px,5vw,72px)}
  .hero-art{width:62vw}
  .craft-recruit p{white-space:normal}
  .craft-recruit .button{font-size:16px}
}
@media(min-width:801px) and (max-width:1280px){
  .hero-photo{background-size:1613px 1075px;background-position:left -814px top -103px}
}
@media(max-width:1060px){
  .container{width:calc(100% - 56px)}
  .nav{gap:22px}
  .nav .nav-action{margin-left:5px}
  .hero-copy{max-width:58%}
  .hero h1{font-size:clamp(48px,5.3vw,60px)}
  .hero p{font-size:19px}
  .actions{gap:23px}
  .hero-art{width:58vw}
  .craft-grid{grid-template-columns:1fr .83fr}
  .craft h2{font-size:42px}
  .service-list{flex-wrap:wrap;justify-content:flex-start;gap:10px 24px}
  .service-list a{font-size:21px}
  .craft-recruit{align-items:flex-start;flex-direction:column}
  .craft-photo{background-position:right -180px top -653px}
  .line-item{gap:25px}
}
@media(max-width:800px){
  .site-header{height:78px}
  .logo{width:100px;height:61px}
  .nav-toggle{display:block;border:0;background:transparent;color:var(--ink);font-size:29px;line-height:1;cursor:pointer;padding:8px}
  .nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--paper);padding:15px 28px 26px;box-shadow:0 16px 22px #0002;flex-direction:column;align-items:stretch;gap:0}
  .nav.open{display:flex}
  .nav a{padding:14px 0}
  .nav .nav-action{margin:11px 0 0;text-align:center}
  .hero{height:auto;overflow:hidden}
  .hero-grid{height:auto;display:flex;flex-direction:column}
  .hero-copy{max-width:100%;padding:42px 0 30px}
  .hero h1{max-width:650px;font-size:clamp(48px,7.4vw,68px);margin:21px 0}
  .hero p{font-size:20px}
  .hero-art{position:relative;right:auto;top:auto;bottom:auto;width:calc(100% + 56px);height:340px;margin:0 -28px;flex:none;clip-path:polygon(36% 0,100% 0,100% 100%,14% 100%)}
  .hero-photo{background-size:auto 850px;background-position:right -105px top -83px;clip-path:polygon(0 0,100% 0,100% 78%,70% 100%,0 100%)}
  .craft{padding:55px 0}
  .craft-grid{grid-template-columns:1fr}
  .craft-photo{width:100%;height:300px;background-size:1650px 1100px;background-position:right -76px top -701px;margin-top:38px}
  .craft-recruit{flex-direction:row;align-items:center}
  .service-list{justify-content:space-between;flex-wrap:nowrap}
  .intro-head,.altbau-grid{grid-template-columns:1fr;gap:28px}
  .line-item{grid-template-columns:1fr 1.25fr auto}
  .contact-layout{grid-template-columns:1fr 1fr}
  .contact-project{padding-right:8%}
  .contact-jobs{padding-left:8%}
  .job-hero:after{width:52%;opacity:.3}
  .job-hero h1,.job-hero p{max-width:680px}
}
@media(max-width:650px){
  .container{width:calc(100% - 36px)}
  .site-header{height:70px}
  .logo{width:90px;height:55px}
  .nav{top:70px;padding-inline:18px}
  .eyebrow{font-size:13px}
  .hero-copy{padding:34px 0 28px}
  .hero h1{font-size:clamp(43px,10.4vw,58px);line-height:.96;letter-spacing:-.06em;margin:17px 0 17px;max-width:460px}
  .hero p{font-size:17px;line-height:1.3;margin-bottom:24px}
  .actions{gap:17px}
  .button{min-height:49px;padding:13px 17px;font-size:16px}
  .text-link{font-size:16px}
  .hero-art{width:calc(100% + 36px);height:250px;margin:0 -18px;clip-path:polygon(36% 0,100% 0,100% 100%,0 100%)}
  .hero-photo{background-size:auto 660px;background-position:right -170px top -64px}
  .craft{padding:52px 0 58px}
  .craft h2{font-size:clamp(38px,10vw,50px);margin:12px 0 19px}
  .service-list{display:block;padding:0;margin-bottom:23px}
  .service-list a{display:block;padding:10px 0;font-size:23px}
  .craft-recruit{display:block;padding-top:25px}
  .craft-recruit .eyebrow:before{width:10px;height:10px;margin-right:8px}
  .craft-recruit p{font-size:25px;max-width:320px}
  .craft-recruit .button{margin-top:21px}
  .craft-photo{height:190px;background-size:1060px auto;background-position:right -51px top -450px;margin-top:37px}
  .section{padding:68px 0}
  .section h2,.altbau h2,.contact-section h2{font-size:clamp(38px,9.6vw,51px)}
  .lead{font-size:18px}
  .line-items{margin-top:42px}
  .line-item{display:block;padding:24px 0}
  .line-item strong{display:block;font-size:27px}
  .line-item p{font-size:17px;margin:11px 0}
  .service-action{display:inline-block;margin-top:3px}
  .altbau{padding:68px 0}
  .altbau-copy p{font-size:18px}
  .contact-layout{display:block}
  .contact-project{padding:70px 0 72px}
  .contact-jobs{padding:70px 0 74px}
  .contact-jobs:before{content:"";position:absolute;right:100%;top:0;bottom:0;width:50vw;background:var(--red)}
  .contact-jobs .job-links{margin-top:25px}
  .contact-jobs .job-links a{font-size:19px}
  .contact-link{font-size:clamp(23px,7vw,29px)}
  .footer-inner{display:block}
  .footer-links{margin-top:18px;gap:22px}
  .page-hero{padding:61px 0 66px}
  .page-hero h1{font-size:clamp(43px,9vw,58px)}
  .page-hero p{font-size:18px}
  .job-hero{min-height:0;padding-bottom:260px}
  .job-hero:after{top:auto;left:0;right:0;bottom:0;width:100%;height:235px;opacity:.86;clip-path:polygon(25% 0,100% 0,100% 100%,0 100%);background:linear-gradient(90deg,var(--ink) 0%,transparent 14%),url('assets/first-look-reference.png') no-repeat left -800px top -548px;background-size:auto,1330px auto}
  .job-body{grid-template-columns:1fr;gap:38px}
  .job-body aside{padding:28px}
  .job-body h2{font-size:37px}
}
@media(max-width:375px){
  .hero h1{font-size:42px}
  .hero-art{height:220px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
