@font-face{font-family:Catamaran;font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/catamaran-400.ttf) format("truetype")}
@font-face{font-family:Catamaran;font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/catamaran-500.ttf) format("truetype")}
@font-face{font-family:Catamaran;font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/catamaran-600.ttf) format("truetype")}
@font-face{font-family:Catamaran;font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/catamaran-700.ttf) format("truetype")}
@font-face{font-family:Catamaran;font-style:normal;font-weight:800;font-display:swap;src:url(assets/fonts/catamaran-800.ttf) format("truetype")}

:root{
  --navy:#384C76;--navy-dark:#2E4068;--navy-deep:#263550;
  --soft:#E9EDEF;--soft2:#F4F6F7;--white:#fff;
  --text:#31405E;--muted:#6E7A91;--line:rgba(56,76,118,.17);
  --lightline:rgba(255,255,255,.2);--max:1440px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--soft)}
body{margin:0;min-width:320px;font-family:"Catamaran",system-ui,sans-serif;color:var(--text);background:var(--soft);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}
.container{width:min(calc(100% - 56px),var(--max));margin-inline:auto}
.site-header{position:fixed;z-index:50;inset:0 0 auto 0;height:94px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 34px;color:#fff;border-bottom:1px solid transparent;transition:.25s}
.site-header.scrolled{height:76px;background:rgba(56,76,118,.96);backdrop-filter:blur(18px);border-color:rgba(255,255,255,.12)}
.brand{width:230px;display:inline-flex;align-items:center}.brand img{width:100%}
.desktop-nav{display:flex;gap:36px;align-items:center}.desktop-nav a{font-size:14px;font-weight:600;position:relative;color:rgba(255,255,255,.9)}
.desktop-nav a:after{content:"";position:absolute;left:0;bottom:-9px;width:0;height:1px;background:#fff;transition:.2s}.desktop-nav a:hover:after,.desktop-nav a.active:after{width:100%}
.header-actions{display:flex;justify-content:flex-end}.menu-toggle{display:none;width:44px;height:44px;border:0;background:transparent}.menu-toggle span{display:block;width:22px;height:2px;background:#fff;margin:6px auto}
.mobile-panel{display:none;position:fixed;z-index:45;inset:0;padding:118px 28px 40px;flex-direction:column;gap:9px;background:var(--navy);color:#fff}
.mobile-panel a{font-size:clamp(32px,9vw,54px);font-weight:700;line-height:1;padding:7px 0}
.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:52px;padding:0 26px;border-radius:999px;border:1px solid transparent;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.055em;transition:.2s}
.button:hover{transform:translateY(-2px)}.button--small{min-height:42px;padding:0 21px}.button--navy{background:var(--navy);color:#fff;border-color:var(--navy)}.button--navy:hover{background:var(--navy-dark)}
.button--light{background:var(--soft);color:var(--navy-deep);border-color:var(--soft)}.button--light:hover{background:#fff}.button--outline-light{border-color:rgba(255,255,255,.78);color:#fff}
.section{padding:116px 0}.section--light{background:var(--soft)}.section--soft{background:var(--soft2)}.section--navy{background:var(--navy);color:#fff}
.eyebrow{margin:0 0 27px;display:flex;align-items:center;gap:12px;color:var(--navy);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.16em}.eyebrow span{width:28px;height:2px;background:currentColor}.eyebrow--light{color:rgba(255,255,255,.82)}
h1,h2,h3,p{margin-top:0}h1,h2{color:var(--navy-deep);letter-spacing:-.052em}h1 em,h2 em{font-style:normal;font-weight:400}.section--navy h2,.section--navy h1,.hero h1,.subhero h1,.page-title h1,.showcase h2,.media-band h2{color:#fff}
.section h2{margin-bottom:0;font-size:clamp(50px,6.2vw,92px);line-height:.91;font-weight:800}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:48px}.section-sidecopy{max-width:420px;margin:0 0 6px;color:var(--muted);font-size:17px;line-height:1.65}
.text-link{display:inline-flex;align-items:center;gap:12px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--navy)}

.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;background:var(--navy)}
.hero-media{position:absolute;inset:0;background:url('assets/images/zurich-150/feier.jpg') center/cover;transform:scale(1.04)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(45,61,96,.98),rgba(56,76,118,.87) 38%,rgba(56,76,118,.3) 73%,rgba(38,53,80,.47)),linear-gradient(180deg,rgba(38,53,80,.28),rgba(38,53,80,.06) 55%,rgba(38,53,80,.65))}
.hero-content{position:relative;z-index:2;padding-top:92px}.hero h1{max-width:1080px;margin:0;font-size:clamp(66px,8.8vw,138px);line-height:.82;font-weight:800}.hero-copy{max-width:610px;margin:38px 0 36px;color:rgba(255,255,255,.84);font-size:19px;line-height:1.55}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.hero-signature{position:absolute;z-index:2;right:34px;bottom:34px;writing-mode:vertical-rl;color:rgba(255,255,255,.65);font-size:11px;font-weight:700;letter-spacing:.18em}

.intro-grid{display:grid;grid-template-columns:1.5fr .72fr;gap:100px;align-items:end}.intro-copy p{font-size:18px;line-height:1.65;color:var(--muted);margin-bottom:30px}

.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.feature-grid--four{grid-template-columns:repeat(4,1fr)}.feature-card{position:relative;min-height:490px;padding:28px;overflow:hidden;color:#fff;display:flex;flex-direction:column;justify-content:space-between;background:var(--navy)}
.feature-card:before{content:"";position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .5s}.feature-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(56,76,118,.08),rgba(38,53,80,.92))}
.feature-card:hover:before{transform:scale(1.04)}.feature-card--event:before{background-image:url('assets/images/church/foto-3.jpg')}.feature-card--consulting:before{background-image:url('assets/images/buero/IMG_0795-bereinigt.jpg')}.feature-card--creation:before{background-image:url('assets/images/art-on-ice/operator.jpg')}.feature-card--technical:before{background-image:url('assets/images/konzernforum/plenum.jpg')}.feature-card--media:before{background-image:url('assets/images/art-on-ice/operator.jpg')}.feature-card--dry:before{background-image:url('assets/images/konzernforum/plenum.jpg')}
.feature-card>span,.feature-card>div{position:relative;z-index:2}.feature-number{font-size:11px;font-weight:800}.feature-card p{margin:0 0 6px;color:rgba(255,255,255,.65);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.feature-card h3{font-size:34px;line-height:1;margin:0 0 19px}.feature-link{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}

.approach-head{display:grid;grid-template-columns:1.25fr .7fr;gap:100px;align-items:end;margin-bottom:76px}.approach-head>p{color:rgba(255,255,255,.72);font-size:18px;line-height:1.65;margin:0}.steps{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--lightline)}
.steps article{min-height:215px;padding:26px 22px 25px 0;border-right:1px solid var(--lightline)}.steps article:not(:first-child){padding-left:22px}.steps article:last-child{border-right:0}.steps span{font-size:11px;color:rgba(255,255,255,.5)}.steps h3{margin:42px 0 10px;font-size:25px}.steps p{margin:0;color:rgba(255,255,255,.62);font-size:14px}

.showcase{position:relative;min-height:760px;display:flex;align-items:flex-end;background:var(--navy);overflow:hidden}.showcase-bg{position:absolute;inset:0;background:url('assets/images/zurich-150/feier.jpg') center/cover}.showcase-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(38,53,80,.93),rgba(56,76,118,.34) 64%,rgba(38,53,80,.55)),linear-gradient(180deg,transparent,rgba(38,53,80,.63))}
.showcase-content{position:relative;z-index:2;padding-bottom:82px}.showcase h2{font-size:clamp(58px,7.4vw,108px);line-height:.86;margin:0 0 36px;font-weight:800}
.contact-teaser{display:grid;grid-template-columns:1.25fr .7fr;gap:100px;align-items:end}.contact-teaser>div:last-child>p{font-size:18px;line-height:1.65;color:var(--muted);margin-bottom:28px}.contact-teaser--light>div:last-child>p{color:rgba(255,255,255,.72)}

