@font-face{font-family:"ATB Montserrat";src:url('assets/montserrat-variable.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
:root{--bg:#131212;--gold:#d48901;--gold-dark:#966408;--muted:#815807;--line:#aa7100}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--gold);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:300;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.editorial-link{color:inherit;text-decoration:underline;text-decoration-color:rgba(212,137,1,.55);text-decoration-thickness:1px;text-underline-offset:.15em;transition:text-decoration-color .2s ease}
.editorial-link:hover,.editorial-link:focus-visible{text-decoration-color:currentColor}
.editorial-link:focus-visible{outline:1px solid currentColor;outline-offset:3px}
button,input,textarea{font:inherit}
button{cursor:pointer}
em{font-style:italic}
h1,h2,h3,p,figure,blockquote{margin:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{height:60px;padding:14px 19px;position:fixed;left:0;right:0;top:0;z-index:20;display:flex;align-items:flex-start;justify-content:space-between;pointer-events:none;background:transparent;transition:background-color .25s ease}
.site-header.scrolled{background:var(--bg)}
.site-header>*{pointer-events:auto}
.brand{display:block;width:64px;height:33px;overflow:hidden}
.brand img{width:64px;height:33px;object-fit:contain}
.main-nav{display:flex;gap:8px;align-items:center;height:26px;font-size:10px;font-weight:500;line-height:1}
.main-nav a:hover,.main-nav a:focus-visible{color:#ffc04c}
.main-nav a[aria-current="page"]{color:#ffc04c}
.nav-item{position:relative;display:flex;align-items:center}
.nav-services,.nav-studio{height:60px}
.nav-row{display:flex;align-items:center;gap:2px;height:100%}
.submenu-toggle{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:19px;height:25px;padding:0 3px;border:0;background:transparent;color:var(--gold);font-size:12px;line-height:1}
.submenu-toggle:hover,.submenu-toggle:focus-visible{color:#ffc04c}
.nav-dropdown{display:none;position:absolute;z-index:30;background:var(--bg);border:1px solid var(--gold);box-shadow:0 10px 20px rgba(0,0,0,.28)}
.nav-item.is-open>.nav-dropdown{display:block}
.nav-level-two{top:100%;left:0;width:250px;padding:5px 0}
.nav-level-two .nav-group{display:block;height:40px}
.nav-level-two .nav-row{justify-content:space-between;padding:0 9px}
.nav-level-two a{font-size:12px;font-weight:400;line-height:1.2}
.nav-level-three{right:100%;top:-6px;width:270px;padding:5px 0}
.nav-level-three a{display:block;padding:10px 12px}
.nav-studio-dropdown{top:100%;left:0;width:220px;padding:5px 0}
.nav-studio-dropdown a{display:block;padding:12px 10px;font-size:12px;font-weight:400;line-height:1.2}
.language-label{display:flex;align-items:center;justify-content:center;border:1px solid var(--gold);height:20px;padding:0 5px;margin-left:7px;font-size:10px;font-weight:300}
.menu-toggle{display:none;border:1px solid var(--gold);background:var(--bg);color:var(--gold);font-size:20px;padding:2px 8px}
.nav-group-toggle{display:none}
.home-hero-mobile-break{display:none}
.stage{min-height:540px;position:relative;scroll-margin-top:0}
.content-wrap{width:min(725px,calc(100% - 48px));margin:0 auto}
.button{display:inline-flex;align-items:center;justify-content:center;height:31px;padding:0 13px;border:1px solid var(--gold);color:var(--gold);background:transparent;font-size:10px;font-weight:300;line-height:1;white-space:nowrap}
.button:hover,.button:focus-visible{background:var(--gold);color:var(--bg)}
.button-solid{background:var(--gold);color:var(--bg);font-weight:400}
.button-solid:hover,.button-solid:focus-visible{background:#f0a71c;border-color:#f0a71c}
.hero{min-height:540px;background-image:linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.09) 70%),linear-gradient(0deg,rgba(0,0,0,.58),transparent 46%),var(--hero);background-position:center,center,center 43%;background-size:cover}
.hero-copy{position:absolute;left:22px;bottom:25px}
.hero h1{font-family:"ATB Montserrat",Montserrat,"Helvetica Neue",Arial,sans-serif;font-size:51px;letter-spacing:-.03em;line-height:.99;font-weight:900;font-kerning:none;font-variant-ligatures:none;color:var(--gold)}
.hero p{font-size:15px;font-weight:400;line-height:1.24;margin-top:5px;max-width:410px;color:var(--gold);text-shadow:0 1px 5px rgba(0,0,0,.95)}
.hero-copy .button{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400}
.hero-copy .button:not(.button-solid){background:rgba(0,0,0,.72);color:var(--gold);border-color:var(--gold)}
.hero-copy .button:not(.button-solid):hover,.hero-copy .button:not(.button-solid):focus-visible{background:var(--gold);color:var(--bg)}
.button-group{display:flex;gap:5px;margin-top:19px}
.button-group .button{width:122px}
.intro .content-wrap{padding-top:99px}
.intro p{font-weight:300;font-size:31px;line-height:1.16;letter-spacing:-.9px}
.intro p+p{margin-top:34px}
.intro-target-break{display:none}
.overview .content-wrap{padding-top:117px}
.overview .content-wrap:before{content:"";display:block;width:100%;height:1px;background:rgba(212,137,1,.55);margin-bottom:15px}
.overview h2,.projects h2,.testimonials h2{font-size:31px;font-weight:300;line-height:1.2;letter-spacing:-.7px}
.overview h2,.projects h2{font-weight:200}
.services-overview{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:32px;gap:20px}
.overview-card{display:block;min-width:0;min-height:220px;padding:28px 16px 20px;border:1px solid rgba(212,137,1,.55);border-radius:20px;color:var(--gold);transition:background-color .2s ease,color .2s ease}
.overview-card:hover,.overview-card:focus-visible{background:var(--gold);color:#090909}
.overview-card:focus-visible{outline:2px solid #f4b23a;outline-offset:4px}
.overview-number{display:block;font-size:52px;line-height:.95;font-weight:700;letter-spacing:-2px}
.overview-name{display:block;font-size:16px;font-weight:600;line-height:1.15;margin-top:2px}
.overview-card ul{padding:0;margin:6px 0 0;list-style:none;font-size:12px;font-weight:300;line-height:1.22}
.overview-card li:before{content:"• ";font-size:.9em}
.service-dot{display:block;border:1px solid var(--gold);border-radius:50%;background:radial-gradient(circle at 32% 20%,#74500b,#2b2110 68%,#b97b02 100%);box-shadow:0 0 6px rgba(212,137,1,.45)}
.overview .button{margin-top:26px}
.overview .button{border-color:rgba(212,137,1,.55)}
.projects .content-wrap{padding-top:76px}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:35px}
.project-grid figure{min-width:0}
.project-image{position:relative;overflow:hidden}
.project-image::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.project-grid img{width:100%;height:166px;object-fit:cover;transition:transform .35s ease,filter .35s ease}
.project-grid figure:hover img{transform:scale(1.045);filter:brightness(1.13)}
.project-grid figure:hover .project-image::after{transform:scaleX(1)}
.project-grid figure:nth-child(3) img{object-position:50% 28%}
.project-grid figcaption,.service-entry figcaption,.concept-grid figcaption{font-size:10px;line-height:1.2;margin-top:4px;font-weight:300}
.project-grid figcaption,.project-grid figcaption span{transition:color .25s ease}
.project-grid figure:hover figcaption{color:#f3ad2d}
.project-grid figure:hover figcaption span{color:#b88016}
.project-grid figcaption span,.service-entry figcaption span,.concept-grid figcaption span{display:block;color:var(--muted)}
.projects .button{margin-top:30px}
.testimonials .content-wrap{padding-top:90px}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:28px}
.testimonial-grid blockquote{font-size:12px;line-height:1.23;font-weight:300}
.testimonial-grid footer{font-size:10px;line-height:1.2;margin-top:20px}
.testimonial-grid footer:before{content:"";display:block;width:44%;max-width:210px;height:1px;background:var(--gold);margin-bottom:10px}
.testimonial-grid footer strong{font-weight:500}
.clients .content-wrap{padding-top:90px}
.clients h2,.studio h2,.faq-section h2,.contact-section h2{font-size:31px;line-height:1.1;font-weight:300;letter-spacing:-.7px}
.logo-grid{display:flex;flex-direction:column;gap:27px;margin-top:35px}
.logo-row{display:flex;justify-content:space-between;align-items:center;height:73px;gap:16px}
.logo-grid img{max-width:118px;max-height:58px;object-fit:contain;filter:brightness(0) invert(.7);opacity:.78}
.logo-grid img[src$="kundenlogo-airpower.png"],.logo-grid img[src$="kundenlogo-heide-park-resort.png"]{filter:grayscale(1) brightness(.8)}
.logo-grid img[src$="kundenlogo-airpower.png"]{transform:scale(1.25)}
.logo-grid img[src$="kundenlogo-heide-park-resort.png"]{transform:scale(1.75)}
.studio .content-wrap{padding-top:90px}
.studio p{font-size:12px;line-height:1.23;font-weight:300;margin-top:18px;max-width:720px}
.studio h3{font-size:14px;letter-spacing:3px;margin-top:20px;font-weight:700}
.facts{display:grid;grid-template-columns:repeat(4,136px);gap:23px;margin-top:16px}
.facts>div,.facts>a{border:1px solid var(--gold);height:90px;display:flex;flex-direction:column;justify-content:space-between;padding:7px 6px 6px}
.facts strong{font-size:40px;line-height:1;font-weight:700}
.facts span{font-size:13px;line-height:1.15}
.facts>a{position:relative;justify-content:flex-end}
.facts>a .fact-arrow{position:absolute;top:6px;right:6px;width:28px;height:28px}
.facts>a .fact-arrow svg{display:block;width:100%;height:100%}
.facts>a:hover{background:var(--gold);color:var(--bg)}
.studio-image{display:flex;align-items:center}
.studio-image img{width:100%;height:342px;object-fit:cover;object-position:center}
.faq-section .content-wrap{padding-top:94px}
.faq-columns{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:20px}
.faq-column{border-top:1px solid var(--line)}
.faq-column details{border-bottom:1px solid var(--line);min-height:48px;padding:0 0 0 2px}
.faq-column summary{font-size:10px;line-height:1.2;font-weight:500;min-height:47px;padding:15px 25px 10px 0;position:relative;list-style:none;cursor:pointer}
.faq-column summary::-webkit-details-marker{display:none}
.faq-column summary:after{content:"";position:absolute;width:7px;height:7px;border-right:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);right:9px;top:19px;transform:rotate(45deg)}
.faq-column details[open] summary{min-height:33px;padding-bottom:0}
.faq-column details[open] summary:after{transform:rotate(225deg);top:21px}
.faq-column details p{font-size:10px;line-height:1.2;margin:6px 4px 9px 0;font-weight:300}
.contact-wrap{width:620px;max-width:calc(100% - 48px);margin:0 auto;padding-top:118px;display:grid;grid-template-columns:245px 292px;gap:26px}
.contact-portrait img{width:245px;height:277px;object-fit:cover;object-position:84% 48%}
.contact-portrait figcaption{font-size:10px;line-height:1.2;margin-top:4px}
.contact-portrait figcaption span{color:var(--muted)}
.contact-main h2{white-space:nowrap}
.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:12px;font-size:11px;line-height:1.2}
.contact-details strong{display:block;font-weight:500}
.contact-details a{display:block;white-space:nowrap;font-weight:300}
.contact-details a:hover{text-decoration:underline}
.contact-form{margin-top:16px;display:flex;flex-direction:column;gap:8px}
.contact-form label{display:block;width:100%}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.contact-form input,.contact-form textarea{width:100%;background:transparent;border:1px solid var(--gold);border-radius:0;color:var(--gold);font-size:11px;padding:7px 5px;outline:none}
.contact-form input{height:31px}
.contact-form textarea{height:109px;resize:vertical}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--gold);opacity:1;font-style:italic}
.contact-form input:focus,.contact-form textarea:focus{box-shadow:0 0 0 1px var(--gold)}
.contact-form .button{width:122px}
.footer-symbol{display:block;width:20px;height:auto;margin-top:12px}
.service-list-wrap{width:min(760px,calc(100% - 48px));margin:0 auto;padding-top:97px}
.service-list h1,.concept-content h1{font-size:36px;line-height:1.1;font-weight:700;letter-spacing:-1px;overflow-wrap:anywhere;hyphens:auto}
.service-list-wrap{position:relative}
.service-list-wrap:before{content:"";position:absolute;top:174px;bottom:60px;left:10px;width:1px;background:var(--gold)}
.service-entry{position:relative;padding-left:36px;margin-top:24px;padding-bottom:28px}
.service-dot{width:28px;height:28px;position:absolute;left:-3px;top:2px;z-index:2}
.service-entry-content h2{font-size:31px;line-height:1.12;font-weight:200;letter-spacing:-.025em;margin-bottom:18px}
.service-entry-grid{display:grid;grid-template-columns:360px 335px;gap:47px}
.service-text{font-size:11px;line-height:1.2;font-weight:300}
.service-text p+p{margin-top:14px}
.service-text .button{margin-top:10px;height:28px}
.service-entry figure{padding-top:0}
.service-entry figure img{width:335px;height:225px;object-fit:cover}
.service-entry figcaption{margin-top:7px}
.service-entry+.service-entry{margin-top:22px}
.service-page .contact-section{margin-top:45px}
.concept-wrap{width:min(752px,calc(100% - 48px));margin:0 auto;padding-top:97px}
.summary{border:1px solid var(--gold);font-size:10px;line-height:1.15;padding:9px 8px 9px;margin-top:14px;max-width:703px}
.summary strong{font-weight:500}
.summary ul{margin:0;padding-left:13px}
.concept-wrap>h2{font-size:31px;font-weight:300;margin-top:32px;line-height:1.1}
.concept-grid{display:grid;grid-template-columns:360px 335px;gap:80px;margin-top:20px}
.concept-text{font-size:11px;line-height:1.2}
.concept-text p+p{margin-top:15px}
.concept-text strong{font-weight:500}
.concept-text .button{height:28px;margin-top:11px}
.concept-grid figure{margin-top:-7px}
.concept-grid img{width:335px;height:225px;object-fit:cover}
.concept-grid figcaption{margin-top:6px}
.feature-quote{border:1px solid var(--gold);margin-top:46px;padding:31px 23px 34px;max-width:763px}
.feature-quote p{font-size:20px;line-height:1.21;font-weight:300}
.feature-quote footer{font-size:11px;line-height:1.2;margin-top:13px;padding-top:7px;position:relative}
.feature-quote footer:before{content:"";height:1px;width:102px;background:var(--gold);position:absolute;top:0;left:0}
.feature-quote footer strong{font-weight:500}
.concept-page .faq-section .content-wrap{padding-top:47px}
.concept-page .faq-section{min-height:500px}
.studio-detail .concept-wrap{padding-bottom:74px}
.studio-breadcrumb{display:inline-block;font-size:11px;line-height:1.2;font-weight:500;letter-spacing:.08em;text-transform:uppercase;margin-bottom:19px}
.studio-breadcrumb:hover{text-decoration:underline}
.studio-detail h1{font-size:36px;line-height:1.1;font-weight:700;letter-spacing:-1px}
.studio-lead{font-size:31px;line-height:1.15;font-weight:300;letter-spacing:-.7px;max-width:710px;margin-top:25px}
.studio-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;margin-top:30px}
.studio-grid img{object-fit:cover;object-position:center}
.studio-grid .studio-team-visual img{aspect-ratio:1/1;object-position:84% 48%;height:auto}
.studio-text{font-weight:300}
.studio-sibling-nav{border-top:1px solid var(--line);margin-top:64px;padding-top:18px}
.studio-sibling-nav>span{display:block;font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}
.studio-sibling-nav>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}
.studio-sibling-nav a{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:10px 0;font-size:14px;font-weight:400}
.studio-sibling-nav a:hover,.studio-sibling-nav a[aria-current="page"]{color:#ffc04c}
.contact-section{border-top:1px solid var(--line)}

@media(max-width:780px){
  .site-header{height:65px}
  .menu-toggle{display:block}
  .main-nav{display:none;position:absolute;right:18px;top:54px;background:var(--bg);border:1px solid var(--gold);height:auto;max-height:calc(100svh - 65px);overflow-y:auto;padding:15px;flex-direction:column;align-items:flex-start;gap:15px;font-size:13px;width:min(320px,calc(100vw - 36px))}
  .main-nav.open{display:flex}
  .nav-item,.nav-row{width:100%;height:auto}
  .nav-item{display:block}
  .nav-row{justify-content:space-between;min-height:24px}
  .submenu-toggle{width:28px;height:28px;font-size:16px}
  .nav-dropdown,.nav-level-two,.nav-level-three{position:static;width:auto;box-shadow:none;background:transparent;border:0}
  .nav-level-two{border-left:1px solid var(--line);padding:2px 0 2px 10px;margin:8px 0 0 2px}
  .nav-level-two .nav-group{height:auto}
  .nav-level-two .nav-row{min-height:36px;padding:0}
  .nav-level-two a,.nav-level-three a{font-size:13px}
  .nav-level-three{border-left:1px solid var(--line);padding:2px 0 2px 10px;margin:2px 0 8px 2px}
  .nav-level-three a{padding:8px 0;line-height:1.25}
  .nav-studio-dropdown{position:static;width:auto;box-shadow:none;background:transparent;border:0;border-left:1px solid var(--line);padding:2px 0 2px 10px;margin:8px 0 0 2px}
  .nav-studio-dropdown a{font-size:13px;padding:8px 0}
  .language-label{margin:0}
  .stage{min-height:auto}
  .hero{min-height:100svh}
  .hero h1{font-size:clamp(38px,9vw,51px)}
  .hero-copy{left:22px;right:20px;bottom:35px}
  .hero p{font-size:15px}
  .hero .button{font-size:12px}
  .button-group .button{width:140px}
  .desktop-only{display:none}
  .content-wrap,.service-list-wrap,.concept-wrap{width:calc(100% - 44px)}
  .intro,.overview,.projects,.testimonials,.clients,.studio,.faq-section,.contact-section{padding:64px 0 70px}
  .intro .content-wrap,.overview .content-wrap,.projects .content-wrap,.testimonials .content-wrap,.clients .content-wrap,.studio .content-wrap,.faq-section .content-wrap{padding-top:0}
  .intro p,.overview h2,.projects h2,.testimonials h2,.clients h2,.studio h2,.faq-section h2,.contact-section h2{font-size:clamp(27px,5vw,31px)}
  .services-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .overview-card{min-height:220px}
  .project-grid{gap:16px}
  .project-grid img{height:135px}
  .logo-grid{gap:24px}
  .logo-row{flex-wrap:wrap;height:auto;justify-content:flex-start;gap:20px}
  .logo-row img{max-width:110px}
  .facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .studio-image{height:430px;min-height:0}
  .studio-image img{height:300px}
  .contact-wrap{padding-top:0;width:calc(100% - 44px);grid-template-columns:minmax(180px,245px) minmax(260px,1fr);gap:22px}
  .contact-portrait img{width:100%}
  .contact-main h2{white-space:normal}
  .service-list-wrap,.concept-wrap{padding-top:102px}
  .service-entry-grid,.concept-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:25px}
  .service-entry figure img,.concept-grid img{width:100%;height:auto;aspect-ratio:335/225}
  .service-list-wrap:before{top:170px}
  .feature-quote p{font-size:18px}
  .studio-detail .concept-wrap{padding-bottom:65px}
  .studio-lead{font-size:clamp(27px,5vw,31px)}
}
@media(max-width:580px){
  .service-list h1,.concept-content h1{font-size:clamp(25px,8.2vw,36px)}
  .hero{background-position:54% center}
  .hero h1{letter-spacing:-.03em}
  .intro p+p{margin-top:24px}
  .services-overview{margin-top:28px}
  .services-overview{grid-template-columns:1fr}
  .overview-number{font-size:40px}
  .project-grid,.testimonial-grid{grid-template-columns:1fr;gap:22px}
  .project-grid img{height:auto;aspect-ratio:1.55}
  .project-grid figcaption{font-size:12px}
  .testimonial-grid blockquote{font-size:14px}
  .logo-row img{max-width:95px}
  .studio p{font-size:14px}
  .faq-columns{grid-template-columns:1fr;gap:0}
  .faq-column + .faq-column{border-top:0}
  .faq-column summary,.faq-column details p{font-size:12px}
  .contact-wrap{grid-template-columns:1fr;gap:25px}
  .contact-portrait{max-width:245px}
  .contact-portrait img{height:277px}
  .contact-main{width:min(100%,350px)}
  .service-entry-grid,.concept-grid{grid-template-columns:1fr}
  .service-entry{padding-left:35px}
  .service-entry-content h2{font-size:clamp(27px,5vw,31px)}
  .service-list-wrap:before{bottom:20px}
  .service-text,.concept-text{font-size:13px;line-height:1.35}
  .service-entry figure,.concept-grid figure{max-width:380px}
  .summary{font-size:11px;line-height:1.25}
  .concept-wrap>h2{margin-top:34px}
  .feature-quote{padding:25px 20px}
  .studio-sibling-nav>div{grid-template-columns:1fr}
}

@media(min-width:1024px){
  .site-header{height:86px;padding:20px max(48px,calc((100vw - 1280px)/2));align-items:center}
  .brand,.brand img{width:100px;height:50px}
  .main-nav{height:36px;gap:24px;font-size:15px}
  .nav-services,.nav-studio{height:86px}
  .nav-level-two{width:290px}
  .nav-level-two .nav-group{height:48px}
  .nav-level-two a,.nav-level-three a{font-size:15px}
  .nav-level-three{width:325px}
  .nav-studio-dropdown{width:260px}
  .nav-studio-dropdown a{font-size:15px;padding:15px 14px}
  .language-label{height:27px;padding:0 9px;font-size:12px;margin-left:8px}
  .stage{min-height:max(680px,78svh)}
  .content-wrap,.service-list-wrap,.concept-wrap{width:min(1280px,calc(100% - 96px))}
  .hero{min-height:max(760px,96svh)}
  .hero-copy{left:max(48px,calc((100vw - 1280px)/2));bottom:85px}
  .hero h1{font-size:clamp(70px,4.8vw,92px);letter-spacing:-.03em;line-height:.99}
  .hero p{font-size:15px;line-height:1.3;max-width:720px;margin-top:13px}
  .button{height:44px;padding:0 20px;font-size:14px}
  .button-group{gap:12px;margin-top:25px}
  .button-group .button{width:auto;min-width:190px}
  .intro .content-wrap{padding-top:130px}
  .intro p{font-size:clamp(34px,2.2vw,42px);line-height:1.18;letter-spacing:-.025em}
  .intro p+p{margin-top:45px}
  .overview .content-wrap{padding-top:130px}
  .overview h2,.projects h2,.testimonials h2,.clients h2,.studio h2,.faq-section h2,.contact-section h2{font-size:clamp(36px,2.2vw,44px);letter-spacing:-.025em}
  .overview h2{font-size:clamp(32px,2.5vw,46px)}
  .services-overview{margin-top:32px;gap:20px}
  .overview-card{min-height:230px;padding:60px 17px 8px}
  .overview-number{font-size:54px}
  .overview-name{font-size:18px;margin-top:2px}
  .overview-card ul{font-size:13px;line-height:1.2;margin-top:7px}
  .overview .button{margin-top:32px}
  .projects .content-wrap{padding-top:115px}
  .project-grid{gap:20px;margin-top:44px}
  .project-grid img{height:auto;aspect-ratio:1.46}
  .project-grid figcaption,.service-entry figcaption,.concept-grid figcaption{font-size:14px;line-height:1.3;margin-top:9px}
  .projects .button{margin-top:35px}
  .testimonials .content-wrap,.clients .content-wrap,.studio .content-wrap,.faq-section .content-wrap{padding-top:120px}
  .testimonial-grid{gap:45px;margin-top:45px}
  .testimonial-grid blockquote{font-size:18px;line-height:1.35}
  .testimonial-grid footer{font-size:15px;line-height:1.35;margin-top:24px}
  .logo-grid{gap:42px;margin-top:55px}
  .logo-row{height:100px;gap:30px}
  .logo-grid img{min-width:0;max-width:clamp(105px,9vw,175px);max-height:88px}
  .studio p{font-size:18px;line-height:1.35;max-width:1180px;margin-top:30px}
  .studio h3{font-size:18px;margin-top:30px}
  .facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,2vw,25px);max-width:955px;margin-top:24px}
  .facts>div,.facts>a{height:130px;padding:11px}
  .facts strong{font-size:54px}
  .facts span{font-size:17px}
  .facts>a .fact-arrow{top:9px;right:9px;width:36px;height:36px}
  .studio-image img{height:min(520px,58svh)}
  .faq-columns{gap:50px;margin-top:34px}
  .faq-column details{min-height:62px}
  .faq-column summary{font-size:15px;line-height:1.3;min-height:61px;padding:20px 35px 15px 0}
  .faq-column details[open] summary{min-height:45px}
  .faq-column summary:after{width:9px;height:9px;right:15px;top:25px}
  .faq-column details[open] summary:after{top:27px}
  .faq-column details p{font-size:14px;line-height:1.35;margin:5px 8px 14px 0}
  .contact-wrap{width:min(1000px,calc(100% - 96px));max-width:none;padding-top:145px;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:clamp(30px,4vw,70px)}
  .contact-section{min-height:100svh}
  .contact-portrait img{width:360px;height:410px}
  .contact-portrait figcaption{font-size:15px;margin-top:9px}
  .contact-details{gap:34px;margin-top:21px;font-size:17px}
  .contact-form{margin-top:23px;gap:12px}
  .form-row{gap:16px}
  .contact-form input,.contact-form textarea{font-size:15px;padding:11px 10px}
  .contact-form input{height:46px}
  .contact-form textarea{height:155px}
  .contact-form .button{width:190px}
  .footer-symbol{width:28px;margin-top:15px}
  .service-list-wrap,.concept-wrap{padding-top:135px}
  .service-list h1,.concept-content h1{font-size:52px}
  .service-list-wrap:before{top:235px;left:14px}
  .service-entry{padding-left:55px;margin-top:42px;padding-bottom:68px}
  .service-dot{width:34px;height:34px;left:-3px;top:5px}
  .service-entry-content h2{font-size:clamp(36px,2.2vw,44px);margin-bottom:30px}
  .service-entry-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6vw}
  .service-text,.concept-text{font-size:16px;line-height:1.4}
  .service-text p+p,.concept-text p+p{margin-top:20px}
  .service-text .button,.concept-text .button{height:42px;margin-top:18px}
  .service-entry figure img{width:100%;height:auto;aspect-ratio:692/483}
  .service-entry figcaption{margin-top:10px}
  .service-entry+.service-entry{margin-top:24px}
  .service-page .contact-section{margin-top:90px}
  .summary{font-size:15px;line-height:1.3;padding:18px 20px;max-width:100%;margin-top:24px}
  .summary ul{padding-left:20px}
  .concept-wrap>h2{font-size:42px;margin-top:60px}
  .concept-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7vw;margin-top:34px}
  .concept-grid img{width:100%;height:auto;aspect-ratio:692/483}
  .concept-grid figure{margin-top:-6px}
  .concept-grid figcaption{margin-top:10px}
  .feature-quote{margin-top:80px;max-width:100%;padding:45px 55px}
  .feature-quote p{font-size:28px;line-height:1.3}
  .feature-quote footer{font-size:15px;margin-top:22px}
  .concept-page .faq-section{min-height:max(680px,78svh)}
  .concept-page .faq-section .content-wrap{padding-top:100px}
  .studio-detail .concept-wrap{padding-top:135px;padding-bottom:95px}
  .studio-breadcrumb{font-size:15px;margin-bottom:25px}
  .studio-detail h1{font-size:52px}
  .studio-lead{font-size:clamp(36px,2.2vw,44px);max-width:1000px;margin-top:38px}
  .studio-grid{gap:7vw;margin-top:50px}
  .studio-sibling-nav{margin-top:90px;padding-top:26px}
  .studio-sibling-nav>span{font-size:15px;margin-bottom:18px}
  .studio-sibling-nav a{font-size:19px;padding:15px 0}
}

