:root{--bg:#f4f2ed;--ink:#151515;--muted:#6d6b66;--line:#d7d4cc;--soft:#e7e4dc;--max:1380px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Arial,sans-serif;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}.nav{height:78px;position:sticky;top:0;z-index:20;background:rgba(244,242,237,.95);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5.2%}.brand{font-family:Manrope,sans-serif;font-weight:800;font-size:19px}.brand span{color:#777}.nav nav{display:flex;align-items:center;gap:32px;font-size:13px;font-weight:600}.nav nav a{opacity:.72;transition:opacity .2s}.nav nav a:hover{opacity:1}.nav .nav-cta{background:var(--ink);color:#fff;padding:11px 19px;border-radius:999px;opacity:1}.menu{display:none;border:0;background:none;font-size:24px;cursor:pointer}.hero{min-height:calc(100vh - 78px);display:grid;grid-template-columns:1.02fr .98fr}.hero-copy{padding:8% 9.5%;display:flex;flex-direction:column;justify-content:center}.eyebrow,.section-label{font-size:10px;letter-spacing:.14em;font-weight:800;color:#77746e}.hero h1{font-family:Manrope,sans-serif;font-size:clamp(66px,7.5vw,122px);line-height:.86;letter-spacing:-.065em;margin:28px 0 31px;font-weight:800}.hero h1 em{font-style:normal;color:#96958f}.hero-role{font-family:Manrope,sans-serif;font-size:clamp(23px,2.2vw,34px);line-height:1.08;letter-spacing:-.035em;margin:0 0 15px}.lead{max-width:650px;font-size:18px;line-height:1.55;color:#5f5d58;margin:0}.actions{display:flex;align-items:center;gap:27px;margin-top:38px}.button{display:inline-flex;align-items:center;gap:28px;padding:15px 20px 15px 22px;border-radius:999px;font-weight:700;font-size:13px}.button.dark{background:var(--ink);color:#fff}.button span{font-size:19px}.text-link{font-size:13px;font-weight:600;border-bottom:1px solid #8d8b85;padding-bottom:4px}.hero-visual{position:relative;overflow:hidden;background:#dedbd3;min-height:600px}.hero-geometry{position:absolute;inset:-5%;width:110%;height:110%;color:#4f4e49;transform:rotate(-3deg)}.hero-meta{position:absolute;left:10%;right:10%;bottom:9%;background:var(--ink);color:#fff;padding:23px 25px;display:grid;gap:5px}.hero-meta span{font-size:9px;letter-spacing:.13em;color:#aaa}.hero-meta strong{font-family:Manrope,sans-serif;font-size:25px;line-height:1.02}.hero-meta small{font-size:11px;color:#bdbdb7;line-height:1.45}.section{padding:112px 5.2%}.profile{border-top:1px solid var(--line)}.profile-main{display:grid;grid-template-columns:45% 55%;gap:70px;margin-top:44px}.profile h2,.section-heading h2,.career-main>h2,.method-grid h2,.contact h2{font-family:Manrope,sans-serif;font-size:clamp(46px,5.3vw,78px);line-height:.94;letter-spacing:-.055em;margin:0}.profile h2 span,.section-heading h2 span,.career-main>h2 span,.method-grid h2 span,.contact h2 span{color:#96948e}.profile-copy{max-width:780px}.profile-copy p{font-size:17px;line-height:1.68;color:#62605b;margin:0 0 18px}.profile-copy strong{color:var(--ink);font-weight:600}.profile-facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:70px}.profile-facts div{padding:23px 25px 0 0}.profile-facts div+div{border-left:1px solid var(--line);padding-left:25px}.profile-facts strong{display:block;font-family:Manrope,sans-serif;font-size:34px;letter-spacing:-.04em}.profile-facts span{display:block;margin-top:4px;color:#77746e;font-size:11px}.focus{border-top:1px solid var(--line)}.section-heading{display:grid;grid-template-columns:50% 50%;gap:60px;align-items:end;margin:43px 0 60px}.section-heading p{max-width:480px;color:#66635e;margin:0;font-size:15px}.focus-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.focus-item{display:grid;grid-template-columns:170px 1fr;gap:25px;padding:30px 35px 30px 0;border-bottom:1px solid var(--line);min-height:245px;align-items:center}.focus-item:nth-child(even){border-left:1px solid var(--line);padding-left:35px}.focus-item-wide{grid-column:1/-1;border-left:0!important;padding-left:0!important;min-height:205px}.focus-item h3{font-family:Manrope,sans-serif;font-size:24px;letter-spacing:-.03em;margin:0 0 9px}.focus-item p{color:#66635e;font-size:14px;line-height:1.58;margin:0;max-width:560px}.focus-graphic{position:relative;height:150px;background:#e4e1d9;overflow:hidden;color:#55534e}.focus-graphic span{position:absolute;top:12px;left:14px;font-size:9px;letter-spacing:.15em;color:#89867f;z-index:2}.focus-graphic i,.focus-graphic b{position:absolute;display:block}.graphic-plan:before,.graphic-detail:before,.graphic-infra:before,.graphic-bestand:before,.graphic-bim:before{content:"";position:absolute;inset:20px;background:repeating-linear-gradient(0deg,transparent 0 31px,rgba(70,69,65,.12) 32px 33px),repeating-linear-gradient(90deg,transparent 0 42px,rgba(70,69,65,.12) 43px 44px)}.graphic-plan i{width:190px;height:95px;border:1px solid #66645e;left:35px;top:39px;transform:skewX(-18deg)}.graphic-plan b{width:95px;height:1px;background:#55534e;left:75px;top:85px;transform:rotate(-25deg)}.graphic-detail i{width:92px;height:92px;border:1px solid #66645e;left:55px;top:34px}.graphic-detail b{width:130px;height:1px;background:#55534e;left:32px;top:80px;transform:rotate(32deg)}.graphic-infra i{width:240px;height:1px;background:#55534e;left:12px;top:92px;transform:rotate(-22deg)}.graphic-infra b{width:210px;height:1px;background:#55534e;left:20px;top:70px;transform:rotate(18deg)}.graphic-bestand i{width:110px;height:110px;border:1px solid #66645e;border-radius:50%;left:35px;top:20px}.graphic-bestand b{width:1px;height:120px;background:#55534e;left:90px;top:15px;transform:rotate(38deg)}.graphic-bim{max-width:250px}.graphic-bim i{width:80px;height:80px;border:1px solid #66645e;left:45px;top:45px;transform:rotate(30deg) skewX(-10deg)}.graphic-bim b{width:125px;height:1px;background:#55534e;left:22px;top:83px;transform:rotate(-30deg)}.domains{border-top:1px solid var(--line)}.domains-intro{display:grid;grid-template-columns:55% 45%;gap:50px;align-items:end;margin-top:44px}.domains-intro h2{font-family:Manrope,sans-serif;font-size:clamp(54px,7vw,105px);line-height:.83;letter-spacing:-.065em;margin:0}.domains-intro h2 span{color:#96948e}.domains-intro>p{max-width:470px;color:#66635e;margin:0}.domain-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:72px}.domain-grid article{padding:25px 30px 0 0;min-height:210px}.domain-grid article+article{border-left:1px solid var(--line);padding-left:30px}.domain-number{font-size:10px;letter-spacing:.15em;color:#8a8780;margin-bottom:45px}.domain-grid h3{font-family:Manrope,sans-serif;font-size:25px;letter-spacing:-.04em;margin:0 0 9px}.domain-grid p{color:#66635e;font-size:14px;line-height:1.58;margin:0;max-width:420px}.projects{border-top:1px solid var(--line)}.section-heading.project-heading{margin-bottom:54px}.project-heading>div{align-self:end}.portfolio-link{display:inline-flex;gap:15px;margin-top:19px;font-size:12px;font-weight:700;border-bottom:1px solid #8d8b85;padding-bottom:4px}.portfolio-link b{font-size:16px;font-weight:400}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.project{background:#e8e5dd}.project-wide{grid-column:1/-1}.project-image{display:block;height:310px;overflow:hidden;background:#d9d6ce}.project-wide .project-image{height:410px}.project-image svg{display:block;width:100%;height:100%;padding:34px;color:#55534e}.safe-project-visual{background:#dedbd3;position:relative}.safe-project-visual:after{content:"SCHEMATISCHE DARSTELLUNG";position:absolute;right:18px;bottom:14px;font-size:8px;letter-spacing:.16em;color:#89867f;font-weight:800}.safe-project-visual svg{overflow:visible}.project-body{padding:24px 26px 29px}.project-body small{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#77746e;font-weight:800}.project-body h3{font-family:Manrope,sans-serif;font-size:28px;line-height:1.04;letter-spacing:-.04em;margin:9px 0 10px}.project-body p{color:#66635e;font-size:14px;line-height:1.55;max-width:720px;margin:0 0 19px}.project-body p b{color:var(--ink);font-weight:600}.project-body>a{font-size:11px;font-weight:700;border-bottom:1px solid #8d8b85;padding-bottom:4px}.project-note{margin-top:25px;color:#77746e;font-size:12px}.career{border-top:1px solid var(--line)}.career-main{display:grid;grid-template-columns:38% 62%;gap:70px;margin-top:43px}.career-list article{display:grid;grid-template-columns:100px 1fr;gap:25px;border-top:1px solid var(--line);padding:24px 0}.career-list article:last-child{border-bottom:1px solid var(--line)}.career-list>article>span{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#77746e;font-weight:800;padding-top:4px}.career-list h3{font-family:Manrope,sans-serif;font-size:20px;margin:0 0 7px}.career-list p{margin:0;color:#66635e;font-size:14px;line-height:1.55}.working-method{border-top:1px solid var(--line)}.method-grid{display:grid;grid-template-columns:43% 57%;gap:70px;margin-top:44px}.method-copy{max-width:720px}.method-copy>p{color:#66635e;font-size:16px;line-height:1.68;margin:0 0 17px}.method-steps{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);margin-top:45px}.method-steps span{padding:17px 12px 0 0;font-size:11px;color:#66635e}.method-steps span+span{border-left:1px solid var(--line);padding-left:12px}.method-steps b{display:block;color:#88857e;font-size:9px;letter-spacing:.1em;margin-bottom:8px}.personal{padding-top:0}.personal-card{background:var(--ink);color:#fff;padding:58px 7%;display:grid;grid-template-columns:57% 43%;gap:55px;align-items:center}.personal-card .section-label{color:#92908a}.personal-card h2{font-family:Manrope,sans-serif;font-size:clamp(43px,5vw,70px);line-height:.96;letter-spacing:-.055em;margin:17px 0 0}.personal-card h2 span{color:#8f8e88}.personal-card p{color:#c6c6c0;font-size:15px;line-height:1.68;max-width:520px;margin:0}.contact{border-top:1px solid var(--line)}.contact-grid{display:grid;grid-template-columns:52% 48%;gap:60px;margin-top:43px}.contact h2{margin-bottom:27px}.contact-grid>div>p{color:#66635e;max-width:570px;font-size:16px}.contact-links{border-top:1px solid var(--line)}.contact-links>a{display:flex;justify-content:space-between;align-items:center;padding:22px 0;border-bottom:1px solid var(--line);font-size:15px;font-weight:600}.contact-links>a b{font-size:19px;font-weight:400}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:22px 5.2%;font-size:10px;color:#77746e}.legal{min-height:calc(100vh - 78px)}.legal-head{margin:44px 0 58px;display:grid;grid-template-columns:55% 45%;gap:60px;align-items:end}.legal-head h1{font-family:Manrope,sans-serif;font-size:clamp(64px,7vw,108px);line-height:.88;letter-spacing:-.065em;margin:0}.legal-head p{max-width:480px;color:#66635e;font-size:16px;margin:0}.legal-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.legal-card{padding:30px 35px 32px 0;border-bottom:1px solid var(--line)}.legal-card:nth-child(even):not(.full){border-left:1px solid var(--line);padding-left:35px}.legal-card.full{grid-column:1/-1;padding-right:0}.legal-card h2{font-family:Manrope,sans-serif;font-size:24px;letter-spacing:-.035em;margin:0 0 14px}.legal-card p{max-width:900px;color:#66635e;font-size:14px;line-height:1.7;margin:0 0 13px}.legal-card p:last-child{margin-bottom:0}.legal-card a{border-bottom:1px solid #aaa79f}@media(max-width:900px){.nav{height:70px}.nav nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--line);padding:20px 5%;flex-direction:column;align-items:flex-start;gap:20px}.nav nav.open{display:flex}.menu{display:block}.hero{grid-template-columns:1fr}.hero-copy{padding:14% 8% 12%}.hero-visual{min-height:500px}.section{padding:85px 7%}.profile-main,.career-main,.contact-grid,.section-heading,.domains-intro,.method-grid{grid-template-columns:1fr;gap:40px}.profile-facts{margin-top:45px}.focus-list{grid-template-columns:1fr}.focus-item:nth-child(even){border-left:0;padding-left:0}.focus-item-wide{grid-column:auto}.domain-grid{grid-template-columns:1fr;margin-top:45px}.domain-grid article+article{border-left:0;border-top:1px solid var(--line);padding-left:0}.project-grid{grid-template-columns:1fr}.project-wide{grid-column:auto}.project-wide .project-image,.project-image{height:310px}.personal-card{grid-template-columns:1fr;padding:45px 8%;gap:30px}.method-steps{grid-template-columns:1fr 1fr}.method-steps span+span{border-left:0}.legal-head{grid-template-columns:1fr;gap:25px}.legal-grid{grid-template-columns:1fr}.legal-card:nth-child(even):not(.full){border-left:0;padding-left:0}.legal-card{padding-right:0}.legal-card.full{grid-column:auto}}@media(max-width:560px){.hero h1{font-size:59px}.hero-role{font-size:24px}.lead{font-size:17px}.actions{flex-direction:column;align-items:flex-start}.profile-facts{grid-template-columns:1fr}.profile-facts div+div{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:18px;margin-top:18px}.focus-item{grid-template-columns:1fr;min-height:0}.focus-graphic{height:125px}.project-body h3{font-size:25px}footer{flex-direction:column;gap:7px}}
/* Refined technical pictograms and expanded project presentation */
.focus-graphic{display:flex;align-items:center;justify-content:center}
.focus-graphic svg{width:78%;height:78%;color:#5a5852;overflow:visible}
.focus-graphic svg path,.focus-graphic svg circle{fill:none;stroke:currentColor;stroke-width:1.25;vector-effect:non-scaling-stroke}
.focus-graphic svg circle[fill="currentColor"]{fill:currentColor;stroke:none}
.focus-item-wide .focus-graphic{max-width:170px}
.project-grid-expanded .project-body{min-height:205px}
@media(min-width:1100px){.project-grid-expanded{grid-template-columns:1fr 1fr}.project-grid-expanded .project-wide .project-image{height:420px}.project-grid-expanded .project-image{height:340px}}
.portfolio-project-image{display:block;position:relative;background:#dedbd3;overflow:hidden}
.portfolio-project-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;filter:none;transition:transform .35s ease}
.portfolio-project-image:hover img{transform:scale(1.015)}
.project-open{display:inline-block;font-size:11px;font-weight:700;border-bottom:1px solid #8d8b85;padding-bottom:4px}

/* Hero portrait */
.hero-portrait{background:#dedbd3;isolation:isolate}
.hero-portrait .hero-portrait-image{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center 28%}
.hero-portrait:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,15,15,0) 48%,rgba(15,15,15,.12) 100%);pointer-events:none;z-index:0}
.hero-portrait .hero-meta{z-index:1}

/* Real anonymized portfolio previews for focus areas */
.focus-graphic{display:block;position:relative;background:#e4e1d9;overflow:hidden}
.focus-graphic img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center;filter:grayscale(100%);opacity:.94;transition:transform .35s ease}
.focus-graphic:hover img{transform:scale(1.04)}
.focus-graphic span{z-index:2;background:rgba(244,242,237,.86);padding:2px 4px}
.focus-item-wide .focus-graphic{max-width:none}

/* Vector-led focus cards, based on the approved visual direction */
.focus-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;border-top:0;align-items:stretch}
.focus-item,.focus-item:nth-child(even),.focus-item-wide{grid-column:auto;display:flex;flex-direction:column;align-items:stretch;gap:19px;padding:14px 14px 18px;border:1px solid var(--line);min-height:0;background:rgba(255,255,255,.12)}
.focus-item h3{font-size:clamp(15px,1.08vw,20px);line-height:1.13;letter-spacing:-.035em;text-transform:uppercase;margin:0 0 12px}
.focus-item p{font-size:13px;line-height:1.55}
.focus-graphic,.focus-item-wide .focus-graphic{width:100%;max-width:none;height:auto;aspect-ratio:1.55;background:#e9e6de;display:flex;align-items:center;justify-content:center}
.focus-graphic img{width:100%;height:100%;object-fit:contain;padding:5px;filter:none;opacity:1;transition:transform .35s ease}
.focus-graphic:hover img{transform:scale(1.025)}
.focus-graphic span{top:9px;left:10px;background:rgba(244,242,237,.86);padding:2px 4px}
@media(max-width:1150px){.focus-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.focus-list{grid-template-columns:repeat(2,minmax(0,1fr))}.focus-item,.focus-item:nth-child(even),.focus-item-wide{padding:14px}.focus-item h3{font-size:18px}}
@media(max-width:560px){.focus-list{grid-template-columns:1fr}.focus-item,.focus-item:nth-child(even),.focus-item-wide{display:grid;grid-template-columns:1fr;gap:16px}.focus-graphic,.focus-item-wide .focus-graphic{aspect-ratio:1.7}.focus-item h3{font-size:20px}}


/* Focus cards — closer to the approved editorial illustration mockup */
.focus-list{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:16px;
  border-top:0;
  align-items:stretch;
}
.focus-item,
.focus-item:nth-child(even),
.focus-item-wide{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:0;
  min-width:0;
  min-height:0;
  padding:12px 14px 48px;
  border:1px solid var(--line);
  border-left:1px solid var(--line)!important;
  grid-column:auto;
  align-items:stretch;
}
.focus-graphic{
  position:relative;
  width:100%;
  height:auto;
  aspect-ratio:1.27 / 1;
  flex:none;
  overflow:hidden;
  margin:0 0 12px;
  background:transparent;
  color:var(--muted);
}
.focus-graphic span{display:none}
.focus-graphic img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}
.focus-item h3{
  font-family:Manrope,sans-serif;
  font-size:clamp(13px,1vw,17px);
  line-height:1.22;
  letter-spacing:-.025em;
  margin:0 0 12px;
  text-transform:uppercase;
}
.focus-item p{
  color:var(--muted);
  font-size:14px;
  line-height:1.5;
  margin:0;
  max-width:none;
}
.focus-item::before{
  content:"→";
  position:absolute;
  left:14px;
  bottom:13px;
  font-size:25px;
  line-height:1;
  font-weight:300;
}
.focus-item::after{
  content:"";
  position:absolute;
  left:49px;
  right:14px;
  bottom:24px;
  height:1px;
  background:var(--line);
}
@media(max-width:1100px){
  .focus-list{grid-template-columns:repeat(2,minmax(0,1fr));}
  .focus-item h3{font-size:16px}
}
@media(max-width:600px){
  .focus-list{grid-template-columns:1fr;gap:12px}
  .focus-item,.focus-item:nth-child(even),.focus-item-wide{padding:12px 14px 48px}
  .focus-graphic{aspect-ratio:1.35 / 1}
  .focus-item h3{font-size:16px}
}
