:root{color-scheme:dark;--bg:#090b12;--panel:#111522;--line:#292e40;--text:#f1f4fa;--muted:#a0a8bb;--accent:#40c3e0;--accent-light:#8bd2de;--accent-purple:#b985c2;--brand-gradient:linear-gradient(105deg,#b985c2 0%,#40c3e0 48%,#8bd2de 75%,#b985c2 100%);--heading:'Space Grotesk',sans-serif;--body:'DM Sans',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-size:16px;-webkit-font-smoothing:antialiased}::selection{background:var(--accent);color:var(--bg)}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}button{cursor:pointer}button[hidden]{display:none}.container{width:min(1280px,calc(100% - 112px));margin-inline:auto}.skip-link{position:fixed;left:20px;top:-100px;z-index:100;background:var(--accent);color:var(--bg);padding:12px 20px}.skip-link:focus{top:20px}.site-header{height:96px;position:sticky;top:0;z-index:20;background:rgba(9,11,18,.9);backdrop-filter:blur(20px);border-bottom:1px solid var(--line)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-family:var(--heading);font-size:28px;font-weight:600;letter-spacing:-1.4px;display:inline-flex;align-items:center}.brand-mark{font-size:43px;color:var(--accent);margin-right:10px;line-height:1}.brand-dot{color:var(--accent)}nav{display:flex;gap:34px}nav a{font-size:14px;color:#b7bfd1;transition:color .2s}nav a:hover,.text-link:hover{color:var(--accent)}.header-cta{padding:12px 19px;border:1px solid #444b65;border-radius:6px;font-size:14px}.header-cta span{margin-left:25px;color:var(--accent)}.header-cta:hover{border-color:var(--accent)}.menu-toggle,.mobile-contact{display:none}.hero{display:grid;grid-template-columns:1.06fr 1fr;position:relative;min-height:790px;padding-top:85px}.hero-copy{z-index:2;position:relative;padding-bottom:75px}.eyebrow{font-size:12px;letter-spacing:1.8px;font-weight:600;display:flex;align-items:center;gap:11px}.status-dot{display:inline-block;width:6px;height:6px;flex-shrink:0;border-radius:100%;background:var(--accent);box-shadow:0 0 10px #40c3e050}h1,h2,h3,p{margin:0}h1{font-family:var(--heading);font-size:clamp(64px,6.3vw,92px);line-height:1.04;font-weight:500;letter-spacing:-5.5px;margin:29px 0 26px}h1>span{color:var(--accent);background:var(--brand-gradient);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hero-description{max-width:425px;font-size:17px;line-height:1.75;color:#a6b0c5}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:35px}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;padding:17px 22px;border-radius:5px;font-size:14px;font-weight:600;transition:background .2s,transform .2s}.button-primary{background:linear-gradient(110deg,var(--accent),var(--accent-light));color:#081a2a}.button-primary:hover{background:#99dcea;transform:translateY(-2px)}.text-link{font-size:14px;white-space:nowrap}.text-link span{margin-left:12px}.hero-note{margin-top:35px;font-size:12px;color:var(--muted);letter-spacing:.4px}.tiny-cross{color:var(--accent);margin-right:7px}.hero-art{position:relative;min-width:0;align-self:stretch;margin:-20px -40px 65px -20px;isolation:isolate}.hero-art canvas{width:100%;height:100%;position:absolute;inset:0;opacity:0;transition:opacity 1s}.hero-art.is-ready canvas{opacity:1}.orbit-fallback{position:absolute;inset:13% 3%;background:radial-gradient(ellipse at center,#82cfdd25 0%,#a371ab20 30%,transparent 64%);border-radius:50%;transition:opacity 1s}.orbit-fallback:after{content:'';position:absolute;inset:12%;border:1px solid #40c3e050;border-radius:50%;box-shadow:0 0 55px #40c3e012,inset 0 0 55px #40c3e012;transform:rotate(-32deg) scaleY(.6)}.is-ready .orbit-fallback{opacity:0}.art-coordinate{position:absolute;right:14px;top:28px;font-size:12px;letter-spacing:2px;color:#8d96b1;line-height:1.8}.art-caption{position:absolute;left:10%;right:10%;bottom:25px;font-size:12px;letter-spacing:1.1px;color:#a3b1cc;display:flex;align-items:center;gap:10px}.art-caption>span:last-child{margin-left:auto;font-size:20px;color:var(--accent)}.motion-toggle{position:absolute;z-index:3;right:0;bottom:140px;width:36px;height:36px;border:1px solid #495574;border-radius:50%;background:#0d1322e6;color:#d5e4f6}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;border-top:1px solid var(--line);font-size:12px;letter-spacing:1px;color:#929bb0}.hero-bottom a{color:#c8d1e3}.hero-bottom a span{margin-left:18px;color:var(--accent)}.section{padding-top:105px;padding-bottom:105px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:48px}.section-label{margin-bottom:23px;color:#cbd6e8}.section-label>span{color:var(--accent);margin-right:8px}h2{font-family:var(--heading);font-size:clamp(36px,3.5vw,50px);font-weight:500;letter-spacing:-2px;line-height:1.15}.section-heading>p{color:var(--muted);line-height:1.75;font-size:16px;padding-bottom:3px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service{background:var(--panel);border:1px solid var(--line);padding:29px 28px 22px;min-height:325px;border-radius:9px;display:flex;flex-direction:column;transition:border-color .25s,transform .25s}.service:hover{transform:translateY(-4px);border-color:#9875b5}.service-featured{background:linear-gradient(135deg,#12283a,#1b162c);border-color:#34516b}.service-wide{grid-column:span 2}.service-wide p{max-width:510px}.service-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:33px}.service-symbol{font-size:32px;line-height:1;color:var(--accent)}.service-number{font-size:12px;color:#8c95ae}.tag{font-size:12px;letter-spacing:1px;color:var(--accent);margin-bottom:13px}h3{font-family:var(--heading);font-size:23px;font-weight:500;letter-spacing:-.7px}.service p{font-size:16px;color:var(--muted);line-height:1.75;margin-top:13px}.service-footer{border-top:1px solid #ffffff0d;padding-top:17px;margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:16px}.service>div:nth-child(2){padding-bottom:25px}.service-footer>span:first-child{font-size:12px;letter-spacing:.7px;color:#929eb9}.service-footer>span:last-child{color:#a6b6d3;font-size:20px}.stack-section{background:#0e1220;border-block:1px solid var(--line)}.stack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:65px}.stack-item{padding:0 36px;border-left:1px solid var(--line)}.stack-item:first-child{padding-left:0;border-left:0}.stack-item:last-child{padding-right:0}.tech-icon{height:65px;display:block;font-family:var(--heading);font-size:48px;font-weight:700;line-height:1}.tech-icon>span{font-size:32px;vertical-align:top;margin-left:-7px}.flutter-icon{color:#40c3e0}.laravel-icon{color:#b985c2}.react-icon{color:#8bd2de;font-size:60px}.stack-type{font-size:12px;letter-spacing:1.7px;color:#96a2b9;margin-top:22px;margin-bottom:10px}.stack-item p{font-size:16px;color:var(--muted);line-height:1.8;margin-top:16px;max-width:340px}.pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.pills span{border:1px solid #313c55;background:#ffffff03;border-radius:4px;padding:6px 10px;color:#b7c3da;font-size:12px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding-top:15px}.step-track{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #3c4667;padding-bottom:23px;margin-bottom:28px}.step-track>span:first-child{color:var(--accent);font-family:var(--heading);font-size:32px}.step-track>span:last-child{font-size:24px;color:#9994b8}.process-step p{color:var(--muted);line-height:1.8;font-size:16px;margin-top:15px}.process-detail{margin-top:26px;font-size:12px;letter-spacing:.6px;color:#a0a5c0}.contact-section{border-block:1px solid var(--line);background:radial-gradient(ellipse at 20% 110%,#287d9b30,transparent 60%),radial-gradient(ellipse at 85% 100%,#6e438655,transparent 65%),#101322;text-align:center}.contact-inner{padding-top:90px;padding-bottom:50px}.contact-inner .eyebrow{justify-content:center;color:#bbc0dc;font-size:12px}.contact-inner h2{font-size:clamp(44px,5.8vw,80px);letter-spacing:-3.5px;margin:30px 0 22px;line-height:1.1}.contact-inner h2 span{color:var(--accent);background:var(--brand-gradient);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.contact-inner>p{color:#a9b4cc;font-size:17px}.email-link{font-family:var(--heading);font-size:clamp(25px,3.1vw,42px);display:inline-flex;align-items:center;gap:40px;border-bottom:1px solid #7b6b9d;padding:0 0 12px;margin-top:38px;letter-spacing:-1px;transition:color .2s}.email-link:hover{color:var(--accent)}.email-link span{color:var(--accent)}.contact-location{font-size:12px;letter-spacing:1px;color:#a5b7d2;display:flex;align-items:center;justify-content:center;gap:20px;margin-top:70px}.contact-location span{color:var(--accent);font-size:22px}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:32px}.site-footer .brand{font-size:23px}.site-footer .brand-mark{font-size:31px}.site-footer p,.site-footer>a:last-child{font-size:12px;color:#98a4bc}.site-footer>a:last-child span{margin-left:15px;color:var(--accent)}
@media(min-width:1600px){.hero{min-height:850px;padding-top:105px}.hero-art{margin-left:-30px;margin-right:-50px}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}nav{gap:22px}.hero{min-height:730px;padding-top:65px}h1{font-size:72px;letter-spacing:-4px}.hero-art{margin-right:-25px;margin-left:-65px;opacity:.9}.hero-actions{gap:20px}.hero-description{max-width:370px}.hero-actions .button{padding-inline:17px}.section-heading>p{max-width:310px}.service{padding:25px 22px}.service h3{font-size:21px}.stack-item{padding-inline:25px}.art-caption{font-size:12px;letter-spacing:0}.hero-bottom{font-size:12px;letter-spacing:0}}
@media(max-width:800px){.site-header{height:80px}.brand{font-size:25px}.brand-mark{font-size:35px}.header-cta{margin-left:auto}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;border:1px solid var(--line);background:transparent;width:42px;height:42px;border-radius:5px;padding:10px}.menu-toggle span{height:1px;width:20px;background:var(--text);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}nav{display:none;position:absolute;top:79px;left:0;right:0;padding:22px 32px;background:#111729;border-bottom:1px solid var(--line)}nav.is-open{display:flex;flex-direction:column;gap:0}nav a{padding:14px 0}.mobile-contact{display:block;color:var(--accent)}.hero{padding-top:60px;grid-template-columns:1fr;min-height:0}.hero-copy{padding-bottom:0;max-width:600px}.hero h1{font-size:clamp(60px,10vw,82px)}.hero-description{max-width:470px}.hero-art{height:480px;margin:-15px 0 0;max-width:570px;width:100%;justify-self:center}.art-coordinate{right:0}.motion-toggle{bottom:110px}.hero-bottom>span{max-width:240px;line-height:1.7}.section{padding-block:75px}.section-heading{align-items:flex-start;flex-direction:column;gap:24px;margin-bottom:35px}.section-heading>p{max-width:500px}.desktop-break{display:none}.services{grid-template-columns:repeat(2,1fr)}.service-wide{grid-column:auto}.services .service:last-child{grid-column:span 2}.stack-grid{margin-top:45px;gap:35px;grid-template-columns:1fr}.stack-item,.stack-item:first-child,.stack-item:last-child{border-left:0;border-bottom:1px solid var(--line);padding:0 0 32px}.stack-item:last-child{border:0;padding-bottom:0}.stack-item p{max-width:540px}.tech-icon{float:right;margin-top:30px;margin-right:20px}.stack-type{margin-top:0}.process-grid{gap:25px}.process-step h3{font-size:20px}.process-detail{line-height:1.8}.contact-inner{padding-top:70px}.site-footer{flex-wrap:wrap}.site-footer p{order:3;width:100%;margin-top:0}.contact-location{margin-top:55px}}
@media(max-width:480px){.container{width:calc(100% - 40px)}.header-inner{gap:14px}.brand{font-size:23px}.brand-mark{font-size:32px;margin-right:6px}.header-cta{font-size:12px;padding:10px 12px}.header-cta span{margin-left:10px}.menu-toggle{width:36px;height:36px;padding:7px}.eyebrow{font-size:12px;letter-spacing:.5px}.hero{padding-top:48px}.hero h1{font-size:clamp(46px,12.5vw,64px);letter-spacing:-3.4px;margin-top:24px}.hero-description{font-size:16px;line-height:1.75}.hero-actions{align-items:flex-start;flex-direction:column;gap:25px;margin-top:28px}.button{padding:16px 22px}.hero-note{font-size:12px;margin-top:27px}.hero-art{height:350px;margin-top:15px}.art-caption{font-size:12px;left:0;right:12%;bottom:19px;gap:6px;letter-spacing:0}.art-coordinate{font-size:12px;top:8px;letter-spacing:.5px}.motion-toggle{bottom:135px}.hero-bottom{gap:18px}.hero-bottom>span{max-width:165px;font-size:12px}.hero-bottom a{font-size:12px;max-width:130px;line-height:1.7}.hero-bottom a span{margin-left:6px}.section{padding-block:60px}h2{font-size:36px;letter-spacing:-1.7px}.section-label{margin-bottom:20px}.section-heading>p{font-size:16px}.services{grid-template-columns:1fr;gap:14px}.services .service:last-child{grid-column:auto}.service{min-height:290px;padding:26px}.service h3{font-size:23px}.service-top{margin-bottom:27px}.process-grid{grid-template-columns:1fr;gap:35px}.process-step h3{font-size:24px}.step-track{margin-bottom:20px;padding-bottom:15px}.process-detail{margin-top:18px}.contact-inner h2{font-size:44px;letter-spacing:-2px}.contact-inner .eyebrow{font-size:12px;letter-spacing:0;line-height:1.6}.contact-inner>p{font-size:16px}.email-link{font-size:clamp(23px,6.5vw,27px);gap:20px}.contact-location{font-size:12px;letter-spacing:0;gap:12px}.site-footer{padding-block:28px}.site-footer .brand{font-size:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Frame the supplied logo's transparent padding without altering the artwork. */
.brand{position:relative;display:block;width:250px;aspect-ratio:2704/496;overflow:hidden;flex-shrink:0}
.brand-logo{position:absolute;display:block;width:139.127%;max-width:none;height:auto;left:-16.568%;top:-47.581%}
.site-footer .brand{width:220px}
@media(max-width:1100px){.header-inner .brand{width:220px}}
@media(max-width:480px){.header-inner .brand{width:min(220px,calc(100% - 60px))}.header-cta{display:none}.menu-toggle{flex-shrink:0}.site-footer .brand{width:190px}}

/* Alternate the logo’s cyan and purple accents across the service collection. */
.service:nth-child(even) .service-symbol,.process-step:nth-child(2) .step-track>span:first-child{color:var(--accent-purple)}