@media(min-width:1024px){
  .intro,.overview,.projects,.testimonials,.clients,.studio,.faq-section{min-height:0;padding:42px 0 58px}
  .testimonial-grid{width:min(840px,100%);grid-template-columns:repeat(3,minmax(0,250px));margin-left:auto;margin-right:auto}
  .logo-grid{max-width:1050px;margin-left:auto;margin-right:auto;gap:34px}
  .logo-row{height:94px;gap:22px}
  .projects{padding-top:120px}
  .intro .content-wrap,.overview .content-wrap,.projects .content-wrap,.testimonials .content-wrap,.clients .content-wrap,.studio .content-wrap,.faq-section .content-wrap,.concept-page .faq-section .content-wrap{padding-top:0}
  .intro p{max-width:1180px}
  .intro-target-break{display:inline}
  .overview .content-wrap:before{margin-bottom:15px}
  .intro .desktop-only,.overview .desktop-only,.projects .desktop-only,.testimonials .desktop-only{display:none}
  .studio-image{min-height:0;padding:28px 0;display:block}
  .concept-page .faq-section{min-height:0}
}

@media(min-width:781px) and (max-width:1023px){
  .intro,.overview,.projects,.testimonials,.clients,.studio,.faq-section{min-height:0;padding:68px 0 78px}
  .projects{padding-top:100px}
  .intro .content-wrap,.overview .content-wrap,.projects .content-wrap,.testimonials .content-wrap,.clients .content-wrap,.studio .content-wrap,.faq-section .content-wrap{padding-top:0}
  .services-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
  .studio-image{min-height:0;padding:25px 0}
  .concept-page .faq-section{min-height:0}
}

