@font-face{font-family:Roboto;src:url(/_astro/roboto-ext.ThqUyHr0.woff2)format("woff2");font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+100-2FF,U+1E??}@font-face{font-family:Roboto;src:url(/_astro/roboto.DSCY9ty2.woff2)format("woff2");font-style:normal;font-weight:100 900;font-display:swap}:root{font-synthesis:none;color-scheme:light;--bg:#fff;--surface:#f7f8fa;--surface-soft:#fafafb;--line:#e6e8ec;--line-strong:#d4d8df;--text:#283342;--muted:#647080;--accent:#be123c;--accent-hover:#9f1033;--accent-soft:#fdf0f3;--accent-line:#f0c7d2;--code-ink:#526e98;--radius:8px;color:var(--text);background:var(--bg);font-family:Roboto,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:3px}img{max-width:100%;display:block}svg{flex-shrink:0}p,h1,h2,h3{margin:0}h1,h2,h3{font-weight:500}h2{letter-spacing:-1px;font-size:clamp(27px,2.8vw,38px);line-height:1.23}h3{letter-spacing:-.4px;font-size:21px;line-height:1.35}p{color:var(--muted)}.container{width:calc(100% - 96px);max-width:1200px;margin-inline:auto}.section{padding-block:100px}.eyebrow{letter-spacing:1.3px;text-transform:uppercase;margin-bottom:20px;font-size:12px;font-weight:500}.button{border:1px solid var(--accent);min-height:50px;color:var(--bg);background:var(--accent);border-radius:5px;justify-content:center;align-items:center;gap:20px;padding:12px 22px;font-size:14px;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex}.button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.button-small{gap:14px;min-height:42px;padding:8px 16px;font-size:13px}.text-link{align-items:center;gap:14px;min-height:46px;font-size:14px;display:inline-flex}.text-link:hover,.contact-email:hover{color:var(--accent)}.skip-link{background:var(--bg);z-index:20;padding:12px 18px;position:absolute;top:-100px;left:16px}.skip-link:focus{top:12px}.site-header{border-bottom:1px solid var(--line);background:var(--bg)}.header-inner{justify-content:space-between;align-items:center;gap:24px;min-height:92px;display:flex}.brand{flex-shrink:0;align-items:center;min-height:44px;display:inline-flex}.header-inner nav{align-items:center;gap:32px;margin-left:auto;margin-right:30px;display:flex}.header-inner nav a{color:var(--muted);padding-block:12px;font-size:13px}.header-inner nav a:hover{color:var(--accent)}.section-heading{justify-content:space-between;align-items:end;gap:32px;margin-bottom:48px;display:flex}.section-heading>p{padding-bottom:2px;font-size:14px;line-height:1.7}.section-heading .eyebrow{margin-bottom:16px}.site-footer{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:16px 40px;padding-block:28px;display:flex}.site-footer p{font-size:12px}.site-footer>span{color:var(--muted);margin-left:auto;font-size:12px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}.footer-legal{border-top:1px solid var(--line);order:4;width:100%;padding-top:12px}.site-footer .footer-legal p{font-size:11px;line-height:1.8}.hero{grid-template-columns:1.14fr 1fr;align-items:center;gap:55px;padding-block:100px 86px;display:grid}.hero .eyebrow{letter-spacing:.8px;align-items:center;gap:9px;font-size:11px;display:flex}.small-mark{background:var(--accent);border-radius:50%;width:6px;height:6px}h1{letter-spacing:-2.1px;font-size:clamp(40px,4.15vw,58px);line-height:1.12}h1 span{color:var(--accent)}.hero-lead{max-width:460px;margin-top:26px;font-size:16px;line-height:1.8}.hero-actions{flex-wrap:wrap;align-items:center;gap:25px;margin-top:32px;display:flex}.hero-note{margin-top:18px;font-size:12px}.hero-visual{flex-direction:column;justify-content:center;align-self:stretch;min-width:0;display:flex}.visual-topline{color:var(--muted);letter-spacing:1px;justify-content:space-between;font-size:9px;display:flex}.visual-canvas{background:var(--surface);border-radius:12px;height:310px;margin-top:12px;position:relative;overflow:hidden}.visual-grid{background-image:radial-gradient(var(--line-strong) .7px, transparent .7px);opacity:.6;background-size:18px 18px;position:absolute;inset:0}.concept-card{background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--radius);width:185px;padding:18px;position:absolute}.card-design{top:48px;left:24px;transform:rotate(-5deg)}.card-code{bottom:42px;right:23px;transform:rotate(4deg)}.card-top{border-bottom:1px solid var(--line);align-items:center;gap:9px;padding-bottom:15px;font-size:12px;display:flex}.mini-icon{color:var(--accent);display:flex}.wire-row{align-items:center;gap:7px;margin-top:17px;display:flex}.wire-row i{background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:4px;width:19px;height:19px}.wire-row b{background:var(--line-strong);border-radius:2px;width:65px;height:5px}.wire-blocks{gap:5px;margin:11px 0;display:flex}.wire-blocks i{border:1px solid var(--line);background:var(--surface);border-radius:3px;width:46px;height:35px}.wire-blocks i:first-child{border-color:var(--accent-line);background:var(--accent-soft)}.wire-line{background:var(--line);border-radius:2px;width:90%;height:4px;margin-top:7px}.wire-line.short{width:65%}.connection-line{background:var(--accent-line);width:180px;height:1px;position:absolute;top:158px;left:calc(50% - 90px);transform:rotate(28deg)}.visual-symbol{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);z-index:2;place-items:center;width:48px;height:48px;display:grid;position:absolute;top:130px;left:calc(50% - 24px)}.visual-symbol img{width:30px;height:30px}.code-lines{margin-block:17px}.code-lines span{gap:5px;margin-block:7px;display:flex}.code-lines i,.code-lines b,.code-lines em{border-radius:1px;height:4px;display:block}.code-lines i{background:var(--accent);width:27px}.code-lines b{background:var(--line-strong);width:45px}.code-lines em{background:var(--code-ink);width:35px}.code-lines span:nth-child(2),.code-lines span:nth-child(3){margin-left:14px}.code-result{border-top:1px solid var(--line);color:var(--muted);gap:6px;padding-top:11px;font-size:8px;display:flex}.code-result svg{color:var(--accent)}.floating-label{color:var(--muted);font-size:9px;position:absolute}.label-one{bottom:48px;left:39px}.label-two{top:30px;right:26px}.visual-bottomline{color:var(--muted);align-items:center;gap:13px;margin:17px 0 0;font-size:10px;display:flex}.visual-bottomline i{background:var(--line);flex:1;height:1px}.visual-bottomline span:last-child{color:var(--accent)}.intro-strip{border-block:1px solid var(--line);align-items:center;gap:30px;padding-block:28px;display:flex}.intro-strip p:first-child{margin-right:auto;font-size:12px;line-height:1.7}.intro-strip strong{color:var(--text);font-weight:400}.intro-strip p{font-size:13px}.intro-strip>span{color:var(--line-strong);font-size:14px}.services-grid{grid-template-columns:repeat(3,1fr);gap:36px;display:grid}.service{border-top:1px solid var(--line);padding-top:25px}.service-top{justify-content:space-between;align-items:center;margin-bottom:30px;display:flex}.service-top>span:last-child{color:var(--muted);font-size:11px}.service-icon{background:var(--accent-soft);color:var(--accent);border-radius:var(--radius);place-items:center;width:47px;height:47px;display:grid}.service h3{margin-bottom:14px}.service>p{font-size:14px;line-height:1.85}.service .service-tags{margin-top:24px;font-size:11px;line-height:1.8}.projects-section{background:var(--surface);border-block:1px solid var(--line)}.projects-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.project{min-width:0}.project-image{aspect-ratio:1.5;border-radius:var(--radius);border:1px solid var(--line);background:var(--bg);position:relative;overflow:hidden}.project-image img{object-fit:cover;width:100%;height:100%}.project-number{color:var(--muted);font-size:10px;position:absolute;top:14px;left:16px}.project-copy{padding:24px 1px 0}.project-category{color:var(--accent);letter-spacing:.8px;text-transform:uppercase;margin-bottom:10px;font-size:10px}.project h3{max-width:290px;margin-bottom:13px;font-size:21px;line-height:1.35}.project-copy>p:not(.project-category){font-size:13px;line-height:1.8}.project-status{color:var(--muted);border:1px solid var(--line-strong);border-radius:4px;margin-top:18px;padding:3px 8px;font-size:10px;display:inline-flex}.illustration-note{margin-top:32px;font-size:10px}.about{grid-template-columns:1.1fr 1fr;gap:120px;display:grid}.about h2{margin-bottom:26px;font-size:clamp(30px,3.1vw,42px);line-height:1.24}.about h2 span{color:var(--muted)}.about-intro>p:not(.eyebrow){max-width:450px;margin-top:16px;font-size:14px;line-height:1.9}.about-details{padding-top:5px}.experience-block{border-bottom:1px solid var(--line);margin-bottom:28px;padding-bottom:28px}.experience-value{color:var(--accent);letter-spacing:-1px;font-size:34px}.experience-block p{margin-top:6px;font-size:13px}.person-detail{align-items:start;gap:18px;margin-top:28px;display:flex}.detail-icon{background:var(--surface);border-radius:var(--radius);width:38px;height:38px;color:var(--muted);flex-shrink:0;place-items:center;display:grid}.person-detail h3{letter-spacing:0;margin-bottom:5px;font-size:15px}.person-detail p{font-size:12px;line-height:1.8}.person-detail .person-study{margin-top:8px;font-size:11px}.process-section{background:var(--surface-soft);border-block:1px solid var(--line)}.process-grid{grid-template-columns:repeat(4,1fr);gap:30px;margin:45px 0 0;padding:0;list-style:none;display:grid}.step-number{color:var(--accent);border-bottom:1px solid var(--line);margin-bottom:21px;padding-bottom:17px;font-size:12px;display:block}.process-grid h3{letter-spacing:-.1px;margin-bottom:12px;font-size:15px}.process-grid p{font-size:13px;line-height:1.8}.contact-panel{border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:12px;justify-content:space-between;align-items:center;gap:50px;padding:52px 60px;display:flex}.contact-panel .eyebrow{color:var(--accent);margin-bottom:15px}.contact-panel p:not(.eyebrow){margin-top:18px;font-size:14px;line-height:1.8}.contact-action{flex-direction:column;align-items:center;min-width:220px;display:flex}.contact-email{margin-top:13px;font-size:13px}.contact-person{flex-direction:column;align-items:center;margin-top:18px;display:flex}.contact-person>span{color:var(--muted);font-size:11px}.contact-person .contact-email{margin-top:2px}@media (width>=1500px){.hero{padding-block:120px 100px}}@media (width<=1100px){.container{width:calc(100% - 64px)}.header-inner nav{gap:22px;margin-right:5px}.hero{gap:32px;padding-block:80px 70px}h1{letter-spacing:-1.6px;font-size:44px}.hero-actions{gap:10px 20px}.hero-actions .button{padding-inline:16px;font-size:13px}.hero-actions .text-link{font-size:12px}.concept-card{width:160px;padding:14px}.card-design{top:52px;left:16px}.card-code{bottom:40px;right:16px}.visual-canvas{height:305px}.intro-strip{gap:20px}.intro-strip p{font-size:11px}.about{gap:70px}.section{padding-block:80px}.services-grid{gap:28px}.project h3{font-size:19px}.contact-panel{padding:42px}}@media (width<=800px){.container{width:calc(100% - 48px)}.header-inner{flex-wrap:wrap;gap:16px;min-height:80px;padding-block:17px 10px}.header-inner .brand img{width:133px;height:32px}.header-inner>.button{gap:10px;margin-left:auto;padding-inline:13px;font-size:11px}.header-inner nav{border-top:1px solid var(--line);order:3;justify-content:center;gap:40px;width:100%;margin:0;padding-top:6px}.header-inner nav a{font-size:12px}.hero{grid-template-columns:1fr;gap:45px;padding-block:60px 45px}.hero-copy{max-width:570px}h1{font-size:clamp(37px,6vw,50px)}.hero-lead{max-width:500px;font-size:15px}.hero-actions{gap:24px}.hero-visual{width:100%;max-width:530px;margin-inline:auto}.visual-canvas{height:290px}.concept-card{width:190px}.card-design{top:34px;left:40px}.card-code{bottom:34px;right:40px}.label-one{bottom:36px;left:50px}.label-two{top:20px;right:20px}.intro-strip{flex-wrap:wrap;justify-content:center;gap:10px 17px;padding-block:22px}.intro-strip p:first-child{text-align:center;width:100%;margin:0 0 7px}.intro-strip p:first-child br{display:none}.intro-strip strong{margin-left:5px}.section-heading{margin-bottom:35px;display:block}.section-heading>p{margin-top:18px}.section-heading>p br{display:none}.section{padding-block:65px}.services-grid{gap:24px}.service h3{font-size:18px}.service>p{font-size:13px}.service .service-tags{font-size:10px}.projects-grid{grid-template-columns:1fr;gap:42px}.project{grid-template-columns:1fr 1fr;align-items:center;gap:26px;display:grid}.project-copy{padding:0}.project h3{font-size:20px}.about{gap:45px}.about h2{font-size:30px}.process-grid{grid-template-columns:repeat(2,1fr);gap:30px}.contact-panel{gap:32px;padding:35px}.contact-panel h2{font-size:30px}.contact-panel .eyebrow{font-size:10px}.contact-action{min-width:180px}.site-footer{flex-wrap:wrap;gap:15px 24px}}@media (width<=560px){.container{width:calc(100% - 40px)}.hero .eyebrow{letter-spacing:.7px;margin-bottom:23px;font-size:9px}h1{letter-spacing:-1.1px;font-size:clamp(31px,7.8vw,42px)}.hero{gap:35px;padding-block:46px 35px}.hero-lead{margin-top:22px;font-size:14px}.hero-actions{gap:10px 20px;margin-top:25px}.hero-actions .button{min-height:48px}.hero-note{margin-top:13px;font-size:10px}.visual-canvas{height:260px}.concept-card{width:155px;padding:12px}.card-design{top:30px;left:17px}.card-code{bottom:31px;right:17px}.card-top{padding-bottom:11px;font-size:10px}.wire-blocks i{height:27px}.wire-row{margin-top:12px}.code-lines{margin-block:13px}.code-result{gap:3px;font-size:7px}.label-one{font-size:8px;bottom:28px;left:20px}.label-two{font-size:7px;top:13px}.visual-topline{font-size:8px}.visual-bottomline{font-size:9px}.intro-strip{gap:9px 12px}.intro-strip p{font-size:10px}.intro-strip p:first-child{font-size:11px}.section{padding-block:55px}h2{font-size:29px}.eyebrow{letter-spacing:1px;font-size:10px}.section-heading>p{font-size:13px}.services-grid{grid-template-columns:1fr;gap:34px}.service{padding-top:20px}.service-top{margin-bottom:18px}.service h3{font-size:21px}.service>p{font-size:14px}.service .service-tags{margin-top:16px;font-size:11px}.project{display:block}.project-copy{padding-top:21px}.project h3{max-width:none;font-size:22px}.project-copy>p:not(.project-category){font-size:14px}.project-status{font-size:10px}.illustration-note{font-size:10px;line-height:1.8}.about{grid-template-columns:1fr;gap:30px}.about h2{font-size:34px}.about-details{padding-top:0}.experience-value{font-size:32px}.process-grid{grid-template-columns:1fr;gap:25px;margin-top:35px}.step-number{margin-bottom:13px;padding-bottom:13px}.process-grid h3{margin-bottom:7px;font-size:17px}.process-grid p{font-size:14px}.contact-panel{padding:30px 24px;display:block}.contact-panel h2{font-size:30px}.contact-panel p:not(.eyebrow){font-size:13px}.contact-person{align-items:start}.contact-action{align-items:start;margin-top:25px}.site-footer{padding-block:22px}.site-footer .brand img{width:115px;height:auto}.site-footer>p{order:3;width:100%;font-size:11px}}
