@font-face{font-family:Manrope;src:url('/assets/manrope-latin.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap}
:root{--ink:#242332;--muted:#686774;--violet:#7455ae;--lavender:#eeeaf7;--paper:#f9f9fc;--line:#e4e2ec;--white:#fff;--display:Manrope,'Segoe UI',sans-serif;--body:Manrope,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:14px;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--violet);outline-offset:6px}::selection{background:#d9c9f5}.wrap{width:min(1240px,calc(100% - 112px));margin-inline:auto}.site-header{height:118px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:15px;font-size:20px;font-weight:800;letter-spacing:-.8px}.brand img{width:47px;height:54px;object-fit:contain;mix-blend-mode:multiply}.brand-light{font-weight:500}.brand small{display:block;font-size:8px;letter-spacing:2.5px;font-weight:600;margin-top:1px}.site-header nav{display:flex;align-items:center;gap:32px;font-size:12px;font-weight:600}.site-header nav>a:hover{color:var(--violet)}.nav-contact{margin-left:13px;border:1px solid #d5d0df;border-radius:6px;padding:12px 17px}.nav-contact span{margin-left:18px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.1fr 1fr;min-height:655px;align-items:center;gap:20px;padding-block:64px 55px}.eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:700;line-height:1.6;color:var(--violet);margin:0 0 22px}.hero .eyebrow{display:flex;align-items:center;gap:12px}.small-line{height:1px;width:23px;background:var(--violet)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display)}h1{font-size:clamp(56px,5.8vw,84px);line-height:1.07;letter-spacing:-5px;font-weight:600;margin-bottom:27px}h1 span{color:var(--violet)}.hero-description{color:var(--muted);font-size:15px;line-height:1.9;margin-bottom:28px}.hero-actions{display:flex;align-items:center;gap:26px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:15px 20px;border-radius:5px;font-size:12px;font-weight:600;transition:background .2s,transform .2s}.primary{background:var(--violet);color:white;box-shadow:0 5px 12px #6e4ba21a}.primary:hover{background:#5c408e;transform:translateY(-2px)}.button span{font-size:18px;line-height:1}.text-link{font-size:11px;font-weight:700;display:flex;gap:12px}.text-link:hover{color:var(--violet)}.hero-note{display:flex;gap:13px;margin-top:43px;color:#817d8c;font-size:10px;line-height:1.8}.hero-note strong{font-weight:500;color:#5f5b6b}.note-icon{color:var(--violet);font-size:24px;align-self:center}.architecture{position:relative;align-self:stretch;min-height:475px;background:radial-gradient(ellipse at 50% 48%,#e4dbf580,transparent 65%)}.diagram-heading{position:absolute;top:28px;left:51px;right:15px;display:flex;align-items:center;gap:8px;color:#91899e;font-size:8px;letter-spacing:1.7px}.status-dot{width:5px;height:5px;background:#9879c2;border-radius:50%}.diagram-plus{margin-left:auto;font-size:16px}.architecture-svg{width:112%;position:absolute;left:-6%;top:8px;height:100%;overflow:visible}.diagram-label{position:absolute;font-size:9px;background:#ffffffd9;box-shadow:0 4px 20px #4f367c08;padding:7px 10px;border:1px solid #e5dfed;border-radius:4px;color:#716582;display:flex;gap:16px}.diagram-label span{color:#9a86ba}.label-app{top:23%;right:-2%}.label-api{top:54%;right:-3%}.label-data{top:74%;left:-3%}.diagram-footer{position:absolute;bottom:4px;left:51px;right:15px;display:flex;justify-content:space-between;color:#9b92a9;letter-spacing:1.5px;font-size:8px}.layer{animation:float 8s ease-in-out infinite}.layer-middle{animation-delay:-2s}.layer-bottom{animation-delay:-4s}@keyframes float{50%{transform:translateY(-9px)}}.expertise-strip{border-block:1px solid var(--line);background:#f2f1f7}.expertise-strip>.wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:100px}.expertise-strip p{font-size:8px;letter-spacing:1.2px;line-height:1.9;margin:0;color:#827c91}.expertise-strip p strong{font-weight:600}.expertise-strip>.wrap>span{font-size:15px;color:#666071;font-weight:600;letter-spacing:-.3px}.section{padding-block:94px}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:42px}.section-heading .eyebrow{margin-bottom:15px}h2{font-size:39px;line-height:1.2;letter-spacing:-1.8px;font-weight:600;margin-bottom:0}.section-heading>p{font-size:12px;color:var(--muted);line-height:1.9;margin:0 20px 3px 0}.services{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:27px 24px 23px;display:flex;flex-direction:column;transition:transform .25s,border-color .25s}.service:hover{transform:translateY(-5px);border-color:#b8a4d7}.service-icon{height:40px;width:40px;display:grid;place-items:center;border-radius:9px;background:#f1edf8;color:var(--violet);font-size:25px;margin-bottom:30px}.code-icon{font-size:17px;font-weight:600}.service h3{font-size:16px;letter-spacing:-.4px;line-height:1.4;margin-bottom:15px}.service p{font-size:11px;line-height:1.9;color:var(--muted);margin-bottom:26px}.tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:auto}.tags span{font-size:8px;border:1px solid var(--line);border-radius:4px;padding:3px 6px;color:#7b7488}.experience-section{background:#eeedf4}.projects{border-top:1px solid #d8d5e1}.project{border-bottom:1px solid #d8d5e1}.project summary{display:flex;align-items:center;padding:28px 0;gap:28px;cursor:pointer;list-style:none}.project summary::-webkit-details-marker{display:none}.project-sector{font-size:9px;letter-spacing:1.1px;color:var(--violet);width:195px;flex-shrink:0}.project-title{font-size:20px;letter-spacing:-.5px;line-height:1.5;font-weight:600}.project-title small{display:block;font-size:10px;letter-spacing:0;font-weight:400;color:var(--muted);margin-top:7px}.project-plus{margin-left:auto;font-size:25px;font-weight:300;transition:transform .2s;padding:0 12px}.project[open] .project-plus{transform:rotate(45deg)}.project-body{padding:0 65px 29px 223px;display:grid;grid-template-columns:1fr 190px;gap:45px}.project-body p{font-size:12px;color:var(--muted);margin-bottom:0}.project-tech{display:flex;flex-direction:column;gap:8px;font-size:9px;color:var(--violet)}.source-note{font-size:9px;color:var(--muted);margin:20px 0 0}.about{display:grid;grid-template-columns:1fr 1.05fr;gap:92px;align-items:center}.about-card{background:#e9e3f1;border-radius:12px;padding:42px;position:relative;overflow:hidden;min-height:380px}.about-card>.eyebrow{font-size:9px}.about-card>p{font-size:43px;line-height:1.25;letter-spacing:-1.9px;font-weight:500;margin:30px 0 35px;position:relative;z-index:1}em{font-style:normal;color:var(--violet)}.about-signature{display:flex;align-items:center;gap:13px;font-size:12px;font-weight:600;position:relative;z-index:1}.initials{border:1px solid #c1b2d5;border-radius:50%;height:41px;width:41px;display:grid;place-items:center;font-size:12px;color:var(--violet)}.about-signature small{display:block;font-size:9px;font-weight:400;color:var(--muted)}.about-decoration{position:absolute;font-size:310px;right:-18px;bottom:-111px;color:#dad0e9;font-weight:200;line-height:1.5}.about-copy .eyebrow{font-size:9px}.about-copy h2{margin-bottom:25px}.about-copy>p:not(.eyebrow){color:var(--muted);font-size:12px;line-height:1.9}.about-points{display:grid;gap:13px;font-size:11px;margin-top:28px}.about-points b{color:var(--violet);margin-right:13px;font-weight:500}.contact-section{background:#292437;color:#f8f6fc;border-radius:12px;padding:53px 60px;display:grid;grid-template-columns:1.1fr 1fr;gap:50px;margin-bottom:52px}.contact-section .eyebrow{font-size:8px;letter-spacing:1.35px;color:#c4b2e0;margin-bottom:20px}.contact-section h2{font-size:58px;font-weight:500;letter-spacing:-2.8px;line-height:1.08;margin-bottom:20px}.contact-section h2 em{color:#bba1e0}.contact-section p:not(.eyebrow){font-size:11px;color:#bcb5c8;line-height:1.9;margin-bottom:0}.contact-details{align-self:center}.contact-email{font-size:26px;font-weight:500;letter-spacing:-.6px;display:flex;align-items:center;justify-content:space-between;padding-bottom:17px;border-bottom:1px solid #51475e}.contact-email:hover{color:#c9b0ed}.contact-phone{display:inline-block;font-size:16px;margin-top:20px}.contact-details address{font-style:normal;font-size:11px;color:#bcb5c8;margin:24px 0}.contact-details .contact-caption{font-size:9px!important;color:#9c92a9!important}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:35px;font-size:9px;color:var(--muted)}.footer-brand{font-size:16px;font-weight:800;letter-spacing:-.6px;color:var(--ink)}.footer-brand span{font-weight:500}.site-footer>div{display:flex;gap:26px;align-items:center}.site-footer>div>a:last-child{font-size:20px}.site-footer a:hover{color:var(--violet)}.skip-link{position:fixed;left:15px;top:-100px;background:white;z-index:99;padding:10px 20px}.skip-link:focus{top:15px}.legal{max-width:800px;min-height:70vh;padding-block:65px}.legal h1{font-size:48px;letter-spacing:-2px}.legal h2{font-size:23px;letter-spacing:-.5px;margin:30px 0 12px}.legal p{color:var(--muted)}.legal a{text-decoration:underline}.legal .notice{background:var(--lavender);padding:20px;border-radius:8px}.legal address{font-style:normal}
@media(min-width:1500px){.hero{min-height:690px}.architecture{min-height:530px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.site-header nav{gap:20px}.brand{font-size:17px}.nav-contact{margin-left:0}.hero{min-height:600px}.hero-actions{gap:16px}.button{gap:18px}h1{font-size:66px}.services{grid-template-columns:repeat(2,1fr)}.service p{font-size:13px}.service h3{font-size:19px}.service .tags span{font-size:10px}.about{gap:45px}.contact-section{padding:45px}.contact-email{font-size:23px}.expertise-strip>.wrap>span{font-size:12px}.diagram-label{font-size:8px}.project-sector{width:155px}.project-body{padding-left:183px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.site-header{height:90px;position:relative;z-index:5}.brand{font-size:17px;gap:10px}.brand img{width:36px;height:43px}.brand small{font-size:7px;letter-spacing:1.6px}.menu-toggle{display:flex;gap:12px;align-items:center;border:1px solid var(--line);background:transparent;border-radius:5px;padding:8px 11px;font-size:11px}.site-header nav{display:none;position:absolute;left:0;right:0;top:80px;background:var(--white);box-shadow:0 15px 25px #27203714;border:1px solid var(--line);padding:20px;align-items:stretch;border-radius:8px}.site-header nav.is-open{display:flex;flex-direction:column;gap:8px}.site-header nav a{padding:10px}.hero{grid-template-columns:1fr;padding-top:46px;gap:0;padding-bottom:32px}.hero .eyebrow{font-size:8px;margin-bottom:19px}h1{font-size:65px;letter-spacing:-3.7px}.hero-description{font-size:13px}.hero-actions{gap:20px}.button{font-size:11px;padding:14px 16px}.text-link{font-size:10px;gap:8px}.hero-note{margin-top:28px}.architecture{min-height:390px;max-width:500px;width:100%;margin:auto}.architecture-svg{width:100%;left:0}.diagram-heading{top:23px;left:24px;right:24px}.diagram-footer{left:24px;right:24px;bottom:10px;font-size:7px}.label-app{right:0;top:25%}.label-api{right:0;top:53%}.label-data{left:0;top:73%}.expertise-strip>.wrap{flex-wrap:wrap;gap:17px 24px;padding-block:22px;justify-content:start}.expertise-strip p{width:100%;font-size:8px}.expertise-strip p br{display:none}.expertise-strip p strong{margin-left:5px}.expertise-strip>.wrap>span{font-size:11px}.section{padding-block:60px}.section-heading{display:block;margin-bottom:28px}.section-heading .eyebrow{font-size:9px}h2{font-size:32px;letter-spacing:-1.5px}.section-heading>p{margin-top:19px;font-size:12px}.section-heading>p br{display:none}.services{gap:12px}.service{padding:22px 18px}.service-icon{margin-bottom:23px}.service h3{font-size:16px}.service p{font-size:11px}.service .tags span{font-size:8px}.project summary{flex-wrap:wrap;gap:10px;padding-block:23px;position:relative;padding-right:30px}.project-sector{width:100%;font-size:8px}.project-title{font-size:17px}.project-title small{font-size:9px}.project-plus{position:absolute;right:0;top:35px;padding:0}.project-body{padding:0 0 25px;grid-template-columns:1fr;gap:16px}.project-tech{flex-direction:row;flex-wrap:wrap;gap:10px}.source-note{font-size:8px}.about{grid-template-columns:1fr;gap:37px}.about-card{min-height:350px;padding:30px}.about-card>p{font-size:42px}.about-copy .eyebrow{font-size:8px}.contact-section{padding:33px 27px;grid-template-columns:1fr;gap:35px;margin-bottom:30px}.contact-section h2{font-size:52px}.contact-section .eyebrow{font-size:7px}.contact-email{font-size:24px}.contact-section p br{display:none}.site-footer{flex-wrap:wrap;gap:16px;font-size:8px}.site-footer>span{order:3;width:100%}.site-footer>div{gap:17px}.footer-brand{font-size:14px}.legal h1{font-size:38px}}
@media(max-width:370px){h1{font-size:57px}.services{grid-template-columns:1fr}.hero-actions{align-items:start;flex-direction:column;gap:18px}.architecture{min-height:335px}.brand{font-size:15px}.contact-email{font-size:20px}}
.service p{font-size:13px}.tags span{font-size:10px}.section-heading>p,.about-copy>p:not(.eyebrow),.project-body p{font-size:14px}.source-note{font-size:10px}.project-title small{font-size:12px}.project-tech{font-size:11px}.about-points{font-size:13px}.contact-section p:not(.eyebrow),.contact-details address{font-size:13px}.site-footer{font-size:11px}
@media(max-width:760px){.services{grid-template-columns:1fr}.service{padding:25px}.service h3{font-size:19px}.service p{font-size:14px}.service-icon{margin-bottom:20px}.service .tags span{font-size:10px}.hero-description{font-size:15px}.project-title small{font-size:11px}.source-note{font-size:10px}.site-footer{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