@media(min-width:1024px) and (max-width:1279px){
  .services-overview{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(min-width:781px){
  .intro{min-height:0;--intro-space:clamp(205px,11.5vw,255px);padding:var(--intro-space) 0}
  .overview{padding-bottom:0}
  .intro .content-wrap{width:min(1000px,84vw);margin:0 auto;padding-top:0;text-align:center}
  .intro p{max-width:none;font-size:clamp(34px,3vw,52px);font-weight:200;line-height:1.16;letter-spacing:-.025em}
}

@media(max-width:780px){
  .intro{--intro-space:120px;padding:var(--intro-space) 0}
  .overview{padding-bottom:0}
  .projects{padding-top:90px}
  .intro .content-wrap{text-align:center}
  .intro p{font-size:clamp(27px,6vw,34px);font-weight:200;line-height:1.18;letter-spacing:-.025em}
  .overview .content-wrap:before{margin-bottom:15px}
}

/* Section rules on the homepage follow the width and tone of the overview rule. */
body[data-page="home"] .projects .content-wrap:before,
body[data-page="home"] .testimonials .content-wrap:before,
body[data-page="home"] .clients .content-wrap:before,
body[data-page="home"] .studio .content-wrap:before,
body[data-page="home"] .faq-section .content-wrap:before{
  content:"";
  display:block;
  width:100%;
  height:1px;
  background:rgba(212,137,1,.55);
  margin-bottom:15px;
}
body[data-page="home"] .testimonials h2,
body[data-page="home"] .clients h2,
body[data-page="home"] .studio h2{font-weight:200}
body[data-page="home"]{--home-heading-gap:36px}
body[data-page="home"] .services-overview,
body[data-page="home"] .project-grid,
body[data-page="home"] .testimonial-grid,
body[data-page="home"] .logo-grid,
body[data-page="home"] .studio p{margin-top:var(--home-heading-gap)}
@media(min-width:781px){
  body[data-page="home"]{--home-heading-gap:44px}
}
@media(min-width:1024px){
  body[data-page="home"]{--home-heading-gap:48px}
}

/* Compact, striped navigation panels. */
.site-header:has(.nav-item.is-open){background:var(--bg)}
.nav-mega{background:var(--bg);border:0;border-bottom:1px solid rgba(212,137,1,.55);box-shadow:none}
.nav-services.is-open>.nav-mega,.nav-studio.is-open>.nav-mega{display:block}
.nav-mega .nav-menu-heading{display:block;padding:0 0 12px;border-bottom:1px solid rgba(212,137,1,.55);font-size:14px;font-weight:600;line-height:1.2}
.nav-mega .nav-menu-link{display:block;padding:10px 0;border-bottom:1px solid rgba(212,137,1,.28);font-size:13px;font-weight:300;line-height:1.2}
.nav-mega .nav-menu-link:last-child{border-bottom:0}
.nav-mega .nav-menu-group[data-link-count="3"] .nav-menu-link:last-child{border-bottom:1px solid rgba(212,137,1,.28)}
.nav-mega .nav-menu-footer{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(212,137,1,.55);padding:13px 0 0;font-size:13px;font-weight:400}
.nav-mega .nav-menu-footer span{font-size:18px;line-height:1}
.nav-mega a:hover,.nav-mega a:focus-visible{color:#ffc04c}
.nav-mega a:focus-visible{outline:2px solid #ffc04c;outline-offset:3px}
@media(min-width:781px){
  .nav-services>.nav-mega,.nav-studio>.nav-mega{position:fixed;top:60px;left:0;right:0;transform:none;width:100vw;max-height:calc(100svh - 76px);overflow-y:auto;padding:0}
  .nav-mega-inner{display:grid;width:min(1280px,calc(100% - 96px));margin:0 auto}
  .nav-services .nav-mega-inner{grid-template-columns:repeat(5,minmax(0,1fr));gap:0 24px;padding:24px 0 20px}
  .nav-studio .nav-mega-inner{display:block;width:min(680px,calc(100% - 96px));margin:0 auto;padding:24px 0 20px}
  .nav-studio-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .nav-item.is-open>.nav-row>.submenu-toggle span{display:inline-block;transform:rotate(180deg)}
}
@media(min-width:1024px){
  .nav-services>.nav-mega,.nav-studio>.nav-mega{top:86px;max-height:calc(100svh - 102px)}
}
@media(max-width:780px){
  .site-header{align-items:center}
  .menu-toggle{min-width:38px;height:34px;line-height:1;border-radius:2px}
  .main-nav{position:absolute;top:60px;left:0;right:0;width:100vw;max-height:min(72svh,620px);padding:8px 22px 18px;gap:0;overflow-y:auto;border:0;box-shadow:none;background:var(--bg)}
  .main-nav>.nav-item,.main-nav>a{width:100%;border-bottom:1px solid rgba(212,137,1,.42)}
  .main-nav>.nav-item>.nav-row,.main-nav>a{min-height:52px;display:flex;align-items:center;font-size:16px;font-weight:400}
  .main-nav>.nav-item>.nav-row{justify-content:space-between}
  .main-nav>.nav-item>.nav-row>a{display:flex;align-items:center;min-height:52px;flex:1}
  .main-nav .submenu-toggle{width:42px;height:42px;font-size:18px}
  .main-nav .nav-item.is-open>.nav-row .submenu-toggle span{display:inline-block;transform:rotate(180deg)}
  .nav-services,.nav-studio{height:auto}
  .nav-services>.nav-mega,.nav-studio>.nav-mega{position:static;transform:none;width:100%;max-height:none;overflow:visible;box-shadow:none;border:0;border-top:1px solid rgba(212,137,1,.35);padding:10px 0 15px;background:transparent}
  .nav-mega-inner{display:block;width:100%}
  .nav-menu-group{padding:7px 0 12px}
  .nav-mega .nav-menu-heading{font-size:14px;padding:8px 0 9px;border-bottom:1px solid rgba(212,137,1,.38)}
  .nav-mega .nav-menu-link{font-size:13px;padding:9px 0 9px 12px}
  .nav-mega .nav-menu-footer{padding-top:14px}
  .language-label{margin-top:16px}
}

/* Focused service layout using the visual language of the start page. */
.surface-editorial{overflow:hidden}
.surface-shell{width:min(1280px,calc(100% - 96px));margin-inline:auto}
.surface-hero{position:relative;isolation:isolate;background:#111;background-image:none;color:var(--gold)}
.surface-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;filter:grayscale(1) brightness(.7);z-index:-2}
.surface-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.65),rgba(0,0,0,.08) 75%),linear-gradient(0deg,rgba(0,0,0,.76),transparent 55%)}
.surface-hero .hero-copy{z-index:1}
.surface-hero h1{max-width:min(1120px,calc(100vw - 96px));overflow-wrap:break-word}
.surface-reading{width:min(1280px,calc(100% - 96px));margin-inline:auto}
.surface-summary,.surface-article,.surface-quote,.surface-projects{background:var(--bg)}
.surface-summary{padding:112px 0 0}
.surface-summary .surface-reading,.surface-article .surface-reading{border-top:1px solid rgba(212,137,1,.55);padding-top:24px}
.surface-article .surface-reading{scroll-margin-top:96px}
.surface-copy-grid{display:grid;grid-template-columns:360px minmax(0,1fr);gap:40px;align-items:stretch}
.surface-side-image{aspect-ratio:1.46;overflow:hidden;background:#28231d}
.surface-side-image img{display:block;width:100%;height:100%;object-fit:cover}
.surface-summary .surface-side-image img{object-position:52% center}
.surface-article .surface-side-image img{object-position:38% center}
.surface-summary h2,.surface-article h2{font-size:clamp(36px,2.2vw,44px);font-weight:200;letter-spacing:-.025em;line-height:1.12}
.surface-summary ul{padding-left:24px;margin:32px 0 0}
.surface-summary li{padding-left:7px;margin-top:12px;font-size:18px;font-weight:300;line-height:1.35}
.surface-summary li::marker{color:var(--gold)}
.surface-article{padding:90px 0 25px}
.surface-article p{max-width:1040px;margin-top:30px;font-size:18px;font-weight:300;line-height:1.4}
.surface-quote{padding:0 0 90px}
.surface-quote .surface-shell{border-top:1px solid rgba(212,137,1,.55);padding-top:55px}
.surface-quote blockquote{max-width:1100px;margin-inline:auto;text-align:center;font-size:clamp(34px,3vw,50px);font-weight:200;letter-spacing:-.035em;line-height:1.18}
.surface-quote figcaption{margin-top:24px;text-align:center;font-size:15px;font-weight:300;line-height:1.35}
.surface-quote figcaption::before{content:"";display:block;width:140px;height:1px;margin:0 auto 14px;background:rgba(212,137,1,.55)}
.surface-quote figcaption strong{display:block;font-weight:500}
.surface-quote figcaption span{display:block;font-size:13px}
.surface-projects{--home-heading-gap:36px;padding:0 0 140px}
.surface-projects .content-wrap:before{content:"";display:block;width:100%;height:1px;background:rgba(212,137,1,.55);margin-bottom:15px}
.surface-projects .project-grid{margin-top:var(--home-heading-gap)}
.surface-projects .project-grid .project-image a{display:block;overflow:hidden}
.surface-project-button{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;cursor:zoom-in}
.surface-project-button:focus-visible{outline:2px solid #ffc04c;outline-offset:4px}
@media(min-width:781px){.surface-projects{--home-heading-gap:44px}}
@media(min-width:1024px){.surface-projects{--home-heading-gap:48px}}
.surface-lightbox{width:min(1400px,calc(100vw - 32px));max-height:calc(100svh - 32px);padding:56px 24px 20px;border:1px solid var(--gold);background:var(--bg);color:var(--gold)}
.surface-lightbox::backdrop{background:rgba(0,0,0,.9)}
.surface-lightbox img{display:block;max-width:100%;width:auto;max-height:calc(100svh - 150px);margin:0 auto;object-fit:contain}
.surface-lightbox p{margin-top:12px;font-size:15px;line-height:1.3}
.surface-lightbox-close{position:absolute;top:10px;right:12px;display:flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid var(--gold);background:transparent;color:var(--gold);font-size:27px;line-height:1}
.surface-lightbox-close:hover,.surface-lightbox-close:focus-visible{background:var(--gold);color:var(--bg)}
.surface-editorial .faq-section{border-top:1px solid rgba(212,137,1,.55)}
.surface-related{padding:0 0 100px;background:var(--bg)}
.surface-related .studio-sibling-nav{margin-top:0}
.surface-related h2{margin:0 0 44px;font-size:clamp(36px,2.2vw,44px);font-weight:200;letter-spacing:-.025em;line-height:1.12}
.surface-category-page .surface-category-intro{padding-top:90px}
.surface-category-intro .surface-copy-grid{grid-template-columns:minmax(0,44%) minmax(0,1fr);align-items:start}
.surface-category-intro .surface-side-image{aspect-ratio:1.46;margin-top:clamp(64.32px,calc(2.464vw + 24px),73.28px)}
.surface-category-intro .surface-copy ul{padding-left:24px;margin:24px 0 0}
.surface-category-intro .surface-copy li{padding-left:7px;margin-top:9px;font-size:18px;font-weight:300;line-height:1.35}
.surface-category-intro .surface-copy li::marker{color:var(--gold)}
.surface-category-intro .surface-copy p{margin-top:28px}
.surface-subservice{padding:0 0 76px;background:var(--bg);scroll-margin-top:96px}
.surface-subservice--feature{padding-bottom:42px}
.surface-subservice>.surface-shell{border-top:1px solid rgba(212,137,1,.55);padding-top:24px}
.surface-subservice-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,44%);gap:40px;align-items:start}
.surface-subservice-copy h2{font-size:clamp(36px,2.2vw,44px);font-weight:200;letter-spacing:-.025em;line-height:1.12}
.surface-subservice-copy ul{padding-left:24px;margin:24px 0}
.surface-subservice-copy li{padding-left:7px;margin-top:9px;font-size:18px;font-weight:300;line-height:1.35}
.surface-subservice-copy li::marker{color:var(--gold)}
.surface-subservice-copy p{max-width:840px;font-size:18px;font-weight:300;line-height:1.4}
.surface-subservice-copy .button{margin-top:18px}
.surface-subservice-image{aspect-ratio:1.46;margin-top:clamp(64.32px,calc(2.464vw + 24px),73.28px);overflow:hidden;background:#28231d}
.surface-subservice-image img{width:100%;height:100%;object-fit:cover}
.surface-subservice-quote{border-top:1px solid rgba(212,137,1,.35);margin-top:42px;padding-top:42px;text-align:center}
.surface-subservice-quote blockquote{max-width:1100px;margin-inline:auto;font-size:clamp(32px,2.7vw,48px);font-weight:200;letter-spacing:-.035em;line-height:1.18}
#szenografie-raumkonzepte .surface-subservice-quote blockquote{max-width:820px}
.surface-subservice-quote figcaption{margin-top:24px;font-size:15px;font-weight:300;line-height:1.35}
.surface-subservice-quote figcaption::before{content:"";display:block;width:140px;height:1px;margin:0 auto 14px;background:rgba(212,137,1,.55)}
.surface-subservice-quote figcaption strong,.surface-subservice-quote figcaption span{display:block}
.surface-subservice-quote figcaption strong{font-weight:500}
.surface-subservice-quote figcaption span{font-size:13px}
.surface-subservice-feature-image{margin-top:42px;border-top:1px solid rgba(212,137,1,.35);padding-top:42px}
.surface-subservice-feature-image img{display:block;width:100%;aspect-ratio:2.45;object-fit:cover}
@media(max-width:1120px){
  .surface-copy-grid{grid-template-columns:1fr;gap:28px}
  .surface-side-image{width:min(480px,100%)}
  .surface-category-intro .surface-copy-grid{grid-template-columns:1fr}
  .surface-category-intro .surface-side-image{margin-top:0}
}
@media(max-width:780px){
  .surface-shell,.surface-reading{width:calc(100% - 44px)}
  .surface-related h2{margin-bottom:30px;font-size:clamp(27px,5vw,31px)}
  .surface-hero>img{object-position:55% center}
  .surface-hero h1{font-size:clamp(34px,8.8vw,51px)}
  .surface-hero .service-title-break{display:none}
  .surface-summary{padding-top:78px}
  .surface-summary ul{margin-top:32px}
  .surface-article{padding:76px 0 20px}
  .surface-article p{margin-top:34px}
  .surface-quote{padding-bottom:68px}
  .surface-quote .surface-shell{padding-top:40px}
  .surface-projects{padding-bottom:105px}
  .surface-category-page .surface-category-intro{padding-top:76px}
  .surface-subservice{padding-bottom:68px;scroll-margin-top:72px}
  .surface-subservice--feature{padding-bottom:34px}
  .surface-subservice-grid{grid-template-columns:1fr;gap:28px}
  .surface-subservice-image{width:min(480px,100%);margin-top:0}
  .surface-subservice-quote{margin-top:34px;padding-top:34px}
  .surface-subservice-feature-image{margin-top:34px;padding-top:34px}
}
@media(max-width:580px){
  .surface-hero h1{font-size:clamp(32px,8.8vw,48px)}
  .surface-summary h2,.surface-article h2{font-size:31px}
  .surface-summary li{font-size:16px}
  .surface-article p{font-size:16px;line-height:1.5}
  .surface-quote blockquote{font-size:clamp(27px,6vw,34px)}
  .surface-lightbox{padding:54px 12px 14px}
  .surface-lightbox img{max-height:calc(100svh - 130px)}
  .surface-subservice-copy h2{font-size:31px}
  .surface-subservice-copy li,.surface-subservice-copy p{font-size:16px;line-height:1.5}
  .surface-category-intro .surface-copy li{font-size:16px;line-height:1.5}
  .surface-subservice-quote blockquote{font-size:clamp(27px,6vw,34px)}
}
@media(prefers-reduced-motion:reduce){.project-grid img,.project-image::after,.project-grid figcaption,.project-grid figcaption span{transition:none}}
.project-grid img{height:auto;aspect-ratio:1.46}

@media(min-width:781px){
  body[data-page="home"] .testimonial-grid{width:min(1050px,100%);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;margin-left:auto;margin-right:auto;column-gap:56px;row-gap:48px}
  body[data-page="home"] .testimonial-grid>blockquote{grid-column:1 / -1}
  body[data-page="home"] .testimonial-grid blockquote{display:flex;flex-direction:column}
  body[data-page="home"] .testimonial-grid>blockquote{font-size:26px;line-height:1.35}
  body[data-page="home"] .testimonial-stack blockquote{font-size:16px;line-height:1.35}
  body[data-page="home"] .testimonial-grid footer{margin-top:20px;padding-top:0}
  body[data-page="home"] .testimonial-stack{display:contents}
body[data-page="home"] .studio .facts{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* Leistungen overview: section rules instead of the vertical timeline. */
.service-page .service-list-wrap:before,
.service-page .service-dot{display:none}
.service-page .service-entry{padding-left:0;padding-top:20px;border-top:1px solid rgba(212,137,1,.55)}
.service-page .service-project-card .project-image a{display:block;overflow:hidden}
.service-page .service-project-card img{transition:transform .35s ease,filter .35s ease}
.service-page .service-project-card:hover img,.service-page .service-project-card:focus-within img{transform:scale(1.045);filter:brightness(1.13)}
.service-page .service-project-card:hover .project-image::after,.service-page .service-project-card:focus-within .project-image::after{transform:scaleX(1)}
.service-page .service-project-card figcaption,.service-page .service-project-card figcaption span{transition:color .25s ease}
.service-page .service-project-card:hover figcaption,.service-page .service-project-card:focus-within figcaption{color:#f3ad2d}
.service-page .service-project-card:hover figcaption span,.service-page .service-project-card:focus-within figcaption span{color:#b88016}
@media(prefers-reduced-motion:reduce){.service-page .service-project-card img,.service-page .service-project-card figcaption,.service-page .service-project-card figcaption span{transition:none}}
@media(min-width:1024px){
  .service-page .service-entry-grid{grid-template-columns:minmax(0,1fr) minmax(0,360px);gap:clamp(40px,5vw,80px)}
  .service-page .service-entry figure img{aspect-ratio:1.6}
  .service-page .service-entry{padding-bottom:34px}
  .service-page .service-entry-content h2{margin-bottom:22px}
  .service-page .service-entry+.service-entry{margin-top:18px}
}
@media(max-width:780px){
  body[data-page="home"] .testimonial-stack{display:grid;gap:22px}
}
body[data-page="home"] .clients .content-wrap{border-top:1px solid rgba(212,137,1,.55);padding-top:15px}
body[data-page="home"] .clients .content-wrap:before{display:none}
body[data-page="home"] .studio p,
body[data-page="home"] .studio h3,
body[data-page="home"] .studio .facts{width:min(1050px,100%);max-width:none;margin-left:auto;margin-right:auto}
/* Studio team: six editorial profile slots in the site's black-and-gold system. */
.team-section{padding:150px 0 110px}
.team-wrap{width:min(1280px,calc(100% - 48px));margin:0 auto}
.team-intro{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:end;border-top:1px solid var(--line);padding-top:34px;margin-bottom:52px}
.team-intro h1{font-size:clamp(44px,4.4vw,72px);font-weight:200;letter-spacing:-.045em;line-height:1.05}
.team-intro p{max-width:560px;font-size:clamp(16px,1.35vw,21px);line-height:1.4;font-weight:300}
.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.team-card{position:relative;min-width:0;overflow:hidden;background:#1b1815;border-radius:14px}
.team-card-media{position:relative;aspect-ratio:1/1.08;overflow:hidden;border-radius:14px}
.team-card-media img{width:100%;height:100%;object-fit:cover;object-position:62% 42%}
.team-card-media img[src$="johannes-lange.jpg"]{filter:grayscale(1)}
.team-card.is-placeholder .team-card-media{background:linear-gradient(145deg,#211b13,#171514 56%,#251c0c)}
.team-card-initials{position:absolute;top:16px;left:18px;font-size:clamp(46px,5.5vw,88px);line-height:1;font-weight:200;color:rgba(212,137,1,.38);letter-spacing:.02em}
.team-card-label{position:absolute;left:13px;right:13px;bottom:13px;padding:13px 16px 12px;background:rgba(19,18,18,.94);border-radius:10px}
.team-card-label h2{font-size:clamp(17px,1.35vw,21px);line-height:1.2;font-weight:500}
.team-card-label p{font-size:clamp(13px,1.05vw,16px);line-height:1.25;margin-top:3px;font-weight:300}
.team-page .studio-sibling-nav{margin-top:90px}
@media(max-width:1023px){
  .team-section{padding:105px 0 75px}
  .team-intro{grid-template-columns:1fr;gap:18px;margin-bottom:32px;padding-top:24px}
  .team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .team-card-label{left:8px;right:8px;bottom:8px;padding:10px}
  .team-page .studio-sibling-nav{margin-top:65px}
}
@media(max-width:520px){
  .team-grid{grid-template-columns:1fr;gap:18px}
  .team-card-media{aspect-ratio:1/1.02}
  .team-card-label h2{font-size:19px}
  .team-card-label p{font-size:14px}
}

/* Studio: one page with anchored sections. */
.studio-unified .studio-shell{width:min(1280px,calc(100% - 48px));margin-inline:auto}
.studio-unified-intro{padding:140px 0 52px}
.studio-unified-intro h1{font-size:clamp(44px,4.1vw,60px);font-weight:700;letter-spacing:-.04em;line-height:1}
.studio-unified-lead{margin-top:40px;font-size:clamp(36px,2.7vw,48px);font-weight:200;letter-spacing:-.035em;line-height:1.15}
.studio-unified-intro-grid,.studio-unified-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(36px,5.5vw,86px);align-items:start}
.studio-unified-intro-grid{margin-top:42px}
.studio-unified-copy p,.studio-unified-feature-copy>p:not(.studio-unified-feature-lead):not(.studio-unified-subtitle){font-size:18px;font-weight:300;line-height:1.4}
.studio-unified-copy p+p,.studio-unified-feature-copy>p+p{margin-top:20px}
.studio-unified-copy .button{height:44px;min-width:190px;margin-top:26px;font-size:14px}
.studio-unified-visual{min-width:0}
.studio-unified-visual img{width:100%;aspect-ratio:1.45;object-fit:cover}
.studio-unified-intro .studio-unified-visual img{object-position:50% 50%}
.studio-unified-visual figcaption,.studio-unified-map figcaption{margin-top:9px;font-size:14px;font-weight:300;line-height:1.3}
.studio-unified-map a:hover,.studio-unified-map a:focus-visible{color:#ffc04c}
.studio-unified-section{padding:0 0 110px;scroll-margin-top:96px}
.studio-unified-section>.studio-shell{border-top:1px solid var(--line);padding-top:28px}
.studio-unified-section h2{font-size:clamp(36px,2.2vw,44px);font-weight:200;letter-spacing:-.025em;line-height:1.12}
.studio-unified-team .team-intro{display:block;border:0;padding:0;margin-bottom:34px}
.studio-unified-team .team-intro p{font-size:18px}
.team-card-label h3{font-size:clamp(17px,1.35vw,21px);line-height:1.2;font-weight:500}
.studio-unified-feature-copy{min-width:0}
.studio-unified-feature-lead{margin-top:22px;font-size:clamp(28px,2.4vw,38px);font-weight:200;letter-spacing:-.03em;line-height:1.18}
.studio-unified-feature-copy>p:not(.studio-unified-feature-lead):not(.studio-unified-subtitle){margin-top:25px}
.studio-unified-awards-grid{margin-top:36px}
.studio-unified-awards-grid h3{font-size:clamp(36px,2.2vw,44px);font-weight:200;letter-spacing:-.025em;line-height:1.12}
.studio-unified-awards-grid .studio-unified-feature-copy>p{font-size:18px;line-height:1.35}
.studio-award-image{display:block;width:min(220px,60%);height:auto;margin-top:28px}
.studio-unified-map{min-width:0}
.studio-unified-map-panel{position:relative;width:100%;aspect-ratio:1.45;overflow:hidden;border:1px solid var(--line);background:#211c15}
.studio-unified-map-tiles{position:absolute;left:calc(50% - 421px);top:calc(50% - 424px);width:768px;height:768px;filter:grayscale(1) sepia(.58) brightness(.78) contrast(1.08)}
.studio-unified-map-tiles img{position:absolute;width:256px;height:256px;max-width:none}
.studio-unified-map-pin{position:absolute;left:50%;top:50%;width:23px;height:23px;transform:translate(-50%,-50%);border:4px solid #161310;border-radius:50%;background:var(--gold);box-shadow:0 0 0 8px rgba(212,137,1,.25),0 2px 18px rgba(0,0,0,.75)}
.studio-unified-map-attribution{position:absolute;top:8px;right:8px;padding:5px 7px;background:rgba(19,18,18,.9);font-size:11px;line-height:1.2}
.studio-unified-map-label{position:absolute;left:15px;right:15px;bottom:15px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 14px;border:1px solid rgba(212,137,1,.55);background:rgba(19,18,18,.94);font-size:14px;line-height:1.25}
.studio-unified-map-label strong{font-weight:500;letter-spacing:.05em}
.studio-unified-map-label a{white-space:nowrap;text-decoration:underline;text-underline-offset:3px}

/* Projektübersicht */
.project-archive-shell{width:min(1280px,calc(100% - 48px));margin-inline:auto}
.project-archive-header{padding:97px 0 24px}
.project-archive-header h1{font-size:36px;font-weight:700;letter-spacing:-1px;line-height:1.1}
.project-archive-list{border-top:1px solid var(--line);padding:26px 0 130px}
.project-archive-list h2{font-size:clamp(36px,2.2vw,44px);font-weight:200;letter-spacing:-.025em;line-height:1.12}
.project-filters{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:42px 0 34px}
.project-filters label{position:relative;display:block;min-width:225px}
.project-filters select{width:100%;height:46px;appearance:none;border:1px solid var(--line);border-radius:0;padding:0 40px 0 14px;background:var(--bg);color:var(--gold);font-size:15px;font-weight:300;cursor:pointer}
.project-filters label:after{content:"";position:absolute;right:16px;top:19px;width:7px;height:7px;border-right:1px solid var(--gold);border-bottom:1px solid var(--gold);transform:rotate(45deg);pointer-events:none}
.project-filters select:hover,.project-filters select:focus-visible{border-color:#f4b23a;outline:0}
.project-filter-count{margin-left:auto;font-size:14px;font-weight:300}
.project-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:20px;row-gap:54px}
.project-archive-card{min-width:0}
.project-archive-card .surface-project-button{display:block;width:100%;overflow:hidden}
.project-archive-card .project-archive-link{display:block;width:100%;overflow:hidden}
.project-archive-card img{width:100%;aspect-ratio:1.46;object-fit:cover;transition:transform .35s ease,filter .35s ease}
.project-archive-card:hover img,.project-archive-card:focus-within img{transform:scale(1.045);filter:brightness(1.13)}
.project-archive-card:hover .project-image::after,.project-archive-card:focus-within .project-image::after{transform:scaleX(1)}
.project-archive-card figcaption{margin-top:10px;font-size:17px;font-weight:300;line-height:1.3}
.project-archive-card figcaption span{display:block;color:var(--muted)}
.project-archive-card figcaption,.project-archive-card figcaption span{transition:color .25s ease}
.project-archive-card:hover figcaption,.project-archive-card:focus-within figcaption{color:#f3ad2d}
.project-archive-card:hover figcaption span,.project-archive-card:focus-within figcaption span{color:#b88016}
.project-archive-placeholder{min-width:0;aspect-ratio:1.46;display:flex;flex-direction:column;justify-content:space-between;padding:23px;border:1px solid rgba(212,137,1,.38);background:linear-gradient(145deg,#201b13,#161412 65%)}
.project-archive-placeholder span{font-size:clamp(50px,5vw,76px);font-weight:200;line-height:1;letter-spacing:-.05em;color:rgba(212,137,1,.52)}
.project-archive-placeholder p{font-size:16px;font-weight:300}
.project-archive--without-extras .project-filters,
.project-archive--without-extras .project-archive-placeholder{display:none!important}
.project-archive--without-extras .project-archive-grid{margin-top:42px}
.project-filter-empty{padding:40px 0;font-size:18px}
.project-archive [hidden]{display:none!important}
@media(max-width:1023px){
  .project-archive-header{padding-top:102px}
  .project-archive-grid{gap:36px 16px}
  .project-archive-card figcaption{font-size:15px}
}
@media(min-width:1024px){
  .project-archive-header{padding:135px 0 42px}
  .project-archive-header h1{font-size:52px}
}
@media(max-width:780px){
  .project-archive-header{padding:97px 0 24px}
  .project-archive-list{padding-bottom:80px}
  .project-archive-list h2{font-size:clamp(27px,5vw,31px)}
  .project-filters{gap:10px;margin:30px 0 28px}
  .project-archive--without-extras .project-archive-grid{margin-top:30px}
  .project-filters label{flex:1 1 190px;min-width:0}
  .project-filter-count{flex-basis:100%;margin-left:0}
  .project-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 14px}
}
@media(max-width:520px){
  .project-archive-header h1{font-size:clamp(25px,8.2vw,36px)}
  .project-archive-grid{grid-template-columns:1fr;gap:30px}
  .project-archive-placeholder{aspect-ratio:1.65}
}
@media(max-width:1023px){
  .studio-unified-intro{padding-top:112px}
  .studio-unified-intro-grid,.studio-unified-feature-grid{gap:32px}
  .studio-unified-section{padding-bottom:78px;scroll-margin-top:76px}
  .studio-unified-copy p,.studio-unified-feature-copy>p:not(.studio-unified-feature-lead):not(.studio-unified-subtitle),.studio-unified-awards-grid .studio-unified-feature-copy>p:not(.studio-unified-subtitle){font-size:16px}
}
@media(max-width:780px){
  .studio-unified-intro{padding:98px 0 45px}
  .studio-unified-lead{margin-top:26px;font-size:clamp(29px,6vw,38px)}
  .studio-unified-intro-grid,.studio-unified-feature-grid{grid-template-columns:1fr;gap:26px}
  .studio-unified-intro-grid{margin-top:32px}
  .studio-unified-section{padding-bottom:68px;scroll-margin-top:72px}
  .studio-unified-section>.studio-shell{padding-top:22px}
  .studio-unified-section h2{font-size:clamp(27px,5vw,31px)}
  .studio-unified-team .team-intro{margin-bottom:30px}
  .studio-unified-awards-grid{margin-top:27px}
  .studio-unified-location-grid .studio-unified-map{margin-top:5px}
}
@media(max-width:520px){
  .team-card-label h3{font-size:19px}
  .studio-unified-intro h1{font-size:43px}
  .studio-unified-lead{font-size:29px}
  .studio-unified-visual figcaption,.studio-unified-map figcaption{font-size:12px}
  .studio-unified-map-label{left:8px;right:8px;bottom:8px;flex-direction:column;align-items:flex-start;gap:5px;padding:8px 10px;font-size:12px}
}

/* Case Studies teilen sich eine feste, fünfteilige redaktionelle Struktur. */
.case-study-shell{width:min(1280px,calc(100% - 48px));margin-inline:auto}
.case-study-hero>img{object-position:center 46%}
.case-study-hero .hero-copy{max-width:min(1040px,calc(100% - 48px))}
.case-study-hero .case-study-kicker{margin:0 0 20px;font-size:14px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.case-study-hero h1{max-width:980px}
.case-study-hero .hero-copy>p:not(.case-study-kicker){max-width:850px;margin-top:20px;font-size:18px}
.case-study-back{padding:48px 0 38px;font-size:14px}
.case-study-back a:hover,.case-study-back a:focus-visible,.case-study-all:hover,.case-study-all:focus-visible{color:#ffc04c}
.case-study-summary{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(40px,5vw,76px);align-items:start;padding:42px 0 76px;border-top:1px solid var(--line);scroll-margin-top:86px}
.case-study-summary--text-only{display:block}
.case-study-summary--text-only .case-study-summary-copy{max-width:900px}
.case-study-summary-copy h2{font-size:clamp(33px,2.7vw,46px);font-weight:200;letter-spacing:-.035em;line-height:1.12}
.case-study-summary-copy ul{margin-top:38px;padding-left:20px}
.case-study-summary-copy li{font-size:17px;font-weight:300;line-height:1.48}
.case-study-summary-copy li+li{margin-top:16px}
.case-study-summary-visual{min-width:0;margin-top:86px}
.case-study-summary-visual img{display:block;width:100%;aspect-ratio:1.42;object-fit:cover}
.case-study-section{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(40px,5vw,76px);align-items:start;padding:42px 0 76px;border-top:1px solid var(--line);scroll-margin-top:86px}
.case-study-section:last-child{border-bottom:1px solid var(--line)}
.case-study-section--challenges,.case-study-section--results{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}
.case-study-section--text-only,.case-study-section--challenges.case-study-section--text-only,.case-study-section--results.case-study-section--text-only{display:block}
.case-study-section--text-only .case-study-section-copy{max-width:900px}
.case-study-section--challenges .case-study-section-visuals,.case-study-section--results .case-study-section-visuals{grid-column:1;grid-row:1}
.case-study-section--challenges .case-study-section-copy,.case-study-section--results .case-study-section-copy{grid-column:2;grid-row:1}
.case-study-section-copy,.case-study-section-visuals{min-width:0}
.case-study-section-copy h2{font-size:clamp(33px,2.7vw,46px);font-weight:200;letter-spacing:-.035em;line-height:1.12}
.case-study-blocks{margin-top:38px}
.case-study-block+.case-study-block{margin-top:26px}
.case-study-block h3{font-size:17px;font-weight:600;line-height:1.35}
.case-study-block p,.case-study-block li{font-size:17px;font-weight:300;line-height:1.48}
.case-study-block p,.case-study-block ul{margin-top:9px}
.case-study-block p+p{margin-top:14px}
.case-study-block ul{padding-left:20px}
.case-study-block li+li{margin-top:8px}
.case-study-block li strong{font-weight:600}
.case-study-block li p{margin-top:4px}
.case-study-block li:has(>p)+li{margin-top:16px}
.case-study-section-visuals{display:grid;gap:32px;align-content:start;margin-top:86px}
.case-study-section-visual{min-width:0;margin:0}
.case-study-section-media{overflow:hidden;background:#211c15}
.case-study-section-media img{width:100%;aspect-ratio:1.42;object-fit:cover}
.case-study-section-visual:nth-child(n+2) img{transform:none}
body[data-case-study="tate-modern"] .case-study-section--challenges img{transform:scale(1.35);transform-origin:75% 40%}
body[data-case-study="tate-modern"] .case-study-section--challenges .case-study-section-visual:nth-child(n+2) img{transform:none}
body[data-case-study="tate-modern"] .case-study-section--conclusion img{transform:scale(1.12);transform-origin:69% 47%}
.case-study-summary-visual figcaption,.case-study-section-visual figcaption{margin-top:10px;color:var(--muted);font-size:14px;line-height:1.3}
.case-study-quote{padding:72px clamp(0px,6vw,100px);border-top:1px solid var(--line)}
.case-study-quote blockquote{margin:0}
.case-study-quote blockquote p{font-size:clamp(26px,2.7vw,42px);font-weight:200;line-height:1.3;letter-spacing:-.025em}
.case-study-quote blockquote footer{margin-top:28px;font-size:16px;font-weight:600}
.case-study-related{padding:74px 0 130px}
.case-study-related h2,.case-study-pending h2{font-size:clamp(33px,2.7vw,46px);font-weight:200;letter-spacing:-.035em;line-height:1.12}
.case-study-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:48px}
.case-study-related-card{min-width:0}
.case-study-related-card .project-image a{display:block;overflow:hidden}
.case-study-related-card img{width:100%;aspect-ratio:1.46;object-fit:cover;transition:transform .35s ease,filter .35s ease}
.case-study-related-card:hover img,.case-study-related-card:focus-within img{transform:scale(1.045);filter:brightness(1.13)}
.case-study-related-card:hover .project-image::after,.case-study-related-card:focus-within .project-image::after{transform:scaleX(1)}
.case-study-related-card figcaption{margin-top:10px;font-size:17px;font-weight:300;line-height:1.3}
.case-study-related-card figcaption span{display:block;color:var(--muted)}
.case-study-related-card:hover figcaption,.case-study-related-card:focus-within figcaption{color:#f3ad2d}
.case-study-related-card:hover figcaption span,.case-study-related-card:focus-within figcaption span{color:#b88016}
.case-study-related-overview{display:flex;align-items:flex-end;min-width:0;aspect-ratio:1.46;padding:25px;border:1px solid var(--line);background:linear-gradient(135deg,#242017,#171411 72%);font-size:clamp(26px,2.2vw,38px);font-weight:200;letter-spacing:-.035em;line-height:1.1;transition:background .25s ease,border-color .25s ease}
.case-study-related-overview:hover,.case-study-related-overview:focus-visible{border-color:#f3ad2d;background:linear-gradient(135deg,#3a2a13,#20180d 72%)}
.case-study-related-overview span span{display:inline-block;margin-left:8px}
.case-study-pending{min-height:240px;padding:42px 0 70px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.case-study-unavailable{padding:180px 0 100px}
.case-study-unavailable h1{margin-bottom:30px;font-size:42px}
@media(max-width:1023px){
  .case-study-section,.case-study-section--challenges,.case-study-section--results{gap:30px}
  .case-study-section-visuals,.case-study-summary-visual{margin-top:74px}
}
@media(max-width:780px){
  .case-study-hero .hero-copy>p:not(.case-study-kicker){font-size:16px}
  .case-study-hero .case-study-kicker{font-size:11px;margin-bottom:15px}
  .case-study-back{padding:34px 0 30px}
  .case-study-summary{grid-template-columns:1fr;gap:28px;padding:36px 0 58px}
  .case-study-summary-copy ul{margin-top:28px}
  .case-study-summary-visual{margin-top:0}
  .case-study-section,.case-study-section--challenges,.case-study-section--results{grid-template-columns:1fr;gap:30px;padding:36px 0 58px}
  .case-study-section--challenges .case-study-section-visuals,.case-study-section--challenges .case-study-section-copy,.case-study-section--results .case-study-section-visuals,.case-study-section--results .case-study-section-copy{grid-column:auto;grid-row:auto}
  .case-study-blocks{margin-top:28px}
  .case-study-section-visuals{margin-top:0}
  .case-study-quote{padding:58px 0}
  .case-study-related{padding:58px 0 90px}
  .case-study-related-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 14px;margin-top:32px}
  .case-study-related-overview{grid-column:1/-1;min-height:150px;aspect-ratio:auto}
}
@media(max-width:520px){
  .case-study-hero h1{font-size:clamp(38px,9vw,51px)}
  .case-study-section-copy h2{font-size:31px}
  .case-study-summary-copy li{font-size:16px}
  .case-study-block p,.case-study-block li{font-size:16px}
  .case-study-related-grid{grid-template-columns:1fr}
  .case-study-related-overview{min-height:150px}
}

/* Gemeinsamer Seitenabschluss */
.site-footer{border-top:1px solid var(--line);background:#0e0d0c;color:var(--gold)}
.site-footer-inner{width:min(1280px,calc(100% - 48px));margin-inline:auto;padding:62px 0 24px}
.site-footer-grid{display:grid;grid-template-columns:1.35fr 1.3fr .8fr 1.2fr;gap:clamp(28px,3.4vw,64px)}
.site-footer-brand{display:inline-block;width:120px}
.site-footer-brand img{width:100%;height:auto}
.site-footer-about p{max-width:285px;margin-top:28px;font-size:17px;font-weight:300;line-height:1.4}
.site-footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0}
.site-footer-column h2{margin-bottom:12px;font-size:18px;font-weight:600;line-height:1.2}
.site-footer-column>a:not(.site-footer-cta){font-size:15px;font-weight:300;line-height:1.3;text-underline-offset:4px}
.site-footer-column>a:not(.site-footer-cta):hover,.site-footer-column>a:not(.site-footer-cta):focus-visible{text-decoration:underline;color:#f4b23a}
.site-footer-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:44px;padding:10px 13px;margin-bottom:11px;border:1px solid var(--gold);background:var(--gold);color:#131212;font-size:15px;font-weight:500;line-height:1.2;transition:background-color .2s ease,border-color .2s ease}
.site-footer-cta:hover,.site-footer-cta:focus-visible{background:#f4b23a;border-color:#f4b23a}
.site-footer-bottom{display:flex;justify-content:space-between;gap:24px;margin-top:64px;padding-top:18px;border-top:1px solid rgba(212,137,1,.45);font-size:13px;font-weight:300;line-height:1.3;color:#b77b15}
.site-footer-bottom a:hover,.site-footer-bottom a:focus-visible{text-decoration:underline;color:#f4b23a}
.imprint-shell{width:min(1280px,calc(100% - 48px));margin-inline:auto;padding:150px 0 120px}
.imprint-shell h1{font-size:clamp(42px,4vw,58px);font-weight:700;line-height:1.1}
.imprint-content{max-width:780px;margin-top:58px;border-top:1px solid var(--line)}
.imprint-content section{padding:27px 0;border-bottom:1px solid rgba(212,137,1,.35)}
.imprint-content h2{margin-bottom:12px;font-size:clamp(20px,2vw,26px);font-weight:300;line-height:1.25}
.imprint-content p,.imprint-content address{font-size:17px;font-weight:300;line-height:1.65;font-style:normal}

/* Nur Fließtext auf Inhaltsseiten vereinheitlichen; Zeilenabstände bleiben wie gestaltet. */
.service-page .service-text p,
.surface-category-page .surface-article p,
.surface-category-page .surface-subservice-copy p,
.surface-category-page .faq-column details p,
.case-study .case-study-block p,
.studio-unified .studio-unified-copy p,
.studio-unified .studio-unified-feature-copy>p:not(.studio-unified-feature-lead):not(.studio-unified-subtitle),
.studio-unified .studio-unified-team .team-intro p{font-size:17px}

/* Bildunterschriften einheitlich, ohne ihren Zeilenabstand zu verändern. */
.project-grid figcaption,
.service-entry figcaption,
.concept-grid figcaption,
.contact-portrait figcaption,
.studio-unified-visual figcaption,
.studio-unified-map figcaption,
.project-archive-card figcaption,
.case-study-summary-visual figcaption,
.case-study-section-visual figcaption,
.case-study-related-card figcaption{font-size:15px}
.imprint-content a{text-decoration:underline;text-underline-offset:4px}
.imprint-content a:hover,.imprint-content a:focus-visible{color:#f4b23a}
.surface-side-image,.surface-subservice-image{aspect-ratio:auto;overflow:visible;background:transparent}
.surface-side-image img,.surface-subservice-image img{display:block;width:100%;height:auto;aspect-ratio:1.46;object-fit:cover}
.surface-side-image figcaption,.surface-subservice-image figcaption,.surface-subservice-feature-image figcaption{margin-top:10px;color:var(--muted);font-size:15px;font-weight:300;line-height:1.3}
@media(max-width:780px){
  .site-header{padding:12px 22px;align-items:center}
  .menu-toggle{display:flex;align-items:center;justify-content:center;flex:none;width:42px;min-width:42px;height:42px;margin:0;padding:0;font-size:23px;line-height:1}
  .main-nav{top:65px;max-height:calc(100svh - 65px)}
  body[data-page="home"] .hero{min-height:78svh}
  body[data-page="home"] .hero-copy{left:22px;right:22px;bottom:32px}
  .home-hero-mobile-break{display:block}
  body[data-page="home"] .intro{--intro-space:72px}
  body[data-page="home"] .overview-card{min-height:0;padding:18px 17px 20px}
  body[data-page="home"] .services-overview{gap:14px}
  body[data-page="home"] .logo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:16px;row-gap:24px;align-items:center}
  body[data-page="home"] .logo-row{display:contents}
  body[data-page="home"] .logo-grid img{width:100%;max-width:100%;max-height:60px;margin-inline:auto;transform:none}
  body[data-page="home"] .logo-row:last-child img:last-child{grid-column:2}
  .site-header:has(.main-nav.open){background:var(--bg)}
  .main-nav{padding-top:8px;gap:0}
  .main-nav>.nav-item{border-bottom:0}
  .main-nav>.nav-item>.nav-row,.main-nav>a{height:52px;min-height:52px;border-bottom:1px solid rgba(212,137,1,.42)}
  .main-nav>.nav-item>.nav-row>a{height:100%;min-height:0}
  .nav-services>.nav-mega,.nav-studio>.nav-mega{border:0;padding:0}
  .nav-menu-group{padding:0}
  .nav-menu-group-heading{display:flex;align-items:center;height:48px;min-height:48px;padding-left:16px;border-bottom:1px solid rgba(212,137,1,.38)}
  .nav-services .nav-menu-heading{display:flex;align-items:center;flex:1;min-width:0;height:100%;min-height:0;padding:0;border:0}
  .nav-group-toggle{display:flex;align-items:center;justify-content:center;flex:none;width:40px;height:48px;padding:0;border:0;background:transparent;color:var(--gold);font-size:18px}
  .nav-menu-group-links{display:none}
  .nav-menu-group.is-open .nav-menu-group-links{display:block}
  .nav-menu-group.is-open .nav-group-toggle span{transform:rotate(180deg)}
  .nav-services .nav-menu-link,.nav-studio .nav-menu-link{display:flex;align-items:center;height:46px;min-height:46px;padding:0 0 0 32px;border-bottom:1px solid rgba(212,137,1,.28)}
  .nav-services .nav-menu-group-links a.nav-menu-link,.nav-studio .nav-studio-links a.nav-menu-link{border-bottom:1px solid rgba(212,137,1,.28)}
  .nav-studio-links{display:block}
  .nav-studio-links>div{display:contents}
  .nav-studio .nav-menu-heading{display:flex;align-items:center;height:48px;min-height:48px;padding:0 0 0 16px;border-bottom:1px solid rgba(212,137,1,.38)}
  .nav-services .nav-menu-footer{display:none}
  .hero,body[data-page="home"] .hero{min-height:max(560px,70svh)}
  .surface-subservice-feature-image img{aspect-ratio:1.46}
  .case-study-related-overview{min-height:0;aspect-ratio:auto;align-items:center;justify-content:center;padding:27px 20px;font-size:clamp(24px,6vw,30px)}
  .case-study-related-overview>span{display:inline-flex;align-items:center;justify-content:center;gap:12px;text-align:center}
  .case-study-related-overview span span{margin-left:0;line-height:1}
}
@media(max-width:1023px){
  .site-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 36px}
}
@media(max-width:580px){
  .imprint-shell{padding:115px 0 80px}
  .imprint-content{margin-top:38px}
  .site-footer-inner{padding-top:44px}
  .site-footer-grid{grid-template-columns:1fr;gap:38px}
  .site-footer-about p{margin-top:18px}
  .site-footer-column h2{margin-bottom:5px}
  .site-footer-bottom{margin-top:48px}
}

