@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/manrope-0.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/manrope-1.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/manrope-2.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/manrope-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/manrope-4.ttf) format('truetype');
}
:root{--blue:#0853cf;--ink:#101e31;--muted:#647082;--line:#dce1e7;--pale:#f3f5f8;--ease:cubic-bezier(.2,.7,.2,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-family:Manrope,Arial,sans-serif;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%;height:auto}button{color:inherit}::selection{background:var(--blue);color:white}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #4389ff;outline-offset:5px}.container{width:min(1440px,calc(100% - 112px));margin-inline:auto}.header{height:108px;padding:0 56px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:30;transition:transform .45s var(--ease),box-shadow .3s}.brand{position:relative;width:204px;height:31px;overflow:hidden;flex:none;background:#fff}.brand img{position:absolute;width:106.659%;max-width:none;height:auto;left:-3.148%;top:50%;transform:translateY(-48.4765625%)}.nav{display:flex;align-items:center;gap:46px;font-size:14px;font-weight:600}.nav>a{padding:10px 0}.nav a:hover,.nav a.active{color:var(--blue)}.nav .nav-contact{margin-left:28px;border-bottom:1px solid var(--ink);display:flex;gap:36px}.nav-contact span{font-size:23px}.menu-toggle{display:none}.mobile-nav{display:none}.skip{position:fixed;top:-80px;left:20px;background:var(--blue);color:white;padding:14px;z-index:100}.skip:focus{top:12px}.eyebrow{font-size:11px;line-height:1.6;letter-spacing:.13em;font-weight:700;text-transform:uppercase;margin:0 0 28px;display:flex;align-items:center;gap:9px}.blue-dot{height:7px;width:7px;background:var(--blue);border-radius:50%;display:inline-block;box-shadow:0 0 0 5px #0853cf0b}.hero{padding-top:56px;padding-bottom:48px}.hero-top{display:flex;justify-content:space-between}.hero-note{font-size:12px;line-height:1.8;color:var(--muted)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(58px,6.9vw,108px);line-height:1.06;letter-spacing:-.062em;font-weight:500;margin-bottom:32px}h1 span{color:var(--blue)}.hero h1{margin-top:12px}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end}.hero-bottom p{font-size:15px;line-height:1.8;color:var(--muted);margin:0}.round-link{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:600}.round-link span,.circle{width:45px;height:45px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;font-size:21px;transition:background .2s,transform .3s}.round-link:hover span{background:var(--blue);color:white;transform:translateY(3px)}.hero-image{display:block;margin:0 24px;position:relative;height:clamp(370px,42vw,660px);overflow:hidden;background:var(--pale)}.hero-image>img{width:100%;height:100%;object-fit:cover;object-position:center 58%;transition:transform 1.2s var(--ease)}.hero-image:hover>img{transform:scale(1.025)}.hero-image:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#06162dc9);pointer-events:none}.hero-image-caption{position:absolute;bottom:32px;left:32px;right:32px;z-index:1;color:white;display:flex;align-items:end;justify-content:space-between;font-size:26px}.hero-image-caption small{display:block;font-size:10px;letter-spacing:.15em;margin-bottom:12px}.image-line{position:absolute;width:110px;height:3px;background:#fff;bottom:0;left:0;z-index:2;animation:line-run 3s var(--ease) 2}.section{padding-block:112px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:48px}h2{font-size:clamp(34px,3.5vw,56px);line-height:1.15;letter-spacing:-.045em;font-weight:500;margin-bottom:0}.text-link{font-size:13px;font-weight:600;border-bottom:1px solid var(--ink);padding-bottom:10px;display:inline-flex;align-items:center;gap:30px}.text-link:hover{color:var(--blue);border-color:var(--blue)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px 28px}.project-card:nth-child(even){margin-top:72px}.card-image{aspect-ratio:1.48;overflow:hidden;position:relative;background:var(--pale)}.card-image>img{width:100%;height:100%;object-fit:cover;transition:transform .75s var(--ease)}.project-card:hover .card-image>img{transform:scale(1.045)}.card-arrow{position:absolute;bottom:18px;right:18px;background:white;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:23px;transition:background .2s,color .2s}.project-card:hover .card-arrow{background:var(--blue);color:white}.card-meta{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:21px 0 9px}.project-card h3{font-size:24px;letter-spacing:-.03em;line-height:1.35;font-weight:500;margin:0}.image-placeholder{height:100%;display:grid;place-items:center;color:var(--blue);font-weight:700}.expertise{background:var(--pale);padding:108px 0}.expertise-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.expertise h2{margin-bottom:36px}.expertise em{color:var(--blue);font-style:normal}.expertise-list>div{display:flex;gap:22px;padding:28px 0;border-top:1px solid #cdd4de;align-items:baseline}.expertise-list>div:last-child{border-bottom:1px solid #cdd4de}.expertise-list>div>span{font-size:12px;color:var(--muted)}.expertise-list>div>span:last-child{margin-left:auto;font-size:22px;color:var(--blue)}.expertise-list h3{font-weight:500;font-size:23px;margin-bottom:10px;letter-spacing:-.03em}.expertise-list p{font-size:13px;line-height:1.8;color:var(--muted);max-width:310px;margin:0}.footer{padding:74px 56px 24px;background:#0b192d;color:#fff}.footer-top{border-bottom:1px solid #ffffff30;padding-bottom:52px}.footer-top .eyebrow{color:#9eacc0}.footer-cta{font-size:clamp(32px,5.4vw,82px);letter-spacing:-.05em;display:flex;justify-content:space-between;gap:30px;align-items:center}.footer-cta span{color:#649dff;transition:transform .3s}.footer-cta:hover span{transform:translate(7px,-7px)}.footer-bottom{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px;padding:48px 0 60px;font-size:13px}.footer-bottom strong{font-size:20px;letter-spacing:.05em}.footer-bottom p{color:#9eacc0;margin:12px 0 0;font-size:12px}.footer-bottom a{display:block;margin-bottom:14px}.footer-bottom a:hover{color:#93baff}.copyright{display:flex;justify-content:space-between;font-size:10px;color:#9eacc0;border-top:1px solid #ffffff20;padding-top:24px;letter-spacing:.04em}.page-intro{padding-top:80px;padding-bottom:68px}.page-intro h1{font-size:clamp(48px,6.1vw,88px)}.intro-row{display:flex;justify-content:space-between;gap:30px;align-items:end;font-size:14px;color:var(--muted)}.intro-row p{margin:0}.intro-row>span{font-size:12px;white-space:nowrap}.portfolio-section{padding-top:0}.filters{display:flex;flex-wrap:wrap;gap:12px;border-top:1px solid var(--line);padding:28px 0 44px}.filters>a{font-size:12px;padding:11px 19px;border:1px solid var(--line);border-radius:30px}.filters>a[aria-current],.filters>a:hover{background:var(--blue);border-color:var(--blue);color:white}.filters sup{font-size:9px;padding-left:6px}.project-intro{padding-top:45px;padding-bottom:40px}.back-link{display:inline-block;font-size:12px;color:var(--muted);margin-bottom:60px}.project-intro h1{font-size:clamp(42px,5.6vw,84px);max-width:1150px;line-height:1.12}.project-facts{display:flex;gap:32px;justify-content:space-between;border-top:1px solid var(--line);padding-top:25px;font-size:11px;letter-spacing:.06em}.project-cover button,.gallery button{background:var(--pale);border:0;padding:0;position:relative;width:100%;display:block;overflow:hidden}.project-cover img{width:100%;aspect-ratio:16/9;max-height:780px;object-fit:cover}.zoom-badge{position:absolute;right:20px;bottom:20px;padding:12px 17px;background:white;font-size:12px;border-radius:30px}.project-description{padding-top:70px;display:grid;grid-template-columns:1fr 2fr;gap:40px}.project-description>div{font-size:19px;line-height:1.8;white-space:pre-line}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:28px}.gallery figure{margin:0}.gallery img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .5s}.gallery button:hover img{transform:scale(1.02)}figcaption{font-size:12px;margin-top:10px;color:var(--muted)}.related{border-top:1px solid var(--line);padding-top:64px}.related .project-card:nth-child(even){margin-top:0}.lightbox{background:#071120f5;color:white;border:0;padding:65px 60px 75px;max-width:100vw;max-height:100dvh;width:100vw;height:100dvh;margin:0}.lightbox::backdrop{background:#071120}.lightbox[open]{display:flex;align-items:center;justify-content:center}.lightbox>img{max-width:100%;max-height:100%;object-fit:contain}.lightbox-toolbar{position:absolute;top:18px;left:24px;right:24px;display:flex;align-items:center;justify-content:space-between;font-size:12px}.lightbox button{background:transparent;color:white;border:1px solid #ffffff50;padding:10px 14px;border-radius:30px}.lightbox-prev,.lightbox-next{position:absolute;top:50%;font-size:23px}.lightbox-prev{left:10px}.lightbox-next{right:10px}.lightbox-caption{position:absolute;bottom:15px;left:60px;right:60px;text-align:center;font-size:13px}.about-body{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-bottom:112px;align-items:center}.large-copy{font-size:24px;line-height:1.5;letter-spacing:-.025em}.about-body>div:not(.logo-panel)>p:not(.large-copy){font-size:15px;line-height:1.9;color:var(--muted)}.button{display:inline-flex;align-items:center;gap:22px;background:var(--blue);color:white;border:0;padding:17px 25px;font-size:13px;font-weight:600;margin-top:15px}.button:hover{background:#0640a2}.contact-intro .large-copy{max-width:630px;color:var(--muted);font-size:20px}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-bottom:64px}.contact-grid>a{border:1px solid var(--line);padding:40px;transition:background .25s,color .25s}.contact-grid>a:hover{background:var(--blue);color:white}.contact-grid strong{display:flex;align-items:center;gap:14px;font-size:clamp(22px,2.2vw,34px);font-weight:500;letter-spacing:-.04em;overflow-wrap:anywhere}.contact-bottom{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-top:55px}.contact-bottom>span{font-size:24px}.contact-note{display:grid;grid-template-columns:1fr 2fr;gap:32px;padding-bottom:100px}.contact-note p{max-width:650px;font-size:16px;line-height:1.8;color:var(--muted)}.js-motion .reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease) var(--delay,0s),transform .9s var(--ease) var(--delay,0s),background .25s,color .25s}.js-motion .reveal.visible{opacity:1;transform:none}@keyframes line-run{0%{left:0;width:0}60%{width:35%}100%{left:100%;width:0}}
@media(min-width:1600px){.header,.footer{padding-inline:max(56px,calc((100vw - 1440px)/2))}}@media(max-width:1000px){.container{width:calc(100% - 64px)}.header{padding-inline:32px;height:88px}.hero{padding-top:40px}.hero-note{display:none}.nav{gap:24px}.nav .nav-contact{margin-left:0}.section{padding-block:80px}.expertise-grid,.about-body{gap:40px}.footer{padding-inline:32px}.project-card h3{font-size:21px}.contact-grid>a{padding:28px}}@media(max-width:700px){.container{width:calc(100% - 40px)}.header{height:80px;padding-inline:20px}.brand{width:166px;height:26px}.nav{display:none}.menu-toggle{display:flex;align-items:center;gap:14px;background:none;border:0;font-size:12px;font-weight:600;padding:10px 0}.hero{padding-top:36px;padding-bottom:30px}.eyebrow{font-size:10px;margin-bottom:24px;letter-spacing:.1em}h1{font-size:clamp(48px,11.5vw,78px);letter-spacing:-.065em}.hero h1{margin-top:20px;margin-bottom:25px}.hero-bottom{display:block}.hero-bottom p{font-size:13px}.round-link{margin-top:22px;justify-content:space-between;font-size:12px}.hero-image{margin-inline:12px;height:360px}.hero-image-caption{left:20px;right:20px;bottom:24px;font-size:23px}.hero-image>img{object-position:53% center}.hero-image-caption small{font-size:8px}.section{padding-block:64px}.section-heading{margin-bottom:30px;align-items:start;flex-direction:column;gap:26px}h2{font-size:36px}.project-grid{gap:34px;grid-template-columns:1fr}.project-card:nth-child(even){margin-top:0}.card-image{aspect-ratio:1.35}.card-meta{margin-top:16px;font-size:10px}.project-card h3{font-size:23px}.expertise{padding-block:64px}.expertise-grid{grid-template-columns:1fr;gap:48px}.expertise-list h3{font-size:21px}.expertise-list p{font-size:12px}.footer{padding:50px 20px 22px}.footer-cta{font-size:39px;line-height:1.1;align-items:end}.footer-top{padding-bottom:36px}.footer-bottom{grid-template-columns:1fr 1fr;gap:28px;padding:36px 0}.footer-bottom>div:first-child{grid-column:1/-1}.copyright{font-size:10px;gap:25px;line-height:1.5}.copyright>span:last-child{text-align:right}.page-intro{padding-top:48px;padding-bottom:38px}.page-intro h1{font-size:clamp(42px,10vw,64px);line-height:1.13}.intro-row{display:block;font-size:13px;line-height:1.7}.intro-row>span{display:block;margin-top:20px;font-size:11px}.portfolio-section{padding-top:0}.filters{gap:8px;padding-bottom:28px}.filters>a{font-size:10px;padding:9px 12px}.project-intro{padding-top:28px}.back-link{margin-bottom:38px}.project-intro h1{font-size:42px}.project-facts{font-size:10px;gap:16px;flex-wrap:wrap}.project-cover.container{width:100%}.project-cover img{aspect-ratio:4/3}.zoom-badge{right:12px;bottom:12px;padding:9px 13px;font-size:10px}.project-description{grid-template-columns:1fr;gap:0;padding-top:42px}.project-description>div{font-size:16px}.gallery{grid-template-columns:1fr;gap:20px}.gallery img{aspect-ratio:4/3}.related{padding-top:40px}.lightbox{padding:70px 10px 100px}.lightbox-prev,.lightbox-next{top:auto;bottom:18px;z-index:2}.lightbox-prev{left:24px}.lightbox-next{right:24px}.lightbox-caption{font-size:11px;bottom:24px;left:90px;right:90px}.about-body{grid-template-columns:1fr;gap:38px;padding-bottom:60px}.large-copy{font-size:22px}.contact-intro .large-copy{font-size:16px}.contact-grid{grid-template-columns:1fr;gap:18px;padding-bottom:40px}.contact-grid>a{padding:28px}.contact-grid strong{font-size:29px}.contact-bottom{margin-top:36px}.contact-note{grid-template-columns:1fr;gap:0;padding-bottom:50px}.contact-note p{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}}
.button-light{background:#fff;color:var(--ink)}.button-light:hover{background:var(--pale)}.hero-actions{display:flex;flex-wrap:wrap;gap:14px}.hero-actions .button{margin-top:0}
.home-hero{position:relative;height:calc(100svh - 108px);min-height:620px;max-height:920px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;background:var(--ink);overflow:hidden}.home-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:68% 35%}.home-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#06162deb 0%,#06162dc2 36%,#06162d40 68%,#06162d00 100%),linear-gradient(transparent 55%,#06162da6);pointer-events:none}.home-hero>.container{position:relative;z-index:1}.home-hero-content{padding-bottom:64px}.home-hero .eyebrow{color:#c9d6e8}.home-hero .blue-dot{background:#649dff}.home-hero h1{margin-bottom:28px}.home-hero h1 em{color:#649dff}.home-hero-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #ffffff38;padding:20px 0 26px;font-size:12px;color:#c9d6e8}.home-hero .round-link span{border-color:#ffffff60}.home-hero a:focus-visible,.process a:focus-visible{outline-color:#fff}
.statement{padding-bottom:104px}.statement-grid{display:grid;grid-template-columns:2fr 1fr;gap:96px;align-items:end}.statement-text{font-size:clamp(28px,3vw,46px);line-height:1.25;letter-spacing:-.04em;font-weight:500;margin:0}.statement-text span{color:var(--muted)}.stats{display:grid;grid-template-columns:1fr 1fr;gap:24px;border-top:1px solid var(--line);padding-top:26px;margin-bottom:40px}.stats strong{display:block;font-size:60px;line-height:1;font-weight:500;letter-spacing:-.05em;color:var(--blue)}.stats span{display:block;font-size:12px;line-height:1.5;color:var(--muted);margin-top:12px}
.services-band{background:var(--pale)}.sector-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px}.sector-card>a{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid var(--line)}.sector-card-image{aspect-ratio:1.3;overflow:hidden;position:relative;background:var(--pale)}.sector-card-image>img{width:100%;height:100%;object-fit:cover;transition:transform .75s var(--ease)}.sector-card:hover .sector-card-image>img{transform:scale(1.045)}.sector-card:hover .card-arrow{background:var(--blue);color:#fff}.sector-card h3{font-size:26px;line-height:1.3;letter-spacing:-.03em;font-weight:500;margin:24px 26px 12px}.sector-card p{font-size:14px;line-height:1.75;color:var(--muted);margin:0 26px 30px}.section-cta{display:flex;justify-content:center;margin-top:80px}
.process{background:var(--blue);color:#fff;padding:112px 0}.process .eyebrow{color:#cfe0ff}.process .text-link,.process .text-link:hover{color:#fff;border-color:#fff}.process-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.process-steps li{position:relative;padding-top:24px}.process-steps li:before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:#ffffff60;transform-origin:left}.process-steps li>span{font-size:12px;letter-spacing:.08em;color:#cfe0ff}.process-steps h3{font-size:23px;line-height:1.3;font-weight:500;letter-spacing:-.03em;margin:48px 0 12px}.process-steps p{font-size:14px;line-height:1.75;color:#e3ecfb;margin:0}

@media(max-width:1000px){.home-hero{height:calc(100svh - 88px)}.statement-grid{gap:48px}.sector-grid{gap:18px}.sector-card h3{font-size:22px;margin-inline:20px}.sector-card p{margin-inline:20px}.process{padding:80px 0}.process-steps{grid-template-columns:1fr 1fr;gap:48px 28px}.process-steps h3{margin-top:28px}}
@media(max-width:700px){.home-hero{height:auto;min-height:calc(100svh - 80px);max-height:none;padding-top:96px}.home-hero-image{object-position:64% center}.home-hero:after{background:linear-gradient(#06162d1f 0%,#06162d8c 32%,#06162de6 62%,#06162df5 100%)}.home-hero-content{padding-bottom:40px}.hero-actions{flex-direction:column}.hero-actions .button{justify-content:space-between}.home-hero-foot{font-size:10px;padding-bottom:20px}.home-hero-foot .round-link{margin-top:0;gap:14px}.home-hero-foot .round-link span{width:38px;height:38px;font-size:17px}.statement{padding-bottom:64px}.statement-grid{grid-template-columns:1fr;gap:40px}.statement-text{font-size:27px}.stats strong{font-size:46px}.stats{margin-bottom:32px}.sector-grid{grid-template-columns:1fr;gap:20px}.sector-card h3{font-size:23px}.section-cta{margin-top:44px}.section-cta .button{width:100%;justify-content:space-between}.process{padding:64px 0}.process-steps{grid-template-columns:1fr;gap:36px}.process-steps h3{margin-top:18px;font-size:21px}}
.illu{display:block;width:100%;height:100%;color:var(--ink);--acc:var(--blue);--fill:#fff}.illu .a{stroke:var(--acc)}.illu .af{fill:var(--acc);stroke:none}.illu .f{fill:var(--fill)}.illu .thin{stroke-width:1.25}.illu .dot{stroke-width:1.5;stroke-dasharray:1 7}.illu .ta{fill:var(--acc);stroke:none;font-size:12px;font-weight:700;letter-spacing:.08em}.illu .cone{fill:var(--acc);fill-opacity:.12;stroke:var(--acc);stroke-width:1.25;stroke-dasharray:4 6}.illu .flow{stroke-dasharray:4 8;animation:flow 1.2s linear infinite}@keyframes flow{to{stroke-dashoffset:-24}}.blueprint{background-color:var(--pale);background-image:linear-gradient(#0853cf0d 1px,transparent 1px),linear-gradient(90deg,#0853cf0d 1px,transparent 1px);background-size:24px 24px;background-position:-1px -1px}
.section-note{max-width:400px;margin:0;font-size:15px;line-height:1.8;color:var(--muted)}.service-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.service-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line)}.service-card-art{aspect-ratio:3/2;padding:16px 20px}.service-card-body{flex:1;padding:20px 22px 26px;background:#eaf1fc;border-top:1px solid #dbe5f6}.service-card h3{font-size:20px;line-height:1.3;font-weight:500;letter-spacing:-.03em;margin:0 0 8px}.service-card p{margin:0;font-size:13px;line-height:1.7;color:#4f5e75}.contact-card>a{display:flex;flex-direction:column;justify-content:space-between;gap:32px;height:100%;min-height:300px;padding:28px;background:var(--blue);color:#fff;transition:background .25s}.contact-card>a:hover{background:#0640a2}.contact-card .eyebrow{color:#cfe0ff;margin:0}.contact-card strong{font-size:clamp(26px,2.4vw,36px);line-height:1.15;font-weight:500;letter-spacing:-.04em}.contact-card-link{display:flex;justify-content:space-between;border-top:1px solid #ffffff66;padding-top:18px;font-size:13px;font-weight:600}.contact-card a:focus-visible{outline-color:var(--ink)}
@media(max-width:1000px){.service-cards{grid-template-columns:repeat(3,1fr)}}
@media(max-width:860px){.service-cards{grid-template-columns:1fr 1fr}.statement-grid{grid-template-columns:1fr;gap:40px}.stats{max-width:420px}}
@media(max-width:700px){.service-cards{grid-template-columns:1fr;gap:12px}.service-card{display:grid;grid-template-columns:112px 1fr;align-items:center}.service-card-art{aspect-ratio:auto;align-self:stretch;min-height:112px;padding:10px 8px}.service-card-body{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:16px 16px 16px 18px;border-top:0;border-left:1px solid #dbe5f6}.service-card h3{font-size:17px;margin:0 0 6px}.service-card p{font-size:12px;line-height:1.6}.contact-card>a{min-height:200px;padding:24px}}
@keyframes rise{from{opacity:0;transform:translateY(26px)}}@keyframes fade{from{opacity:0}}@keyframes line-up{from{transform:translateY(110%)}}@keyframes hero-zoom{from{transform:scale(1.1)}}@keyframes cover-in{from{clip-path:inset(100% 0 0 0)}}@keyframes nudge{0%,100%{transform:none}50%{transform:translateY(4px)}}
h1 em{font-style:normal;color:var(--blue)}h1 .ln,h1 .ln>span{display:block;color:inherit}h1 .ln{overflow:hidden;padding:.04em 0 .14em;margin:-.04em 0 -.14em}h1 .ln>span{animation:line-up 1.1s var(--ease) both;animation-delay:calc(var(--i,0) * .12s + .15s)}
.home-hero-image{animation:hero-zoom 2.6s var(--ease) both}.home-hero-content>.eyebrow{animation:rise .9s var(--ease) both .05s}.home-hero .hero-actions{animation:rise .9s var(--ease) both .62s}.home-hero-foot{animation:fade 1.2s var(--ease) both .9s}.home-hero-foot .round-link span{animation:nudge 2.4s ease-in-out infinite 2.4s}.page-intro>:not(h1),.project-intro>:not(h1){animation:rise .9s var(--ease) both .45s}.page-intro>.eyebrow,.project-intro>.back-link,.project-intro>.eyebrow{animation-delay:.05s}.project-intro h1{animation:rise 1s var(--ease) both .15s}.project-cover>button{animation:cover-in 1.3s var(--ease) both .35s}
.js-motion .reveal .card-image,.js-motion .reveal .sector-card-image,.js-motion .gallery .reveal button{clip-path:inset(100% 0 0 0);transition:clip-path 1.2s var(--ease) calc(var(--delay,0s) + .1s)}.js-motion .reveal.visible .card-image,.js-motion .reveal.visible .sector-card-image,.js-motion .gallery .reveal.visible button{clip-path:inset(0)}.js-motion .process-steps li.reveal:before{transform:scaleX(0);transition:transform 1.3s var(--ease) calc(var(--delay,0s) + .15s)}.js-motion .process-steps li.reveal.visible:before{transform:none}
.button{transition:background .25s,color .25s,transform .25s}.button:active{transform:translateY(1px)}.button>span[aria-hidden],.text-link>span[aria-hidden]{display:inline-block;transition:transform .3s var(--ease)}.button:hover>span[aria-hidden],.text-link:hover>span[aria-hidden]{transform:translate(3px,-3px)}.filters>a{transition:background .25s,border-color .25s,color .25s}.header.is-scrolled{box-shadow:0 14px 32px -26px #10203a73}.menu-open .header{transform:none}.lightbox[open]{animation:fade .3s var(--ease)}
@media(prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}::view-transition-old(root),::view-transition-new(root){animation-duration:.3s}
@media(max-width:700px){.menu-label{min-width:52px;text-align:right}.menu-icon{position:relative;width:18px;height:18px}.menu-icon:before,.menu-icon:after{content:'';position:absolute;left:1px;right:1px;top:50%;height:1.5px;margin-top:-.75px;background:currentColor;transition:transform .4s var(--ease)}.menu-icon:after{transform:rotate(90deg)}.menu-open .menu-icon:before{transform:rotate(45deg)}.menu-open .menu-icon:after{transform:rotate(135deg)}.mobile-nav{position:fixed;top:80px;left:0;right:0;bottom:0;z-index:29;display:flex;flex-direction:column;justify-content:space-between;gap:32px;padding:12px 20px calc(28px + env(safe-area-inset-bottom));background:#fff;overflow-y:auto;visibility:hidden;opacity:0;transition:opacity .35s var(--ease),visibility 0s linear .35s}.menu-open .mobile-nav{visibility:visible;opacity:1;transition:opacity .35s var(--ease)}.menu-open{overflow:hidden}.mobile-nav-links a{display:flex;align-items:baseline;gap:18px;padding:18px 0;border-bottom:1px solid var(--line);font-size:34px;font-weight:500;letter-spacing:-.04em;opacity:0;transform:translateY(18px);transition:opacity .5s var(--ease),transform .5s var(--ease)}.mobile-nav-links a span{font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--blue)}.menu-open .mobile-nav-links a{opacity:1;transform:none}.menu-open .mobile-nav-links a:nth-child(2){transition-delay:.05s}.menu-open .mobile-nav-links a:nth-child(3){transition-delay:.1s}.menu-open .mobile-nav-links a:nth-child(4){transition-delay:.15s}.mobile-nav-foot{opacity:0;transition:opacity .5s var(--ease)}.menu-open .mobile-nav-foot{opacity:1;transition-delay:.2s}.mobile-nav-foot .eyebrow{color:var(--muted);margin-bottom:10px}.mobile-nav-foot a{display:block;padding:6px 0;font-size:19px;letter-spacing:-.02em}

.filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-20px;padding-inline:20px;scroll-padding-inline:20px}.filters::-webkit-scrollbar,.is-carousel::-webkit-scrollbar{display:none}.filters>a{flex:none;font-size:11px;padding:10px 15px}.is-carousel{display:grid;grid-auto-flow:column;grid-auto-columns:84%;grid-template-columns:none;gap:14px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:-20px;padding-inline:20px;scroll-padding-inline:20px}.is-carousel>*{scroll-snap-align:start}}
.home-hero-slides{position:absolute;inset:0;z-index:0}.home-hero-image{object-position:var(--pos,68% 35%);opacity:0;transition:opacity 1.6s var(--ease);animation:none}.home-hero-image.is-active{opacity:1;z-index:1;animation:hero-zoom 7s var(--ease) both}.home-hero-image.is-prev{opacity:1}.hero-slide-info{display:flex;align-items:center;gap:22px;min-width:0}.hero-dots{display:flex;gap:6px;flex:none}.hero-dots button{width:30px;height:24px;padding:0;border:0;background:none;position:relative}.hero-dots button:before,.hero-dots button:after{content:'';position:absolute;left:0;top:50%;width:100%;height:2px;margin-top:-1px;background:#ffffff4d}.hero-dots button:after{background:#fff;width:0}.hero-dots button[aria-current=true]:after{width:100%}.hero-dots button.is-running:after{animation:hero-progress var(--slide-time,6s) linear both}.hero-dots button:hover:before{background:#ffffff99}.hero-dots button:focus-visible{outline:2px solid #fff;outline-offset:2px}.hero-caption a{color:#fff;border-bottom:1px solid #ffffff55;transition:border-color .2s}.hero-caption a:hover{border-color:#fff}@keyframes hero-progress{from{width:0}}@media(max-width:700px){.home-hero-image{object-position:var(--pos-mobile,64% center)}.hero-slide-info{flex:1;flex-direction:column;align-items:flex-start;gap:6px}.hero-caption{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-hero-foot .round-link{flex:none;white-space:nowrap}.hero-dots button{width:24px}}
html{scroll-padding-top:108px}@media(max-width:1000px){html{scroll-padding-top:88px}}@media(max-width:700px){html{scroll-padding-top:80px}}
.project-placeholder{height:100%;display:grid;place-items:center;padding:7% 14%}.project-placeholder .illu{max-height:100%}.project-placeholder.is-wide{height:auto;aspect-ratio:21/8;padding:3% 0}@media(max-width:700px){.project-placeholder.is-wide{aspect-ratio:4/3;padding:8% 6%}}
.project-description>.eyebrow{align-self:start;margin-top:8px}
.stats{grid-template-columns:auto auto;justify-content:start;column-gap:clamp(32px,4vw,56px)}.stats strong{white-space:nowrap}
.contact-grid strong svg{flex:none;width:.95em;height:.95em;color:var(--viber)}.contact-grid>a.contact-viber:hover{background:var(--viber)}.contact-grid>a.contact-viber:hover strong svg{color:#fff}
.logo-panel{position:relative;aspect-ratio:1;border:1px solid var(--line);overflow:hidden}.logo-panel-circuit{position:absolute;inset:0;width:100%;height:100%}.logo-panel .mark{stroke:var(--ink);stroke-opacity:.3;stroke-width:1.25}.logo-panel .trace{stroke:var(--blue);stroke-opacity:.3;stroke-width:2}.logo-panel .trace-flow{stroke:var(--blue);stroke-width:2.5;stroke-dasharray:5 19;animation:current 2.4s linear infinite}.logo-panel .pin{stroke:var(--ink);stroke-width:3}.logo-panel .chip{fill:#fff;stroke:var(--ink);stroke-width:1.5}.logo-panel .via{fill:var(--blue)}.logo-panel .node{fill:#fff;stroke:var(--blue);stroke-width:2}.logo-panel .logo-mark{position:absolute;left:50%;top:50%;width:62%;height:auto;transform:translate(-50%,-50%)}.logo-panel .logo-dot{transform-box:fill-box;transform-origin:center;animation:dot-pulse 2.4s ease-in-out infinite}.js-motion .logo-panel .trace{stroke-dasharray:420;stroke-dashoffset:420;transition:stroke-dashoffset 1.6s var(--ease) .25s}.js-motion .logo-panel.visible .trace{stroke-dashoffset:0}@keyframes current{to{stroke-dashoffset:-48}}@keyframes dot-pulse{50%{transform:scale(.72);opacity:.6}}
:root{--viber:#7360f2}.contact-fabs{position:fixed;right:24px;bottom:calc(24px + env(safe-area-inset-bottom));z-index:25;display:flex;flex-direction:column;gap:12px;transform:translateX(calc(100% + 40px));transition:transform .5s var(--ease)}.show-fab .contact-fabs{transform:none}.menu-open .contact-fabs{transform:translateX(calc(100% + 40px))}.fab{position:relative;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;color:#fff;box-shadow:0 14px 28px -14px #10203a8c;transition:transform .25s var(--ease),box-shadow .25s}.fab:hover{transform:translateY(-2px);box-shadow:0 18px 32px -14px #10203aa6}.fab:focus-visible{outline-offset:3px}.fab-viber{background:var(--viber)}.fab-phone{background:var(--blue)}.fab-label{position:absolute;right:calc(100% + 12px);top:50%;padding:7px 12px;border-radius:6px;background:var(--ink);color:#fff;font-size:12px;font-weight:600;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(6px,-50%);transition:opacity .2s,transform .2s}.fab:hover .fab-label,.fab:focus-visible .fab-label{opacity:1;transform:translate(0,-50%)}.mobile-nav-foot a.mobile-nav-viber{display:flex;align-items:center;gap:10px;margin-top:8px;color:var(--viber);font-size:16px;font-weight:600;letter-spacing:0}
@media(max-width:1000px){.contact-grid{grid-template-columns:1fr 1fr}.contact-grid>a:last-child:nth-child(odd){grid-column:1/-1}}
@media(max-width:700px){.contact-grid{grid-template-columns:1fr}.contact-fabs{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));gap:10px}.fab{width:52px;height:52px}.fab-label{display:none}}
.contact-pop{position:fixed;right:96px;bottom:calc(24px + env(safe-area-inset-bottom));z-index:26;width:330px;padding:24px 24px 26px;background:#fff;border:1px solid var(--line);box-shadow:0 26px 50px -24px #10203a66;animation:rise .3s var(--ease)}.contact-pop[hidden]{display:none}.contact-pop.is-standalone{right:24px}.contact-pop .eyebrow{margin:0 0 14px;color:var(--muted)}.contact-pop[data-type="phone"] [data-for="viber"],.contact-pop[data-type="viber"] [data-for="phone"]{display:none}.contact-pop-number{display:block;font-size:28px;font-weight:500;letter-spacing:-.03em;user-select:all}.contact-pop-hint{margin:10px 0 20px;font-size:13px;line-height:1.6;color:var(--muted)}.contact-pop-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.contact-pop-actions .button{margin:0;padding:13px 18px;border:0;cursor:pointer}.contact-pop-actions .text-link{padding-bottom:6px;gap:8px;font-size:12px}.contact-pop[data-type="viber"] .contact-pop-actions .button{background:var(--viber)}.contact-pop[data-type="viber"] .contact-pop-actions .button:hover{background:#5d49e0}.contact-pop-close{position:absolute;top:10px;right:12px;width:32px;height:32px;border:0;background:none;font-size:22px;line-height:1;color:var(--muted)}.contact-pop-close:hover{color:var(--ink)}
.contact-fabs:has([aria-expanded="true"]) .fab-label{display:none}
.sector-card h3:last-child{margin-bottom:30px}