.subhero{position:relative;min-height:690px;display:flex;align-items:flex-end;background:var(--navy);overflow:hidden}.subhero:before{content:"";position:absolute;inset:0;background-size:cover;background-position:center}.subhero--portfolio:before{background-image:url('assets/images/zurich-150/feier.jpg')}.subhero--project:before{background-image:url('assets/images/church/foto-3.jpg')}.subhero--media:before{background-image:url('assets/images/art-on-ice/operator.jpg')}.subhero--dry:before{background-image:url('assets/images/konzernforum/plenum.jpg')}
.subhero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(38,53,80,.96),rgba(56,76,118,.58) 58%,rgba(38,53,80,.35)),linear-gradient(180deg,rgba(38,53,80,.12),rgba(38,53,80,.73))}
.subhero-content{position:relative;z-index:2;padding:185px 0 72px}.subhero h1{font-size:clamp(64px,8vw,120px);line-height:.83;margin:0 0 27px}.subhero-content>p:last-child{max-width:700px;color:rgba(255,255,255,.76);font-size:19px;line-height:1.55}

.service-overview{border-top:1px solid var(--line)}.service-overview article{display:grid;grid-template-columns:70px 1fr auto;gap:30px;align-items:center;padding:46px 0;border-bottom:1px solid var(--line)}.service-overview article>span{font-size:12px;color:var(--muted)}.service-overview h2{font-size:clamp(38px,4.5vw,66px);margin:0 0 9px}.service-overview p{max-width:760px;color:var(--muted);line-height:1.6;margin:0}.service-overview a{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.value-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}.value-grid p{font-size:clamp(22px,2.6vw,38px);font-weight:700;margin:0;color:#fff}

.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-grid--three{grid-template-columns:repeat(3,1fr)}.detail-card{min-height:540px;padding:34px;border:1px solid var(--line);background:rgba(255,255,255,.38)}.detail-card>span{font-size:11px;color:var(--muted)}.detail-card h2{font-size:clamp(35px,4vw,58px);margin:55px 0 24px;line-height:.95}.detail-card>p,.detail-card li{color:var(--muted);line-height:1.55}.detail-card ul{padding-left:20px;margin:26px 0 0}.detail-card li{margin:8px 0}

.media-band{position:relative;min-height:650px;display:flex;align-items:flex-end;background:var(--navy);overflow:hidden}.media-band-image{position:absolute;inset:0;background:url('assets/images/kaelin-aero/foto-2.jpg') center/cover}.media-band-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(38,53,80,.93),rgba(56,76,118,.3)),linear-gradient(180deg,transparent,rgba(38,53,80,.68))}.media-band .container{position:relative;z-index:2;padding-bottom:70px}.media-band h2{font-size:clamp(58px,7vw,105px);line-height:.86;margin:0}

.rental-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.rental-grid article{min-height:310px;padding:30px;border:1px solid var(--line);background:rgba(255,255,255,.4)}.rental-grid span{font-size:11px;color:var(--muted)}.rental-grid h2{font-size:44px;margin:80px 0 12px}.rental-grid p{color:var(--muted);line-height:1.55}

.page-title{padding:185px 0 88px}.page-title h1{font-size:clamp(64px,8.4vw,126px);line-height:.84;margin:0}.page-title--compact{padding-bottom:65px}.page-title--compact h1{font-size:clamp(58px,7vw,102px)}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.team-card{background:var(--soft2)}.team-image{aspect-ratio:4/5;overflow:hidden;background:var(--navy-deep)}.team-image img{width:100%;height:100%;object-fit:cover;object-position:center top}.team-info{padding:25px 8px 10px}.team-info p{margin:0 0 5px;color:var(--muted);font-size:13px}.team-info h2{font-size:36px;line-height:1;margin:0}
.jobs-teaser{max-width:900px;margin-inline:auto;text-align:center}.jobs-teaser .eyebrow{justify-content:center}.jobs-teaser>p{max-width:700px;margin:28px auto;color:var(--muted);font-size:18px;line-height:1.65}.jobs-teaser--large{text-align:left;margin-inline:auto}.jobs-teaser--large>p{margin-left:0}

