:root{--ink:#111a25;--paper:#f3f1ec;--soft:#e6e4df;--muted:#70808a;--line:rgba(17,26,37,.18);--cyan:#39b7c6;--violet:#8a327e;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);overflow-x:hidden}a{color:inherit;text-decoration:none}.wrap{width:min(1200px,calc(100% - 80px));margin:auto}.skip{position:fixed;z-index:99;left:12px;top:12px;background:#fff;padding:10px;transform:translateY(-160%)}.skip:focus{transform:none}.header{position:absolute;z-index:10;top:0;left:0;right:0;height:80px;border-bottom:1px solid rgba(255,255,255,.22);transition:.3s}.header.scrolled{position:fixed;background:rgba(17,26,37,.92);backdrop-filter:blur(16px)}.nav{height:100%;display:flex;align-items:center}.logo img{width:155px;display:block}.nav nav{display:flex;gap:30px;margin:auto}.nav nav a{font-size:12px;font-weight:700;color:#e7ecee}.nav nav a:hover{color:var(--cyan)}.nav-cta{font-size:12px;font-weight:700;color:#fff;border:1px solid rgba(255,255,255,.5);padding:10px 13px}.nav-cta b{color:var(--cyan);margin-left:5px}.hero{min-height:800px;background:var(--ink);color:#fff;position:relative;overflow:hidden;padding:160px 0 25px}.hero-noise{position:absolute;inset:0;opacity:.13;background-image:radial-gradient(#fff .55px,transparent .7px);background-size:5px 5px}.hero-grid{display:grid;grid-template-columns:1fr .95fr;gap:70px;min-height:585px;align-items:center;position:relative}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:700;color:var(--cyan)}.eyebrow:before{content:"";display:inline-block;width:23px;height:1px;background:currentColor;margin:0 9px 3px 0}.hero h1,.intro-band h2,.section-head h2,.projects-head h2,.monitor-copy h2,.about h2,.contact h2{margin:22px 0 0;font-size:clamp(3.7rem,6.6vw,7.5rem);letter-spacing:-.08em;line-height:.87;font-weight:700}.hero h1 span,.intro-band h2 span,.section-head h2 span,.projects-head h2 span,.monitor-copy h2 span,.about h2 span,.contact h2 span{color:var(--cyan)}.intro{max-width:430px;margin:31px 0 0;color:#b8c3c9;font-size:17px;line-height:1.55}.hero-actions{display:flex;gap:23px;align-items:center;margin-top:34px}.button{font-size:13px;font-weight:700;display:inline-flex;align-items:center;gap:30px;padding:15px 18px 15px 21px;transition:transform .25s,background .25s}.button:hover{transform:translateY(-3px)}.button b{font-size:17px}.button-light{background:#fff;color:var(--ink)}.button-dark{background:var(--ink);color:#fff}.underlink{font-size:13px;font-weight:700;border-bottom:1px solid #fff;padding-bottom:5px}.underlink b{color:var(--cyan);margin-left:9px}.hero-composition{position:relative;height:500px}.hero-photo{width:78%;height:440px;position:absolute;right:4%;top:25px;overflow:hidden;clip-path:polygon(8% 0,100% 0,100% 93%,0 100%,0 10%);box-shadow:26px 30px 0 rgba(57,183,198,.21)}.hero-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.08)}.hero-label{position:absolute;z-index:2;left:0;bottom:48px;background:var(--cyan);color:var(--ink);font-size:27px;line-height:.95;letter-spacing:-.055em;font-weight:700;padding:20px}.hero-mark{position:absolute;z-index:3;right:0;top:0;width:107px;height:107px;border-radius:50%;background:var(--violet);display:flex;align-items:center;justify-content:center;text-align:center;font-size:32px;line-height:.7;font-weight:700;transform:rotate(12deg)}.hero-mark small{font-size:8px;line-height:1;letter-spacing:.08em;text-transform:uppercase;margin-left:5px}.hero-orbit{position:absolute;right:-57px;bottom:-43px;border:1px solid rgba(255,255,255,.3);width:230px;height:230px;border-radius:50%}.hero-foot{position:relative;border-top:1px solid rgba(255,255,255,.22);padding-top:14px;display:flex;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#a9b7bd}.intro-band{padding:140px 0}.intro-band-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:35px}.intro-band h2,.section-head h2,.projects-head h2,.monitor-copy h2,.about h2,.contact h2{font-size:clamp(3.2rem,5.4vw,6.1rem)}.intro-band p:not(.eyebrow){font-size:17px;line-height:1.55;color:var(--muted);max-width:490px;margin:28px 0 0}.services{padding:135px 0;background:var(--soft)}.section-head{max-width:800px;margin-bottom:70px}.service-grid{border-top:1px solid var(--line)}.service-item{min-height:155px;display:grid;grid-template-columns:100px 1fr 1fr 50px;align-items:center;gap:20px;position:relative;border-bottom:1px solid var(--line);overflow:hidden;transition:color .35s,padding .35s}.service-item:before{content:"";position:absolute;z-index:0;bottom:0;left:0;right:0;height:0;background:var(--ink);transition:height .4s cubic-bezier(.2,.7,.2,1)}.service-item>*{position:relative;z-index:1}.service-item:hover{color:#fff;padding-left:17px}.service-item:hover:before{height:100%}.service-item>span{font-size:11px;color:var(--violet)}.service-item h3{font-size:clamp(1.8rem,3vw,3.2rem);letter-spacing:-.06em;margin:0}.service-item p{font-size:14px;line-height:1.5;color:var(--muted);max-width:340px}.service-item:hover p{color:#c3cbd0}.service-item>b{display:grid;place-items:center;width:39px;height:39px;border:1px solid var(--line);border-radius:50%;font-size:18px}.service-item:hover>b{border-color:var(--cyan);color:var(--cyan)}.projects{padding:145px 0;background:var(--paper)}.projects-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:68px}.projects-head>p{width:320px;color:var(--muted);font-size:15px;line-height:1.55;margin:0 0 5px}.project-grid{display:grid;grid-template-columns:1.12fr .88fr;grid-template-rows:315px 315px;gap:22px}.project-feature{grid-row:span 2}.project{min-width:0}.image-box{height:100%;position:relative;overflow:hidden;background:#ccc}.image-box img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.73);transition:transform .7s}.project:hover img{transform:scale(1.05)}.image-box:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(0,0,0,.72))}.image-box span{position:absolute;z-index:2;top:18px;left:18px;background:#fff;width:32px;height:32px;display:grid;place-items:center;font-size:10px;font-weight:700}.project-copy{padding:18px 2px 0}.project-copy p{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0 0 6px}.project-copy h3{font-size:23px;letter-spacing:-.04em;line-height:1.1;margin:0;max-width:430px}.project-copy a{display:inline-block;margin-top:12px;color:var(--violet);font-size:12px;font-weight:700}.project-copy a b{margin-left:7px}.monitor-section{height:270vh;background:#111a25;color:#fff;position:relative}.monitor-sticky{position:sticky;top:0;height:100vh;overflow:hidden}.monitor-copy{position:relative;z-index:3;padding-top:13vh;transition:opacity .2s}.monitor-copy>p:last-child{max-width:350px;margin:20px 0;color:#a9b6bc;font-size:15px;line-height:1.5}.monitor-scene{position:absolute;inset:0;perspective:1700px}.monitor-shadow{position:absolute;bottom:5vh;left:50%;width:min(78vw,900px);height:105px;transform:translateX(-50%);border-radius:50%;background:#000;filter:blur(32px);opacity:.5}.monitor{position:absolute;left:50%;top:53%;width:min(76vw,960px);aspect-ratio:1.66;transform:translate(-50%,calc(-42% + (120px*(1 - var(--monitor-in)))) ) rotateX(calc(42deg*(1 - var(--monitor-in)))) rotateZ(calc(-5deg*(1 - var(--monitor-in))));transform-style:preserve-3d;opacity:var(--monitor-opacity);will-change:transform}.monitor:before{content:"";z-index:-1;position:absolute;inset:-9px -9px -15px;background:linear-gradient(145deg,#3b4a54,#111b22);border-radius:17px 17px 9px 9px;box-shadow:0 38px 65px #0009}.monitor-head{height:30px;background:#26333c;border-radius:10px 10px 0 0;display:flex;align-items:center;gap:5px;padding:0 10px}.monitor-head i{width:6px;height:6px;border-radius:50%;background:#76838a}.monitor-head i:first-child{background:#b95b67}.monitor-head span{font-size:8px;color:#a9b4b9;margin:auto}.monitor-screen{height:calc(100% - 30px);background:#f5f4ef;padding:2.7% 4%;overflow:hidden;color:var(--ink)}.site-nav{height:9%;display:flex;align-items:center;gap:4%;border-bottom:1px solid #d4d9d8;font-size:1.05vw;color:#6e7e83}.site-nav img{width:17%;margin-right:auto}.site-nav b{font-size:1vw;color:#fff;background:var(--violet);padding:1% 1.8%;font-weight:400}.site-hero{height:57%;position:relative;padding-top:5%}.site-hero>p{font-size:.9vw;text-transform:uppercase;letter-spacing:.1em;color:var(--violet);margin:0}.site-hero h3{font-size:3.7vw;letter-spacing:-.08em;line-height:.86;margin:2% 0;position:relative;z-index:1}.site-hero h3 em{font-style:normal;color:var(--cyan)}.site-hero>img{position:absolute;right:0;top:7%;width:40%;height:80%;object-fit:cover;filter:saturate(.76)}.site-hero>a{position:absolute;left:0;bottom:5%;font-size:1.05vw;padding:1.6% 2%;background:var(--ink);color:#fff}.site-tiles{height:25%;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5%}.site-tiles>div{background:#e1e8e5;padding:8%;display:flex;flex-direction:column;justify-content:end}.site-tiles i{display:block;width:15%;height:4px;background:var(--violet);margin-bottom:auto}.site-tiles div:nth-child(2) i{background:var(--cyan)}.site-tiles b{font-size:1.25vw}.site-tiles span{font-size:.85vw;color:#647176;margin-top:4%}.monitor-stand{position:absolute;z-index:-2;left:39%;bottom:-15%;width:22%;height:17%;background:linear-gradient(90deg,#121c22,#40515b,#121c22);clip-path:polygon(40% 0,60% 0,68% 77%,100% 91%,100% 100%,0 100%,0 91%,32% 77%)}.screen-item{opacity:0;transform:translateY(20px)}.monitor-step{position:absolute;z-index:4;right:5vw;top:49%;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#95a4ab}.monitor-step i{display:block;width:1px;height:80px;background:#728087;margin:11px 0 0 4px}.about{display:grid;grid-template-columns:1fr 1fr;background:#e3e5e2}.about-visual{min-height:690px;position:relative;overflow:hidden}.about-visual img{position:absolute;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.17)}.about-visual span{position:absolute;bottom:20px;left:25px;color:#fff;font-size:95px;letter-spacing:-.12em;line-height:.72;font-weight:700;mix-blend-mode:screen}.about-copy{padding:125px 9vw 100px max(60px,calc((100vw - 1200px)/2));max-width:680px}.about-copy>p:not(.eyebrow){max-width:450px;color:var(--muted);font-size:16px;line-height:1.6;margin:29px 0}.facts{display:flex;gap:8px;flex-wrap:wrap;margin:34px 0}.facts div{background:#f5f6f4;padding:12px;min-width:105px}.facts strong{display:block;font-size:21px}.facts span{font-size:10px;color:var(--muted)}.contact{min-height:620px;position:relative;overflow:hidden;background:var(--violet);color:#fff;padding:135px 0}.contact-glow{position:absolute;right:-150px;top:-160px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle at 33% 34%,#e8f4ec 0 2%,#76cbd0 17%,#3995ad 46%,#34225e 76%);box-shadow:-25px 35px 80px #20123488}.contact-inner{position:relative;max-width:950px}.contact h2 span{color:#b7e7e1}.contact p:not(.eyebrow){max-width:410px;font-size:16px;line-height:1.55;color:#eee2ef;margin:26px 0 0}.contact .button{margin-top:32px}footer{background:#fff}footer>div{height:95px;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#768087}footer img{width:145px}footer span:last-child{display:flex;gap:18px}.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}.reveal-first{opacity:0;transform:translateY(20px);animation:enter .75s ease forwards}.delay-1{animation-delay:.08s}.delay-2{animation-delay:.16s}.delay-3{animation-delay:.24s}@keyframes enter{to{opacity:1;transform:none}}
@media(max-width:850px){.wrap{width:calc(100% - 48px)}.nav nav{display:none}.nav-cta{margin-left:auto}.hero{padding-top:130px}.hero-grid{grid-template-columns:1fr;gap:18px}.hero-composition{height:430px;max-width:670px;width:100%;margin-left:auto}.hero-copy{max-width:650px}.hero-foot{margin-top:15px}.intro-band-grid{grid-template-columns:1fr;gap:20px}.service-item{grid-template-columns:60px 1fr 45px;gap:15px;padding:24px 0;min-height:0}.service-item p{grid-column:2/-1;margin:0}.projects-head{display:grid;gap:25px}.projects-head>p{width:auto;max-width:390px}.project-grid{grid-template-rows:260px 260px}.monitor-section{height:230vh}.monitor-copy{padding-top:10vh}.monitor{width:90vw}.about{grid-template-columns:1fr}.about-visual{min-height:500px}.about-copy{padding:90px 48px}.contact{padding:110px 0;min-height:500px}}
@media(max-width:550px){.wrap{width:calc(100% - 32px)}.header{height:64px}.logo img{width:128px}.nav-cta{font-size:10px;padding:8px 9px}.hero{min-height:720px;padding-top:107px}.hero h1,.intro-band h2,.section-head h2,.projects-head h2,.monitor-copy h2,.about h2,.contact h2{font-size:clamp(3rem,14vw,4.6rem)}.intro{font-size:15px;margin-top:24px}.hero-actions{flex-direction:column;align-items:flex-start;gap:18px}.hero-composition{height:280px;margin-top:10px;transform:scale(.88);transform-origin:right top;width:113%}.hero-photo{height:290px}.hero-label{font-size:20px;padding:15px}.hero-foot{font-size:8px}.hero-foot span:nth-child(2){display:none}.intro-band,.services,.projects{padding:85px 0}.service-grid{margin-top:0}.projects-head{margin-bottom:42px}.project-grid{display:block}.project{margin-bottom:23px}.project-feature .image-box,.image-box{height:285px}.project-copy h3{font-size:20px}.monitor-section{height:190vh}.monitor-copy{padding-top:7vh}.monitor-copy>p:last-child{font-size:13px}.monitor{width:min(88vw,410px);top:57%}.monitor-head{height:22px}.monitor-screen{height:calc(100% - 22px)}.monitor-step{display:none}.about-visual{min-height:390px}.about-copy{padding:80px 24px}.contact{min-height:470px;padding:85px 0}.contact-glow{width:380px;height:380px;right:-170px;top:-80px}footer>div{height:auto;min-height:95px;flex-wrap:wrap;padding:22px 0;gap:14px}footer>div>span:nth-child(2){order:3;width:100%}footer img{width:128px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal,.reveal-first,.screen-item{opacity:1!important;transform:none!important}}

.about-visual .about-name{font-size:clamp(30px,3.6vw,56px);letter-spacing:-.065em;line-height:.82}
@font-face{font-family:Lato;src:url('../fonts/lato-v25-latin-regular.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Lato;src:url('../fonts/lato-v25-latin-700.woff2') format('woff2');font-weight:700;font-display:swap}@font-face{font-family:Lato;src:url('../fonts/lato-v25-latin-900.woff2') format('woff2');font-weight:900;font-display:swap}.header .logo svg{display:block;width:155px;height:auto}.hero .eyebrow{color:#fff}.hero h1,.intro-band h2,.section-head h2,.projects-head h2,.monitor-copy h2,.about h2,.contact h2{letter-spacing:-.045em}
.about-visual img{object-position:center top}
/* References */
.references-head-web{margin-top:130px}.references-grid-web .reference-card img{object-position:center top}.references-grid-web .reference-card:nth-child(2) img,.references-grid-web .reference-card:nth-child(3) img{object-position:center 18%}
.references{background:#eef0f1;color:#13202a;padding:130px 0}.references-head{max-width:720px;margin-bottom:58px}.references-head h2{margin:14px 0 18px;font-size:clamp(2.8rem,5vw,5.45rem);line-height:.92;letter-spacing:-.055em}.references-head h2 span{color:#8f2c7e}.references-head>p:last-child{max-width:580px;font-size:17px;line-height:1.55;color:#596773}.references-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.reference-card{min-height:450px;position:relative;overflow:hidden;background:#101b25;color:#fff}.reference-card-wide{grid-column:span 2}.reference-card img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .7s cubic-bezier(.2,.75,.2,1),filter .5s;filter:saturate(.86)}.reference-card-wide img{object-position:center 26%}.reference-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,18,25,0) 33%,rgba(9,18,25,.9) 100%)}.reference-card>div{position:absolute;inset:auto 0 0;z-index:1;padding:26px 28px}.reference-card p{margin:0 0 8px;color:#84d5e3;text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:700}.reference-card h3{margin:0 0 10px;font-size:clamp(1.55rem,2.3vw,2.45rem);line-height:.98;letter-spacing:-.045em}.reference-card span{font-size:12px;color:#d0d7db}.reference-card:hover img{transform:scale(1.055);filter:saturate(1.06)}@media(max-width:900px){.references{padding:85px 0}.references-grid{grid-template-columns:repeat(2,1fr)}.reference-card{min-height:400px}.reference-card-wide{grid-column:span 2}}@media(max-width:580px){.references-grid{grid-template-columns:1fr}.reference-card,.reference-card-wide{grid-column:span 1;min-height:420px}.references-head h2{font-size:clamp(2.7rem,12vw,4rem)}}
.references-grid:not(.references-grid-web){width:100vw;margin-left:calc(50% - 50vw);grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(300px,25vw);gap:2px;background:#13202a}.references-grid:not(.references-grid-web) .reference-card{min-height:0;background:#fff;color:#13202a;display:grid;grid-template-rows:minmax(0,1fr) auto;isolation:isolate}.references-grid:not(.references-grid-web) .reference-card-wide{grid-column:span 2;grid-row:span 2}.references-grid:not(.references-grid-web) .reference-card img{position:relative;inset:auto;width:100%;height:100%;min-height:0;object-fit:contain;padding:clamp(18px,2.2vw,42px);filter:none;transform:none!important;z-index:0}.references-grid:not(.references-grid-web) .reference-card:after{display:none}.references-grid:not(.references-grid-web) .reference-card>div{position:relative;inset:auto;padding:14px 16px 16px;background:#fff;z-index:1;transition:opacity .3s,background .3s;color:#13202a}.references-grid:not(.references-grid-web) .reference-card p{color:#8f2c7e;font-size:9px;margin-bottom:6px}.references-grid:not(.references-grid-web) .reference-card h3{font-size:clamp(1.1rem,1.65vw,1.65rem);line-height:1.02;margin:0}.references-grid:not(.references-grid-web) .reference-card span{display:none}.references-grid:not(.references-grid-web) .reference-card:hover>div{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(24px,4vw,65px);background:#8f2c7e;color:#fff}.references-grid:not(.references-grid-web) .reference-card:hover p{color:#9be4ed}.references-grid:not(.references-grid-web) .reference-card:hover h3{font-size:clamp(1.65rem,3vw,3.75rem);max-width:90%}.references-grid:not(.references-grid-web) .reference-card:hover span{display:block;color:#fff;margin-top:15px}.references-grid:not(.references-grid-web) .reference-card:hover img{filter:saturate(.7) brightness(.75)}@media(max-width:1000px){.references-grid:not(.references-grid-web){grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(270px,42vw)}.references-grid:not(.references-grid-web) .reference-card-wide{grid-column:span 2;grid-row:span 1}}@media(max-width:580px){.references-grid:not(.references-grid-web){grid-template-columns:1fr;grid-auto-rows:minmax(370px,100vw)}.references-grid:not(.references-grid-web) .reference-card-wide{grid-column:span 1;grid-row:span 1}.references-grid:not(.references-grid-web) .reference-card>div{padding:13px 14px 15px}}
.logo-marquee{overflow:hidden;background:#101a24;color:#fff;padding:130px 0}.logo-marquee__head{width:min(1200px,calc(100% - 80px));margin:0 auto 62px}.logo-marquee__head h2{margin:16px 0 0;font-size:clamp(2.8rem,5.4vw,6.15rem);line-height:.88;letter-spacing:-.06em}.logo-marquee__head h2 span{color:#8f2c7e}.logo-marquee__rows{display:grid;gap:2px}.logo-marquee__viewport{overflow:hidden;background:rgba(255,255,255,.035);border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}.logo-marquee__track{display:flex;width:max-content;will-change:transform}.logo-marquee__track--left{animation:logos-left 42s linear infinite}.logo-marquee__track--right{animation:logos-right 46s linear infinite}.logo-marquee__group{display:flex;align-items:center;gap:clamp(28px,5vw,95px);padding:20px clamp(14px,2.5vw,48px)}.logo-marquee__item{width:clamp(150px,16vw,250px);height:94px;display:grid;place-items:center;flex:0 0 auto}.logo-marquee__item img{width:100%;height:100%;object-fit:contain;filter:grayscale(1) invert(1) contrast(20);mix-blend-mode:screen;opacity:.86;transition:opacity .25s,transform .25s}.logo-marquee__item img.logo-is-white{filter:none;mix-blend-mode:normal}.logo-marquee__item:hover img{opacity:1;transform:scale(1.07)}@keyframes logos-left{from{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes logos-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}@media(max-width:900px){.logo-marquee{padding:85px 0}.logo-marquee__head{width:calc(100% - 40px);margin-bottom:38px}.logo-marquee__item{width:160px;height:74px}}@media(max-width:560px){.logo-marquee__head{width:calc(100% - 30px)}.logo-marquee__item{width:132px;height:62px}.logo-marquee__group{gap:32px;padding:14px 16px}}@media(prefers-reduced-motion:reduce){.logo-marquee__track{animation:none;transform:none!important;max-width:100%;flex-wrap:wrap;justify-content:center;width:100%}.logo-marquee__group[aria-hidden="true"]{display:none}.logo-marquee__group{flex-wrap:wrap;justify-content:center}.logo-marquee__item{width:130px}}
.monitor-screen{container-type:inline-size}.site-hero{height:58%;padding-top:4%}.site-hero>p{font-size:clamp(9px,1.15cqw,13px)}.site-hero h3{max-width:56%;font-size:clamp(24px,5.5cqw,52px);line-height:.9;letter-spacing:-.065em;margin:1.5% 0 0}.site-hero>a{bottom:0;font-size:clamp(10px,1.2cqw,13px);padding:1.35% 2%;z-index:2}.site-nav{font-size:clamp(10px,1.35cqw,15px)}.site-nav b{font-size:clamp(10px,1.22cqw,13px)}.site-tiles b{font-size:clamp(11px,1.5cqw,16px)}.site-tiles span{font-size:clamp(9px,1.05cqw,12px)}.about{grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr)}.about-visual{min-height:600px}.about-visual img{object-position:center 12%;transform:scale(.92)}.about-copy{max-width:none;padding:clamp(75px,9vw,135px) clamp(44px,8vw,150px) clamp(80px,8vw,120px) clamp(48px,7vw,135px)}.about h2{font-size:clamp(3.1rem,4.75vw,5.5rem)}.about-copy>p:not(.eyebrow){max-width:630px;font-size:clamp(16px,1.25vw,19px);line-height:1.58}.about-copy .facts{max-width:630px}.about-copy .button{margin-top:4px}@media(max-width:850px){.about{grid-template-columns:1fr}.about-visual{min-height:465px}.about-visual img{transform:none;object-position:center 15%}.about-copy{padding:80px 48px}.site-hero h3{max-width:58%;font-size:clamp(23px,5.4cqw,48px)}}@media(max-width:550px){.about-visual{min-height:380px}.about-copy{padding:70px 24px}.about-copy>p:not(.eyebrow){font-size:16px}.site-hero h3{font-size:clamp(21px,5.3cqw,36px)}.site-hero>a{font-size:10px}}
.logo-marquee__item{width:clamp(160px,15.6vw,244px);height:92px}.logo-marquee__item img{width:auto;height:auto;max-width:100%;max-height:75px;object-fit:contain;image-rendering:auto}.logo-marquee__item img.logo-dark-source{filter:grayscale(1) brightness(4) contrast(1.35)!important;mix-blend-mode:screen!important}.logo-marquee__item img.logo-is-processed{filter:none!important;mix-blend-mode:normal!important}.logo-marquee__item img[src$="postbank.png"]{max-width:135px;max-height:26px}.logo-marquee__item img[src$="deutsche-bank.png"],.logo-marquee__item img[src$="deutsche-bank-white.png"],.logo-marquee__item img[src$="deutsche-bahn.png"],.logo-marquee__item img[src$="deutsche-bahn-white.png"],.logo-marquee__item img[src$="aral.png"]{max-width:94px;max-height:94px}.logo-marquee__item img[src$="brennholz-hasenstab.png"],.logo-marquee__item img[src$="es-trockenbau.png"],.logo-marquee__item img[src$="es-trockenbau-white.png"]{max-height:75px;max-width:195px}@media(max-width:560px){.logo-marquee__item{width:142px;height:72px}.logo-marquee__item img{max-height:62px}.logo-marquee__item img[src$="postbank.png"]{max-width:108px;max-height:21px}.logo-marquee__item img[src$="deutsche-bank.png"],.logo-marquee__item img[src$="deutsche-bank-white.png"],.logo-marquee__item img[src$="deutsche-bahn.png"],.logo-marquee__item img[src$="deutsche-bahn-white.png"],.logo-marquee__item img[src$="aral.png"]{max-width:72px;max-height:72px}}

/* Logos gently fade and soften at the edges of each moving row. */
.logo-marquee__viewport{position:relative}
.logo-marquee__viewport::before,.logo-marquee__viewport::after{content:"";position:absolute;z-index:3;top:0;bottom:0;width:clamp(52px,10vw,180px);pointer-events:none;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.logo-marquee__viewport::before{left:0;background:linear-gradient(90deg,rgba(16,26,36,.94),rgba(16,26,36,.46) 42%,transparent 100%);mask-image:linear-gradient(90deg,#000 0,#000 30%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,#000 0,#000 30%,transparent 100%)}
.logo-marquee__viewport::after{right:0;background:linear-gradient(270deg,rgba(16,26,36,.94),rgba(16,26,36,.46) 42%,transparent 100%);mask-image:linear-gradient(270deg,#000 0,#000 30%,transparent 100%);-webkit-mask-image:linear-gradient(270deg,#000 0,#000 30%,transparent 100%)}

/* Keep directional symbols as text glyphs; no platform-specific emoji arrows. */
.button b,.underlink b,.project-copy b,.service-item>b{font-family:Arial,Helvetica,sans-serif;font-variant-emoji:text}

/* Service links use the same drawn diagonal arrow as the subpages, never an emoji glyph. */
.service-item>b{position:relative;font-size:0!important;line-height:0!important}
.service-item>b::after{content:"";position:absolute;inset:0;margin:auto;width:9px;height:9px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(-45deg)}

/* A subtle perspective turns the moving logo rows into spatial ribbons. */
@media(min-width:701px){
  .logo-marquee__rows{perspective:1800px;transform-style:preserve-3d;gap:clamp(22px,2.4vw,34px);padding:16px 0}
  .logo-marquee__track--right{animation-name:logos-left}
  .logo-marquee__viewport{margin:0 clamp(4px,1vw,18px);transform:rotateX(8deg) rotateY(-5deg) rotateZ(-.25deg);transform-origin:center;box-shadow:0 18px 32px rgba(0,0,0,.18);transition:transform .5s ease,box-shadow .5s ease}
  .logo-marquee__viewport:nth-child(even){transform:rotateX(8deg) rotateY(-5deg) rotateZ(-.25deg)}
  .logo-marquee__viewport:hover{transform:rotateX(8deg) rotateY(-5deg) rotateZ(-.25deg) translateZ(22px);box-shadow:0 28px 40px rgba(0,0,0,.24)}
}
/* Small screens: contain the decorative hero/monitor geometry and keep every word readable. */
@media(max-width:550px){
  .page-home main{overflow-x:clip}
  .intro-band-grid,.intro-band-grid>*,.projects-head,.projects-head>*,.hero-grid,.hero-grid>*{min-width:0}
  .intro-band h2,.projects-head h2,.section-head h2,.monitor-copy h2,.about h2,.contact h2{max-width:100%;overflow-wrap:normal;word-break:normal;hyphens:none}
  .hero-composition{width:100%;transform:scale(.88);overflow:hidden}
  .monitor-scene{overflow:hidden}
}

/* Keep every logo ribbon populated beyond both viewport edges.  Three identical
   groups let the animation travel entirely off-screen before it repeats. */
@keyframes logos-left{from{transform:translate3d(-33.333333%,0,0)}to{transform:translate3d(-66.666667%,0,0)}}
@keyframes logos-right{from{transform:translate3d(-66.666667%,0,0)}to{transform:translate3d(-33.333333%,0,0)}}
.logo-marquee__viewport{width:110%;margin-left:-5%;margin-right:-5%}
