@font-face{font-family:Sora;src:url('assets/fonts/sora-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Sora;src:url('assets/fonts/sora-500.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Sora;src:url('assets/fonts/sora-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Sora;src:url('assets/fonts/sora-700.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--ink:#121116;--paper:#f7f6fa;--violet:#641cff;--muted:#bfbcc9;--line:#34313c;--gutter:clamp(24px,3.8vw,76px);--ease:cubic-bezier(.16,1,.3,1);color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px;scrollbar-color:#796a98 var(--ink)}body{margin:0;background:var(--ink);color:var(--paper);font-family:Sora,sans-serif;font-size:16px;line-height:1.6}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.12;letter-spacing:-.035em}button,a,summary{touch-action:manipulation}::selection{background:#b99bff;color:#121116}:focus-visible{outline:3px solid #c7abff;outline-offset:6px}.light :focus-visible{outline-color:#5414d5}.skip{position:fixed;top:12px;left:16px;padding:12px 20px;background:white;color:#121116;z-index:20;transform:translateY(-160%)}.skip:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.wrap{padding-inline:var(--gutter)}.site-header{height:clamp(72px,5.18vw,88px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #2c2934;position:relative}.brand{display:flex;align-items:center;width:143px;min-height:44px}.brand img{width:143px;height:auto}.navigation{display:flex;gap:36px;position:absolute;left:50%;transform:translateX(-50%)}.navigation a{display:flex;align-items:center;min-height:44px;font-size:14px;font-weight:500}.navigation a:hover{color:#c5a7ff}.button{display:inline-flex;justify-content:center;align-items:center;gap:14px;min-height:56px;padding:14px 24px;background:var(--violet);border-radius:9px;font-size:14px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#7c3eff;transform:translateY(-2px)}.button.white{background:var(--paper);color:var(--ink);min-height:44px;border-radius:16px;padding:10px 24px}.button.white:hover{background:#e8dcff}.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
.intro{display:flex;justify-content:space-between;align-items:center;gap:60px;min-height:clamp(188px,12.49vw,220px);padding-block:26px}.intro h1{font-size:clamp(48px,4.385vw,76px);font-weight:700;line-height:1.07;letter-spacing:-.04em}.intro h1 span{display:block}.intro-side{width:clamp(276px,20.85vw,360px);flex:none}.intro-side p{font-size:clamp(16px,1.263vw,21px);line-height:1.4;margin-bottom:18px;color:#dfdce8}.intro-side .button{min-width:272px}
.gallery{position:relative;outline-offset:-6px}.gallery-stage{height:31.83vw;max-height:580px;min-height:360px;background:linear-gradient(140deg,#5124b0,#641cff 50%,#391b7b);position:relative;overflow:hidden}.project-image{position:absolute;object-fit:cover;border-radius:3px;transition:transform .65s var(--ease),opacity .35s,filter .4s;box-shadow:0 16px 36px -22px #12083280}.project-main{left:19.6%;top:5.64%;width:59.8%;height:90.8%;object-fit:cover;background:transparent}.project-left{left:0;top:11.1%;width:18.07%;height:77.66%;object-position:right center}.project-right{right:0;top:11.1%;width:19.53%;height:77.66%;object-position:left center}.project-image{transform-origin:top left;transition:none}.project-main{z-index:2}.project-left,.project-right{z-index:1}.stage-control{z-index:4}
.round{display:flex;align-items:center;justify-content:center;width:52px;height:52px;padding:0;border:1px solid #48424f;background:#2b2832;border-radius:50%;transition:background .2s,transform .2s}.round:hover{background:#493562;transform:scale(1.06)}.stage-control{position:absolute;top:50%;transform:translateY(-50%);background:#faf9fc;color:var(--ink);border:0;width:48px;height:48px}.stage-control:hover{background:#e5d5ff;transform:translateY(-50%) scale(1.06)}.stage-prev{left:1.93%}.stage-next{right:1.86%}.project-strip{min-height:87px;display:grid;grid-template-columns:36% 36% 1fr auto;align-items:center;gap:20px;background:#19181e}.position{display:flex;gap:30px;align-items:center;color:#d5d0df;font-variant-numeric:tabular-nums}.position .icon{width:22px}.position-track{display:flex;width:198px;height:2px;background:#48434f}.position-track span{width:33.333%;background:#9a60ff;transform:translateX(100%);transition:transform .45s var(--ease)}.project-label{display:flex;align-items:center;gap:24px;font-size:16px;line-height:1.35}.project-label strong{font-weight:600;white-space:nowrap}.project-label span{border-left:1px solid #66606f;padding-left:24px;color:#c3bece}.text-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;text-underline-offset:7px;text-decoration:underline;font-size:14px;font-weight:600;white-space:nowrap}.text-link:hover{color:#c5a7ff}.gallery-controls{display:flex;gap:16px}.light{background:var(--paper);color:var(--ink);color-scheme:light}.purpose{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,14vw,220px);padding-block:48px 54px}.purpose h2{font-size:clamp(38px,3.59vw,58px);max-width:550px}.purpose-steps{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding-top:5px}.step-mark{display:flex;align-items:center;gap:16px;margin-bottom:28px}.step-mark::before{content:'';width:15px;height:15px;border:2px solid #7827ff;border-radius:50%;flex:none}.step-mark::after{content:'';height:1px;background:#d8d3df;flex:1}.purpose h3{font-size:24px;margin-bottom:12px}.purpose p{color:#686273;font-size:17px;line-height:1.5}
[hidden]{display:none!important}
.project-image{box-shadow:0 16px 36px -22px #00000080}
.project-strip{padding-block:16px}
.solution-list{padding-top:1px}
.intro{padding-block:23px}
.stage-control{top:55.74%}
.project-strip{grid-template-columns:37% 36% 1fr auto}
.project-label{font-size:20px;gap:12px}
.project-label span{font-size:18px}
.project-explore{font-size:16px}
.position{font-size:18px}
.intro-side p{font-size:clamp(16px,1.16vw,20px)}
.purpose{grid-template-columns:48.7% 1fr;gap:4%;padding-block:36px 42px}
.purpose h2{font-size:clamp(38px,3.32vw,56px)}
.purpose-steps{gap:80px}
.step-mark{margin-bottom:23px}
.purpose h3{font-size:26px}
.solutions{padding-block:90px 96px;display:grid;grid-template-columns:40% 1fr;gap:10%}.solutions h2{font-size:clamp(36px,3.25vw,54px);max-width:510px}.solutions-intro>p{color:var(--muted);font-size:17px;max-width:36ch;margin-top:24px}.solution-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 0;font-weight:500;line-height:1.35;font-size:21px;min-height:76px}summary::-webkit-details-marker{display:none}summary .icon{transition:transform .3s var(--ease);color:#a77dff}details[open]>summary .icon{transform:rotate(90deg)}.detail-copy{padding:0 36px 28px 0;color:#c8c2d3;font-size:16px;max-width:65ch}.detail-copy .text-link{margin-top:18px;color:white}.secondary-services{font-size:14px;color:#aaa1b8;margin-top:26px;line-height:1.7}.secondary-services a{text-decoration:underline;text-underline-offset:4px;min-height:44px;display:inline-flex;align-items:center}
.case-library{padding-block:60px 72px}.case-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:24px}.case-heading h2{font-size:clamp(32px,2.6vw,44px)}.case-heading p{color:#686273;font-size:14px}.case-library details{border-color:#d7d1df}.case-library summary{font-size:22px;padding-block:22px}.case-library summary small{font-size:14px;color:#686273;margin-left:auto;font-weight:400}.case-library summary .icon{color:#681cff}.case-content{display:grid;grid-template-columns:2fr 1fr;align-items:center;gap:56px;padding:12px 0 36px}.case-content img{width:100%;height:auto;border-radius:4px}.case-content h3{font-size:24px;margin-bottom:16px}.case-content p{font-size:16px;color:#686273;max-width:38ch}.case-content .text-link{margin-top:20px;color:#5414d5}.case-note{font-size:13px!important;margin-top:18px}
.contact{padding-block:80px 84px;display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact h2{font-size:clamp(40px,4vw,64px);max-width:580px}.contact-intro>p{font-size:17px;color:#c8c2d3;max-width:39ch;margin-top:24px}.contact form{display:grid;gap:22px}.field{display:grid;gap:9px}label{font-size:14px;color:#e0d9eb}input,select{width:100%;min-height:56px;background:#211d29;border:1px solid #51455f;border-radius:7px;color:var(--paper);font:inherit;padding:14px 16px;caret-color:#b797ff}input::placeholder{color:#aaa0b9}input:focus,select:focus{outline:2px solid #b997ff;outline-offset:2px;border-color:transparent}.contact form .button{border:0;margin-top:2px}.form-note{font-size:12px;color:#aaa1b8;margin-top:-8px}.form-status{font-size:14px;color:#d4bdff;min-height:0}.form-status:empty{display:none}.direct-contact{margin-top:22px;color:#c8c2d3;font-size:14px}.direct-contact a{text-decoration:underline;text-underline-offset:5px;display:inline-flex;min-height:44px;align-items:center}.footer{border-top:1px solid var(--line);padding-block:28px;display:flex;align-items:center;justify-content:space-between;gap:24px}.footer .brand,.footer .brand img{width:112px}.footer p{font-size:12px;color:#aaa1b8}.footer a:last-child{font-size:13px;min-height:44px;display:flex;align-items:center}
@media(min-width:1700px){.intro{padding-block:40px}.project-strip{min-height:100px}.purpose{padding-block:70px}}
@media(max-width:1280px){.intro{gap:30px}.intro h1{font-size:4.35vw}.intro-side{width:290px}.project-strip{grid-template-columns:25% 1fr auto}.position-track{width:90px}.gallery-controls{display:none}.project-label{font-size:14px;gap:16px}.project-label span{padding-left:16px}.purpose{gap:70px}.purpose-steps{gap:24px}.purpose h3{font-size:21px}.purpose p{font-size:15px}}
@media(max-width:900px){.site-header .button{font-size:12px;padding-inline:16px}.navigation{gap:20px;position:static;transform:none}.intro{display:block;padding-block:36px}.intro h1{font-size:clamp(40px,6.5vw,60px)}.intro-side{display:flex;align-items:center;gap:32px;width:auto;margin-top:28px}.intro-side p{margin:0;max-width:380px}.gallery-stage{min-height:0;height:43vw}.project-main{left:10%;width:80%;height:90.8%}.project-left{width:7%;object-position:right}.project-right{width:7%;object-position:left}.stage-prev{left:2%}.stage-next{right:2%}.project-strip{grid-template-columns:auto 1fr auto;gap:18px}.position{gap:0}.position>.icon,.position-track{display:none}.project-label{display:block}.project-label span{display:block;border:0;padding:3px 0 0;font-size:12px}.purpose{grid-template-columns:1fr;gap:32px;padding-block:40px}.purpose h2{max-width:520px}.purpose-steps{gap:36px}.purpose p{font-size:16px}.step-mark{margin-bottom:20px}}
@media(max-width:600px){:root{--gutter:24px}.site-header{height:76px}.brand,.brand img{width:116px}.navigation{gap:0}.navigation a{font-size:12px}.navigation a:last-child{display:none}.site-header .button{min-height:44px;font-size:11px;padding:10px 12px;gap:8px;border-radius:10px}.site-header .button .icon{width:15px}.intro{padding-block:34px 32px}.intro h1{font-size:clamp(34px,8.75vw,50px);letter-spacing:-.035em}.intro-side{display:block;margin-top:24px}.intro-side p{font-size:16px;max-width:32ch;margin-bottom:20px}.intro-side .button{min-width:0;width:100%;font-size:14px}.gallery-stage{height:63vw;min-height:220px}.project-main{left:6%;width:88%;top:10%;height:80%;object-fit:cover}.project-left,.project-right{width:3%;top:15%;height:70%}.stage-control{width:44px;height:44px;top:50%;background:#faf9fcf0}.stage-prev{left:1%}.stage-next{right:1%}.project-strip{min-height:108px;grid-template-columns:1fr auto;padding-block:16px;gap:6px 12px}.position{font-size:12px;grid-column:1;grid-row:1}.project-label{grid-column:1;grid-row:2}.project-label strong{font-size:14px}.project-explore{grid-column:2;grid-row:1 / span 2;font-size:12px;gap:7px}.project-explore .icon{width:16px}.purpose{padding-block:36px 42px}.purpose h2{font-size:36px}.purpose-steps{gap:24px}.purpose h3{font-size:19px}.purpose p{font-size:14px;line-height:1.65}.step-mark{margin-bottom:19px}.step-mark::before{width:12px;height:12px}}
@media(max-width:900px){.purpose{grid-template-columns:1fr;gap:32px}.solutions{grid-template-columns:1fr;gap:36px;padding-block:56px}.solutions h2{max-width:650px}.solutions-intro>p{max-width:50ch;margin-top:18px}.case-content{gap:28px;grid-template-columns:3fr 2fr}.contact{gap:40px}.contact h2{font-size:40px}.contact-intro>p{font-size:16px}.case-heading{display:block}.case-heading p{margin-top:14px}}
@media(max-width:600px){.desktop-break{display:none}.solutions{padding-block:46px 52px}.solutions h2{font-size:34px}.solutions-intro>p{font-size:16px}summary{font-size:18px;padding-block:24px}.detail-copy{font-size:15px;padding-right:0}.case-library{padding-block:42px 48px}.case-heading h2{font-size:32px}.case-library summary{font-size:18px;gap:12px}.case-library summary small{font-size:11px;max-width:70px;line-height:1.4}.case-content{grid-template-columns:1fr;gap:24px;padding-bottom:28px}.case-content h3{font-size:22px}.case-content p{font-size:15px}.contact{grid-template-columns:1fr;gap:32px;padding-block:50px 56px}.contact h2{font-size:39px}.contact-intro>p{margin-top:18px}.footer{flex-wrap:wrap;gap:8px 24px}.footer p{order:3;width:100%;margin-top:10px}.footer a:last-child{margin-left:auto}}
@media(max-width:360px){.site-header{gap:10px}.brand,.brand img{width:100px}.navigation{margin-left:auto}.site-header .button{font-size:10px;padding-inline:10px}.site-header .button .icon{display:none}.intro h1{font-size:30px}.purpose h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