.contact-page-grid{display:grid;grid-template-columns:1.35fr .55fr;gap:100px}.contact-form-wrap h2{font-size:clamp(48px,5.7vw,82px);line-height:.94;margin-bottom:50px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 18px}.field{display:flex;flex-direction:column;gap:8px}.field--full{grid-column:1/-1}.field span{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.field input,.field select,.field textarea{width:100%;border:1px solid rgba(56,76,118,.25);background:rgba(255,255,255,.52);color:var(--text);padding:15px 16px;outline:none;border-radius:0}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--navy);background:#fff}.field textarea{resize:vertical;min-height:180px}
.check{display:flex;gap:12px;align-items:flex-start;margin:26px 0 30px;color:var(--muted);font-size:13px;line-height:1.45}.check input{margin-top:4px}.check a{text-decoration:underline}.honeypot{position:absolute;left:-9999px}
.contact-aside{position:sticky;top:120px;height:max-content;padding:34px;background:var(--navy);color:#fff}.contact-aside .eyebrow{color:rgba(255,255,255,.72)}.contact-aside h3{font-size:28px;margin:0 0 22px}.contact-aside p{color:rgba(255,255,255,.72);line-height:1.6}.contact-aside a{display:block;margin:9px 0;font-weight:700}.contact-rule{height:1px;background:var(--lightline);margin:32px 0}.contact-aside .small{font-size:11px;text-transform:uppercase;letter-spacing:.07em}
.editorial-note{padding:18px 20px;margin-bottom:48px;background:#fff;border-left:4px solid var(--navy);box-shadow:0 8px 26px rgba(56,76,118,.08);color:var(--muted);line-height:1.5}.editorial-note strong{display:block;color:var(--navy-deep);margin-bottom:4px}
.legal-container{max-width:950px}.legal-container h2{font-size:52px;margin-bottom:30px}.legal-container h3{margin:44px 0 10px;color:var(--navy-deep);font-size:25px}.legal-container p{color:var(--muted);font-size:16px;line-height:1.7}.legal-container a{text-decoration:underline}.legal-container .button{text-decoration:none;margin-top:25px}
.thankyou{min-height:100svh;display:flex;align-items:center}.thankyou p:last-of-type{color:rgba(255,255,255,.75);font-size:19px;margin:28px 0}

.footer{padding:72px 0 24px;background:var(--navy-deep);color:#fff}.footer-top{display:grid;grid-template-columns:1.4fr .8fr .8fr .8fr;gap:50px}.footer-brand img{width:min(380px,90%)}.footer-brand p{margin-top:18px}.footer h4{margin:0 0 17px;color:rgba(255,255,255,.55);font-size:11px;text-transform:uppercase;letter-spacing:.12em}.footer a,.footer p{display:block;margin:0 0 9px;color:rgba(255,255,255,.72);font-size:13px}.footer a:hover{color:#fff}.footer-bottom{margin-top:65px;padding-top:22px;border-top:1px solid var(--lightline);display:flex;justify-content:space-between;color:rgba(255,255,255,.38);font-size:10px}

@media(max-width:1100px){
.site-header{grid-template-columns:1fr auto}.desktop-nav{display:none}.menu-toggle{display:block}.header-actions{align-items:center;gap:8px}
.intro-grid,.approach-head,.contact-teaser,.contact-page-grid{grid-template-columns:1fr;gap:45px}.feature-grid,.feature-grid--four{grid-template-columns:1fr 1fr}
.steps{grid-template-columns:repeat(3,1fr)}.steps article:nth-child(3){border-right:0}.steps article:nth-child(n+4){border-top:1px solid var(--lightline)}
.detail-grid--three{grid-template-columns:1fr 1fr}.rental-grid{grid-template-columns:1fr 1fr}.team-grid{grid-template-columns:1fr 1fr}.contact-aside{position:static}.footer-top{grid-template-columns:1.3fr 1fr 1fr}.footer-top>div:last-child{grid-column:2/-1}
}
@media(max-width:720px){
.container{width:min(calc(100% - 30px),var(--max))}.site-header{height:75px;padding:0 15px}.site-header.scrolled{height:67px}.brand{width:178px}.header-actions .button{display:none}.section{padding:78px 0}
.hero{min-height:820px}.hero-content{padding-top:80px}.hero h1{font-size:clamp(56px,18vw,86px)}.hero-copy{font-size:17px}.hero-signature{display:none}
.section-head{display:block}.section-head .section-sidecopy{margin-top:25px}.feature-grid,.feature-grid--four{grid-template-columns:1fr}.feature-card{min-height:420px}
.steps{grid-template-columns:1fr;border-top:0}.steps article,.steps article:not(:first-child){min-height:auto;padding:20px 0;border-right:0;border-top:1px solid var(--lightline)}.steps h3{margin:10px 0 5px}
.subhero{min-height:640px}.subhero-content{padding-top:150px}.subhero h1{font-size:clamp(58px,17vw,82px)}
.service-overview article{grid-template-columns:45px 1fr}.service-overview article>a{grid-column:2}.value-grid{grid-template-columns:1fr 1fr}
.detail-grid,.detail-grid--three{grid-template-columns:1fr}.detail-card{min-height:auto}.detail-card h2{margin-top:38px}.rental-grid{grid-template-columns:1fr}.team-grid{grid-template-columns:1fr}
.page-title{padding:145px 0 72px}.page-title h1{font-size:clamp(56px,16vw,80px)}.form-grid{grid-template-columns:1fr}.field--full{grid-column:auto}
.footer-top{grid-template-columns:1fr}.footer-top>div:last-child{grid-column:auto}.footer-bottom{flex-direction:column;gap:12px}
}

/* === V4 MOTION & EXPERIENCE === */
:root{--motion-ease:cubic-bezier(.22,.75,.16,1)}
body{overflow-x:hidden}
.hero--motion{isolation:isolate}.hero--motion .hero-media{display:none}
.hero-video{position:absolute;inset:-3%;width:106%;height:106%;object-fit:cover;transform:scale(1.025);filter:saturate(.86) contrast(1.05)}
.hero--motion .hero-overlay{background:linear-gradient(90deg,rgba(38,53,80,.98),rgba(56,76,118,.84) 35%,rgba(56,76,118,.20) 74%,rgba(38,53,80,.54)),linear-gradient(180deg,rgba(38,53,80,.22),rgba(38,53,80,.04) 54%,rgba(38,53,80,.72))}
.motion-lines{position:absolute;z-index:1;inset:0;pointer-events:none;overflow:hidden}.motion-lines i,.showcase-lines i{position:absolute;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);width:48%;opacity:.5;animation:lineSweep 8s var(--motion-ease) infinite}
.motion-lines i:nth-child(1){top:26%;left:-25%}.motion-lines i:nth-child(2){top:54%;left:-34%;animation-delay:2.5s;width:68%}.motion-lines i:nth-child(3){top:79%;left:-20%;animation-delay:5.1s;width:42%}
@keyframes lineSweep{0%{transform:translateX(-30%);opacity:0}14%{opacity:.65}55%{opacity:.22}100%{transform:translateX(245%);opacity:0}}
.motion-headline>span{display:block;overflow:hidden;animation:headlineIn 1.1s var(--motion-ease) both}.motion-headline>span:nth-child(2){animation-delay:.12s}@keyframes headlineIn{from{transform:translateY(110%);opacity:.1}to{transform:none;opacity:1}}
.hero-reel{position:absolute;z-index:3;left:50%;bottom:34px;transform:translateX(-50%);display:flex;align-items:center;gap:13px;background:transparent;color:#fff;border:0;cursor:pointer;font:inherit;font-size:12px;font-weight:800;letter-spacing:.08em;text-align:left}.hero-reel small{display:block;font-size:9px;font-weight:600;color:rgba(255,255,255,.55);letter-spacing:.16em}.hero-reel-play{width:46px;height:46px;border:1px solid rgba(255,255,255,.65);border-radius:50%;display:grid;place-items:center;padding-left:2px;transition:.25s}.hero-reel:hover .hero-reel-play{background:#fff;color:var(--navy);transform:scale(1.07)}

.motion-reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--motion-ease),transform .8s var(--motion-ease)}.motion-reveal.is-visible{opacity:1;transform:none}

.experience-grid{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:minmax(360px,1fr) minmax(360px,1fr);gap:14px}
.experience-card{position:relative;overflow:hidden;min-height:360px;background:var(--navy-deep);isolation:isolate}.experience-card--large{grid-row:1/3;min-height:735px}
.experience-card video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform .9s var(--motion-ease),filter .5s}.experience-card:hover video{transform:scale(1.055);filter:saturate(1.12)}
.experience-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(38,53,80,.04) 28%,rgba(38,53,80,.94) 100%);z-index:1}
.experience-card:after{content:"";position:absolute;z-index:2;left:28px;right:28px;top:25px;height:1px;background:rgba(255,255,255,.32);transform-origin:left;transform:scaleX(.16);transition:transform .6s var(--motion-ease)}.experience-card:hover:after{transform:scaleX(1)}
.experience-copy{position:absolute;z-index:3;left:28px;right:24px;bottom:27px;display:flex;align-items:end;justify-content:space-between;gap:20px;color:#fff}.experience-copy span{display:block;margin-bottom:8px;color:rgba(255,255,255,.58);font-size:10px;font-weight:800;letter-spacing:.12em}.experience-copy h3{margin:0 0 7px;font-size:clamp(28px,3vw,44px);line-height:.96;letter-spacing:-.04em}.experience-copy p{margin:0;color:rgba(255,255,255,.67);font-size:12px}
.round-arrow{width:50px;height:50px;border-radius:50%;border:1px solid rgba(255,255,255,.7);background:rgba(56,76,118,.24);backdrop-filter:blur(8px);color:#fff;font-size:20px;cursor:pointer;transition:.25s}.round-arrow:hover{background:#fff;color:var(--navy);transform:rotate(45deg)}

.process-motion{padding:130px 0 80px}.process-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(60px,8vw,130px);align-items:start}.process-copy>h2{font-size:clamp(54px,6.3vw,94px)}.process-intro{max-width:620px;color:rgba(255,255,255,.68);font-size:17px;line-height:1.65;margin:30px 0 60px}
.process-steps{border-top:1px solid var(--lightline)}.process-step{display:grid;grid-template-columns:58px 1fr;gap:18px;min-height:155px;padding:26px 0;border-bottom:1px solid var(--lightline);opacity:.42;transition:.4s}.process-step>span{font-size:11px;color:rgba(255,255,255,.55);padding-top:4px}.process-step h3{margin:0 0 7px;font-size:28px;color:#fff}.process-step p{margin:0;max-width:440px;color:rgba(255,255,255,.62);line-height:1.5}.process-step.is-active{opacity:1;transform:translateX(8px)}
.process-sticky{position:sticky;top:110px;height:calc(100vh - 150px);min-height:570px}.process-visual{position:relative;width:100%;height:100%;overflow:hidden;background:#263550}.process-image{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.05);transition:opacity .85s var(--motion-ease),transform 1.2s var(--motion-ease)}
.process-image--1{background-image:url('assets/images/process/01-briefing.webp')}.process-image--2{background-image:url('assets/images/process/02-konzept.webp')}.process-image--3{background-image:url('assets/images/process/03-planung.webp')}.process-image--4{background-image:url('assets/images/process/04-produktion.webp')}.process-image--5{background-image:url('assets/images/process/05-event.webp')}
.process-visual[data-active-stage="0"] .process-image--1,.process-visual[data-active-stage="1"] .process-image--2,.process-visual[data-active-stage="2"] .process-image--3,.process-visual[data-active-stage="3"] .process-image--4,.process-visual[data-active-stage="4"] .process-image--5{opacity:1;transform:scale(1)}
.process-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(38,53,80,.05),rgba(38,53,80,.48))}
.process-gridlines{position:absolute;z-index:3;inset:0;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:25% 25%}
.process-meter{position:absolute;z-index:4;left:28px;right:28px;top:26px;height:1px;background:rgba(255,255,255,.24)}.process-meter span{display:block;width:20%;height:100%;background:#fff;transition:width .6s var(--motion-ease)}
.process-stage-label{position:absolute;z-index:4;left:30px;bottom:30px;color:#fff;display:grid;grid-template-columns:auto auto;grid-template-areas:"small strong" "em em";align-items:end;column-gap:12px}.process-stage-label small{grid-area:small;font-size:9px;letter-spacing:.16em;color:rgba(255,255,255,.55)}.process-stage-label strong{grid-area:strong;font-size:44px;line-height:.8}.process-stage-label em{grid-area:em;margin-top:10px;font-size:12px;font-style:normal;font-weight:800;letter-spacing:.18em}

.seven-system-head{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end;margin-bottom:40px}.seven-system-head>p:last-child{max-width:560px;justify-self:end;color:var(--muted);line-height:1.6}.seven-track{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.seven-track>div{min-height:145px;padding:22px 14px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;transition:.25s}.seven-track>div:last-child{border-right:0}.seven-track>div:hover{background:var(--navy);color:#fff;transform:translateY(-5px)}.seven-track span{font-size:10px;color:var(--muted)}.seven-track b{font-size:15px;line-height:1.05}.seven-track>div:hover span{color:rgba(255,255,255,.55)}

.showcase--motion{isolation:isolate}.showcase-lines{position:absolute;z-index:1;inset:0;pointer-events:none}.showcase-lines i{left:-40%;width:60%;animation-duration:10s}.showcase-lines i:first-child{top:33%;animation-delay:1.3s}.showcase-lines i:last-child{top:66%;animation-delay:5.4s}
.showreel-modal{position:fixed;z-index:110;inset:0;background:rgba(24,34,53,.98);color:#fff;display:grid;place-items:center;padding:34px;opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}.showreel-modal.is-open{opacity:1;visibility:visible}.showreel-shell{width:min(1500px,100%);transform:translateY(24px) scale(.985);transition:transform .5s var(--motion-ease)}.showreel-modal.is-open .showreel-shell{transform:none}.showreel-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;font-size:11px;font-weight:800;letter-spacing:.12em;color:rgba(255,255,255,.6)}.showreel-close{border:0;background:transparent;color:#fff;font-size:38px;line-height:1;cursor:pointer}.showreel-video{display:block;width:100%;max-height:75vh;aspect-ratio:16/9;background:#111;object-fit:cover}.showreel-note{display:flex;justify-content:space-between;gap:30px;margin-top:16px;color:rgba(255,255,255,.55);font-size:12px}.showreel-note p{margin:0;text-align:right}

.page-transition{position:fixed;z-index:200;inset:0;background:var(--navy-deep);color:#fff;display:grid;place-items:center;transform:translateY(-101%);transition:transform .52s var(--motion-ease);pointer-events:none}.page-transition span{font-size:11px;font-weight:800;letter-spacing:.2em;opacity:.7}.page-transition-line{position:absolute;left:0;top:50%;width:0;height:1px;background:rgba(255,255,255,.72);transition:width .46s .04s var(--motion-ease)}
body.is-leaving .page-transition{transform:translateY(0)}body.is-leaving .page-transition-line{width:100%}body.page-entering .page-transition{transform:translateY(0);transition:none}body.page-entering.is-entered .page-transition{transform:translateY(101%);transition:transform .58s var(--motion-ease)}body.page-entering.is-entered .page-transition-line{width:100%}

@media(max-width:1100px){.process-layout{grid-template-columns:1fr;gap:50px}.process-sticky{position:relative;top:auto;height:620px}.seven-track{grid-template-columns:repeat(4,1fr)}.seven-track>div:nth-child(4){border-right:0}.seven-track>div:nth-child(n+5){border-top:1px solid var(--line)}}
@media(max-width:720px){.hero-reel{left:15px;bottom:28px;transform:none}.experience-grid{grid-template-columns:1fr;grid-template-rows:auto}.experience-card,.experience-card--large{grid-row:auto;min-height:510px}.process-motion{padding-top:88px}.process-sticky{height:480px;min-height:0}.process-step{min-height:135px}.seven-system-head{grid-template-columns:1fr}.seven-system-head>p:last-child{justify-self:start}.seven-track{grid-template-columns:1fr 1fr}.seven-track>div,.seven-track>div:nth-child(4){border-right:1px solid var(--line)}.seven-track>div:nth-child(even){border-right:0}.seven-track>div:nth-child(n+3){border-top:1px solid var(--line)}.showreel-modal{padding:16px}.showreel-note{display:block}.showreel-note p{text-align:left;margin-top:6px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.motion-reveal{opacity:1!important;transform:none!important}.page-transition{display:none!important}.hero-video{display:none}.hero--motion{background:url('assets/images/zurich-150/feier.jpg') center/cover}}

/* ============================================================
   V5 — POSITIONING / FEATURED CASE / BEHIND THE SCENES
   ============================================================ */

/* What We Believe */
.beliefs-head{
  display:grid;
  grid-template-columns:1.15fr .75fr;
  gap:90px;
  align-items:end;
  margin-bottom:55px;
}
.beliefs-head>p{
  max-width:560px;
  justify-self:end;
  color:var(--muted);
  font-size:17px;
  line-height:1.65;
}
.belief-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.belief-card{
  min-height:390px;
  padding:28px;
  border-right:1px solid var(--line);
  display:flex;
  flex-direction:column;
  transition:.3s var(--motion-ease);
}
.belief-card:last-child{border-right:0}
.belief-card:hover{background:var(--navy);color:#fff;transform:translateY(-4px)}
.belief-card>span{font-size:11px;color:var(--muted)}
.belief-card h3{
  margin:auto 0 28px;
  color:var(--navy-deep);
  font-size:clamp(40px,4.6vw,68px);
  line-height:.86;
  letter-spacing:-.055em;
}
.belief-card p{margin:0;color:var(--muted);line-height:1.58;max-width:340px}
.belief-card:hover h3{color:#fff}
.belief-card:hover p,.belief-card:hover>span{color:rgba(255,255,255,.65)}

/* Featured Case */
.featured-case-label{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:0 0 20px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  color:var(--muted);
}
.featured-case-hero{
  min-height:760px;
  position:relative;
  overflow:hidden;
  background:var(--navy);
}
.featured-case-image{
  position:absolute;
  inset:0;
  background:
    url('assets/images/church/foto-3.jpg')
    center/cover no-repeat;
  transition:transform 1s var(--motion-ease);
}
.featured-case-hero:hover .featured-case-image{transform:scale(1.025)}
.featured-case-overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(38,53,80,.96),rgba(56,76,118,.48) 58%,rgba(38,53,80,.18)),
    linear-gradient(180deg,rgba(38,53,80,.1),rgba(38,53,80,.65));
}
.featured-case-copy{
  position:absolute;
  z-index:2;
  left:clamp(28px,6vw,90px);
  bottom:clamp(34px,7vw,94px);
  color:#fff;
  max-width:780px;
}
.featured-case-copy h2{
  color:#fff;
  font-size:clamp(66px,8vw,118px);
  line-height:.82;
  margin:0 0 24px;
}
.featured-case-copy>p:not(.eyebrow){
  max-width:560px;
  color:rgba(255,255,255,.75);
  font-size:17px;
  line-height:1.6;
  margin-bottom:30px;
}
.featured-case-facts{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  border-bottom:1px solid var(--line);
}
.featured-case-facts>div{
  min-height:150px;
  padding:22px 14px;
  border-right:1px solid var(--line);
}
.featured-case-facts>div:last-child{border-right:0}
.featured-case-facts span{display:block;color:var(--muted);font-size:10px;margin-bottom:34px}
.featured-case-facts b{display:block;color:var(--navy-deep);font-size:14px}
.featured-case-facts p{font-size:12px;color:var(--muted);margin:5px 0 0}

/* Behind the scenes */
.bts-head{
  display:grid;
  grid-template-columns:1.1fr .7fr;
  gap:90px;
  align-items:end;
  margin-bottom:70px;
}
.bts-head>p{
  max-width:560px;
  justify-self:end;
  color:rgba(255,255,255,.67);
  font-size:17px;
  line-height:1.65;
}
.bts-timeline{display:grid;gap:0}
.bts-timeline article{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  min-height:420px;
  border-top:1px solid var(--lightline);
}
.bts-timeline article:last-child{border-bottom:1px solid var(--lightline)}
.bts-visual{
  position:relative;
  overflow:hidden;
  background:#263550;
}
.bts-visual:before{
  content:"";
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  opacity:.72;
  transition:transform .8s var(--motion-ease),opacity .4s;
}
.bts-timeline article:hover .bts-visual:before{transform:scale(1.035);opacity:.88}
.bts-visual:after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(38,53,80,.15),rgba(38,53,80,.5));
}
.bts-visual span{
  position:absolute;z-index:2;left:24px;top:20px;
  color:rgba(255,255,255,.7);font-size:11px;font-weight:800;
}
.bts-visual--plan:before{background-image:url('assets/images/buero/IMG_0795-bereinigt.jpg')}
.bts-visual--program:before{background-image:url('assets/images/stadtstrand/render-1.jpg')}
.bts-visual--build:before{background-image:url('assets/images/betriebsfest/buehne.jpg')}
.bts-visual--rehearsal:before{background-image:url('assets/images/kaelin-aero/foto-2.jpg')}
.bts-visual--show:before{background-image:url('assets/images/zurich-150/feier.jpg')}
.bts-copy{
  padding:48px clamp(28px,6vw,82px);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.bts-copy small{
  color:rgba(255,255,255,.45);
  font-size:10px;font-weight:800;letter-spacing:.16em;
}
.bts-copy h3{
  margin:20px 0 16px;
  color:#fff;
  font-size:clamp(38px,4.5vw,66px);
  line-height:.95;
}
.bts-copy p{
  margin:0;
  max-width:500px;
  color:rgba(255,255,255,.64);
  font-size:16px;
  line-height:1.6;
}

/* Case Study */
.case-hero{
  min-height:100svh;
  position:relative;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background:var(--navy);
}
.case-hero-bg{
  position:absolute;inset:0;
  background:url('assets/images/church/foto-3.jpg') center/cover;
}
.case-hero-overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(38,53,80,.95),rgba(56,76,118,.38) 60%,rgba(38,53,80,.2)),
    linear-gradient(180deg,rgba(38,53,80,.1),rgba(38,53,80,.72));
}
.case-hero-content{
  position:relative;z-index:2;
  padding:190px 0 78px;
}
.case-hero h1{
  color:#fff;
  margin:0;
  font-size:clamp(72px,10vw,150px);
  line-height:.78;
  letter-spacing:-.06em;
}
.case-hero-content>p:last-child{
  margin:30px 0 0;
  color:rgba(255,255,255,.72);
  font-size:14px;
  font-weight:700;
  letter-spacing:.08em;
}
.case-scroll{
  position:absolute;z-index:2;right:28px;bottom:32px;
  writing-mode:vertical-rl;
  color:rgba(255,255,255,.45);
  font-size:9px;font-weight:800;letter-spacing:.18em;
}
.case-intro-grid{
  display:grid;
  grid-template-columns:1.15fr .75fr;
  gap:100px;
  align-items:end;
}
.case-number{
  display:block;
  margin-bottom:20px;
  color:var(--muted);
  font-size:11px;
  font-weight:800;
}
.case-number--light{color:rgba(255,255,255,.5)}
.case-intro-grid>div:last-child p,
.case-chapter-grid>div>p:not(.eyebrow){
  color:var(--muted);
  line-height:1.7;
  font-size:16px;
}
.case-intro-grid .case-lead{
  color:var(--navy-deep)!important;
  font-size:22px!important;
  line-height:1.5!important;
}
.case-chapter-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:90px;
  align-items:center;
}
.case-chapter-grid--reverse{grid-template-columns:1.1fr .9fr}
.section--navy .case-chapter-grid>div>p:not(.eyebrow){color:rgba(255,255,255,.68)}
.case-visual{
  min-height:650px;
  position:relative;
  display:flex;
  align-items:flex-end;
  padding:20px;
  background:#263550 center/cover no-repeat;
  overflow:hidden;
}
.case-visual:after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg,transparent,rgba(38,53,80,.62));
}
.case-visual span{
  position:relative;z-index:2;
  color:rgba(255,255,255,.55);
  font-size:10px;font-weight:800;letter-spacing:.12em;
}
.case-visual--idea{background-image:url('assets/images/buero/IMG_0795-bereinigt.jpg')}
.case-visual--space{background-image:url('assets/images/stadtstrand/render-1.jpg')}
.case-visual--light{background-image:url('assets/images/betriebsfest/buehne.jpg')}
.case-visual--media{background-image:url('assets/images/kaelin-aero/foto-2.jpg')}
.case-visual--laser{background-image:url('assets/images/zurich-150/feier.jpg')}
.case-split-head,.case-split-visuals{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.case-split-head{margin-bottom:30px}
.case-split .case-visual{min-height:560px}
.case-finale{
  position:relative;
  min-height:860px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background:var(--navy);
}
.case-finale-bg{
  position:absolute;inset:0;
  background:url('assets/images/zurich-150/feier.jpg') center/cover;
}
.case-finale-overlay{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(38,53,80,.88),rgba(56,76,118,.28)),linear-gradient(180deg,transparent,rgba(38,53,80,.78));
}
.case-finale-content{
  position:relative;z-index:2;
  padding-bottom:80px;
}
.case-finale h2{
  color:#fff;
  font-size:clamp(62px,8.5vw,126px);
  line-height:.82;
  margin:0 0 25px;
}
.case-finale p:last-child{
  max-width:650px;
  color:rgba(255,255,255,.68);
  font-size:17px;
  line-height:1.6;
}
.role-grid{
  display:grid;
  grid-template-columns:1.1fr .8fr;
  gap:100px;
  align-items:start;
}
.role-list{
  border-top:1px solid var(--line);
}
.role-list span{
  display:block;
  padding:18px 0;
  border-bottom:1px solid var(--line);
  color:var(--navy-deep);
  font-size:18px;
  font-weight:700;
}

@media(max-width:1100px){
  .beliefs-head,.bts-head,.case-intro-grid,.case-chapter-grid,.case-chapter-grid--reverse,.role-grid{
    grid-template-columns:1fr;
    gap:45px;
  }
  .featured-case-facts{grid-template-columns:repeat(4,1fr)}
  .featured-case-facts>div:nth-child(4){border-right:0}
  .featured-case-facts>div:nth-child(n+5){border-top:1px solid var(--line)}
}
@media(max-width:720px){
  .belief-grid{grid-template-columns:1fr}
  .belief-card{min-height:300px;border-right:0;border-bottom:1px solid var(--line)}
  .belief-card:last-child{border-bottom:0}
  .featured-case-hero{min-height:650px}
  .featured-case-facts{grid-template-columns:1fr 1fr}
  .featured-case-facts>div{border-top:1px solid var(--line)}
  .featured-case-facts>div:nth-child(even){border-right:0}
  .bts-timeline article{grid-template-columns:1fr;min-height:auto}
  .bts-visual{min-height:340px}
  .bts-copy{padding:34px 4px 48px}
  .case-hero{min-height:780px}
  .case-hero h1{font-size:clamp(64px,19vw,90px)}
  .case-scroll{display:none}
  .case-visual{min-height:480px}
  .case-split-head,.case-split-visuals{grid-template-columns:1fr}
  .case-finale{min-height:700px}
}


/* ============================================================
   V5.1 — REFINED SEVEN-EMOTIONS PAGE TRANSITION
   Replaces the full-screen wipe with a fast 3-line signature.
   ============================================================ */

.page-transition{
  position:fixed;
  z-index:200;
  inset:0;
  pointer-events:none;
  background:transparent !important;
  color:transparent;
  opacity:0;
  visibility:hidden;
  transform:none !important;
  transition:none !important;
}

.page-transition-lines{
  position:absolute;
  left:0;
  top:50%;
  width:100%;
  height:26px;
  transform:translateY(-50%);
  overflow:hidden;
}

.page-transition-lines i{
  position:absolute;
  left:-28vw;
  width:24vw;
  height:1px;
  background:linear-gradient(
    90deg,
    rgba(56,76,118,0),
    rgba(56,76,118,.26) 15%,
    rgba(56,76,118,.98) 58%,
    rgba(233,237,239,.95) 80%,
    rgba(233,237,239,0)
  );
  box-shadow:0 0 10px rgba(56,76,118,.10);
  will-change:transform;
}

.page-transition-lines i:nth-child(1){top:4px;width:18vw}
.page-transition-lines i:nth-child(2){top:12px;width:28vw}
.page-transition-lines i:nth-child(3){top:20px;width:22vw}

body.is-leaving .page-transition,
body.page-entering .page-transition{
  opacity:1;
  visibility:visible;
}

/* Exit: three parallel lines sweep quickly left -> right */
body.is-leaving .page-transition-lines i:nth-child(1){
  animation:sevenLineExit .31s cubic-bezier(.38,.01,.23,1) 0s forwards;
}
body.is-leaving .page-transition-lines i:nth-child(2){
  animation:sevenLineExit .33s cubic-bezier(.38,.01,.23,1) .025s forwards;
}
body.is-leaving .page-transition-lines i:nth-child(3){
  animation:sevenLineExit .30s cubic-bezier(.38,.01,.23,1) .055s forwards;
}

/* Tiny response on the existing page: almost imperceptible, but tactile. */
body.is-leaving main,
body.is-leaving footer{
  opacity:.955;
  transform:translateY(-2px);
  transition:
    opacity .22s ease,
    transform .28s cubic-bezier(.22,.75,.16,1);
}

/* Entry: same signature in the opposite direction, lighter and even faster */
body.page-entering .page-transition-lines i{
  left:auto;
  right:-28vw;
  background:linear-gradient(
    90deg,
    rgba(233,237,239,0),
    rgba(233,237,239,.90) 22%,
    rgba(56,76,118,.95) 56%,
    rgba(56,76,118,.18) 84%,
    rgba(56,76,118,0)
  );
}

body.page-entering .page-transition-lines i:nth-child(1){
  animation:sevenLineEnter .34s cubic-bezier(.38,.01,.23,1) .02s forwards;
}
body.page-entering .page-transition-lines i:nth-child(2){
  animation:sevenLineEnter .36s cubic-bezier(.38,.01,.23,1) 0s forwards;
}
body.page-entering .page-transition-lines i:nth-child(3){
  animation:sevenLineEnter .32s cubic-bezier(.38,.01,.23,1) .045s forwards;
}

body.page-entering main,
body.page-entering footer{
  opacity:.985;
  transform:translateY(1px);
}

body.page-entering.is-entered main,
body.page-entering.is-entered footer{
  opacity:1;
  transform:none;
  transition:
    opacity .32s ease,
    transform .38s cubic-bezier(.22,.75,.16,1);
}

@keyframes sevenLineExit{
  0%{transform:translateX(0);opacity:0}
  12%{opacity:1}
  82%{opacity:1}
  100%{transform:translateX(156vw);opacity:0}
}

@keyframes sevenLineEnter{
  0%{transform:translateX(0);opacity:0}
  14%{opacity:.9}
  78%{opacity:.9}
  100%{transform:translateX(-156vw);opacity:0}
}

@media (prefers-reduced-motion:reduce){
  .page-transition{display:none !important}
  body.is-leaving main,
  body.is-leaving footer,
  body.page-entering main,
  body.page-entering footer{
    opacity:1 !important;
    transform:none !important;
  }
}


/* ============================================================
   V5.2 — Native page navigation
   Page-transition overlays intentionally disabled.
   ============================================================ */
.page-transition,
.page-transition-lines,
.page-transition-line {
  display: none !important;
}

body.is-leaving main,
body.is-leaving footer,
body.page-entering main,
body.page-entering footer,
body.page-entering.is-entered main,
body.page-entering.is-entered footer {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}


/* ============================================================
   V5.5 — CONSENT / COOKIE SETTINGS
   Optional services are disabled until explicit consent.
   ============================================================ */
.cookie-banner{
  position:fixed;
  z-index:500;
  left:22px;
  right:22px;
  bottom:22px;
  max-width:1120px;
  margin:0 auto;
  background:rgba(38,53,80,.985);
  color:#fff;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 24px 80px rgba(20,31,49,.32);
  padding:24px;
  display:none;
}
.cookie-banner.is-visible{display:block}
.cookie-banner__grid{
  display:grid;
  grid-template-columns:1fr auto;
  gap:28px;
  align-items:end;
}
.cookie-banner__eyebrow{
  margin:0 0 8px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:rgba(255,255,255,.52);
}
.cookie-banner h2{
  color:#fff;
  margin:0 0 8px;
  font-size:clamp(24px,3vw,38px);
  line-height:1;
  letter-spacing:-.035em;
}
.cookie-banner p{
  max-width:720px;
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:13px;
  line-height:1.55;
}
.cookie-banner a{text-decoration:underline}
.cookie-banner__actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  justify-content:flex-end;
}
.cookie-btn{
  min-height:43px;
  padding:0 17px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.55);
  background:transparent;
  color:#fff;
  cursor:pointer;
  font:inherit;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.cookie-btn:hover{background:rgba(255,255,255,.08)}
.cookie-btn--primary{
  background:#fff;
  color:var(--navy-deep);
  border-color:#fff;
}
.cookie-btn--primary:hover{background:var(--soft)}

.cookie-modal{
  position:fixed;
  z-index:510;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(20,31,49,.72);
  backdrop-filter:blur(10px);
}
.cookie-modal.is-open{display:flex}
.cookie-modal__panel{
  width:min(720px,100%);
  max-height:min(760px,92vh);
  overflow:auto;
  background:var(--soft2);
  color:var(--text);
  box-shadow:0 30px 100px rgba(20,31,49,.38);
}
.cookie-modal__head{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:start;
  padding:30px 30px 22px;
  border-bottom:1px solid var(--line);
}
.cookie-modal__head h2{
  margin:0 0 8px;
  font-size:34px;
  color:var(--navy-deep);
}
.cookie-modal__head p{
  margin:0;
  max-width:540px;
  color:var(--muted);
  line-height:1.55;
  font-size:13px;
}
.cookie-modal__close{
  width:42px;
  height:42px;
  flex:0 0 auto;
  border-radius:50%;
  border:1px solid var(--line);
  background:transparent;
  color:var(--navy-deep);
  font-size:21px;
  cursor:pointer;
}
.cookie-setting{
  display:grid;
  grid-template-columns:1fr auto;
  gap:24px;
  align-items:start;
  padding:24px 30px;
  border-bottom:1px solid var(--line);
}
.cookie-setting h3{
  margin:0 0 5px;
  color:var(--navy-deep);
  font-size:18px;
}
.cookie-setting p{
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.55;
}
.cookie-switch{
  position:relative;
  width:48px;
  height:27px;
  margin-top:2px;
}
.cookie-switch input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.cookie-switch span{
  position:absolute;
  inset:0;
  border-radius:999px;
  background:#c5ccd5;
  transition:.2s;
}
.cookie-switch span:after{
  content:"";
  position:absolute;
  width:21px;
  height:21px;
  left:3px;
  top:3px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 2px 8px rgba(0,0,0,.16);
  transition:.2s;
}
.cookie-switch input:checked + span{background:var(--navy)}
.cookie-switch input:checked + span:after{transform:translateX(21px)}
.cookie-switch input:disabled + span{opacity:.72}
.cookie-modal__actions{
  display:flex;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:9px;
  padding:24px 30px 30px;
}
.cookie-footer-button{
  appearance:none;
  border:0;
  padding:0;
  margin:0 0 9px;
  background:transparent;
  color:rgba(255,255,255,.72);
  font:inherit;
  font-size:13px;
  cursor:pointer;
  text-align:left;
}
.cookie-footer-button:hover{color:#fff}

@media(max-width:760px){
  .cookie-banner{left:10px;right:10px;bottom:10px;padding:19px}
  .cookie-banner__grid{grid-template-columns:1fr;gap:18px}
  .cookie-banner__actions{justify-content:flex-start}
  .cookie-btn{flex:1 1 auto}
  .cookie-modal{padding:10px}
  .cookie-modal__head,.cookie-setting{padding-left:20px;padding-right:20px}
  .cookie-modal__actions{padding:20px}
}

@media(prefers-reduced-motion:reduce){
  .cookie-switch span,.cookie-switch span:after{transition:none}
}

.motion-headline>span:nth-child(3){animation-delay:.24s}

/* V5.7: Projektbilder und Büro */
.forum-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.forum-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin:56px 0 0;padding-top:28px;border-top:1px solid var(--line)}
.forum-facts dt{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:12px}.forum-facts dd{margin:0;font-size:20px;font-weight:600}
.forum-gallery{display:grid;grid-template-columns:1fr 1fr;gap:40px 28px}.forum-gallery figure{margin:0}.forum-gallery figure:last-child{grid-column:1/-1}.forum-gallery img{width:100%;height:auto}.forum-gallery figcaption{font-size:13px;color:var(--muted);margin-top:12px}
.forum-project{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;margin-top:36px}.forum-project img{width:100%;height:auto}.forum-project h3{font-size:clamp(30px,4vw,54px);line-height:1.05;color:var(--navy-deep);margin-bottom:22px}.forum-project p{line-height:1.6}.forum-project:focus-visible{outline:3px solid var(--navy);outline-offset:8px}
.forum-experience>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.forum-experience{display:block}
.office-main{margin:0}.office-main img{width:100%;height:auto}.office-details{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:28px}.office-details img{width:100%;height:auto}
@media(max-width:800px){.forum-facts{grid-template-columns:1fr 1fr}.forum-project{grid-template-columns:1fr;gap:28px}.forum-gallery{gap:28px}.forum-hero h1{font-size:clamp(54px,13vw,90px)}}
@media(max-width:540px){.forum-gallery{grid-template-columns:1fr}.office-details{gap:14px}.forum-facts dd{font-size:17px}}

/* V5.8 */
.plan-gallery{display:grid;gap:36px;margin-top:36px}.plan-gallery figure{margin:0}.plan-gallery img{width:100%;height:auto;border:1px solid var(--line)}.plan-gallery figcaption{font-size:13px;color:var(--muted);margin-top:12px}.rendering-gallery figcaption{color:rgba(255,255,255,.75)}.forum-project+.forum-project{border-top:1px solid var(--line);padding-top:48px;margin-top:48px}#projekte{scroll-margin-top:90px}
.section--navy .role-list span{color:rgba(255,255,255,.88);border-color:rgba(255,255,255,.2)}

.zurich-hero h1{font-size:clamp(42px,7.5vw,108px)}
@media(max-width:540px){.zurich-hero h1{font-size:clamp(30px,8.4vw,44px)}}

/* V5.12: Corporate-Projekte im Vordergrund */
.featured-case-hero--zurich .featured-case-image{background-image:url('assets/images/zurich-150/saal.jpg')}
.featured-case-hero--zurich h2{font-size:clamp(34px,6vw,86px);overflow-wrap:anywhere}

@media(max-width:540px){.case-hero h1{overflow-wrap:anywhere}}

.gallery--portrait{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery--portrait figure:last-child{grid-column:auto}@media(max-width:720px){.gallery--portrait{grid-template-columns:1fr}}

/* V5.17: first complete editorial draft */
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero--motion .hero-overlay{background:linear-gradient(90deg,rgba(38,53,80,.91),rgba(38,53,80,.65) 55%,rgba(38,53,80,.20)),linear-gradient(0deg,rgba(38,53,80,.4),transparent)}
.feature-card--event:before,.subhero--project:before{background-image:url('assets/images/zurich-150/saal.jpg')}.feature-card--consulting:before{background-image:url('assets/images/buero/IMG_0795-bereinigt.jpg')}.feature-card--creation:before,.subhero--media:before{background-image:url('assets/images/stadtstrand/render-1.jpg')}.feature-card--technical:before{background-image:url('assets/images/konzernforum/plenum.jpg')}
.bts-visual:before{background-image:var(--project-image)!important}.text-link--light{color:#fff;margin-top:18px}.bts-copy h3{overflow-wrap:anywhere}
.page-title-copy{max-width:760px;font-size:20px;line-height:1.5;color:rgba(255,255,255,.75);margin:32px 0 0}
.project-catalog{display:grid;grid-template-columns:1fr 1fr;gap:60px 32px}.project-catalog .forum-project{display:block;border:0;padding:0;margin:0}.project-catalog .forum-project img{aspect-ratio:16/10;object-fit:cover;margin-bottom:26px}.project-catalog .forum-project h3{font-size:clamp(30px,3vw,44px)}.project-catalog .eyebrow{font-size:11px;margin-bottom:16px}
.all-projects-link{margin-top:40px}.experience-grid>.experience-card:last-child{grid-column:1/-1;min-height:390px}.experience-copy .round-arrow{display:grid;place-items:center;flex-shrink:0;font-size:22px;color:white;letter-spacing:0;margin:0}.experience-copy>div{min-width:0}.forum-project>div{min-width:0}
.team-grid{grid-template-columns:1fr 1fr;gap:40px}.team-info{padding:28px 0}.team-image{max-height:640px}
.project-viewer figure{margin:0}.project-slide{width:100%;height:min(65vh,800px);object-fit:contain;background:#162239}.project-viewer figcaption{display:flex;justify-content:space-between;gap:20px;padding:16px 0;color:rgba(255,255,255,.85)}.project-slide-link{text-decoration:underline}.project-viewer-controls{display:flex;justify-content:center;gap:26px;align-items:center}.project-viewer-controls button{border:1px solid rgba(255,255,255,.5);background:transparent;color:white;border-radius:50%;width:44px;height:44px;cursor:pointer}.viewer-counter{font-variant-numeric:tabular-nums}.showreel-shell{max-width:1180px}.showreel-modal{overflow:auto}.showreel-top button{min-width:44px;min-height:44px}
:focus-visible{outline:3px solid #d6a94b;outline-offset:5px}section[id]{scroll-margin-top:88px}.mobile-panel{overflow-y:auto;overscroll-behavior:contain}.mobile-panel a{font-size:clamp(21px,4.7vw,34px);line-height:1.1}.section .forum-facts{line-height:1.4}.forum-facts>div{min-width:0}.forum-facts dd{overflow-wrap:anywhere}.section .team-info h2{font-size:38px}.section .service-overview h2{font-size:clamp(32px,4.5vw,62px);line-height:1.02}.subhero h1,.page-title h1,.hero h1,.section h2{overflow-wrap:anywhere}.feature-grid--four .feature-card h3{overflow-wrap:anywhere;font-size:clamp(26px,2.3vw,34px)}
.yamaha-hero h1{font-size:clamp(50px,7vw,108px)}.project-catalog .forum-project p{line-height:1.5}.section .contact-aside h3{overflow-wrap:anywhere}
@media(max-width:1100px){.process-copy>h2{font-size:clamp(38px,6vw,66px)}.section .section-head h2{font-size:clamp(42px,6vw,72px)}}
@media(max-width:720px){.project-catalog{grid-template-columns:1fr;gap:50px}.project-viewer figcaption{flex-direction:column;gap:8px}.hero h1{font-size:clamp(44px,11.8vw,76px);line-height:.98}.hero{min-height:830px}.hero-content{padding-top:120px;padding-bottom:130px}.hero-copy{margin-top:26px}.hero-signature{display:none}.hero-reel{bottom:28px}.section h2{font-size:clamp(36px,10vw,60px);line-height:1.02}.subhero h1,.page-title h1{font-size:clamp(40px,10vw,66px);line-height:1}.case-hero h1{font-size:clamp(38px,11vw,68px);line-height:1}.yamaha-hero h1{font-size:clamp(32px,8.6vw,56px)}.service-overview article{grid-template-columns:28px minmax(0,1fr);gap:15px}.service-overview h2{font-size:34px!important}.detail-card h2{font-size:34px!important}.experience-grid>.experience-card:last-child{grid-column:auto;min-height:440px}.experience-card,.experience-card--large{min-height:440px}.experience-copy h3{font-size:32px}.experience-copy{left:20px;right:20px}.section .forum-project h3{font-size:34px}.team-grid{grid-template-columns:1fr;gap:50px}.legal-container h2{font-size:34px!important}.bts-copy p{line-height:1.5}.featured-case-hero--zurich .featured-case-copy{left:24px;right:24px}.featured-case-hero--zurich h2{font-size:38px}.contact-aside{padding:26px}.form-grid input,.form-grid select,.form-grid textarea{font-size:16px}.footer-top{gap:32px}.media-band h2,.showcase h2{font-size:clamp(40px,11vw,68px)}}

.skip-link{position:fixed;z-index:999;left:12px;top:-100px;background:#fff;color:#263550;padding:12px 20px}.skip-link:focus{top:12px}
img{height:auto}.hero-photo,.forum-hero-image,.forum-experience>img,.team-image img{height:100%}
.belief-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.belief-card{min-width:0}.belief-card h3{font-size:clamp(30px,3.3vw,52px);line-height:1;overflow-wrap:anywhere}@media(max-width:720px){.belief-grid{grid-template-columns:1fr}.belief-card h3{font-size:34px}}

.art-gallery img{object-fit:contain;background:#111c2e;height:auto;max-height:640px;width:100%}.form-security-status:empty{display:none}.contact-form button:disabled{opacity:.65;cursor:wait}
/* V5.19: contact, compact process and project image dialog. */
.contact-hero{position:relative;isolation:isolate;min-height:540px;display:flex;align-items:flex-end;padding:150px 0 70px;background:var(--navy);color:white;overflow:hidden}
.contact-hero-image{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%}
.contact-hero:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(21,33,53,.88),rgba(21,33,53,.56) 55%,rgba(21,33,53,.16))}
.contact-hero h1{font-size:clamp(50px,7vw,100px);line-height:1;letter-spacing:-.05em;margin:24px 0 0;text-transform:uppercase;max-width:1000px}
.project-details{margin:20px 0 28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.project-details summary{cursor:pointer;padding:20px 0;font-weight:600;min-height:56px}.project-details>.form-grid{padding:10px 0 24px}
.form-security-status{margin:20px 0;line-height:1.5}.form-security-status.is-error{border-left:3px solid #8b2828;padding:14px 18px;background:#fff;color:#652222}.form-security-status:focus{outline:2px solid var(--navy);outline-offset:4px}
.process-step{width:100%;text-align:left;background:none;border-left:0;border-right:0;color:white;font:inherit;min-height:104px;padding:18px 0;opacity:.8;cursor:pointer}
.process-step strong{display:block;font-size:25px;margin-bottom:6px}.process-description{display:block;font-size:16px;line-height:1.5;color:rgba(255,255,255,.8)}
.process-step.is-active{opacity:1;transform:none;border-left:3px solid white;padding-left:14px}.process-step:hover{background:rgba(255,255,255,.07)}
.process-copy>h2{font-size:clamp(44px,5vw,72px)}.process-intro{margin:24px 0 32px}.process-motion{padding:90px 0}.process-sticky{height:640px;min-height:0;top:100px}
.gallery-open{display:block;cursor:zoom-in;position:relative}.gallery-open:after{content:"Vergrößern ↗";position:absolute;right:12px;bottom:12px;background:#263550;color:white;font-size:12px;padding:9px 13px;pointer-events:none}.gallery-open:hover img{filter:brightness(.92)}
.image-dialog{border:0;padding:0;background:#172337;color:white;width:min(1200px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 40px);overflow:auto;border-radius:0}
.image-dialog::backdrop{background:rgba(5,13,26,.93)}.image-dialog-shell{padding:18px 24px 24px}.image-close{display:block;margin:0 0 12px auto}.image-dialog button,.image-original{font:inherit;min-height:44px;padding:10px 15px;background:none;color:white;border:1px solid rgba(255,255,255,.55);cursor:pointer;text-decoration:none}.image-dialog button:hover,.image-original:hover{background:rgba(255,255,255,.12)}.image-dialog button:disabled{opacity:.4;cursor:default}.image-dialog figure{margin:0}.image-dialog img{display:block;width:100%;height:min(64dvh,720px);object-fit:contain}.image-dialog figcaption{display:flex;justify-content:space-between;gap:20px;font-size:15px;padding:16px 0;line-height:1.5}.image-count{white-space:nowrap}.image-controls{display:flex;align-items:center;justify-content:space-between;gap:12px}.image-original{font-size:14px}.image-dialog :focus-visible{outline:3px solid white;outline-offset:3px}
@media(max-width:1100px){.process-layout{grid-template-columns:1fr 1fr;gap:35px}.process-sticky{position:sticky;height:650px}}
@media(max-width:720px){.contact-hero{min-height:440px;padding:130px 0 48px}.contact-hero h1{font-size:clamp(40px,11vw,68px)}.contact-hero-image{object-position:57% center}.contact-page-grid{gap:34px}.project-details summary{font-size:16px}.process-layout{grid-template-columns:1fr}.process-sticky{position:relative;top:auto;height:320px}.process-copy>h2{font-size:42px}.process-step{min-height:98px}.process-motion{padding:70px 0}.image-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.image-dialog-shell{padding:12px}.image-dialog img{height:53dvh}.image-dialog figcaption{font-size:14px}.image-original{display:none}.image-controls button{flex:1}}
@media(prefers-reduced-motion:reduce){.process-step,.process-image,.gallery-open img{transition:none!important;transform:none!important}}
.contact-hero h1,.contact-hero h1 em{color:#fff}.contact-hero .eyebrow{color:rgba(255,255,255,.85)}.contact-hero .eyebrow span{background:rgba(255,255,255,.7)}
.legal-container [id]{scroll-margin-top:100px}

/* Keep descenders visible in the home headline while retaining its entrance animation. */
.hero .motion-headline > span{overflow:visible}

/* Selected project images: blue veil clears for pointer and keyboard interaction. */
#experiences .experience-card::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:rgba(38,53,80,.32);opacity:0;transition:opacity .4s ease}
@media(hover:hover) and (pointer:fine){#experiences .experience-card::before{opacity:1}#experiences .experience-card:hover::before,#experiences .experience-card:focus-visible::before{opacity:0}}
@media(prefers-reduced-motion:reduce){#experiences .experience-card::before{transition:none}}

.process-image-note{position:absolute;z-index:5;right:18px;bottom:16px;margin:0;max-width:170px;font-size:10px;line-height:1.4;text-align:right;color:rgba(255,255,255,.8);pointer-events:none}

.process-image--4{background-position:66% center}

/* Six-stage process and evenly spaced values. */
.process-steps{margin-top:40px}
.process-image--6{background-image:url('assets/images/process/06-nachbereitung.webp')}
.process-visual[data-active-stage="5"] .process-image--6{opacity:1;transform:scale(1)}
.process-meter span{width:16.6667%}
.value-grid{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:28px 36px}
.value-grid p{font-size:clamp(20px,2.05vw,32px);line-height:1.25;white-space:nowrap}
@media(max-width:850px){.value-grid{justify-content:center;gap:24px 36px}}
@media(max-width:540px){.value-grid{flex-direction:column;align-items:flex-start;gap:24px}.process-steps{margin-top:32px}}

/* Real team photographs and a contextual shared portrait. */
.team-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 35%}
.team-together{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(32px,5vw,76px);align-items:center}
.team-together-photo{margin:0;min-width:0}.team-together-photo img{display:block;width:100%;height:auto}
.team-together-copy{min-width:0}.team-together-copy h2{font-size:clamp(36px,4.4vw,64px);line-height:1.05;margin-bottom:26px}
.team-together-copy>p:not(.eyebrow){max-width:520px;color:var(--muted);font-size:18px;line-height:1.65;margin-bottom:26px}
@media(max-width:800px){.team-together{grid-template-columns:1fr;gap:30px}.team-together-copy h2{font-size:clamp(36px,8vw,48px)}}

.team-grid .team-image{width:100%;max-height:none}

/* V5.42: quieter portrait layout and readable captions. */
.team-grid{max-width:1080px;gap:32px}.team-grid .team-info{padding:24px 26px 28px}.team-grid .team-info h2{font-size:clamp(28px,3vw,36px);line-height:1.15;margin:0 0 10px}.team-grid .team-info p{font-size:15px;line-height:1.5;margin:0;color:var(--muted)}
@media(max-width:720px){.team-grid{gap:28px}.team-grid .team-info{padding:20px}.team-grid .team-info h2{font-size:30px}}

/* V5.45: blue team overlays match the selected project cards. */
.team-image,.team-together-photo{position:relative;isolation:isolate;overflow:hidden}
.team-image::after,.team-together-photo::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:rgba(38,53,80,.32);opacity:1;transition:opacity .4s ease}
@media(hover:hover) and (pointer:fine){.team-card:hover .team-image::after,.team-together-photo:hover::after{opacity:0}}
@media(prefers-reduced-motion:reduce){.team-image::after,.team-together-photo::after{transition:none}}
.feature-card--creation:before,.subhero--media:before{background-image:url('assets/images/creation/rendering-v545.webp');background-position:center 48%}
@media(max-width:720px){.feature-card--creation:before,.subhero--media:before{background-position:48% center}}

/* Contact: exterior of the actual office building. */
.contact-hero-image{object-position:center 48%}
@media(max-width:720px){.contact-hero-image{object-position:65% center}}

/* V5.47: fuller building view, consulting photograph, editorial process. */
.contact-hero{min-height:clamp(540px,52vw,850px)}
.contact-hero-image{object-position:center 32%}
@media(max-width:720px){.contact-hero{min-height:480px}.contact-hero-image{object-position:65% 25%}}
.feature-card--consulting:before,.subhero--consulting:before{background-image:url('assets/images/buero/consulting-v547.webp');background-position:center}
.process-editorial-heading{max-width:820px;margin-bottom:70px}.process-editorial-heading h2{margin-bottom:28px}.process-editorial-heading>p:last-child{font-size:19px;line-height:1.65;color:rgba(255,255,255,.8);max-width:690px}
.process-editorial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:76px;row-gap:46px}.process-editorial-grid article{border-top:1px solid rgba(255,255,255,.35);padding-top:24px}.process-editorial-number{font-size:13px;letter-spacing:.12em;color:rgba(255,255,255,.7)}.process-editorial-grid h3{font-size:32px;line-height:1.15;margin:16px 0 20px}.process-editorial-grid p{font-size:17px;line-height:1.7;color:rgba(255,255,255,.85);margin:0 0 20px}.process-editorial-grid .process-editorial-result{font-size:15px;color:white;border-left:2px solid rgba(255,255,255,.5);padding-left:16px;margin-bottom:0}
@media(max-width:720px){.process-editorial-heading{margin-bottom:44px}.process-editorial-grid{grid-template-columns:1fr;gap:36px}.process-editorial-grid h3{font-size:28px}}
