@font-face{font-family:"Arima Madurai";font-weight:400;font-style:normal;font-display:swap;src:url("/assets/fonts/400-normal.woff2") format("woff2")}
@font-face{font-family:"Arima Madurai";font-weight:500;font-style:normal;font-display:swap;src:url("/assets/fonts/500-normal.woff2") format("woff2")}
@font-face{font-family:"Arima Madurai";font-weight:700;font-style:normal;font-display:swap;src:url("/assets/fonts/700-normal.woff2") format("woff2")}
@font-face{font-family:"Lato";font-weight:400;font-style:normal;font-display:swap;src:url("/assets/fonts/lato-400.woff2") format("woff2")}
:root{--sand:#b39d80;--dark:#3f362e;--brown:#6d4539;--ink:#332c25;--cream:#f8f4ed;--white:#fff;--red:#e21f24;--shadow:0 22px 70px rgba(45,35,28,.22)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:"Lato",Arial,sans-serif;font-size:18px;line-height:1.65}
img,video{max-width:100%;display:block}
a{color:inherit;text-decoration-thickness:.08em;text-underline-offset:.18em}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--red);outline-offset:4px;box-shadow:0 0 0 6px rgba(255,255,255,.95)}
h1,h2,h3{font-family:"Arima Madurai",Georgia,serif;line-height:1.08;color:var(--dark);font-weight:700;margin:0 0 .4em;letter-spacing:0}
h1{font-size:clamp(2.14rem,5.06vw,4.56rem);text-align:center}
h1 span{display:block}
h2{font-size:clamp(2.2rem,4vw,4.8rem)}
h3{font-size:clamp(1.8rem,3vw,3.2rem)}
p{margin:0 0 1.15rem}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%)}
.skip-link{position:absolute;left:1rem;top:-5rem;z-index:1000;background:#fff;color:#000;padding:.75rem 1rem;border-radius:4px}
.skip-link:focus{top:1rem}
.site-header{position:fixed;top:0;left:0;right:0;z-index:90;background:transparent;box-shadow:none;transition:background .25s ease,box-shadow .25s ease,backdrop-filter .25s ease}
.site-header.is-scrolled,.site-header.menu-open{background:rgba(255,255,255,.85);backdrop-filter:blur(8px);box-shadow:0 2.5px 5px -5px #222}
.main-nav{min-height:140px;display:grid;grid-template-columns:38% 25% 37%;align-items:center;gap:0;padding:0 2%;transition:min-height .25s ease}
.site-header.is-scrolled .main-nav{min-height:96px}
.brand{display:grid;place-items:center;justify-self:stretch}
.brand img{width:min(280px,20vw);height:auto;transition:width .25s ease}
.site-header.is-scrolled .brand img{width:168px}
.nav-side{display:flex;align-items:center;justify-content:center;gap:0}
.nav-side:first-child{justify-content:flex-end}
.nav-side:last-child{justify-content:flex-start}
.nav-side a,.mobile-nav a{font-family:"Lato",Arial,sans-serif;font-weight:400;text-decoration:none;color:#111;font-size:1.136em;text-transform:uppercase;letter-spacing:0}
.nav-side a{display:flex;align-items:center;justify-content:center;min-height:46px;line-height:20px;padding:0 50px}
.nav-side a[aria-current="page"],.mobile-nav a[aria-current="page"]{color:var(--brown)}
.nav-side a:hover,.mobile-nav a:hover{color:var(--red)}
.menu-toggle{display:none}
.mobile-nav{display:none}
.hero{position:relative;min-height:110vh;margin-top:0;background-image:var(--hero);background-size:cover;background-position:top center;display:grid;place-items:end center;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,0) 48%,rgba(255,255,255,.82) 100%)}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-shape{position:absolute;left:0;right:0;bottom:-1px;height:42%;background-image:url("/assets/media/Path-13367.png");background-size:110vw auto;background-repeat:no-repeat;background-position:bottom center;z-index:1}
.hero-content{position:relative;z-index:2;width:100%;max-width:none;text-align:center;margin-bottom:8.3vh;padding:2rem 2%;color:var(--dark)}
.hero h1{color:var(--red);font-size:clamp(2.14rem,5.06vw,4.65rem);line-height:75px;margin-bottom:.08em}
.hero-subtitle{font-family:"Arima Madurai",Georgia,serif;font-weight:400;font-size:clamp(1.9rem,2.55vw,3.1rem);line-height:75px;margin:0;color:var(--brown)}
.hero-copy{font-size:clamp(1.1rem,1.24vw,1.414em);line-height:45px;margin:0 auto;color:#333;width:min(1843px,100%);max-width:none}
.site-header .brand,.site-header .nav-side a{animation:headerDrop .82s cubic-bezier(.22,.72,.18,1) both}
.site-header .nav-side:first-child a:nth-child(1){animation-delay:.08s}.site-header .nav-side:first-child a:nth-child(2){animation-delay:.14s}.site-header .nav-side:first-child a:nth-child(3){animation-delay:.2s}.site-header .brand{animation-delay:.16s}.site-header .nav-side:last-child a:nth-child(1){animation-delay:.22s}.site-header .nav-side:last-child a:nth-child(2){animation-delay:.28s}
.hero-content.is-visible h1 span{animation:heroTitleIn .9s cubic-bezier(.22,.72,.18,1) both}.hero-content.is-visible h1 span:nth-child(2){animation-delay:.12s}.hero-content.is-visible .hero-subtitle,.hero-content.is-visible .hero-copy{animation:heroTitleIn .9s cubic-bezier(.22,.72,.18,1) .24s both}
@keyframes headerDrop{from{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:none}}
@keyframes heroTitleIn{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@keyframes luebZoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}100%{opacity:1;transform:none}}
@keyframes widgetSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.section{padding:clamp(4rem,8vw,8rem) clamp(1rem,5vw,5rem)}
.sand{background:var(--sand)}
.container{width:min(1180px,100%);margin-inline:auto}
.narrow{width:min(900px,100%);margin-inline:auto}
.center{text-align:center}
.split{width:min(1180px,100%);margin-inline:auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.split.two article{display:grid;justify-items:center;text-align:center}
.intro{background:#fff;padding:clamp(5rem,8vw,8rem) clamp(1rem,5vw,5rem)}
.lead{font-size:1.31em;line-height:40px;text-align:center}
.intro .ornament{grid-template-columns:1fr 2fr;gap:clamp(2rem,4vw,4rem)}
.ornament{grid-template-columns:.8fr 1.2fr}
.seal{display:grid;place-items:center}
.seal img{width:min(266px,45vw)}
@media (min-width: 1025px){
  .page-home .intro{padding:0 5%}
  .page-home .intro .ornament{width:100%;grid-template-columns:1fr;justify-items:center;gap:15.5px}
  .page-home .intro .seal{width:300px;height:300px}
  .page-home .intro .seal img{width:300px;max-width:100%;height:auto}
  .page-home .intro .lead{width:100%;margin-inline:auto;font-size:1.414em;line-height:45px}
  .page-home .intro .seal.reveal-zoom,.page-home .intro .lead.reveal-zoom{opacity:0;transform:scale3d(.3,.3,.3);transition:none;will-change:opacity,transform}
  .page-home .intro .seal.reveal-zoom.is-visible,.page-home .intro .lead.reveal-zoom.is-visible{animation:luebZoomIn 2s both}
  .page-home .scroll-ornament{height:187px;overflow:visible}
  .page-home .scroll-ornament img{left:0;right:auto;top:0;bottom:auto;width:clamp(320px,17.85vw,366px)}
}
@media (min-width: 1025px){
  .page-leistungen .hero{min-height:108vh}
  .page-leistungen .hero-content{margin-bottom:8.3vh;padding:2rem 5%}
  .page-leistungen .hero h1{font-size:74.358px;line-height:75px;margin-bottom:10px}
  .page-leistungen .hero-copy{font-size:25.446px;line-height:45px;color:#333;width:min(1843px,100%)}
  .page-leistungen .intro{min-height:1810px;padding:102px 5% 205px}
  .page-leistungen .intro .ornament{width:100%;grid-template-columns:1fr;justify-items:center;gap:0}
  .page-leistungen .intro .seal{width:267px;height:211px;margin-bottom:104px}
  .page-leistungen .intro .seal img{width:267px;max-width:100%;height:auto}
  .page-leistungen .intro .lead{width:100%;margin-inline:auto;text-align:center}
  .page-leistungen .intro .lead h2{font-size:49.566px;line-height:75px;font-weight:400;color:var(--brown);margin:0 0 20px}
  .page-leistungen .intro .lead p{font-size:25.446px;line-height:45px;color:#333;margin:0}
  .page-leistungen .intro .seal.reveal-zoom,.page-leistungen .intro .lead.reveal-zoom{opacity:0;transform:scale3d(.3,.3,.3);transition:none;will-change:opacity,transform}
  .page-leistungen .intro .seal.reveal-zoom.is-visible,.page-leistungen .intro .lead.reveal-zoom.is-visible{animation:luebZoomIn 2s both}
  .page-leistungen .thumb-grid{width:100%;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}
  .page-leistungen .thumb-grid img{aspect-ratio:601/450.8;height:auto;border-radius:0}
  .page-leistungen .scroll-ornament{height:187px;overflow:visible}
  .page-leistungen .scroll-ornament img{left:0;right:auto;top:0;bottom:auto;width:366px;max-width:none}
  .page-leistungen .feature{min-height:114.4vh;padding:0;background-position:center}
  .page-leistungen .feature-inner{width:min(1895px,calc(100vw - 153px));max-width:none;grid-template-columns:973px 1fr}
  .page-leistungen .feature-inner{transform:translateY(-8px)}
  .page-leistungen .feature-right .feature-inner{grid-template-columns:1fr 973px}
  .page-leistungen .feature .glass{width:973px;max-width:100%;padding:72px}
  .page-leistungen .feature .glass h2{font-size:49.566px;line-height:75px;font-weight:400;color:var(--brown);margin-bottom:.4em}
  .page-leistungen .feature .glass p{font-size:20.648px;line-height:45px;color:#333;margin:0}
  .page-leistungen .feature .glass.reveal-left{transform:translateX(-100vw)}
  .page-leistungen .feature .glass.reveal-right{transform:translateX(100vw)}
  .page-leistungen .feature .glass.reveal-left.is-visible,
  .page-leistungen .feature .glass.reveal-right.is-visible{transform:none}
  .page-leistungen .feature .glass.reveal{transition:opacity .95s ease,transform 1.05s cubic-bezier(.22,.72,.18,1)}
  .page-leistungen .feature-overlay{background:rgba(255,255,255,.45)}
  .page-leistungen .leistungen-cta{min-height:737px;display:grid;align-items:start;padding:0 5%}
  .page-leistungen .leistungen-cta .narrow{width:min(1823px,100%);max-width:none;margin-top:306px;transform:none}
  .page-leistungen .leistungen-cta h3{font-size:41.314px;line-height:45.445px;font-weight:700;color:var(--brown);margin:0}
  .page-leistungen .leistungen-cta .btn{height:60px;min-height:60px;padding:12px 24px;font-size:20.648px;line-height:30px;margin-top:66px}
  .page-leistungen .site-footer{min-height:833px;padding:158px 5% 1%}
  .page-leistungen .footer-grid,
  .page-leistungen .footer-logos{width:min(1843px,90vw);max-width:none}
  .page-leistungen .footer-grid > section:first-child{padding-left:20px}
  .page-leistungen .site-footer h2{font-size:41.314px;line-height:45.445px;color:#fff}
  .page-leistungen .footer-logos{justify-content:center;position:relative}
  .page-leistungen .footer-partner-logos{width:634px;grid-template-columns:85px 299.5px;column-gap:245px}
  .page-leistungen .footer-partner-logos a:last-child img{width:299.5px;height:auto}
  .page-leistungen .footer-logos .accessibility-seal{position:absolute;right:0;top:50%;transform:translateY(-50%)}
}
@media (min-width: 1025px){
  .page-service .hero{min-height:108vh}
  .page-service .hero-content{margin-bottom:calc(8.3vh - 18px);padding:2rem 5.84%}
  .page-service .hero h1{font-size:74.358px;line-height:75px;margin-bottom:0}
  .page-service .intro{min-height:878px;padding:45px 5% 0}
  .page-service .intro .ornament{width:100%;grid-template-columns:1fr;justify-items:center;gap:0}
  .page-service .intro .seal{width:214px;height:214px;margin-bottom:56px}
  .page-service .intro .seal img{width:214px;max-width:100%;height:auto}
  .page-service .intro .lead{width:100%;margin-inline:auto;text-align:center}
  .page-service .intro .lead p{font-size:25.446px;line-height:45px;color:#333;margin:0}
  .page-service .intro .seal.reveal-zoom,.page-service .intro .lead.reveal-zoom{opacity:0;transform:scale3d(.3,.3,.3);transition:none;will-change:opacity,transform}
  .page-service .intro .seal.reveal-zoom.is-visible,.page-service .intro .lead.reveal-zoom.is-visible{animation:luebZoomIn 2s both}
  .page-service .thumb-grid{width:100%;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:36px}
  .page-service .thumb-grid img{aspect-ratio:4/3;height:auto;border-radius:0}
  .page-service .scroll-ornament{height:187px;overflow:visible}
  .page-service .scroll-ornament img{left:0;right:auto;top:0;bottom:auto;width:366px;max-width:none}
  .page-service .feature{min-height:114.4vh;padding:0;background-position:center}
  .page-service .feature-inner{width:min(1843px,90vw);max-width:none;grid-template-columns:921.6px 1fr}
  .page-service .feature-right .feature-inner{grid-template-columns:1fr 921.6px;transform:translateY(-8px)}
  .page-service .feature .glass{width:921.6px;max-width:100%;padding:46px}
  .page-service .feature .glass h2{font-size:49.566px;line-height:75px;font-weight:400;color:var(--brown);margin-bottom:.4em}
  .page-service .feature .glass p{font-size:20.648px;line-height:45px;color:#333;margin:0}
  .page-service .feature .glass.reveal-left{transform:translateX(-100vw)}
  .page-service .feature .glass.reveal-right{transform:translateX(100vw)}
  .page-service .feature .glass.reveal-left.is-visible,
  .page-service .feature .glass.reveal-right.is-visible{transform:none}
  .page-service .feature .glass.reveal{transition:opacity .95s ease,transform 1.05s cubic-bezier(.22,.72,.18,1)}
  .page-service .feature-overlay{background:rgba(255,255,255,.45)}
  .page-service .service-cta{min-height:737px;display:grid;align-items:start;padding:0 5%}
  .page-service .service-cta .narrow{width:min(1823px,100%);max-width:none;margin-top:306px;transform:none}
  .page-service .service-cta h3{font-size:41.314px;line-height:45.445px;font-weight:700;color:var(--brown);margin:0}
  .page-service .service-cta .btn{height:60px;min-height:60px;padding:12px 24px;font-size:20.648px;line-height:30px;margin-top:66px}
  .page-service .site-footer{min-height:833px;padding:158px 5% 1%}
  .page-service .footer-grid,
  .page-service .footer-logos{width:min(1843px,90vw);max-width:none}
  .page-service .footer-grid > section:first-child{padding-left:20px}
  .page-service .site-footer h2{font-size:41.314px;line-height:45.445px;color:#fff}
  .page-service .footer-logos{justify-content:center;position:relative}
  .page-service .footer-partner-logos{width:634px;grid-template-columns:85px 299.5px;column-gap:245px}
  .page-service .footer-partner-logos a:last-child img{width:299.5px;height:auto}
  .page-service .footer-logos .accessibility-seal{position:absolute;right:0;top:50%;transform:translateY(-50%)}
}
@media (min-width: 1025px){
  .page-betrieb .hero{min-height:1262px;margin-top:-120px;background-position:top center}
  .page-betrieb .hero-content{margin-bottom:8.3vh;padding:2rem 5%}
  .page-betrieb .hero h1{font-size:74.358px;line-height:75px;margin-bottom:0}
  .page-betrieb .hero-subtitle{font-size:49.566px;line-height:75px}
  .page-betrieb .intro{min-height:907px;padding:55px 5% 0}
  .page-betrieb .intro .ornament{width:100%;grid-template-columns:1fr;justify-items:center;gap:0}
  .page-betrieb .intro .seal{width:267px;height:211px;margin-bottom:84px}
  .page-betrieb .intro .seal img{width:267px;max-width:100%;height:auto}
  .page-betrieb .intro .lead{width:100%;margin-inline:auto;text-align:center}
  .page-betrieb .intro .lead p{font-size:20.648px;line-height:45px;color:#333;margin:0}
  .page-betrieb .intro .seal.reveal-zoom,.page-betrieb .intro .lead.reveal-zoom{opacity:0;transform:scale3d(.3,.3,.3);transition:none;will-change:opacity,transform}
  .page-betrieb .intro .seal.reveal-zoom.is-visible,.page-betrieb .intro .lead.reveal-zoom.is-visible{animation:luebZoomIn 2s both}
  .page-betrieb .thumb-grid{width:100%;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:36px}
  .page-betrieb .thumb-grid img{aspect-ratio:4/3;height:auto;border-radius:0}
  .page-betrieb .scroll-ornament{height:187px;overflow:visible}
  .page-betrieb .scroll-ornament img{left:0;right:auto;top:0;bottom:auto;width:366px;max-width:none}
  .page-betrieb .feature{min-height:1209px;padding:0;background-position:center}
  .page-betrieb .feature-inner{width:min(1843px,90vw);max-width:none;grid-template-columns:921.6px 1fr}
  .page-betrieb .feature-right .feature-inner{grid-template-columns:1fr 921.6px;transform:translateY(-8px)}
  .page-betrieb .feature .glass{width:921.6px;max-width:100%;padding:46px}
  .page-betrieb .feature .glass h2{font-size:49.566px;line-height:75px;font-weight:400;color:var(--brown);margin-bottom:.4em}
  .page-betrieb .feature .glass p{font-size:20.648px;line-height:45px;color:#333;margin:0}
  .page-betrieb .feature .glass.reveal-left{transform:translateX(-100vw)}
  .page-betrieb .feature .glass.reveal-right{transform:translateX(100vw)}
  .page-betrieb .feature .glass.reveal-left.is-visible,
  .page-betrieb .feature .glass.reveal-right.is-visible{transform:none}
  .page-betrieb .feature .glass.reveal{transition:opacity .95s ease,transform 1.05s cubic-bezier(.22,.72,.18,1)}
  .page-betrieb .feature-overlay{background:rgba(255,255,255,.45)}
  .page-betrieb .contact-card{padding:46px 72px 72px}
  .page-betrieb .contact-card h2{margin-bottom:32px}
  .page-betrieb .contact-card-icon{display:grid;place-items:center;color:var(--red);margin:0 auto 31px}
  .page-betrieb .contact-card-icon svg{width:56px;height:50px;fill:currentColor}
  .page-betrieb .people{gap:35px;margin-top:0}
  .page-betrieb .people div{border-top:0;padding:0}
  .page-betrieb .people dt{font-size:25.446px;line-height:40px;color:var(--brown)}
  .page-betrieb .people dd{font-size:20.648px;line-height:30px;color:#333}
  .page-betrieb .cta{min-height:737px;display:grid;align-items:start;padding:0 5%}
  .page-betrieb .cta .narrow{width:min(1823px,100%);max-width:none;margin-top:306px;transform:none}
  .page-betrieb .cta :is(h2,h3){font-size:41.314px;line-height:45.445px;font-weight:700;color:var(--brown);margin:0}
  .page-betrieb .cta .btn{height:60px;min-height:60px;padding:12px 24px;font-size:20.648px;line-height:30px;margin-top:66px}
  .page-betrieb .site-footer{min-height:833px;padding:158px 5% 1%}
  .page-betrieb .footer-grid,
  .page-betrieb .footer-logos{width:min(1843px,90vw);max-width:none}
  .page-betrieb .footer-grid > section:first-child{padding-left:20px}
  .page-betrieb .site-footer h2{font-size:41.314px;line-height:45.445px;color:#fff}
  .page-betrieb .footer-logos{justify-content:center;position:relative}
  .page-betrieb .footer-partner-logos{width:634px;grid-template-columns:85px 299.5px;column-gap:245px}
  .page-betrieb .footer-partner-logos a:last-child img{width:299.5px;height:auto}
  .page-betrieb .footer-logos .accessibility-seal{position:absolute;right:0;top:50%;transform:translateY(-50%)}
}
.symbol{height:220px;max-width:220px;margin:0 auto 1rem}
.thumb-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2.5rem}
.thumb-grid img,.image-pair img,.reference-grid img{width:100%;height:100%;object-fit:cover;border-radius:8px}
.feature{position:relative;min-height:95vh;background-image:var(--bg);background-size:cover;background-position:center;display:grid;align-items:center;overflow:hidden;padding:clamp(2rem,5vw,5rem)}
.feature video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.feature-overlay{position:absolute;inset:0;background:rgba(57,45,37,.15)}
.feature-inner{position:relative;z-index:1;width:min(1180px,100%);margin-inline:auto;display:grid;grid-template-columns:minmax(280px,660px) 1fr}
.feature-right .feature-inner{grid-template-columns:1fr minmax(280px,660px)}
.feature-right .glass{grid-column:2}
.glass{background:rgba(255,255,255,.4);backdrop-filter:blur(8px);box-shadow:none;border-radius:20px;padding:clamp(2.2rem,5vw,4.5rem);text-align:center}
.glass h2{font-size:clamp(2rem,3.8vw,4.2rem)}
.service-triptych{background:#fff;padding:clamp(4rem,8vw,8rem) clamp(1rem,5vw,5rem)}
.triptych{width:min(1180px,100%);margin-inline:auto;display:grid;grid-template-columns:18% 1fr 18%;gap:clamp(1.5rem,4vw,4rem);align-items:center;text-align:center}
.triptych article{max-width:760px;margin-inline:auto}
.triptych h2{font-size:clamp(2.2rem,4vw,4.8rem)}
.side-symbol{display:grid;place-items:center;--parallax-y:0px}
.side-symbol img{width:min(100%,235px);height:auto;opacity:.9;transition:transform .36s ease}
.side-symbol:first-child img{transform:scaleX(-1)}
.side-symbol.skew-hover:hover img,.side-symbol.skew-hover:focus-within img{transform:skewY(-9deg)}
.side-symbol:first-child.skew-hover:hover img,.side-symbol:first-child.skew-hover:focus-within img{transform:scaleX(-1) skewY(-9deg)}
.map-cta{min-height:95vh;padding:2% 5%;background-color:#fff;background-image:var(--map);background-repeat:no-repeat;background-position:center center;background-size:56vw auto;display:grid;align-items:end;text-align:center;overflow:hidden}
.map-cta-content{padding:0 5%;margin-bottom:3.5%}
@media (min-width: 1025px){
  .page-home .map-cta{min-height:103vh}
  .page-home .map-cta-content{width:100%;max-width:none;margin-bottom:64.5px}
  .page-home .map-cta h3{font-size:2.295em;line-height:45.45px;color:var(--brown);margin:0}
  .page-home .map-cta h3 + h3{margin-top:21px}
  .page-home .map-cta .btn{height:50px;min-height:50px;margin-top:24px;padding:0 24px;font-size:1.147em;line-height:30px}
}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;padding:.57rem 1.1rem;margin-top:1rem;border-radius:20px;background:var(--red);color:#fff;text-decoration:none;border:3px solid var(--red);min-height:48px;font:700 1.1rem/30px "Lato",Arial,sans-serif;text-transform:uppercase;letter-spacing:.2px;cursor:pointer;transition:background-color .22s ease,color .22s ease,border-color .22s ease,transform .22s ease}
.btn:hover,.btn:focus-visible{background:#fff;color:var(--red);border-color:var(--red);transform:translateY(-1px)}
.btn:focus-visible{outline:3px solid rgba(226,31,36,.35);outline-offset:3px}
.btn svg{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.floating-contact svg{width:1em;height:1em;fill:currentColor}
.service-cards{position:relative;min-height:100vh;margin-top:5%;background-image:var(--bg);background-size:cover;background-position:center;background-attachment:fixed;padding:0 5%}
.stack{position:relative;z-index:1;width:min(65%,760px);display:grid;gap:0}
.stack .glass{margin:clamp(5rem,10.8vw,10rem) 0}
@media (min-width: 1025px){
  .page-home .feature{min-height:112.3vh}
  .page-home .feature .feature-inner{transform:translateY(-78px)}
  .page-home .feature-right .glass{width:min(973px,calc(100vw - 10rem));max-width:none}
  .page-home .feature .glass h2,
  .page-home .service-triptych h2,
  .page-home .service-cards .glass h2{font-size:49.566px;line-height:75px;font-weight:400;color:var(--brown);margin-bottom:.4em}
  .page-home .feature .glass p,
  .page-home .service-triptych p,
  .page-home .service-cards .glass p{font-size:20.648px;line-height:45px;color:#333}
  .page-home .service-triptych{min-height:813px;padding:89px 5% 0}
  .page-home .triptych{width:min(1843px,100%);grid-template-columns:20% 1fr 20%;gap:0}
  .page-home .triptych article{max-width:1153px}
  .page-home .side-symbol:first-child img{width:208px;max-width:none}
  .page-home .side-symbol:last-child img{width:234px;max-width:none}
  .page-home .service-cards{min-height:2225px;padding:0 5%}
  .page-home .stack{width:760px;max-width:65%;margin-left:109px}
  .page-home .stack .glass{width:760px;max-width:100%;margin:0 0 100px;padding:72px}
  .page-home .stack .glass:first-child{margin-top:108px}
  .page-home .stack .glass:last-child{margin-bottom:0}
  .page-home .cta{min-height:522px;display:grid;align-items:start;padding:0 5%}
  .page-home .cta .narrow{width:min(1823px,100%);max-width:none;margin-top:107px;transform:none}
  .page-home .cta :is(h2,h3){font-size:41.314px;line-height:45.445px;font-weight:700;color:var(--brown);margin:0 0 20px}
  .page-home .cta :is(h2,h3):last-of-type{margin-bottom:0}
  .page-home .cta .btn{height:60px;min-height:60px;padding:12px 24px;font-size:20.648px;line-height:30px;margin-top:66px}
  .page-home .site-footer{min-height:833px;padding:158px 5% 1%}
  .page-home .footer-grid,
  .page-home .footer-logos{width:min(1843px,90vw);max-width:none}
  .page-home .footer-grid > section:first-child{padding-left:20px}
  .page-home .site-footer h2{font-size:41.314px;line-height:45.445px;color:#fff}
  .page-home .footer-logos{justify-content:center;position:relative}
  .page-home .footer-partner-logos{width:634px;grid-template-columns:85px 299.5px;column-gap:245px}
  .page-home .footer-partner-logos a:last-child img{width:299.5px;height:auto}
  .page-home .footer-logos .accessibility-seal{position:absolute;right:0;top:50%;transform:translateY(-50%)}
}
.refs{background:#fff;padding-block:clamp(5rem,10vw,10rem)}
.image-pair{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.image-pair img{aspect-ratio:1.6/1}
.spacer{margin-top:2rem}
@media (min-width: 1025px){
  .page-home .refs{padding:52px 5% 0;min-height:821px}
  .page-home .refs .split.two{width:100%;display:grid;grid-template-columns:1fr;gap:0;align-items:start}
  .page-home .refs h2{font-size:2.754em;line-height:75px;font-weight:400;color:var(--brown);margin:0;text-align:center}
  .page-home .refs .image-pair{width:min(84.57vw,1732px);margin:74px auto 0;grid-template-columns:1fr 1fr;gap:min(4.45vw,91px)}
  .page-home .refs .image-pair img{width:100%;height:auto;aspect-ratio:1.6/1;object-fit:cover;border-radius:8px}
  .page-home .refs .spacer{margin-top:101px}
  .page-home .refs .btn{height:60px;min-height:60px;padding:12px 24px;font-size:1.147em;line-height:30px}
  .page-home .refs .reveal,.page-home .refs .reveal.is-visible{opacity:1;transform:none;transition:none}
}
.scroll-ornament{position:relative;overflow:hidden;background:#fff;height:86px;padding:0}
.scroll-ornament img{position:absolute;right:8vw;bottom:-52px;width:min(457px,55vw);transform:translate3d(var(--scroll-x,0px),0,0);transition:transform .08s linear}
.cta{position:relative;background:#fff;text-align:center;overflow:hidden}
.cta .container{position:relative;z-index:1}
.cta-windmill{position:absolute;right:0;bottom:0;display:block;width:min(260px,35vw);aspect-ratio:400/540;z-index:0;pointer-events:none}
.cta-windmill-art{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:1;object-fit:contain;object-position:center bottom}
.reference-grid{width:min(1180px,100%);margin:2rem auto 0;display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}
.reference-grid figure{margin:0;text-align:center}
.reference-grid img{height:450px;border-radius:8px}
.reference-grid figcaption{margin-top:.85rem;color:var(--dark)}
@media (min-width: 1025px){
  .page-referenzen .hero{min-height:110vh}
  .page-referenzen .hero-content{margin-bottom:calc(8.3vh - 4px);padding:2rem 2%}
  .page-referenzen .hero h1{font-size:74.358px;line-height:75px;margin-bottom:.08em}
  .page-referenzen .hero-subtitle{width:min(1843px,100%);margin-inline:auto;font-size:33.044px;line-height:46.262px;color:var(--brown)}
  .page-referenzen .reference-hobel{height:187px;margin-bottom:-187px;overflow:visible;z-index:2}
  .page-referenzen .reference-hobel img{left:-90px;right:auto;top:0;bottom:auto;width:366px;max-width:none}
  .page-referenzen .refs{position:relative;z-index:1;padding:199px 5% 52px;min-height:0}
  .page-referenzen .refs .container{width:min(1823px,100%);max-width:none}
  .page-referenzen .refs .container.reveal.is-visible{transform:translateY(28px)}
  .page-referenzen .refs h2{font-size:49.566px;line-height:75px;font-weight:400;color:var(--brown);margin:0;text-align:center}
  .page-referenzen .reference-grid{width:min(1732px,100%);max-width:none;margin:94px auto 0;grid-template-columns:repeat(2,minmax(0,820px));column-gap:min(4.45vw,91px);row-gap:91px;align-items:start}
  .page-referenzen .reference-grid figure{width:820px;max-width:100%;display:flex;flex-direction:column;align-items:center;margin:0;text-align:center}
  .page-referenzen .reference-grid figure.reveal-left{transform:translateX(-100vw)}
  .page-referenzen .reference-grid figure.reveal-right{transform:translateX(100vw)}
  .page-referenzen .reference-grid figure.reveal-left.is-visible,
  .page-referenzen .reference-grid figure.reveal-right.is-visible{transform:none}
  .page-referenzen .reference-grid figure.reveal{transition:opacity .95s ease,transform 1.05s cubic-bezier(.22,.72,.18,1)}
  .page-referenzen .reference-image-frame{width:820px;height:450px;max-width:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:8px}
  .page-referenzen .reference-grid img{display:block;height:450px;border-radius:8px;max-width:100%;object-position:50% 50%}
  .page-referenzen .reference-grid .ref-img-wide{width:820px}
  .page-referenzen .reference-grid .ref-img-door-large{width:750px;object-fit:contain}
  .page-referenzen .reference-grid .ref-img-narrow{width:400px;object-fit:contain}
  .page-referenzen .reference-grid .ref-img-cover{object-fit:cover}
  .page-referenzen .reference-grid .ref-img-contain{object-fit:contain}
  .page-referenzen .reference-grid figcaption{width:820px;max-width:100%;min-height:61px;margin-top:20px;font-size:18.176px;line-height:45px;color:#333;text-align:center}
  .page-referenzen .cta{min-height:505px;display:grid;align-items:start;padding:0 5%}
  .page-referenzen .cta .narrow{width:min(1823px,100%);max-width:none;margin-top:156px;transform:none}
  .page-referenzen .cta :is(h2,h3){font-size:41.314px;line-height:45.445px;font-weight:700;color:var(--brown);margin:0 0 20px}
  .page-referenzen .cta :is(h2,h3):last-of-type{margin-bottom:0}
  .page-referenzen .cta .btn{height:60px;min-height:60px;padding:12px 24px;font-size:20.648px;line-height:30px;margin-top:66px}
  .page-referenzen .site-footer{min-height:833px;padding:158px 5% 1%}
  .page-referenzen .footer-grid,
  .page-referenzen .footer-logos{width:min(1843px,90vw);max-width:none}
  .page-referenzen .footer-grid > section:first-child{padding-left:20px}
  .page-referenzen .site-footer h2{font-size:41.314px;line-height:45.445px;color:#fff}
  .page-referenzen .footer-logos{justify-content:center;position:relative}
  .page-referenzen .footer-partner-logos{width:634px;grid-template-columns:85px 299.5px;column-gap:245px}
  .page-referenzen .footer-partner-logos a:last-child img{width:299.5px;height:auto}
  .page-referenzen .footer-logos .accessibility-seal{position:absolute;right:0;top:50%;transform:translateY(-50%)}
}
.contact-hero{background-image:linear-gradient(180deg,rgba(179,157,128,.58),rgba(179,157,128,.18)),var(--bg);background-size:cover;background-position:bottom center;min-height:90vh;display:grid;align-items:center}
.people{display:grid;gap:.6rem;margin:1rem 0 0}
.people div{padding:.5rem 0;border-top:1px solid rgba(63,54,46,.22)}
.people dt{font-family:"Arima Madurai",Georgia,serif;font-size:1.55rem;font-weight:700}
.people dd{margin:0}
.contact-form{display:grid;gap:1rem;text-align:left;margin-top:2rem}
.form-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
label{font-weight:700}
input,textarea{width:100%;min-height:48px;border:2px solid transparent;border-radius:4px;padding:.85rem 1rem;font:inherit;background:#fff;color:var(--ink);margin-top:.25rem}
textarea{resize:vertical}
.check{display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:start;font-weight:400}
.check input{width:auto;min-height:0;margin-top:.35rem}
.small{font-size:.95rem}
.field-hp{display:none}
.contact-section-icon,.office-hours-icon{display:grid;place-items:center;color:var(--red);line-height:1}
.contact-section-icon svg,.office-hours-icon svg{display:block;width:1em;height:1em;fill:currentColor}
@media (min-width: 1025px){
  .page-kontakt .hero h1{font-size:74.358px;line-height:75px}
  .page-kontakt .hero-content{margin-bottom:calc(8.3vh + 2px)}
  .page-kontakt .contact-hero{min-height:1138px;padding:0;background-image:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.04)),var(--bg);background-position:bottom center;background-size:cover;align-items:start}
  .page-kontakt .contact-cards{width:100%;max-width:none;grid-template-columns:665px 665px;justify-content:space-between;gap:0;padding:270px 52px 0;margin:0}
  .page-kontakt .contact-cards .glass{width:665px;min-height:541px;margin:0;padding:46px 32px 34px;border-radius:12px;background:rgba(255,255,255,.44);box-shadow:none;backdrop-filter:blur(12px);text-align:center}
  .page-kontakt .contact-info-card{padding-top:51px!important}
  .page-kontakt .contact-cards .glass h2{height:75px;font-size:49.566px;line-height:75px;font-weight:400;color:var(--brown);margin:0}
  .page-kontakt .contact-info-card .contact-section-icon{width:50px;height:50px;font-size:50px;margin:20px auto 35px}
  .page-kontakt .contact-people-card .contact-section-icon{font-size:58px;margin:26px auto 26px}
  .page-kontakt .contact-info-card p{width:597px;max-width:100%;font-size:18.176px;line-height:45px;color:#333;margin:0 auto}
  .page-kontakt .people{gap:0;margin:0}
  .page-kontakt .people div{border-top:0;padding:0;margin:0 0 38px}
  .page-kontakt .people div:last-child{margin-bottom:0}
  .page-kontakt .people dt{font-size:27.264px;line-height:29.99px;font-weight:700;color:var(--brown);margin:0 0 7px}
  .page-kontakt .people dd{font-size:18.176px;line-height:30px;color:#333;margin:0}
  .page-kontakt .contact-form-section{min-height:1077px;padding:51px 5% 0;background:#fff}
  .page-kontakt .contact-form-section .container{width:min(1843px,100%);max-width:none}
  .page-kontakt .contact-form-section h2{font-size:49.566px;line-height:75px;font-weight:400;color:var(--brown);margin:0;text-align:center}
  .page-kontakt .office-hours-icon{font-size:42px;margin:32px auto 27px}
  .page-kontakt .contact-form-section p{font-size:18.176px;line-height:45px;color:#333;margin:0;text-align:center}
  .page-kontakt .contact-form-title{margin-top:117px!important}
  .page-kontakt .contact-form{width:1106px;max-width:100%;margin:20px auto 0;display:grid;gap:0;text-align:left;color:#333}
  .page-kontakt .form-row{grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 10px}
  .page-kontakt .contact-form label{font-weight:400}
  .page-kontakt .contact-form input,
  .page-kontakt .contact-form textarea{min-height:40px;height:40px;margin:0;border:1px solid #8c8c8c;border-radius:3px;background:#fff;color:#1f2124;font-size:15px;line-height:21px;padding:7px 12px;font-family:"Lato",Arial,sans-serif}
  .page-kontakt .contact-form textarea{width:100%;height:96px;min-height:96px;resize:vertical}
  .page-kontakt .contact-form .small{font-size:18.176px;line-height:45px;margin:12px 0 10px;text-align:left}
  .page-kontakt .contact-form .check{grid-template-columns:24px 1fr;gap:10px;align-items:start;font-size:18.176px;line-height:45px;margin:0 0 11px}
  .page-kontakt .contact-form .check input{width:24px;height:24px;min-height:24px;margin:3px 0 0;padding:0;border:1px solid #8c8c8c;border-radius:0}
  .page-kontakt .contact-form .submit{width:100%;height:40px;min-height:40px;border-radius:20px;font-size:20.648px;line-height:30px;font-weight:700;text-transform:uppercase;padding:4px 24px;margin:0}
  .page-kontakt .site-footer{min-height:834px;padding:158px 5% 1%}
  .page-kontakt .footer-grid,
  .page-kontakt .footer-logos{width:min(1843px,90vw);max-width:none}
  .page-kontakt .footer-grid > section:first-child{padding-left:20px}
  .page-kontakt .site-footer h2{font-size:41.314px;line-height:45.445px;color:#fff}
  .page-kontakt .footer-logos{justify-content:center;position:relative}
  .page-kontakt .footer-partner-logos{width:634px;grid-template-columns:85px 299.5px;column-gap:245px}
  .page-kontakt .footer-partner-logos a:last-child img{width:299.5px;height:auto}
  .page-kontakt .footer-logos .accessibility-seal{position:absolute;right:0;top:50%;transform:translateY(-50%)}
}
.legal{background:#fff}
.legal .container{max-width:980px}
.legal h1{font-size:clamp(2.8rem,6vw,5.5rem)}
.legal h2{font-size:clamp(1.8rem,3vw,3rem);margin-top:2rem}
.legal h3{font-size:clamp(1.4rem,2vw,2rem);margin-top:1.5rem}
.imprint-container{width:min(1823px,100%);margin-inline:auto}
.imprint-company,.imprint-credits{background:#fff}
.imprint-company a,.imprint-credits span{color:var(--red)}
.imprint-company-grid,.credit-grid,.agency-cards{display:grid}
.imprint-agency{background:#213e67;color:#fff}
.imprint-agency h2,.imprint-agency h3,.imprint-agency a{color:#fff}
.imprint-agency a{text-decoration:none}
@media (min-width: 1025px){
  .page-impressum .hero h1{font-size:74.358px;line-height:75px}
  .page-impressum .hero-content{margin-bottom:calc(8.3vh + 25px)}
  .page-impressum .hero h1{width:min(1836px,100%);margin-inline:auto}
  .page-impressum .imprint-company{min-height:695px;padding:61px 5% 0;margin-top:-21px}
  .page-impressum .imprint-container{max-width:none}
  .page-impressum .imprint-company h2,
  .page-impressum .imprint-credits h2{font-size:49.566px;line-height:75px;font-weight:400;color:var(--brown);margin:0;text-align:center}
  .page-impressum .imprint-company-grid{grid-template-columns:repeat(3,547px);justify-content:center;align-items:start;column-gap:61px;row-gap:0;margin-top:136px}
  .page-impressum .imprint-company-grid p{font-size:18.176px;line-height:45px;color:#333;margin:0;text-align:left}
  .page-impressum .imprint-hobel{height:187px;margin-top:-1px;margin-bottom:-1px;overflow:visible;z-index:2}
  .page-impressum .imprint-hobel img{left:-90px;right:auto;top:0;bottom:auto;width:366px;height:187px;max-width:none}
  .page-impressum .imprint-credits{min-height:849px;padding:61px 5% 0;position:relative;z-index:1}
  .page-impressum .credit-grid{grid-template-columns:1fr 1fr;gap:0;margin-top:79px}
  .page-impressum .credit-column{display:grid;gap:0;text-align:center}
  .page-impressum .credit-column p{font-size:18.176px;line-height:45px;color:#333;margin:0 0 0;min-height:90px}
  .page-impressum .credit-column span{display:inline-block}
  .page-impressum .imprint-agency{position:relative;height:766px;padding:0;background-color:#213e67;background-image:var(--agency-bg);background-size:cover;background-position:center center;background-attachment:fixed;overflow:hidden;margin-bottom:-90px}
  .page-impressum .imprint-agency::before{content:"";position:absolute;inset:0;background:#3b53aa;opacity:.35;z-index:0;pointer-events:none}
  .page-impressum .imprint-agency-inner{position:relative;z-index:1;width:min(1890px,92.3vw);margin-inline:auto}
  .page-impressum .imprint-agency h2{position:absolute;left:79px;right:79px;top:145px;font-family:"Lato",Arial,sans-serif;font-size:40px;line-height:75px;font-weight:300;text-align:center;margin:0;color:#fff}
  .page-impressum .agency-brand-row{position:absolute;inset:0;pointer-events:none}
  .page-impressum .agency-brand-row a{pointer-events:auto}
  .page-impressum .polaris-logo-link{position:absolute;left:50%;top:296px;width:372px;height:135px;transform:translateX(-50%)}
  .page-impressum .polaris-logo-link img{display:block;width:372px;height:135px;object-fit:contain}
  .page-impressum .polaris-social{position:absolute;left:calc(50% + 510px);top:326px;width:420px;display:flex;align-items:center;justify-content:flex-start;gap:10px;color:#fff;font-family:"Lato",Arial,sans-serif;font-size:21px;line-height:21px;font-weight:300;pointer-events:auto}
  .page-impressum .polaris-social span{margin-right:8px}
  .page-impressum .polaris-social a{display:grid!important;place-items:center;width:40px;height:40px;color:#fff;text-decoration:none}
  .page-impressum .polaris-social svg{width:40px;height:40px;fill:currentColor}
  .page-impressum .agency-cards{position:absolute;left:79px;right:79px;top:492px;grid-template-columns:repeat(3,630px);justify-content:space-between;gap:0;margin:0;text-align:center}
  .page-impressum .agency-cards article{display:grid;justify-items:center}
  .page-impressum .agency-icon{display:grid!important;place-items:center;width:69px;height:69px;border:3px solid #fff;border-radius:50%;color:#fff}
  .page-impressum .agency-icon svg{width:35px;height:35px;fill:currentColor}
  .page-impressum .agency-cards h3{font-family:"Lato",Arial,sans-serif;font-size:21px;line-height:25px;font-weight:300;margin:25px 0 0;color:#fff}
  .page-impressum .agency-cards h3 a{color:#fff;text-decoration:none}
  .page-impressum .agency-cards p{font-size:18.176px;line-height:45px;font-weight:300;color:#fff;margin:10px 0 0}
  .page-impressum .site-footer{min-height:834px;padding:158px 5% 1%}
  .page-impressum .footer-grid,
  .page-impressum .footer-logos{width:min(1843px,90vw);max-width:none}
  .page-impressum .footer-grid > section:first-child{padding-left:20px}
  .page-impressum .site-footer h2{font-size:41.314px;line-height:45.445px;color:#fff}
  .page-impressum .footer-logos{justify-content:center;position:relative}
  .page-impressum .footer-partner-logos{width:634px;grid-template-columns:85px 299.5px;column-gap:245px}
  .page-impressum .footer-partner-logos a:last-child img{width:299.5px;height:auto}
  .page-impressum .footer-logos .accessibility-seal{position:absolute;right:0;top:50%;transform:translateY(-50%)}
}
.site-footer{position:relative;min-height:75vh;background-color:var(--dark);background-image:var(--footer-bg);background-size:cover;background-position:center;color:#fff;padding:1% 5%;overflow:hidden}
.footer-overlay{position:absolute;inset:0;background:rgba(63,54,46,.35)}
.footer-grid,.footer-logos{position:relative;z-index:1;width:min(1180px,100%);margin-inline:auto}
.footer-grid{display:grid;grid-template-columns:43.672% 19.249% 36.71%;gap:2rem;align-items:start}
.site-footer h2{font-size:2rem;color:#fff}
.site-footer a{display:inline-block;color:#fff}
.site-footer nav a[aria-current="page"]{color:#fff;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.22em}
.site-footer nav{display:grid;gap:.25rem}
address{font-style:normal}
.footer-contact{display:grid;gap:0}
.footer-contact-row{display:grid!important;grid-template-columns:32px 1fr;gap:10px;align-items:start;text-decoration:none;font-size:1.136em;line-height:45px}
.footer-contact-row svg{width:32px;height:32px;fill:var(--red);margin-top:.22em}
.footer-contact-row--no-icon{display:block!important;padding-left:42px;margin-top:-.35rem}
.footer-contact-row strong{font-weight:700}
.hours{margin:0}.hours div{display:grid;grid-template-columns:1fr auto;gap:1rem}.hours dd{margin:0}
.footer-logos{display:flex;gap:2rem;align-items:center;justify-content:space-between;margin-top:5%}
.footer-partner-logos{display:grid;grid-template-columns:47.014% 52.985%;align-items:center;width:min(659px,calc(100% - 160px))}
.footer-partner-logos a{display:flex;align-items:center;justify-content:center}
.footer-partner-logos img{display:block;width:auto;height:auto;max-width:100%;background:transparent;padding:0;border-radius:0}
.footer-partner-logos a:first-child img{width:85px;height:71px}
.footer-partner-logos a:last-child img{width:370px;height:71px}
.footer-logos .accessibility-seal{width:118px;height:118px;max-width:118px;max-height:118px;object-fit:contain;background:transparent;padding:0;border-radius:50%;margin-left:auto;flex:0 0 118px}
.floating-contact{position:fixed;right:0;top:30vh;z-index:120;display:grid;gap:1rem}
.floating-contact a{display:grid;place-items:center;width:64px;height:64px;background:#fff;color:#e21f24;border-radius:14px 0 0 14px;box-shadow:0 12px 28px rgba(0,0,0,.18)}
.motion-toggle{position:fixed;left:18px;bottom:18px;z-index:121;display:grid;place-items:center;width:54px;height:54px;border:0;border-radius:50%;background:#fff;color:var(--red);box-shadow:0 12px 28px rgba(0,0,0,.16);cursor:pointer}
.motion-toggle-icon{position:relative;display:block;width:22px;height:22px}
.motion-toggle-icon::before,.motion-toggle-icon::after{content:"";position:absolute;top:3px;width:5px;height:16px;background:currentColor;border-radius:2px}
.motion-toggle-icon::before{left:4px}
.motion-toggle-icon::after{right:4px}
.motion-toggle[aria-pressed="true"] .motion-toggle-icon::before{left:6px;top:2px;width:0;height:0;border-top:9px solid transparent;border-bottom:9px solid transparent;border-left:14px solid currentColor;background:transparent;border-radius:0}
.motion-toggle[aria-pressed="true"] .motion-toggle-icon::after{display:none}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}
.reveal-left{transform:translateX(-38px)}
.reveal-right{transform:translateX(38px)}
.reveal-zoom{transform:scale(.9)}
.reveal.is-visible{opacity:1;transform:none}
.parallax-y.reveal.is-visible{transform:translate3d(0,var(--parallax-y),0)}
.motion-paused .scroll-ornament img,.motion-paused .parallax-y{transition:none}
.motion-paused .lazy-video{animation-play-state:paused}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.site-header .brand,.site-header .nav-side a,.hero-content.is-visible h1 span,.hero-content.is-visible .hero-subtitle,.hero-content.is-visible .hero-copy,.page-home .intro .reveal-zoom.is-visible,.page-leistungen .intro .reveal-zoom.is-visible,.page-service .intro .reveal-zoom.is-visible,.page-betrieb .intro .reveal-zoom.is-visible{animation:none}.reveal,.scroll-ornament img,.parallax-y{transition:none;transform:none!important;opacity:1}.lazy-video{display:none}}
@media (max-width: 1440px){
  .nav-side a{font-size:1.1em;padding:0 10px}
  .map-cta{min-height:860px;margin-top:-5%;background-position:top center;background-size:78% auto}
  .map-cta-content{margin-bottom:3.5%}
  .btn{font-size:1.1em;line-height:25px;letter-spacing:.2px}
  .site-footer{min-height:70vh;padding:5% 2%}
  .footer-contact-row{grid-template-columns:28px 1fr;font-size:1.3em;line-height:40px}
  .footer-contact-row svg{width:28px;height:28px}
  .footer-contact-row--no-icon{padding-left:35px}
}
@media (max-width: 1024px){
  body{font-size:16.784px;line-height:30px}
  .map-cta{background-position:top center;background-size:95vw auto;min-height:790px}
  .btn{font-size:1em;line-height:25px;letter-spacing:.25px}
  .nav-side a{font-size:1em;line-height:18px;padding:0 5px}
  .site-footer{min-height:75vh}
  .footer-contact-row{font-size:1.19em;line-height:30px}
}
@media (max-width: 900px){
  body{font-size:16px}
  .main-nav{grid-template-columns:auto 1fr auto;min-height:140px;padding:0 57px 0 37px}
  .site-header.is-scrolled .main-nav{min-height:96px}
  .brand img{width:280px;max-width:calc(100vw - 142px)}
  .site-header.is-scrolled .brand img{width:210px;max-width:calc(100vw - 122px)}
  .nav-side{display:none}
  .menu-toggle{display:grid;justify-self:end;place-items:center;width:60px;height:60px;border:0;border-radius:0;background:var(--red);color:#fff;padding:0;gap:5px}
  .menu-toggle span:not(.visually-hidden){display:block;width:30px;height:4px;background:#fff}
  .mobile-nav{position:fixed;top:140px;left:0;right:0;display:none;background:#fff;padding:1rem 28px 1.35rem;box-shadow:0 20px 32px rgba(0,0,0,.12)}
  .site-header.is-scrolled .mobile-nav{top:96px}
  .mobile-nav.open{display:grid;gap:.75rem}
  .mobile-nav a{font-size:1rem}
  .hero{margin-top:0;min-height:105vh;background-position:center top}
  .hero h1{font-size:34.2px;line-height:38px}
  .hero-subtitle{font-size:30px;line-height:1.15}
  .hero-content{margin-bottom:6vh;padding:1rem}
  .intro .ornament,.split,.ornament,.feature-inner,.feature-right .feature-inner,.footer-grid{grid-template-columns:1fr}
  .lead{font-size:1.02em;line-height:25px}
  .feature-right .glass{grid-column:auto}
  .thumb-grid{grid-template-columns:repeat(2,1fr)}
  .feature{min-height:103vh;padding:4rem 1rem}
  .feature video{display:none}
  .service-triptych{min-height:1040px;padding:5rem 5% 4rem}
  .triptych{position:relative;display:block;min-height:880px}
  .triptych article{position:relative;z-index:2;max-width:560px}
  .side-symbol{position:absolute;z-index:1;opacity:.9}
  .side-symbol:first-child{left:28%;top:310px;width:210px}
  .side-symbol:last-child{right:8%;top:560px;width:235px}
  .side-symbol img{width:100%;max-width:none}
  .service-cards{min-height:1920px;background-attachment:scroll;padding:5%}
  .stack{width:100%;min-height:1720px;align-content:space-around}
  .stack .glass{margin:0}
  .reference-grid{grid-template-columns:1fr}
  .reference-grid img{height:360px}
  .form-row{grid-template-columns:1fr}
  .floating-contact a{width:56px;height:56px}
}
@media (min-width: 768px) and (max-width: 1024px){
  body{font-size:16.784px;line-height:30px}
  .main-nav{grid-template-columns:37% 26% 37%;min-height:94px;padding:0 2%;gap:0}
  .site-header.is-scrolled .main-nav{min-height:94px}
  .brand{display:grid;place-items:center;justify-self:stretch}
  .brand img{width:88%;max-width:188px}
  .site-header.is-scrolled .brand img{width:60%;max-width:150px}
  .nav-side{display:flex;align-items:center;justify-content:center;gap:0}
  .nav-side:first-child{justify-content:flex-end}
  .nav-side:last-child{justify-content:flex-start}
  .menu-toggle{display:none}
  .mobile-nav{display:none!important}
  .hero{min-height:96.6vh;background-position:center top}
  .hero-content{width:100%;max-width:none;margin-bottom:7.7vh;padding:0 2%}
  .hero h1{font-size:2.95em;line-height:50px;letter-spacing:.2px;margin-bottom:10px}
  .hero h1 span + span{margin-top:10px}
  .hero-subtitle{font-size:2.5em;line-height:50px}
  .intro{min-height:678px;padding:62px 5% 3px}
  .lead{font-size:1.1em;line-height:35px;width:min(768px,100%);margin-inline:auto}
  .scroll-ornament{height:128px}
  .feature{min-height:945px}
  .feature-inner,.feature-right .feature-inner{width:90%;grid-template-columns:1fr}
  .page-home .feature .feature-inner{transform:translateY(48px)}
  .feature-right .glass{grid-column:auto}
  .glass{border-radius:14px}
  .glass h2,.triptych h2,.refs h2{font-size:2.5em;line-height:50px;color:var(--brown)}
  .service-triptych{min-height:929px;padding:3rem 5% 3rem}
  .triptych{min-height:760px}
  .map-cta{min-height:824px}
  .map-cta-content{margin-bottom:.5%}
  .map-cta h3{font-size:2em;line-height:40px;color:var(--brown)}
  .map-cta .btn{height:55px;min-height:55px;padding:0 1.9rem}
  .service-cards .glass h2{font-size:2.5em;line-height:50px;color:var(--brown)}
  .service-cards{min-height:2060px}
  .refs{padding-block:0}
  .refs .image-pair img{height:165px}
  .cta{min-height:409px;display:grid;align-items:center}
  .cta :is(h2,h3){font-size:2em;line-height:40px;color:var(--brown)}
  .site-footer{min-height:105vh}
  .site-footer h2{font-size:2em;line-height:40px}
  .footer-grid{grid-template-columns:43.672% 19.249% 36.71%;gap:2rem}
  .footer-logos{margin-top:45%}
  .footer-partner-logos a:last-child img{width:299.5px;height:auto}
  .floating-contact a{width:64px;height:64px}
}
@media (max-width: 767px){
  .hero{min-height:105vh;background-position:-700px -64px}
  .intro{padding-bottom:40px}
  .seal img{width:200px}
  .lead{max-width:560px;margin-inline:auto}
  .scroll-ornament{height:42px}
  .scroll-ornament img{width:clamp(150px,25vw,260px);right:12vw;bottom:-44px}
  .map-cta{margin-top:0;background-position:top center;background-size:110vw auto;min-height:max(70vh,760px)}
  .map-cta-content{padding:0;margin-bottom:3.5%}
  .btn{font-size:1.05em;line-height:20px}
  .refs{padding-bottom:160px}
  .cta{min-height:500px;display:grid;align-items:center}
  .site-footer{min-height:100vh;padding:5% 1%}
  .footer-grid{gap:10vh}
  .footer-contact-row{grid-template-columns:32px 1fr;font-size:1.02em;line-height:25px}
  .footer-contact-row svg{width:32px;height:32px}
  .footer-contact-row--no-icon{padding-left:42px}
  .footer-contact{row-gap:.85rem}
  .site-footer nav{gap:.45rem}
  .hours div{grid-template-columns:1fr auto}
  .footer-logos{display:grid;align-items:start;justify-content:stretch;gap:1.25rem;margin-top:8%}
  .footer-partner-logos{width:100%}
}
@media (max-width: 560px){
  .main-nav{padding:0 18px}
  .brand img{width:245px;max-width:calc(100vw - 118px)}
  .site-header.is-scrolled .brand img{width:185px;max-width:calc(100vw - 108px)}
  .menu-toggle{width:56px;height:56px}
  .mobile-nav{padding-inline:18px}
  .hero h1{font-size:34.2px;line-height:38px}
  .section{padding:3rem 1rem}
  .thumb-grid,.image-pair{grid-template-columns:1fr}
  .reference-grid img{height:300px}
  .footer-logos{align-items:flex-start;flex-direction:column}
  .footer-logos .accessibility-seal{width:104px;height:104px;max-width:104px;max-height:104px;margin-left:auto;margin-right:auto;flex-basis:104px}
}
