:root{--bg:#000;--text:#f5f5f5;--muted:#969696;--line:#282828;--panel:#0b0b0b;--header:rgba(0,0,0,.86);--mono:'IBM Plex Mono',monospace;--sans:'DM Sans',sans-serif;color-scheme:dark}html[data-theme=light]{--bg:#fff;--text:#080808;--muted:#626262;--line:#d6d6d6;--panel:#f5f5f5;--header:rgba(255,255,255,.9);color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:15px;line-height:1.6;transition:none}button,input,select,textarea{font:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}button{cursor:pointer}a,button,summary{outline-offset:6px}a{color:inherit;text-decoration:none}button{color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--text)}button:disabled{opacity:.35;cursor:default}[hidden]{display:none!important}::selection{background:var(--text);color:var(--bg)}.wrap{width:min(1280px,calc(100% - 112px));margin:auto}.header{height:94px;padding:0 56px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;background:var(--header);backdrop-filter:blur(18px)}.logo{font-weight:750;font-size:31px;letter-spacing:-1.8px;line-height:1}.logo-mark{margin-left:2px;color:var(--muted)}.logo-dot{color:var(--text)}nav{display:flex;gap:32px;margin-left:auto;margin-right:50px}nav a{font-size:13px;color:#aaa;transition:opacity .2s}html[data-theme=light] nav a{color:#555}nav a:hover{color:var(--text)}.header-tools{display:flex;align-items:center;gap:24px}.header-tools button{background:0 0;border:0;padding:6px 0;font:11px var(--mono)}#language span{color:var(--muted)}#theme{font-size:22px;padding:0 4px}.header-cta{border:1px solid var(--line);padding:10px 18px;font-size:12px;display:flex;gap:28px}#menu{display:none}#stars{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.45}#cursor{position:fixed;width:130px;height:130px;border-radius:50%;background:radial-gradient(circle,rgba(160,160,160,.075),transparent 65%);pointer-events:none;z-index:30;transform:translate(-50%,-50%);display:none}.hero{position:relative;padding-top:32px}.hero-top{display:flex;justify-content:space-between;gap:20px}.eyebrow{font:10px var(--mono);letter-spacing:1.8px;display:inline-flex;align-items:center;gap:10px}.status-dot{width:5px;height:5px;background:var(--text);border-radius:50%;display:inline-block;box-shadow:0 0 7px #aaa}.hero-coord{font:9px var(--mono);color:var(--muted);letter-spacing:1px}.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:20px;min-height:650px;padding:65px 0 60px}.hero-label{color:var(--muted);font-size:9px;letter-spacing:2px;margin-bottom:24px}h1{font-size:clamp(55px,6.35vw,94px);letter-spacing:-5px;line-height:1.04;font-weight:550;margin:0 0 28px}h1 span,h2 span{color:var(--muted)}.hero-sub{font-size:17px;letter-spacing:-.3px;margin:0 0 10px}.hero-description{max-width:365px;color:var(--muted);font-size:13px;line-height:1.8}.actions{display:flex;gap:12px;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:16px 23px;min-height:52px;font-size:12px;font-weight:550;border:1px solid var(--line);border-radius:3px;transition:transform .2s,opacity .2s}.button:hover{transform:translateY(-3px)}.primary{background:var(--text);color:var(--bg);border-color:var(--text)}.secondary{background:0 0}.secondary:hover{background:var(--panel)}.hero-trust{display:flex;align-items:center;gap:9px;margin-top:27px;font:9px var(--mono);color:var(--muted)}.tiny-cross{font-size:18px;color:var(--text)}.hero-art{position:relative;aspect-ratio:1;width:100%;max-width:530px;justify-self:end}.globe{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-22deg);animation:globeTurn 36s ease-in-out infinite alternate}.art-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:45px var(--mono);letter-spacing:-8px;text-shadow:0 0 40px #777}.art-center b{font-weight:400;margin:0 6px}.orbit{position:absolute;inset:5%;border:1px solid var(--line);border-radius:50%;transform:rotate(-32deg) scaleY(.43)}.orbit-two{inset:0;transform:rotate(51deg) scaleY(.62);border-style:dashed;opacity:.5}.art-code{font:10px var(--mono);color:var(--muted);position:absolute;z-index:2;animation:float 7s ease-in-out infinite}.code-one{top:7%;left:18%}.code-two{right:-1%;top:31%;font-size:8px;animation-delay:-2s}.code-three{bottom:13%;left:5%;animation-delay:-4s}.art-caption{position:absolute;bottom:0;left:15%;right:0;display:flex;gap:8px;align-items:center;font:8px var(--mono);letter-spacing:1px;color:var(--muted)}.art-caption span:last-child{margin-left:auto}.hero-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:24px 0 27px;font:8px var(--mono);letter-spacing:1.5px;color:var(--muted)}.hero-bottom a{display:flex;align-items:center;gap:12px}.scroll-line{height:22px;width:1px;background:var(--muted)}.ticker{border-block:1px solid var(--line);padding:18px 0;overflow:hidden;white-space:nowrap;color:var(--muted);font:11px var(--mono);letter-spacing:2px}.ticker>div{display:flex;gap:54px;justify-content:space-around;width:max-content;min-width:100%;animation:ticker 50s linear infinite}.ticker span{color:var(--text);font-size:16px}.section{padding-top:110px;padding-bottom:30px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:45px}.contact .eyebrow,.quote-layout .eyebrow,.section-heading .eyebrow{color:var(--muted);margin-bottom:24px}h2{font-size:clamp(35px,4vw,56px);font-weight:500;letter-spacing:-2.5px;line-height:1.13;margin:0}.section-heading>p{max-width:285px;font-size:13px;color:var(--muted);margin:0 0 5px}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.service-num{font:10px var(--mono);color:var(--muted)}.plus{font-size:22px;font-weight:400;text-align:right;transition:transform .2s}details[open] .plus{transform:rotate(45deg)}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:26px}.filters button{background:0 0;border:1px solid var(--line);border-radius:40px;padding:9px 19px;font:10px var(--mono);color:var(--muted)}.filters button[aria-pressed=true]{background:var(--text);color:var(--bg);border-color:var(--text)}.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.project-preview{height:235px;border:1px solid var(--line);background:#0b0b0b;position:relative;overflow:hidden}.browser-bar{height:25px;display:flex;align-items:center;gap:4px;padding:0 10px;background:#111;border-bottom:1px solid #242424;position:relative;z-index:2}.browser-bar i{width:4px;height:4px;background:#555;border-radius:50%}.browser-bar span{font:7px var(--mono);color:#888;margin:auto}.project-preview>a{position:absolute;inset:25px 0 0;z-index:3}.preview-label{position:absolute;bottom:12px;left:12px;background:#000;color:#fff;padding:5px 8px;font:8px var(--mono);pointer-events:none;z-index:4}.project-tag{font:9px var(--mono);color:var(--muted);margin:19px 0 8px;letter-spacing:1px}.project-title{display:flex;align-items:center;justify-content:space-between}h3{font-size:21px;font-weight:500;letter-spacing:-.5px}.project-title h3{margin:0}.project-title a{font-size:11px}.project p:last-child{color:var(--muted);font-size:12px;line-height:1.8}.project{transition:transform .3s}.project:hover{transform:translateY(-4px)}.timeline{display:grid;grid-template-columns:repeat(4,1fr);margin-top:55px}.step{padding:0 26px 0 0;border-top:1px solid var(--line);position:relative}.step:before{content:'';position:absolute;top:-4px;left:0;width:7px;height:7px;border-radius:50%;background:var(--text)}.step-num{display:block;margin:25px 0 30px;font:11px var(--mono);color:var(--muted)}.step h3{font-size:18px;margin-bottom:12px}.step p{font-size:12px;color:var(--muted);max-width:220px}.price-row{border-top:1px solid var(--line);padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}.price-row:last-child{border-bottom:1px solid var(--line)}.price-row h3{font-size:18px;margin:0;font-weight:400}.price-row .price{font-size:30px;font-weight:450;letter-spacing:-1px}.price small{font:10px var(--mono);color:var(--muted);letter-spacing:0;margin-right:15px}.price .unit{font:10px var(--mono);color:var(--muted);margin-left:8px}.fine-print{font-size:10px;color:var(--muted);line-height:1.8}.quote-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.quote-layout>div>p{font-size:13px;color:var(--muted)}.quote-decoration{font:28px var(--mono);color:var(--line);margin-top:55px;letter-spacing:-2px}.quote-panel{padding:32px;border:1px solid var(--line);background:var(--panel);min-height:400px}.quote-progress{display:flex;gap:7px;margin-bottom:30px}.quote-progress span{height:2px;background:var(--line);flex:1}.quote-progress span.active{background:var(--text)}.quote-panel h3{font-size:22px;margin:6px 0 20px}.quote-kicker{font:9px var(--mono);color:var(--muted)}.quote-options{display:grid;gap:8px}.quote-option{display:flex;align-items:center;gap:10px;border:1px solid var(--line);padding:12px;font-size:12px;cursor:pointer}.quote-option:has(input:checked){border-color:var(--text);background:var(--bg)}input[type=checkbox],input[type=radio]{accent-color:var(--text);width:15px;height:15px}.quote-option small{margin-left:auto;font:10px var(--mono);color:var(--muted)}.quote-navigation{display:flex;justify-content:space-between;align-items:center;margin-top:25px}.text-button{border:0;background:0 0;font:11px var(--mono);padding:12px 0}.quote-estimate{font-size:65px;letter-spacing:-4px;margin:10px 0;line-height:1.2}.quote-estimate small{font:12px var(--mono);letter-spacing:0;color:var(--muted)}#quote-result ul{font-size:12px;color:var(--muted);padding-left:16px}#quote-result .button{width:100%;font-size:11px;gap:10px}.budget-note{font-size:12px;color:var(--muted);border-left:1px solid var(--muted);padding-left:12px}.support-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:100px}.support-note{background:var(--panel);border:1px solid var(--line);padding:30px}.big-asterisk{font-size:35px}.support-note h3{font-size:26px;line-height:1.2}.support-note p{font-size:12px;color:var(--muted)}.text-link{font-size:11px;border-bottom:1px solid var(--muted);padding-bottom:5px}.faq details{border-bottom:1px solid var(--line)}.faq details:first-child{border-top:1px solid var(--line)}.faq summary{display:flex;justify-content:space-between;gap:20px;padding:22px 0;font-size:14px}.faq p{color:var(--muted);font-size:12px;margin:0 25px 22px 0}.contact{display:grid;grid-template-columns:1.15fr 1fr;gap:100px;padding-bottom:110px}.contact h2{position:relative}.contact h2 sup{font-size:40px;margin-left:18px}.contact>div>p{font-size:13px;color:var(--muted);max-width:320px}.contact-links{display:flex;gap:25px;font-size:11px;margin-top:38px}form label:not(.quote-option){display:block;font-size:11px;margin-bottom:20px}input:not([type=radio]):not([type=checkbox]),select,textarea{display:block;width:100%;color:var(--text);background:0 0;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:12px 0;font-size:12px;outline-offset:3px}select option{background:var(--bg);color:var(--text)}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:var(--muted)}#contact-form .button{width:100%;margin-top:8px}footer{border-top:1px solid var(--line);padding-top:34px;padding-bottom:25px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:38px}.footer-top>span{font-size:12px;color:var(--muted)}.footer-top>a:last-child{font:9px var(--mono)}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:20px;font:8px var(--mono);color:var(--muted)}.footer-bottom>div{display:flex;gap:20px}.floating-wa{position:fixed;bottom:25px;right:25px;z-index:15;width:50px;height:50px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--bg);background:var(--text);transition:transform .2s}.floating-wa:hover{transform:scale(1.1)}.skip-link{position:fixed;top:-100px;left:12px;z-index:100;background:var(--text);color:var(--bg);padding:10px}.skip-link:focus{top:10px}.reveal{opacity:1}.motion-ready .reveal{opacity:0;transform:translateY(20px);transition:opacity .7s,transform .7s}.motion-ready .reveal.visible{opacity:1;transform:none}#intro{position:fixed;inset:0;z-index:90;background:#000;color:#fff;display:grid;place-items:center;transition:opacity .6s,transform .8s}.intro-terminal{width:min(460px,calc(100% - 48px));font:16px var(--mono)}.mini-brand{font-size:44px;letter-spacing:-4px;display:block;margin-bottom:35px}#typed{min-height:27px}#typed:after{content:'▌';animation:blink 1s step-end infinite}#enter-intro{font-size:14px;color:#aaa}#skip-intro{position:absolute;bottom:35px;right:35px;border:0;background:0 0;color:#aaa;font:11px var(--mono)}#intro.leaving{opacity:0;transform:scale(1.08);pointer-events:none}.legal{padding-top:90px;padding-bottom:100px;min-height:75vh;max-width:850px}.legal h1{font-size:55px;letter-spacing:-2px}.legal h2{font-size:24px;letter-spacing:-.8px;margin-top:35px}.legal li,.legal p{color:var(--muted);font-size:14px}.legal a{text-decoration:underline}.legal .eyebrow{margin-bottom:25px}.noscript{padding:24px;text-align:center;border:1px solid var(--line)}@keyframes float{50%{transform:translateY(-13px)}}@keyframes globeTurn{to{transform:rotate(4deg)}}@keyframes ticker{to{transform:translateX(-15%)}}@keyframes blink{50%{opacity:0}}@media(min-width:1500px){.hero-grid{min-height:720px}}@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.header{padding:0 32px;height:80px}nav{gap:20px;margin-right:10px}.header-tools{gap:16px}h1{letter-spacing:-3.5px}.hero-grid{min-height:600px;grid-template-columns:1.2fr .9fr}.hero-coord{font-size:7px}.hero-art{overflow:hidden}.project-preview{height:190px}.support-grid{gap:40px}.contact{gap:50px}.quote-layout{gap:35px}.footer-bottom>span:last-child{display:none}}@media(max-width:700px){.wrap{width:calc(100% - 40px)}.header{height:74px;padding:0 20px;gap:12px}.logo{font-size:28px}.header-tools{gap:17px}.header-cta{display:none}#menu{display:flex;flex-direction:column;gap:5px;padding:8px!important}#menu span{display:block;width:19px;height:1px;background:var(--text)}nav{display:none;position:absolute;top:73px;left:0;right:0;background:var(--bg);padding:30px;border-bottom:1px solid var(--line);margin:0;flex-direction:column}nav.open{display:flex}nav a{font-size:17px}.hero{padding-top:25px}.hero-top .eyebrow{font-size:7px;letter-spacing:1px}.hero-coord{display:none}.hero-grid{display:block;padding:48px 0 25px;min-height:0}.hero-label{font-size:8px;margin-bottom:24px}h1{font-size:clamp(49px,11vw,76px);letter-spacing:-3px}.hero-sub{font-size:14px}.hero-description{font-size:12px;max-width:330px}.button{padding:14px 17px;font-size:11px;gap:20px}.hero-trust{font-size:8px}.hero-art{width:260px;height:230px;margin:20px auto 0;overflow:visible}.art-center{font-size:30px}.code-two{font-size:7px;right:-20px}.art-caption{font-size:6px;bottom:-5px}.hero-bottom{font-size:7px;padding:20px 0}.hero-bottom>span:not(.hero-year){display:none}.section{padding-top:75px;padding-bottom:5px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:20px;max-width:330px;font-size:12px}h2{font-size:37px;letter-spacing:-1.7px}.section-heading .eyebrow{font-size:8px;margin-bottom:18px}.projects{grid-template-columns:1fr;gap:30px}.project-preview{height:235px}.project-title h3{font-size:22px}.project p:last-child{max-width:390px}.timeline{grid-template-columns:1fr 1fr;gap:35px 20px;margin-top:35px}.step{padding-right:5px}.step-num{margin-bottom:15px}.step h3{font-size:16px}.step p{font-size:11px}.price-row{padding:20px 0}.price-row h3{font-size:14px;max-width:180px}.price-row .price{font-size:24px;white-space:nowrap}.price small{display:block;font-size:8px;margin:0}.price .unit{font-size:8px}.quote-layout{grid-template-columns:1fr;gap:30px}.quote-decoration{display:none}.quote-panel{padding:23px;min-height:0}.quote-panel h3{font-size:20px}.quote-option{font-size:11px}.quote-option small{font-size:9px}.support-grid{grid-template-columns:1fr;gap:25px}.support-note{padding:24px}.support-note h3{display:inline-block;margin:0 0 0 20px;vertical-align:middle;font-size:24px}.faq summary{font-size:13px}.contact{grid-template-columns:1fr;gap:35px;padding-bottom:70px}.contact h2 sup{font-size:30px}.contact-links{margin-top:24px}.footer-top{flex-wrap:wrap;padding-bottom:25px}.footer-top>span{font-size:10px}.footer-top>a:last-child{display:none}.footer-bottom{flex-direction:column;gap:14px;padding-right:30px;line-height:1.8}.floating-wa{width:45px;height:45px;right:17px;bottom:17px}.legal{padding-top:55px}.legal h1{font-size:40px}.ticker{padding:14px 0;font-size:9px}.ticker>div{gap:30px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}#cursor{display:none!important}}.hero{padding-top:56px}.art-center,.mini-brand{letter-spacing:0;font-variant-ligatures:none;font-feature-settings:"liga" 0,"calt" 0}.art-center b{margin:0}.section{padding-bottom:64px}.projects{grid-template-columns:repeat(3,minmax(0,1fr))}.project,.project-preview{min-width:0;max-width:100%;overflow:hidden}.project-title{gap:12px;align-items:flex-start}.project-title h3{min-width:0;overflow-wrap:anywhere}.project-title a{flex-shrink:0;min-height:44px;display:flex;align-items:center}.project-preview{height:auto;aspect-ratio:1.6;background:var(--panel)}.project-preview img{display:block;width:100%;height:calc(100% - 25px);object-fit:cover;filter:grayscale(1)}.preview-label{position:static;display:block;width:max-content;max-width:100%;margin:10px 0 0;padding:0;color:var(--muted);background:0 0}.project-preview .preview-label{display:none}.project:hover{transform:none}.floating-wa{width:42px;height:42px;right:18px;bottom:calc(28px + env(safe-area-inset-bottom,0px));transition:transform .25s,opacity .25s}.floating-wa svg{width:20px;height:20px}.floating-wa.scroll-hidden{transform:translateY(85px);opacity:0;pointer-events:none}.floating-wa:focus-visible{opacity:1;transform:none}footer{padding-bottom:100px}#scroll-progress{position:fixed;inset:0 0 auto;height:2px;background:var(--text);z-index:40;transform:scaleX(0);transform-origin:left;pointer-events:none}.terminal-section{padding-top:55px}.terminal-heading{margin-bottom:25px}.terminal-heading h2{font-size:clamp(25px,4vw,38px);margin-top:15px}.terminal-panel{border:1px solid var(--line);background:var(--panel);font:12px/1.8 var(--mono);max-width:850px}.terminal-bar{padding:10px 18px;border-bottom:1px solid var(--line);color:var(--muted)}.terminal-bar span{margin-left:18px}.terminal-commands{display:flex;gap:10px;padding:20px 20px 0;flex-wrap:wrap}.terminal-commands button,.terminal-entry button{background:var(--bg);border:1px solid var(--line);padding:10px;color:var(--text);font:inherit;min-height:44px}#terminal-output{padding:0 20px;min-height:70px;white-space:pre-wrap;overflow-wrap:anywhere}#terminal-form{padding:0 20px 20px}#terminal-form label{margin-bottom:4px;color:var(--muted)}.terminal-entry{display:flex;gap:12px;align-items:center}.terminal-entry input{min-width:0;flex:1;font:12px var(--mono)}.terminal-entry button{flex-shrink:0}.stats{display:flex;gap:45px;flex-wrap:wrap;padding-top:30px}.stats strong{font:38px var(--mono);display:block}.stats span{font:10px var(--mono);color:var(--muted)}.tech-marquee{overflow:hidden;border-block:1px solid var(--line);padding:20px 0;font:13px var(--mono);color:var(--muted)}.tech-marquee>div{white-space:nowrap;width:max-content;animation:tech-scroll 35s linear infinite}.tech-marquee:hover>div{animation-play-state:paused}@keyframes tech-scroll{to{transform:translateX(-50%)}}@keyframes title-glitch{0%,100%{transform:translate(0);opacity:1}25%{transform:translate(-2px,1px);opacity:.75}50%{transform:translate(2px,-1px);opacity:1}75%{transform:translate(-1px,0);opacity:.85}}@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){h1:hover,h2:hover{animation:title-glitch .22s linear 1}}@media(max-width:700px){.hero{padding-top:42px}.section{padding-bottom:60px}.projects{grid-template-columns:minmax(0,1fr)}.actions{flex-wrap:wrap}.hero-top .eyebrow{line-height:1.8;flex-wrap:wrap}.hero-art{max-width:100%}.terminal-commands{padding:15px 15px 0}#terminal-form{padding:0 15px 15px}#terminal-output{padding:0 15px}.contact{padding-bottom:100px}}@media(prefers-reduced-motion:reduce){#cursor{display:none!important}.button,.project{transform:none!important}.tech-marquee>div{animation:none}}#cursor{width:24px;height:24px;border:1px solid var(--muted);border-radius:50%;background:0 0;opacity:.6;transition:opacity .2s}#cursor:after,#cursor:before{content:'';position:absolute;background:var(--text);inset:50% -5px auto;height:1px;transform-origin:center;transition:transform .2s}#cursor:after{transform:rotate(90deg)}#cursor.over-control:before{transform:scale(1.4)}#cursor.over-control:after{transform:rotate(90deg) scale(1.4)}#cursor.over-control{opacity:.9}@media(hover:none),(pointer:coarse){#cursor{display:none!important}}@media(max-width:700px){.hero-art{overflow:clip}}.hero{overflow:clip}@media(min-width:701px) and (max-width:900px){.header{gap:14px;padding-inline:20px}nav{gap:14px;margin-right:0}.header-tools{gap:12px}.header-cta{gap:12px;padding:10px}}.faq summary{align-items:center;min-height:44px}.faq-star{display:inline-flex;flex:0 0 20px;width:20px;height:20px;color:var(--text);opacity:.75;transition:transform .25s,opacity .25s}.faq-star svg{display:block;overflow:visible}.faq-star-glow{filter:blur(3px);opacity:0;transition:opacity .25s}.faq details[open] .faq-star{transform:rotate(90deg);opacity:1}.faq details[open] .faq-star-glow{opacity:.4}.service-network{position:relative;height:520px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-links{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.service-links line{stroke:currentColor;stroke-width:.65;opacity:.42}.service-node{position:absolute;left:0;top:0;width:130px;display:flex;flex-direction:column;align-items:center;gap:12px;padding:0;background:none;border:0;color:var(--text);font:inherit;cursor:pointer;will-change:transform;-webkit-tap-highlight-color:transparent}.service-bubble{width:92px;height:92px;border-radius:50%;border:1px solid var(--line);background:var(--panel);display:grid;place-items:center;font:22px var(--mono);transition:border-color .3s,box-shadow .3s}.service-bubble svg{width:26px;height:26px}.service-node.near .service-bubble,.service-node:hover .service-bubble,.service-node.active .service-bubble{border-color:var(--muted);box-shadow:0 0 22px var(--line)}.service-node:focus-visible{outline:none}.service-node:focus-visible .service-bubble{outline:1px solid var(--text);outline-offset:4px}.service-name{font:10px/1.5 var(--mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);text-align:center}.service-node.active .service-name{color:var(--text)}.service-panel{position:absolute;z-index:5;width:340px;padding:26px 24px 24px;border:1px solid var(--line);border-radius:3px;background:var(--header);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.service-panel[hidden]{display:none}.service-close{position:absolute;top:10px;right:10px;width:40px;height:40px;border:1px solid var(--line);border-radius:3px;background:none;color:var(--text);font-size:18px;cursor:pointer}.service-panel-num{font:9px var(--mono);letter-spacing:1.5px;color:var(--muted)}.service-panel h3{font-weight:450;font-size:23px;letter-spacing:-.8px;margin:10px 44px 6px 0}.service-panel-short{margin:0 0 16px;font-size:14px}.service-panel ul{list-style:none;margin:0 0 20px;padding:0;font:11px/1.7 var(--mono);color:var(--muted)}.service-panel li{position:relative;padding-left:16px;margin-bottom:8px}.service-panel li:before{content:'›';position:absolute;left:0}.service-panel .button{width:100%}@media(max-width:700px){.service-network{height:700px}.service-node{width:110px;gap:9px}.service-bubble{width:72px;height:72px;font-size:18px}.service-bubble svg{width:22px;height:22px}.service-name{font-size:8px}.service-panel{width:100%;padding:24px 18px 18px}}
#terminal-output{max-height:min(46vh,360px);overflow-y:auto;white-space:pre-wrap;overflow-wrap:anywhere}
#terminal-output .asst-line{margin:0 0 .9em}
#terminal-output .asst-user{opacity:.7}
#terminal-output .asst-actions{display:flex;flex-wrap:wrap;gap:.5em;margin:0 0 .9em}
#terminal-output .asst-action{font:inherit;color:inherit;border:1px solid currentColor;padding:.45em .8em;min-height:40px;display:inline-flex;align-items:center;text-decoration:none}
#terminal-output .asst-action:hover,#terminal-output .asst-action:focus-visible{outline:2px solid currentColor;outline-offset:2px}
/* Vertical rhythm */
:root{--space-section:clamp(56px,7vw,96px);--space-heading:clamp(24px,3vw,40px);--space-label:clamp(14px,1.6vw,22px)}
body{overflow-x:clip}
.section{padding-top:var(--space-section);padding-bottom:0}
.terminal-section{padding-top:var(--space-section)}
.terminal-heading{margin-bottom:var(--space-heading)}
.section-heading{margin-bottom:var(--space-heading)}
.section-heading .eyebrow,.quote-layout .eyebrow,.contact .eyebrow{margin-bottom:var(--space-label)}
.tech-marquee{margin-top:var(--space-section)}
.contact{padding-bottom:var(--space-section)}
footer{padding-bottom:84px}
.service-network{height:clamp(440px,40vw,500px)}
@media(max-width:700px){.section-heading>p{margin-top:var(--space-label)}.service-network{height:640px}}
/* Service network motion */
.service-bubble{position:relative}
.service-bubble:after{content:'';position:absolute;inset:-1px;border-radius:50%;border:1px solid var(--muted);opacity:0;pointer-events:none}
.service-pulse{fill:currentColor;opacity:0}
.service-node:focus-visible .service-bubble{border-color:var(--text);box-shadow:0 0 26px var(--line)}
.service-node:hover .service-bubble,.service-node:focus-visible .service-bubble{box-shadow:0 0 28px var(--line),inset 0 0 14px var(--line)}
@media(prefers-reduced-motion:no-preference){
.service-network .service-links{opacity:0;transition:opacity .9s .2s}
.service-network.net-in .service-links{opacity:1}
.service-network .service-node>*{opacity:0}
.service-network.net-in .service-node>*{animation:svc-in .7s cubic-bezier(.2,.7,.2,1) calc(var(--i)*.12s) both}
.service-network.net-in .service-node>.service-name{animation-delay:calc(var(--i)*.12s + .1s)}
.service-bubble:after{animation:svc-ring 4s ease-out calc(var(--i)*.8s + 1s) infinite}
.net-paused .service-bubble:after,.net-paused .service-node>*{animation-play-state:paused}
}
@media(prefers-reduced-motion:no-preference) and (max-width:700px){.service-bubble:after{animation-duration:5.5s}}
@keyframes svc-in{from{opacity:0;transform:translateY(14px) scale(.88)}to{opacity:1;transform:none}}
@keyframes svc-ring{0%{opacity:.45;transform:scale(1)}60%,100%{opacity:0;transform:scale(1.32)}}
@media(prefers-reduced-motion:reduce){.service-pulse,.service-bubble:after{display:none}}
