/* Editorial direction: white canvas, angular orange artwork and open typography. */
:root{color-scheme:light;--bg:#fff;--surface:#f3f2ee;--text:#141414;--muted:#60605b;--line:#d7d6d0;--red:#333333;background:#fff;color:var(--text)}
body{background:#fff}h1,h2,h3{font-weight:400;letter-spacing:-.045em}.site-header{background:#fff}.site-header .brand{color:#111}.site-header .brand img,.site-footer .brand img{filter:none}.site-menu-toggle{background:#fff;color:#111;border:1px solid #aaa;border-radius:0}.site-menu-toggle:hover,.site-menu-toggle[aria-expanded=true]{background:#eee;border-color:#111}.button{background:#111;color:#fff;border-radius:0}.button:hover{background:#333333}.hero-intro p,.editorial-copy p,.page-hero .hero-intro p{color:#444}.client-logos img{filter:none;opacity:1}.eyebrow{font-family:Arial,Helvetica,sans-serif;font-weight:400;letter-spacing:.12em}.page-hero .breadcrumbs span[aria-current]{color:#555}.breadcrumbs a:hover{color:#333333}.page-cta{background:#f3f2ee;color:#111}.page-cta .eyebrow{color:#111}.page-cta p{color:#222}.overview-card{border-color:#aaa}.graz-location,.about-location address{color:#333}.graz-location:hover .graz-caption{color:#333333}.project-info>.eyebrow,.project-info p{color:#60605b}.page-hero{padding-top:60px}.site-footer{padding-block:55px}.portfolio-lightbox,.lightbox-toolbar p,.portfolio-lightbox button{color:#fff}
.editorial-nav{display:none!important}.homepage .site-header{position:absolute;top:0;left:0;width:100%;background:transparent;z-index:10}.homepage .header-inner{width:calc(100% - 100px);min-height:150px;align-items:flex-start;padding-top:36px}.homepage .site-header .brand{background:#fff;padding:10px 16px 20px 0;align-items:flex-start}.homepage .site-header .brand img{width:62px;height:52px}.homepage .site-header .wordmark{font-size:31px}.homepage .site-header .wordmark small{display:block;font-size:8px;margin-top:10px}.homepage .site-menu-toggle{position:absolute;right:0;top:310px;border:0;padding:8px 12px;min-height:44px;font-size:12px;background:#fff}.homepage .site-header .editorial-nav{display:flex!important;flex-direction:column;align-items:flex-end;gap:0;font-weight:400}.editorial-nav>a{background:#fff;padding:0 10px;font-size:clamp(25px,3.1vw,44px);line-height:1.18;letter-spacing:-.04em;text-transform:uppercase}.editorial-nav>a:hover{background:#111;color:#fff}.editorial-languages{background:#fff;padding:0 10px 8px;font-size:14px;line-height:1.6}.editorial-languages a{display:inline-flex;align-items:center;justify-content:center;min-width:30px;min-height:32px;color:#777}.editorial-languages a[aria-current]{color:#111;font-weight:bold}.homepage .site-header #main-navigation{top:365px}.editorial-hero{position:relative;isolation:isolate;margin:24px 3.2% 70px;height:min(750px,86vh);min-height:620px}.hero-shape{position:absolute;inset:0 3% -17px 8%;background:#111;clip-path:polygon(37% 0,77% 0,100% 16%,89% 100%,0 85%);z-index:-2}.editorial-art{position:absolute;inset:0;overflow:hidden;background:#ff7900;clip-path:polygon(26% 1%,95% 0,92% 14%,100% 19%,99% 91%,83% 95%,17% 94%,1% 97%,0 30%,17% 24%);z-index:-1}.editorial-art:after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,#ff4d00 5%,#ff6d00c9 43%,#ffad0055 100%);mix-blend-mode:multiply}.editorial-art img{position:absolute;width:70%;height:100%;right:-4%;object-fit:cover;transform:rotate(-9deg) scale(1.1);filter:grayscale(1) contrast(1.2);mix-blend-mode:multiply;opacity:.7}.editorial-title{position:absolute;top:30%;left:8%;max-width:80%}.editorial-title>.eyebrow{color:#111;font-size:11px;margin-bottom:22px}.editorial-title h1{font-size:clamp(42px,5.7vw,86px);line-height:1.11;letter-spacing:-.055em}.editorial-title h1 span{background:#fff;box-shadow:10px 0 #fff,-10px 0 #fff;box-decoration-break:clone;-webkit-box-decoration-break:clone}.editorial-title h1 span:first-child{background:#111;color:#fff;box-shadow:10px 0 #111,-10px 0 #111}.editorial-cta{display:inline-flex;align-items:center;gap:55px;margin-top:30px;background:#111;color:#fff;padding:14px 20px;font-size:14px}.editorial-cta:hover{background:#fff;color:#111}.hero-project-label{position:absolute;right:4%;bottom:9%;background:#fff;padding:12px 18px;font-size:9px;letter-spacing:.12em}.hero-project-label span{display:block;font-size:18px;letter-spacing:-.02em;margin-top:3px}.editorial-intro{padding-block:30px 85px}.editorial-intro>.eyebrow{margin-bottom:40px}.editorial-intro .home-intro-row{gap:100px}.editorial-intro .hero-intro p{font-size:23px}.homepage .section h2{font-size:clamp(38px,5vw,68px)}.homepage .overview-card h3{font-size:32px}.homepage .home-projects{border-top:1px solid var(--line)}.homepage .project-image{background:#eee;clip-path:polygon(2% 0,100% 2%,98% 100%,0 97%)}.homepage .zoom-hint{background:#111}.homepage .project:nth-child(2){padding-top:90px}
@media(min-width:1500px){.editorial-hero{max-width:1700px;margin-inline:auto}}
@media(max-width:900px){.homepage .header-inner{width:calc(100% - 56px)}.homepage .site-header .brand img{width:42px;height:38px}.homepage .site-header .wordmark{font-size:25px}.editorial-hero{min-height:600px}.editorial-title{left:7%;top:34%}.editorial-title h1{font-size:6.7vw}.editorial-intro .home-intro-row{gap:40px}.editorial-intro .hero-intro p{font-size:19px}.homepage .site-menu-toggle{top:270px}}
@media(max-width:680px){.homepage .header-inner{width:calc(100% - 40px);padding-top:22px;min-height:95px}.homepage .site-header .brand{padding:5px 8px 12px 0}.homepage .site-header .brand img{width:35px;height:30px}.homepage .site-header .wordmark{font-size:23px}.homepage .site-header .wordmark small{font-size:6px;letter-spacing:1.5px}.homepage .site-header .editorial-nav{display:none!important}.homepage .site-menu-toggle{top:22px;border:1px solid #aaa;padding:10px 15px}.homepage .site-header #main-navigation{top:90px}.editorial-hero{margin:105px 12px 35px;height:570px;min-height:0}.editorial-art{clip-path:polygon(12% 2%,100% 0,98% 95%,5% 100%,0 15%)}.hero-shape{inset:0 5% -8px 1%;clip-path:polygon(0 0,100% 3%,94% 100%,5% 95%)}.editorial-art img{width:120%;right:-35%;opacity:.5}.editorial-title{left:8%;top:20%;max-width:85%}.editorial-title>.eyebrow{font-size:8px;letter-spacing:.05em;max-width:220px}.editorial-title h1{font-size:clamp(29px,7.7vw,51px);line-height:1.25}.editorial-cta{gap:30px;margin-top:28px;padding:14px;font-size:13px}.hero-project-label{right:8%;bottom:9%}.editorial-intro{padding-block:20px 55px}.editorial-intro>.eyebrow{font-size:9px;margin-bottom:28px}.editorial-intro .hero-intro p{font-size:18px}.homepage .project:nth-child(2){padding-top:0}.homepage .overview-card h3{font-size:28px}.homepage .home-projects .project{grid-column:1/-1}.homepage .section-head{align-items:flex-start}.site-footer{padding-block:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Four main pages share the same editorial navigation and neutral content canvas. */
.site-footer .brand{color:#111}
.service-group+ .service-group{margin-top:90px;padding-top:65px;border-top:1px solid var(--line)}
.service-group>h2{font-size:clamp(38px,5vw,64px);margin:18px 0 25px}
.service-group>.section-lead{margin:0;max-width:720px}
.page-hero h1{display:table;background:#111;color:#fff;padding:10px 18px;box-decoration-break:clone}
#portfolio{background:#fff;color:#141414}
#portfolio .section-head>p,#portfolio .project-info p,#portfolio .project-info>.eyebrow{color:#60605b}
#portfolio .zoom-hint,.homepage .zoom-hint{color:#fff;background:#111}
.contact-section{background:#f3f2ee;color:#111}
.contact-layout .eyebrow,.contact-layout p,.contact-emphasis{color:#333}
.contact-details{border-color:#ccc}
.contact-section a:hover{color:#111;text-decoration:underline}
@media(min-width:901px){
 body:not(.homepage) .site-header .header-inner{min-height:150px;align-items:flex-start;padding-top:30px}
 body:not(.homepage) .site-header .editorial-nav{display:flex!important;flex-direction:column;align-items:flex-end;gap:0;margin-bottom:25px}
 body:not(.homepage) .editorial-nav>a{font-size:27px}
 body:not(.homepage) .site-menu-toggle{display:none}
 body:not(.homepage) .site-header{position:relative}
}
@media(max-width:680px){.service-group+ .service-group{margin-top:55px;padding-top:40px}.page-hero h1{padding:10px 14px}}

/* Carry the homepage's angular orange composition through the four main pages. */
body:not(.homepage) .page-hero{position:relative;isolation:isolate;width:calc(100% - 64px);max-width:1500px;margin:10px auto 45px;min-height:470px;padding:55px clamp(30px,5vw,85px) 65px;border:0;background:none}
.page-hero:before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(115deg,#ff5b00,#ff9600);clip-path:polygon(2% 4%,97% 0,100% 90%,3% 100%,0 19%)}
.page-hero:after{content:'';position:absolute;inset:12px 25px -10px 18px;z-index:-3;background:#111;clip-path:polygon(0 0,91% 5%,100% 100%,4% 94%)}
.page-hero .breadcrumbs{position:relative;z-index:1;color:#222;margin-bottom:42px;font-size:11px;max-width:60%}
.page-hero .breadcrumbs span[aria-current]{color:#222}
.page-hero .breadcrumbs a:hover{color:#111;text-decoration:underline}
.page-hero h1{position:relative;z-index:1;font-size:clamp(40px,5.5vw,76px);max-width:75%;margin-bottom:28px;line-height:1.1}
.page-hero .hero-intro{position:relative;z-index:1;max-width:58%;margin:0}
.page-hero .hero-intro p{display:inline;background:#fff;color:#222;padding:5px 8px;box-shadow:8px 0 #fff,-4px 0 #fff;box-decoration-break:clone;-webkit-box-decoration-break:clone;font-size:18px;line-height:1.8}
.page-hero-art{position:absolute;inset:0 0 0 48%;overflow:hidden;z-index:-1;clip-path:polygon(16% 0,100% 0,100% 92%,0 100%)}
.page-hero-art img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);mix-blend-mode:multiply;opacity:.65;transform:rotate(-7deg) scale(1.12)}
.page-ueber-uns .page-hero-art,.page-kontakt .page-hero-art{inset:35px 5% 25px 64%;clip-path:none}
.page-ueber-uns .page-hero-art img,.page-kontakt .page-hero-art img{object-fit:contain;transform:rotate(-7deg);opacity:.9;filter:none;mix-blend-mode:normal}
.page-leistungen .service-group{position:relative;padding-left:30px;border-left:4px solid #ff7900}
.page-leistungen .service-group>h2{display:table;background:#fff0d9;padding:5px 12px;margin-left:-12px}
.page-leistungen .capability-grid article{border-top-color:#e5b18d}
.page-leistungen .service-group+ .service-group{border-top:0;padding-top:0}
.page-projekte #portfolio .project-image{border-radius:0;clip-path:polygon(2% 0,100% 3%,97% 100%,0 97%)}
.page-projekte #portfolio .project-info h3{color:var(--text)}
.page-ueber-uns .about-location{background:#fff0d9;padding:55px 40px;border:0;transform:rotate(-1deg);margin-block:30px 65px}
.page-ueber-uns .about-location>div{transform:rotate(1deg)}
.page-kontakt .contact-section{background:#fff7ed;margin-top:65px;border-top:4px solid #ff7900}
.page-kontakt .email-link{border-color:#c44800}
@media(min-width:901px){body:not(.homepage) .site-header .header-inner{min-height:140px;padding-top:25px}body:not(.homepage) .site-header .editorial-nav{margin-bottom:15px}body:not(.homepage) .editorial-nav>a{font-size:24px}}
@media(max-width:900px){body:not(.homepage) .page-hero{min-height:420px;width:calc(100% - 40px);padding:45px 30px 60px}.page-hero h1{max-width:90%}.page-hero .hero-intro{max-width:70%}.page-hero .hero-intro p{font-size:17px}.page-hero-art{left:40%}}
@media(max-width:680px){body:not(.homepage) .page-hero{min-height:480px;width:calc(100% - 24px);margin-top:5px;padding:35px 25px 180px;margin-bottom:25px}.page-hero .breadcrumbs{max-width:100%;margin-bottom:28px;font-size:10px}.page-hero h1{max-width:100%;font-size:clamp(32px,8.5vw,50px);padding:8px 12px}.page-hero .hero-intro{max-width:100%}.page-hero .hero-intro p{font-size:16px;line-height:1.85}.page-hero-art{inset:45% 0 0 30%;opacity:.65}.page-ueber-uns .page-hero-art,.page-kontakt .page-hero-art{inset:auto 25px 25px auto;width:160px;height:130px}.page-leistungen .service-group{padding-left:18px}.page-ueber-uns .about-location{width:calc(100% - 40px);padding:35px 22px;gap:25px}.page-kontakt .contact-section{margin-top:40px}}

/* Closing invitation uses the same palette as the contact section. */
.page-cta{background:#fff7ed;color:#111;border-top:4px solid #ff7900;padding-block:45px}
.page-cta h2{margin:0;max-width:none;font-size:clamp(30px,3.4vw,46px);line-height:1.15}
.page-cta .button{background:#111;color:#fff}
.page-cta .button:hover{background:#333;color:#fff}
@media(max-width:680px){.page-cta{padding-block:35px}.page-cta>.wrap{gap:24px}.page-cta h2{font-size:32px}}

/* An angular contact band over a dotted backdrop, inspired by the reference footer. */
.site-footer.editorial-footer{display:block;position:relative;isolation:isolate;width:100%;max-width:none;margin:0;padding:115px 18px 28px;color:#111;font-size:14px}
.editorial-footer:before{content:'';position:absolute;inset:25px 3% 5px;z-index:-2;background-image:radial-gradient(#777 0.65px,transparent 0.85px);background-size:5px 5px;clip-path:polygon(0 24%,25% 0,100% 28%,99% 100%,2% 94%)}
.footer-band{position:relative;isolation:isolate;padding:48px clamp(25px,4vw,70px) 30px}
.footer-band:before{content:'';position:absolute;inset:0;z-index:-1;background:#ff7900;clip-path:polygon(1% 9%,19% 11%,72% 0,100% 10%,99% 94%,75% 100%,0 98%)}
.footer-company{display:inline-block;font-size:22px;line-height:1.4;font-weight:600;letter-spacing:-.025em;margin-bottom:19px}
.footer-company span{font-weight:400}
.footer-columns{display:grid;grid-template-columns:1fr 1.2fr 1fr 1.3fr;gap:22px;align-items:start}
.footer-columns> *+ *{border-left:1px dotted #1118;padding-left:22px}
.footer-address{font-style:normal;line-height:1.8}
.footer-contact{display:flex;flex-direction:column;align-items:flex-start}
.footer-contact a{font-weight:600;line-height:1.8;min-height:30px;overflow-wrap:anywhere}
.footer-pages,.footer-legal{display:flex;flex-wrap:wrap;gap:0 16px;align-content:flex-start}
.footer-pages a,.footer-legal a,.footer-legal button{display:inline-flex;align-items:center;min-height:30px;line-height:1.4;color:#111;font-size:13px;font-weight:500}
.editorial-footer a:hover,.editorial-footer button:hover{color:#111;text-decoration:underline;text-underline-offset:4px}
.footer-baseline{display:flex;justify-content:space-between;gap:20px;margin-top:24px;padding-top:14px;border-top:1px solid #1113;font-size:11px}
.footer-baseline a{display:inline-flex;align-items:center;min-height:32px}
@media(min-width:1500px){.footer-band{padding-inline:max(60px,calc((100vw - 1320px)/2))}}
@media(max-width:1000px){.footer-columns{grid-template-columns:1fr 1fr;gap:22px 35px}.footer-columns> *+ *{border:0;padding-left:0}.footer-columns>:nth-child(even){border-left:1px dotted #1118;padding-left:25px}.footer-company{font-size:20px}.footer-band{padding-top:55px}}
@media(max-width:680px){.site-footer.editorial-footer{padding:75px 10px 20px}.editorial-footer:before{inset:15px 15px 0}.footer-band{padding:48px 24px 30px}.footer-band:before{clip-path:polygon(2% 3%,30% 4%,74% 0,100% 3%,98% 98%,0 100%)}.footer-company{font-size:21px;margin-bottom:22px}.footer-company span{display:block;font-size:13px;letter-spacing:0}.footer-columns{grid-template-columns:1fr;gap:18px}.footer-columns>:nth-child(even){border:0;padding-left:0}.footer-columns .footer-pages,.footer-columns .footer-legal{border-top:1px dotted #1118;padding-top:12px;gap:0 18px}.footer-contact a,.footer-pages a,.footer-legal a,.footer-legal button{min-height:44px}.footer-baseline{align-items:center;margin-top:15px}}

/* Explicit interactive states prevent legacy dark-theme colors from leaking through. */
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #111;outline-offset:4px;box-shadow:0 0 0 6px #fff}
.site-header .editorial-nav>a{color:#111;min-height:44px;display:flex;align-items:center}
.site-header .editorial-nav>a[aria-current=page]{color:#111;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}
.site-header .editorial-nav>a:hover,.site-header .editorial-nav>a:focus-visible{background:#111;color:#fff}
.editorial-languages a{min-height:44px;color:#60605b}
.editorial-languages a:hover,.editorial-languages a:focus-visible{color:#111;text-decoration:underline;text-underline-offset:4px}
.site-header .site-menu-toggle{background:#fff;color:#111;border:1px solid #777}
.site-header .site-menu-toggle:hover,.site-header .site-menu-toggle[aria-expanded=true]{background:#111;color:#fff;border-color:#111}
.site-header #main-navigation{background:#fff;color:#111;border:1px solid #ccc;border-radius:0;box-shadow:0 18px 45px #0002}
.site-header #main-navigation .menu-primary{border-color:#d7d6d0;margin-bottom:0;padding-bottom:16px;gap:8px 20px}
.site-header #main-navigation .menu-primary>a{color:#111;padding:8px 12px;min-height:44px}
.site-header #main-navigation .menu-primary>a[aria-current=page]{color:#111;text-decoration:underline;text-underline-offset:5px}
.site-header #main-navigation .menu-primary>a:hover,.site-header #main-navigation .menu-primary>a:focus-visible{background:#111;color:#fff}
.site-header #main-navigation a>span{color:inherit}
.site-header #main-navigation .menu-bottom{border:0;margin-top:0;padding-top:12px}
.site-header #main-navigation .language-switch,.site-header #main-navigation .language-switch a,.site-header #main-navigation .menu-legal a{color:#555}
.site-header #main-navigation .language-switch a[aria-current=page]{color:#111;font-weight:700}
.site-header #main-navigation .language-switch a:hover,.site-header #main-navigation .menu-legal a:hover{color:#111;text-decoration:underline;text-underline-offset:4px}
.button:hover,.button:focus-visible{background:#333;color:#fff}
.hero-project-label:hover,.hero-project-label:focus-visible{background:#111;color:#fff}
.overview-card:hover,.overview-card:focus-visible{color:#111;border-top-color:#111}
.overview-card:hover h3,.overview-card:focus-visible h3{color:#111;text-decoration:underline;text-underline-offset:5px}
.text-link:hover{color:#111;text-decoration:underline;text-underline-offset:5px}
.portfolio-lightbox button:hover{color:#fff;background:#343434;border-color:#fff}
@media(min-width:901px){.homepage .site-menu-toggle{display:none}.homepage .site-header #main-navigation{top:100%}}
@media(max-width:900px){.site-header #main-navigation .menu-primary{display:grid;grid-template-columns:1fr 1fr}.site-header #main-navigation .menu-primary>a:last-child{margin:0}}

/* Dark map silhouette against the orange contact hero. */
.page-kontakt .page-hero-art img{filter:none;opacity:1}

/* Reading typography follows the reference article: light, dark and generously sized. */
main p,.legal-page p{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:22px;font-weight:300;line-height:1.4;letter-spacing:normal;color:#171717;max-width:750px;margin-bottom:20px}
.hero-intro p,.editorial-intro .hero-intro p,.page-hero .hero-intro p,.editorial-copy p,.capability-grid p,.reason-grid p,.overview-card p,.use-case-grid p,.project-process p,.contact-layout p,.section-head>p,.section-lead{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:22px;font-weight:300;line-height:1.4;color:#171717}
.page-hero .hero-intro p{line-height:1.6}
.overview-card p,.capability-grid p,.reason-grid p{margin-bottom:0}
.project-info p,#portfolio .project-info p{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:20px;font-weight:300;line-height:1.4;color:#333}
.editorial-copy p+p{margin-top:20px}
@media(max-width:680px){main p,.legal-page p,.hero-intro p,.editorial-intro .hero-intro p,.page-hero .hero-intro p,.editorial-copy p,.capability-grid p,.reason-grid p,.overview-card p,.use-case-grid p,.project-process p,.contact-layout p,.section-head>p,.section-lead,.project-info p,#portfolio .project-info p{font-size:18px;line-height:1.5}.page-hero .hero-intro p{line-height:1.75}}

/* One header geometry across the homepage and all four main pages. */
.site-header,.homepage .site-header,body:not(.homepage) .site-header{position:relative;top:auto;left:auto;width:100%;background:#fff}
.site-header .header-inner,.homepage .header-inner,body:not(.homepage) .site-header .header-inner{width:calc(100% - 100px);max-width:none;min-height:232px;padding-top:30px;align-items:flex-start;gap:24px}
.site-header .brand,.homepage .site-header .brand{gap:10px;background:#fff;padding:10px 16px 20px 0;align-items:flex-start}
.site-header .brand img,.homepage .site-header .brand img{width:49px;height:40px}
.site-header .wordmark,.homepage .site-header .wordmark{font-size:27px}
.site-header .wordmark small,.homepage .site-header .wordmark small{display:block;font-size:7px;letter-spacing:2px;margin-top:8px}
.site-header .editorial-nav,.homepage .site-header .editorial-nav,body:not(.homepage) .site-header .editorial-nav{display:flex!important;flex-direction:column;align-items:flex-end;gap:0;margin:0}
.site-header .editorial-nav>a,body:not(.homepage) .editorial-nav>a{font-size:28px;min-height:36px;line-height:1.2;padding:0 10px}
.site-header .editorial-languages{padding-bottom:4px}
.site-header .site-menu-toggle{display:none}
.homepage .editorial-hero{margin-top:0}
@media(max-width:900px){
 .site-header .header-inner,.homepage .header-inner,body:not(.homepage) .site-header .header-inner{width:calc(100% - 40px);min-height:90px;padding-top:20px;gap:12px}
 .site-header .brand,.homepage .site-header .brand{gap:8px;padding:5px 8px 12px 0}
 .site-header .brand img,.homepage .site-header .brand img{width:35px;height:30px}
 .site-header .wordmark,.homepage .site-header .wordmark{font-size:23px}
 .site-header .wordmark small,.homepage .site-header .wordmark small{font-size:6px;letter-spacing:1.5px;margin-top:8px}
 .site-header .editorial-nav,.homepage .site-header .editorial-nav,body:not(.homepage) .site-header .editorial-nav{display:none!important}
 .site-header .site-menu-toggle,.homepage .site-menu-toggle,body:not(.homepage) .site-menu-toggle{display:inline-flex;position:absolute;top:20px;right:0;padding:10px 15px;min-height:46px;font-size:13px;border:1px solid #777}
 .site-header #main-navigation,.homepage .site-header #main-navigation{top:80px;max-height:calc(100dvh - 110px)}
 .homepage .editorial-hero{margin-top:5px}
}

/* Keep the header inside a centered container on wide screens. */
.site-header .header-inner,.homepage .header-inner,body:not(.homepage) .site-header .header-inner{width:calc(100% - 100px);max-width:1360px;margin-inline:auto}
@media(max-width:900px){.site-header .header-inner,.homepage .header-inner,body:not(.homepage) .site-header .header-inner{width:calc(100% - 40px);max-width:1360px}}

/* Overlay the shared header on the hero instead of reserving a separate row. */
@media(min-width:901px){
 .site-header,.homepage .site-header,body:not(.homepage) .site-header{position:absolute;top:0;left:0;background:transparent;z-index:10}
 .site-header .header-inner,.homepage .header-inner,body:not(.homepage) .site-header .header-inner{min-height:0}
 .homepage .editorial-hero{margin-top:24px}
 body:not(.homepage) .page-hero{margin-top:24px;padding-top:185px;min-height:560px}
 .page-hero h1{max-width:72%}
}

/* A consistent white cutout keeps the logo clear of every hero composition. */
@media(min-width:901px){
 .editorial-hero:before{content:'';position:absolute;top:-24px;left:-50px;width:310px;height:155px;background:#fff;clip-path:polygon(0 0,100% 0,83% 84%,0 100%);z-index:2;pointer-events:none}
 body:not(.homepage) .page-hero{clip-path:polygon(0 150px,240px 125px,300px 0,100% 0,100% 100%,0 100%)}
}

/* Derive the cutout from the same centered header that positions the logo. */
@media(min-width:901px){
 :root{--header-left:max(50px,calc((100vw - 1360px)/2));--page-hero-left:max(32px,calc((100vw - 1500px)/2));--logo-clearance:285px}
 .editorial-hero:before{top:-24px;left:0;width:calc(var(--header-left) - 3.2vw + var(--logo-clearance) + 45px);height:170px;clip-path:polygon(0 0,100% 0,calc(100% - 55px) 88%,0 100%)}
 body:not(.homepage) .page-hero{--cutout-edge:calc(var(--header-left) - var(--page-hero-left) + var(--logo-clearance));clip-path:polygon(0 155px,var(--cutout-edge) 135px,calc(var(--cutout-edge) + 55px) 0,100% 0,100% 100%,0 100%)}
}
@media(min-width:1500px){.editorial-hero:before{width:calc(var(--header-left) - max(0px,calc((100vw - 1700px)/2)) + var(--logo-clearance) + 45px)}}

/* These supplied assets are white marks; only those need a dark version on white. */
.client-logos img[src*="logo-shopping-nord-"],
.client-logos img[src*="logo-efkon-"],
.client-logos img[src*="logo-rlb-"],
.client-logos img[src*="logo-ait-"]{filter:brightness(0);opacity:1}

/* Direct contact details on an open canvas, with one strong email link. */
.page-kontakt .contact-editorial{background:#fff;border:0;margin-top:0}
.contact-editorial .contact-layout{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:80px;padding-block:65px 55px;align-items:start}
.contact-editorial .contact-invitation>.eyebrow{color:#555;letter-spacing:.13em}
.contact-editorial h2{font-size:clamp(42px,5.4vw,74px);line-height:1.05;letter-spacing:-.045em;margin:25px 0 28px}
.contact-editorial .contact-invitation>p{max-width:490px;margin-bottom:35px}
.contact-editorial .email-link{display:inline-block;font-size:clamp(23px,3vw,39px);line-height:1.4;color:#111;border:0;padding:6px 0;background:linear-gradient(#ff7900,#ff7900) 0 100%/100% 4px no-repeat;overflow-wrap:anywhere}
.contact-editorial .email-link:hover{background-color:#fff0d9;text-decoration:none}
.contact-editorial .contact-details{padding:0;border:0;gap:0;font-size:17px}
.contact-detail-row{padding:23px 0;border-top:1px solid #ccc}
.contact-detail-row:first-child{border-top:4px solid #ff7900;padding-top:20px}
.contact-editorial .contact-details .eyebrow{font-size:10px;color:#60605b;margin-bottom:10px}
.contact-editorial .contact-details a{min-height:44px;display:flex;align-items:center}
.contact-editorial .contact-phone{font-size:26px;letter-spacing:-.025em}
.contact-editorial .contact-details address{font-size:17px;line-height:1.6}
.contact-editorial .contact-details .small-link{font-size:14px;text-decoration:underline;text-underline-offset:4px;margin-top:8px}
@media(max-width:900px){.contact-editorial .contact-layout{gap:40px}}
@media(max-width:680px){.contact-editorial .contact-layout{grid-template-columns:1fr;gap:40px;padding-block:40px}.contact-editorial h2{font-size:46px}.contact-editorial .email-link{font-size:clamp(23px,6.3vw,30px)}.contact-editorial .contact-invitation>p{margin-bottom:25px}}

/* Box the footer to the shared header container, including its decorative backdrop. */
.site-footer.editorial-footer{width:calc(100% - 100px);max-width:1360px;margin-inline:auto;padding-inline:0}
.editorial-footer .footer-band{padding-inline:40px}
@media(max-width:900px){.site-footer.editorial-footer{width:calc(100% - 40px)}.editorial-footer .footer-band{padding-inline:24px}}

/* About the studio shares the direct-contact composition and restrained accents. */
.about-editorial,.about-studio-location{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:80px;padding-block:65px 55px;align-items:start}
.about-editorial .eyebrow,.about-studio-location .eyebrow{color:#60605b;font-size:10px;letter-spacing:.13em}
.about-introduction h2{font-size:clamp(42px,5.4vw,74px);line-height:1.05;letter-spacing:-.045em;margin:25px 0 28px}
.about-introduction p{max-width:570px}
.about-principles{border-top:4px solid #ff7900;padding-top:20px}
.about-principles>h2{font-size:30px;line-height:1.15;margin:16px 0 24px}
.about-detail-row{padding:23px 0;border-top:1px solid #ccc}
.about-detail-row h3{font-size:22px;line-height:1.25;margin-bottom:12px}
.about-detail-row p{font-size:18px;line-height:1.5;margin:0}
.about-studio-location{border-top:1px solid #ddd;margin-top:20px}
.about-studio-location h2{font-size:clamp(35px,4vw,54px);line-height:1.1;margin:22px 0 25px}
.about-studio-location p{max-width:500px}
.about-address{border-top:4px solid #ff7900;padding-top:20px}
.about-address address{font-style:normal;font-size:18px;line-height:1.6;margin-bottom:20px}
.about-address>a{display:flex;align-items:center;min-height:44px;width:fit-content;font-size:18px}
.about-address .text-link{font-size:15px;margin-top:20px}
@media(max-width:900px){.about-editorial,.about-studio-location{gap:40px}}
@media(max-width:680px){.about-editorial,.about-studio-location{grid-template-columns:1fr;gap:40px;padding-block:40px}.about-introduction h2{font-size:46px}.about-principles>h2{font-size:30px}.about-studio-location{margin-top:0}}

/* Consent surfaces belong to the same visual system; choices retain equal prominence. */
#cc--main{--cc-bg:#fff;--cc-text:#171717;--cc-btn-primary-bg:#111;--cc-btn-primary-text:#fff;--cc-btn-primary-hover-bg:#333;--cc-btn-secondary-bg:#111;--cc-btn-secondary-text:#fff;--cc-btn-secondary-hover-bg:#333;--cc-toggle-bg-off:#777;--cc-toggle-bg-on:#111;--cc-toggle-bg-readonly:#c9c9c9;--cc-toggle-knob-bg:#fff;--cc-toggle-knob-icon-color:#111;--cc-block-text:#333;--cc-cookie-category-block-bg:#f6f5f2;--cc-cookie-category-block-bg-hover:#eeede8;--cc-section-border:#d7d6d0;--cc-cookie-table-border:#d7d6d0;--cc-overlay-bg:#1119;--cc-webkit-scrollbar-bg:#ccc;--cc-webkit-scrollbar-bg-hover:#888}
#cc--main .cc_div{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;color:#171717}
#cc--main #cm{max-width:470px;padding:28px;border:1px solid #d7d6d0;border-top:4px solid #ff7900;border-radius:0;box-shadow:0 16px 55px #0003}
#cc--main #c-ttl,#cc--main #s-ttl{font-size:26px;font-weight:400;letter-spacing:-.035em;line-height:1.15;color:#111}
#cc--main #c-txt,#cc--main .b-tl+.b-acc,#cc--main .p{font-size:15px;line-height:1.6;color:#333}
#cc--main #c-txt{margin-top:18px}
#cc--main .cc-link{color:#111;text-decoration:underline;text-underline-offset:3px;border:0;font-weight:400}
#cc--main .cc-link:hover{color:#111;background:#fff0d9}
#cc--main .c-bn{border-radius:0;min-height:46px;font-size:14px;font-weight:400;padding:13px 17px;text-align:center}
#cc--main #c-bns{display:flex;gap:12px}
#cc--main #c-bns .c-bn{flex:1;margin:0}
#cc--main #s-inr{border-radius:0;border-top:4px solid #ff7900;box-shadow:0 20px 70px #0004}
#cc--main #s-hdr{border-color:#d7d6d0}
#cc--main .c-bl,#cc--main .b-tl,#cc--main .b-acc{border-radius:0}
#cc--main #s-c-bn{background:#f3f2ee;color:#111;border-radius:0;min-width:44px;min-height:44px}
#cc--main #s-c-bn:hover{background:#111;color:#fff}
#cc--main a:focus-visible,#cc--main button:focus-visible,#cc--main input:focus-visible{outline:2px solid #111;outline-offset:3px;box-shadow:0 0 0 5px #fff}
@media(max-width:688px){#cc--main #cm{padding:23px!important;max-width:calc(100% - 32px);left:16px;right:16px;bottom:16px}#cc--main #c-bns{flex-direction:column;gap:10px}#cc--main #c-bns .c-bn{width:100%;margin:0}#cc--main #c-ttl,#cc--main #s-ttl{font-size:24px}}
@media(prefers-reduced-motion:reduce){#cc--main .c--anim #cm,#cc--main .c--anim #s-cnt,#cc--main .c--anim #s-inr{transition:none!important}}
#cc--main #s-c-bn:before,#cc--main #s-c-bn:after{background:#111}
#cc--main #s-c-bn:hover:before,#cc--main #s-c-bn:hover:after{background:#fff}
#cc--main .b-bn .b-tl:before{border-color:#555}

/* A brief branded loading screen; absent when JavaScript is unavailable. */
.site-preloader{display:none}
.site-preloader.is-loading{display:flex;position:fixed;inset:0;z-index:10000;background:#fff;align-items:center;justify-content:center;flex-direction:column;gap:28px;pointer-events:none;opacity:1;transition:opacity .3s ease,visibility .3s ease;animation:preloader-fallback 0s 3s forwards}
.preloader-brand{display:flex;align-items:center;gap:13px;color:#111;font-size:32px;letter-spacing:-1.5px;line-height:1}
.preloader-brand img{width:56px;height:46px}
.preloader-brand span{font-weight:600}.preloader-brand strong{font-weight:400}
.preloader-track{width:200px;height:3px;background:#eee;overflow:hidden}
.preloader-track>span{display:block;width:40%;height:100%;background:#ff7900;animation:preloader-progress 1s ease-in-out infinite}
.site-preloader.is-loading.is-loaded{opacity:0;visibility:hidden}
@keyframes preloader-progress{from{transform:translateX(-100%)}to{transform:translateX(350%)}}
@keyframes preloader-fallback{to{opacity:0;visibility:hidden}}
@media(prefers-reduced-motion:reduce){.site-preloader.is-loading{transition:none}.preloader-track>span{animation:none;width:100%}}

/* Official full-color artwork, without the legacy monochrome filters. */
.client-logos img[src*="/color/"]{filter:none;opacity:1;width:150px;height:65px;object-fit:contain}
.client-logos img[src$="/color/efkon.png"]{background:#fff;padding:8px 12px}
@media(max-width:900px){.client-logos{flex-wrap:wrap;justify-content:center;gap:30px 35px}.client-logos img[src*="/color/"]{width:130px;height:60px}}
@media(max-width:680px){.client-logos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-items:center;gap:25px}.client-logos img[src*="/color/"]{width:125px;height:60px}}

/* Center the settings close icon within its full 44px click target. */
#cc--main #s-c-bn{display:block;position:relative;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;flex-shrink:0}
#cc--main #s-c-bn:before,#cc--main #s-c-bn:after{content:"";position:absolute;left:50%;top:50%;width:18px;height:2px;margin:0;border-radius:0;background:#111;transform:translate(-50%,-50%) rotate(45deg)}
#cc--main #s-c-bn:after{transform:translate(-50%,-50%) rotate(-45deg)}
#cc--main #s-c-bn:hover:before,#cc--main #s-c-bn:hover:after{background:#fff}

@media(max-width:900px){.site-header #main-navigation .menu-primary{grid-template-columns:1fr;gap:4px}.site-header #main-navigation .menu-primary>a{width:100%;justify-content:flex-start}}

/* A clear language choice beneath the mobile navigation. */
.site-header #main-navigation .menu-bottom{justify-content:flex-start;padding-top:18px}
.site-header #main-navigation .language-switch{display:inline-flex;gap:0;border:1px solid #ccc;background:#f6f5f2;padding:3px}
.site-header #main-navigation .language-switch>span{display:none}
.site-header #main-navigation .language-switch a{min-width:58px;min-height:44px;font-size:13px;color:#444;letter-spacing:.04em;text-decoration:none}
.site-header #main-navigation .language-switch a[aria-current=page]{background:#111;color:#fff;font-weight:500}
.site-header #main-navigation .language-switch a:hover{background:#e6e4df;color:#111;text-decoration:none}
.site-header #main-navigation .language-switch a[aria-current=page]:hover{background:#333;color:#fff}

.contact-editorial .contact-invitation>.human-contact-note{font-size:15px;font-weight:400;line-height:1.5;color:#444;margin:12px 0 0;max-width:420px}
