@font-face{font-family:Space Grotesk;src:url('../fonts/SpaceGrotesk.ttf') format('truetype');font-weight:300 700;font-display:swap}
@font-face{font-family:Manrope;src:url('../fonts/Manrope.ttf') format('truetype');font-weight:200 800;font-display:swap}
@font-face{font-family:IBM Plex Mono;src:url('../fonts/IBMPlexMono.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--ink:#0b0d0c;--surface:#141715;--raised:#1b201c;--line:#2b322c;--paper:#f3f5ed;--muted:#a5aea2;--lime:#cefa69;--sage:#6b7c65;color-scheme:dark;scroll-behavior:smooth;scroll-padding-top:24px}
*{box-sizing:border-box}
body{margin:0;background:var(--ink);color:var(--paper);font:400 15px/1.65 Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}
::selection{background:var(--lime);color:var(--ink)}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
a{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:2px solid var(--lime);outline-offset:5px}
[hidden]{display:none!important}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-family:Space Grotesk,Arial,sans-serif;font-weight:500;line-height:1.12}
h2{font-size:42px;letter-spacing:-1.5px}
h3{font-size:25px;letter-spacing:-.6px}
img{display:block;max-width:100%}
.container{width:min(1160px,calc(100% - 96px));margin-inline:auto}
.section{padding-block:60px}
.eyebrow{font:400 11px/18px IBM Plex Mono,monospace;letter-spacing:.2px;color:var(--muted)}
.lime{color:var(--lime)}
.section-kicker{font-size:13px;line-height:20px;letter-spacing:.2px;color:var(--muted)}
.hero-kicker{display:flex;align-items:center;gap:10px;color:var(--paper)}
.hero-kicker:before{content:'';width:6px;height:6px;background:var(--lime);border-radius:50%;flex:none}
.skip-link{position:absolute;z-index:10;top:12px;left:12px;background:var(--lime);color:var(--ink);padding:12px 20px;transform:translateY(-150%)}
.skip-link:focus{transform:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.site-header{border-bottom:1px solid #f3f5ed09}
.header-inner{min-height:76px;display:flex;align-items:center}
.brand{display:inline-flex;align-items:center;gap:9px;font:500 19px/1 Space Grotesk,Arial,sans-serif;letter-spacing:-.6px}
.brand img{width:28px;height:28px}
.hero{padding-block:34px 38px;display:grid;grid-template-columns:1.18fr 1fr;gap:32px;align-items:center}
.hero-copy{position:relative;z-index:1;min-width:0}
.hero h1{font-size:clamp(58px,5.7vw,80px);line-height:1.04;letter-spacing:-3.5px;margin:24px 0 20px}
.type-line{display:block;width:max-content;white-space:nowrap;position:relative}
.type-letter{position:relative}
.type-caret:after,.type-start:before{content:'';position:absolute;width:2px;height:.83em;top:.09em;background:var(--lime);animation:caret-blink 1s steps(1,end) infinite}
.type-caret:after{right:-.09em}
.type-start:before{left:0}
.hero-description{font-size:16px;line-height:27px;color:var(--muted);max-width:430px}
.hero-art{min-width:0;width:min(400px,100%);justify-self:center}
.core-wrap{position:relative;aspect-ratio:1;isolation:isolate}
.core-wrap:before{content:'';position:absolute;inset:8%;border-radius:50%;background:radial-gradient(ellipse,#cefa6914,transparent 70%);z-index:-1;animation:core-breathe 6s ease-in-out infinite}
.core-fallback,#digital-core{width:100%;height:100%;position:absolute;inset:0}
#digital-core{opacity:0}
.canvas-ready #digital-core{opacity:1}
.canvas-ready .core-fallback{visibility:hidden}
.section-divider{display:flex;align-items:center;gap:18px;height:16px}
.section-divider:before,.section-divider:after{content:'';height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--line))}
.section-divider:after{transform:rotate(180deg)}
.divider-mark{display:flex;gap:6px;align-items:center}
.divider-mark i{display:block;width:4px;height:4px;background:var(--sage);transform:rotate(45deg)}
.divider-mark i:nth-child(2){background:var(--lime)}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:48px;margin:18px 0 32px}
.section-heading h2{min-width:0}
.section-heading>p{color:var(--muted);max-width:340px;font-size:14px;line-height:24px;padding-bottom:2px}
.carousel{min-width:0}
.carousel-track{display:grid;gap:16px;position:relative}
.services-track{grid-template-columns:repeat(4,minmax(0,1fr))}
.service-card{min-width:0;min-height:254px;padding:22px;background:var(--surface);border:1px solid #f3f5ed0b;border-radius:8px;display:flex;flex-direction:column;transition:background-color .2s,border-color .2s}
.service-card:hover{background:var(--raised);border-color:var(--sage)}
.service-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.service-symbol{color:var(--lime);opacity:.85;flex:none}
.service-index{color:var(--sage)}
.service-card h3{font-size:25px;line-height:30px;margin-bottom:12px;letter-spacing:-.5px}
.service-description{color:var(--muted);font-size:14px;line-height:23px}
.carousel-navigation{display:none;align-items:center;justify-content:space-between;gap:4px;margin-top:6px}
.carousel-dots{display:flex;flex-shrink:0}
.carousel-dot{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:transparent;border:0;padding:0}
.carousel-dot span{width:5px;height:5px;background:var(--sage);border-radius:99px;transition:width .2s,background-color .2s}
.carousel-dot[aria-current=true] span{width:16px;background:var(--lime)}
.possibilities{background:var(--surface);border-block:1px solid #f3f5ed05}
.concepts-track{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.concept-card{min-width:0;min-height:360px;padding:24px;background:var(--raised);border-radius:8px}
.concept-card h3{font-size:23px;line-height:29px;margin-bottom:8px}
.concept-subtitle{font-size:12px;line-height:20px;color:var(--muted);min-height:20px}
.concepts-note{margin-top:20px;font-size:12px;line-height:20px;color:var(--muted)}
.bar-chart{display:grid;grid-template-columns:32px minmax(0,1fr);gap:0;margin-top:36px;margin-bottom:32px;padding-top:8px}
.chart-axis{position:relative;height:180px;font:400 11px/18px IBM Plex Mono,monospace;color:var(--muted)}
.chart-axis span{position:absolute;left:0;transform:translateY(-50%)}
.chart-axis span:nth-child(1){top:0}
.chart-axis span:nth-child(2){top:50%}
.chart-axis span:nth-child(3){top:100%}
.chart-plot{height:180px;position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
.chart-grid{position:absolute;left:0;right:0;height:1px;background:#f3f5ed0c}
.chart-grid:nth-child(1){top:0}
.chart-grid:nth-child(2){top:50%}
.chart-grid:nth-child(3){bottom:0}
.chart-column{position:relative;min-width:0}
.chart-column>span{position:absolute;top:calc(100% + 10px);left:0;right:0;text-align:center;font:400 11px/18px IBM Plex Mono,monospace;color:var(--muted)}
.chart-bar{position:absolute;bottom:0;left:24%;width:52%;background:var(--lime);border-radius:3px 3px 0 0;transform-origin:center bottom;animation:bar-grow 6.8s cubic-bezier(.3,.05,.2,1) infinite both}
.chart-column:nth-child(4) .chart-bar{height:32%}
.chart-column:nth-child(5) .chart-bar{height:48%;animation-delay:.14s}
.chart-column:nth-child(6) .chart-bar{height:42%;animation-delay:.28s}
.chart-column:nth-child(7) .chart-bar{height:70%;animation-delay:.42s}
.chart-column:nth-child(8) .chart-bar{height:60%;animation-delay:.56s}
.chart-column:nth-child(9) .chart-bar{height:88%;animation-delay:.7s}
.build-scene{margin-top:22px;min-height:220px;padding:12px;background:var(--ink);background-image:linear-gradient(#cefa6905 1px,transparent 1px),linear-gradient(90deg,#cefa6905 1px,transparent 1px);background-size:24px 24px;border-radius:5px;display:grid;align-items:center}
.mini-browser{width:100%;min-width:0;max-width:420px;justify-self:center;background:var(--paper);border:1px solid #53604d;border-radius:6px;overflow:hidden;box-shadow:0 8px 24px #0003;animation:browser-drift 8s ease-in-out infinite}
.browser-toolbar{height:26px;display:flex;align-items:center;gap:5px;padding:0 10px;background:#20251f;color:var(--muted);font:400 11px/18px IBM Plex Mono,monospace}
.browser-toolbar>span{width:4px;height:4px;background:#83917b;border-radius:50%;flex:none}
.browser-toolbar p{margin-left:8px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.mini-webpage{padding:14px;color:var(--ink)}
.mini-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;min-height:18px}
.mini-nav strong{font:500 16px/20px Space Grotesk,Arial,sans-serif;letter-spacing:-.5px}
.mini-nav>div{display:flex;gap:6px}
.mini-nav span{width:15px;height:2px;background:var(--sage)}
.mini-hero{display:grid;grid-template-columns:minmax(0,1fr) min(36%,100px);gap:14px;align-items:center}
.mini-copy{min-width:0}
.mini-title{font:500 26px/1.1 Space Grotesk,Arial,sans-serif;letter-spacing:-.7px;margin-bottom:8px}
.mini-lines{display:grid;gap:4px;margin-bottom:10px}
.mini-lines span{height:3px;width:85%;background:var(--muted)}
.mini-lines span+span{width:60%}
.mini-cta{display:inline-block;background:var(--lime);padding:4px 8px;font-size:11px;line-height:16px;color:var(--ink);white-space:nowrap}
.mini-orb{width:100%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 32% 27%,#f4f8e4 0,#cefa69 24%,#7f975e 59%,#273d22 90%);box-shadow:inset -6px -7px 14px #10210d33}
.mini-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}
.mini-tiles>div{height:20px;background:#c5cfbb;border-radius:2px}
.build-part{animation:assemble 8s cubic-bezier(.2,.7,.2,1) infinite both}
.mini-title{animation-delay:.16s}
.mini-lines,.mini-orb{animation-delay:.32s}
.mini-cta{animation-delay:.48s}
.mini-tiles>div:nth-child(1){animation-delay:.64s}
.mini-tiles>div:nth-child(2){animation-delay:.8s}
.mini-tiles>div:nth-child(3){animation-delay:.96s}
.approach{display:grid;grid-template-columns:1fr 1fr;gap:72px}
.approach h2{margin:18px 0 20px}
.approach-intro>p:last-child{font-size:15px;line-height:25px;color:var(--muted);max-width:410px}
.steps{list-style:none;padding:0;margin:0}
.steps li{border-top:1px solid var(--line);display:grid;grid-template-columns:32px minmax(0,1fr);gap:16px;padding:18px 0}
.steps li>span{padding-top:3px}
.steps h3{font-size:22px;line-height:28px;margin-bottom:8px}
.steps p{font-size:14px;line-height:23px;color:var(--muted)}
.contact{background:radial-gradient(ellipse at 95% 100%,#cefa6908,transparent 55%),var(--surface);border-top:1px solid var(--line);padding-block:52px}
.contact>.container{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:center}
.contact h2{font-size:44px;line-height:1.12;letter-spacing:-1.5px;margin-top:18px}
.contact-panel{min-width:0}
.contact-intro>p{color:var(--muted);font-size:14px;line-height:24px;max-width:370px}
.contact-email{display:inline-flex;gap:28px;align-items:center;color:var(--lime);padding-bottom:6px;border-bottom:1px solid #cefa6950;margin-top:18px;min-height:44px;font:500 23px/1.3 Space Grotesk,Arial,sans-serif;letter-spacing:-.5px;overflow-wrap:anywhere;transition:border-color .2s}
.contact-email:hover{border-color:var(--lime)}
.contact-email>span{font-size:26px}
.site-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:24px}
.site-footer .brand{font-size:17px}
.site-footer .brand img{width:24px;height:24px}
.footer-end{display:flex;align-items:center;gap:20px}
.motion-toggle{background:transparent;border:0;color:var(--muted);padding:10px 0;font-size:12px;min-height:44px}
.motion-toggle:hover{color:var(--paper)}
.motion-paused *, .motion-paused *:before, .motion-paused *:after{animation-play-state:paused!important}
.motion-still .type-letter{visibility:visible!important}
.motion-still .type-caret:after,.motion-still .type-start:before{display:none}
.motion-still .chart-bar,.motion-still .build-part,.motion-still .mini-browser{animation:none!important}
@keyframes caret-blink{50%{opacity:0}}
@keyframes core-breathe{50%{transform:scale(1.1);opacity:.65}}
@keyframes bar-grow{0%,7%{transform:scaleY(.04)}27%,76%{transform:scaleY(1)}96%,100%{transform:scaleY(.04)}}
@keyframes browser-drift{0%,100%{transform:translateY(2px)}50%{transform:translateY(-3px)}}
@keyframes assemble{0%,6%{opacity:0;transform:translateY(10px) scale(.96)}18%,82%{opacity:1;transform:translateY(0) scale(1)}96%,100%{opacity:0;transform:translateY(-5px) scale(.98)}}
@media(max-width:1100px){.container{width:calc(100% - 72px)}.hero{gap:20px}.hero h1{font-size:clamp(50px,5.6vw,62px);letter-spacing:-2.6px}.section-heading{gap:32px}.section-heading>p{max-width:300px}.service-card{padding:20px}.service-card h3{font-size:23px;line-height:28px}.service-description{font-size:13px;line-height:22px}.approach{gap:48px}}
@media(min-width:761px) and (max-width:900px){.services-track{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card{min-height:225px}.section-heading h2{font-size:36px}.section-heading>p{max-width:260px}.concept-card{padding:20px}.concept-card h3{font-size:20px;min-height:52px;line-height:26px}.concept-subtitle{min-height:40px}.mini-title{font-size:22px}.contact h2{font-size:38px}.site-footer{flex-wrap:wrap}}
@media(max-width:760px){
 .container{width:calc(100% - 40px)}.section{padding-block:40px}h2{font-size:32px;line-height:36px;letter-spacing:-1px}.header-inner{min-height:64px}.brand{font-size:18px}.brand img{width:26px;height:26px}
 .hero{padding-block:32px 18px;grid-template-columns:1fr;gap:8px}.hero h1{font-size:clamp(41px,9.7vw,59px);line-height:1.04;letter-spacing:-1.9px;margin:20px 0 16px}.hero-description{font-size:15px;line-height:25px;max-width:380px}.hero-art{width:min(270px,78%);justify-self:center;margin:0}.section-divider{height:12px;gap:14px}
 .section-heading{display:block;margin:14px 0 24px}.section-heading>p{padding-top:14px;max-width:420px;font-size:14px;line-height:23px}
 .carousel-track{display:flex;gap:14px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}.carousel-track::-webkit-scrollbar{display:none}.carousel-track:after{content:'';flex:0 0 28px}.carousel-track>article{flex:0 0 calc(100% - 42px);scroll-snap-align:start;scroll-snap-stop:always}.carousel-navigation{display:flex}
 .service-card{padding:22px;min-height:244px}.service-top{margin-bottom:18px}.service-card h3{font-size:25px;line-height:30px;margin-bottom:12px}.service-description{font-size:14px;line-height:23px}
 .concept-card{padding:20px;min-height:354px}.concept-card h3{font-size:20px;line-height:26px;letter-spacing:-.4px;min-height:52px;margin-bottom:6px}.concept-subtitle{min-height:40px;font-size:12px;line-height:20px}.bar-chart{margin-top:28px;margin-bottom:32px;grid-template-columns:28px minmax(0,1fr)}.chart-axis,.chart-plot{height:160px}.build-scene{margin-top:18px;min-height:210px;padding:10px 8px}.mini-webpage{padding:12px}.mini-hero{gap:10px;grid-template-columns:minmax(0,1fr) min(38%,88px)}.mini-title{font-size:22px;line-height:24px;letter-spacing:-.5px}.mini-nav strong{font-size:15px}.mini-nav span{width:12px}.mini-nav>div{gap:5px}.mini-nav{margin-bottom:12px}.mini-tiles{margin-top:12px;gap:6px}.mini-tiles>div{height:18px}.concepts-note{margin-top:14px}
 .approach{display:block}.approach h2{margin:14px 0 16px}.approach-intro>p:last-child{font-size:14px;line-height:24px}.steps{margin-top:24px}.steps li{padding:18px 0;gap:8px}.steps h3{font-size:21px;line-height:27px;margin-bottom:6px}
 .contact{padding-block:36px}.contact>.container{display:block}.contact h2{font-size:34px;line-height:38px;letter-spacing:-1px;margin:14px 0 20px}.contact-intro>p{font-size:14px;line-height:24px;max-width:360px}.contact-email{font-size:22px;margin-top:16px}
 .site-footer{padding-block:22px;display:flex;flex-wrap:wrap;gap:16px}.site-footer>.eyebrow{font-size:10px}.footer-end{width:100%;border-top:1px solid var(--line);padding-top:8px;justify-content:space-between;gap:12px}.footer-end>.eyebrow{font-size:10px}
}
@media(max-width:370px){.container{width:calc(100% - 36px)}.hero h1{font-size:39px;letter-spacing:-2px}.hero-art{width:230px}.carousel-navigation>.eyebrow{font-size:10px;letter-spacing:-.5px}.carousel-dot{width:40px}.concept-card{padding:16px}.concept-card h3{font-size:18px}.service-card{padding:20px}.service-card h3{font-size:24px}.mini-webpage{padding:10px}.mini-hero{gap:6px}.mini-title{font-size:20px}.mini-nav span{width:9px}.browser-toolbar{gap:4px;padding-inline:7px}.browser-toolbar p{margin-left:4px;font-size:10px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.type-letter{visibility:visible!important}.type-caret:after,.type-start:before{display:none}.chart-bar,.build-part{transform:none;opacity:1}}
