@font-face{font-family:Aeonik Pro;src:url(/fonts/AeonikPro-Variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font-body:"Aeonik Pro", Arial, sans-serif;--color-bg:#151515;--color-surface:#1f1f1f;--color-text:#ededed;--color-text-secondary:#ffffffad;--color-text-muted:#ffffff85;--color-border:#ffffff1f;--color-border-soft:#ffffff17;--color-accent:#e01b0c;--color-accent-text:#ff6b5e;--page-max:1440px;--gutter:clamp(20px, 4vw, 56px);--gap:clamp(16px, 1.8vw, 24px);--header-height:64px;--section-space:clamp(88px, 11vw, 168px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}
*,:before,:after{box-sizing:border-box}html{background:var(--color-bg);-moz-text-size-adjust:100%;text-size-adjust:100%}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{min-width:280px;font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:16px;font-weight:400;line-height:1.5}h1,h2,h3,p,dl,dd,ol,ul{margin:0}ol,ul{padding:0;list-style:none}a{color:inherit}:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}::selection{background:var(--color-accent);color:#fff}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:30;background:var(--color-text);color:var(--color-bg);padding:10px 14px;font-size:14px;font-weight:500;text-decoration:none;position:absolute;top:12px;left:12px;transform:translateY(-200%)}.skip-link:focus-visible{transform:none}
.container{width:100%;max-width:var(--page-max);padding-left:max(var(--gutter), var(--safe-left));padding-right:max(var(--gutter), var(--safe-right));margin:0 auto}.grid{column-gap:var(--gap);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.label{color:var(--color-text-muted);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:500;line-height:1.3}.section{padding-top:var(--section-space);scroll-margin-top:8px}.section-head{grid-column:1/span 4;align-self:start}.section-head__title{letter-spacing:-.03em;font-feature-settings:"ss01";margin-top:14px;font-size:clamp(34px,3.6vw,52px);font-weight:400;line-height:1}.section-head__title:after{content:"";background:var(--color-accent);border-radius:2px;width:42px;height:2px;margin-top:22px;display:block}.section-head__note{max-width:30ch;color:var(--color-text-muted);margin-top:22px;font-size:15px;line-height:1.5}.section-body{grid-column:5/-1;grid-template-columns:subgrid;display:grid}.text-link{color:var(--color-text);text-decoration:underline;-webkit-text-decoration-color:var(--color-border);text-decoration-color:var(--color-border);text-underline-offset:.28em;align-items:baseline;gap:.35em;text-decoration-thickness:1px;transition:text-decoration-color .16s,color .16s;display:inline-flex}.text-link:hover{-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}.text-link__arrow{color:var(--color-text-muted);transition:color .16s}.text-link:hover .text-link__arrow{color:var(--color-accent-text)}.not-found{padding-top:var(--section-space)}.not-found__link{margin-top:28px;font-size:15px}@media (max-width:1023px){.section-head{grid-column:1/-1;margin-bottom:48px}.section-head__note{max-width:44ch}.section-body{grid-column:1/-1}}@media (max-width:639px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.site-header{z-index:2;border-bottom:1px solid var(--color-border-soft);position:relative}.site-header__inner{height:var(--header-height);justify-content:space-between;align-items:center;gap:24px;display:flex}.brand{color:var(--color-text);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand__mark{width:26px;height:auto}.brand__name{align-items:center;gap:7px;font-size:19px;font-weight:700;line-height:1;display:inline-flex}.brand__name span{color:var(--color-text-muted);font-size:11px;font-weight:300}.site-nav{gap:clamp(20px,2.6vw,40px);display:flex}.site-nav a{color:var(--color-text-muted);padding:14px 0;font-size:13px;line-height:1;text-decoration:none;transition:color .16s;position:relative}.site-nav a:after{content:"";background:var(--color-accent);opacity:0;border-radius:999px;width:16px;height:2px;transition:opacity .16s;position:absolute;bottom:4px;left:calc(50% - 8px)}.site-nav a:hover{color:var(--color-text)}.site-nav a:hover:after{opacity:1}@media (max-width:359px){.brand__name{display:none}}
.hero{overflow-x:clip}.hero__inner{column-gap:var(--gap);min-height:clamp(600px, calc(100svh - var(--header-height)), 960px);grid-template-rows:1fr auto;grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.hero__copy{z-index:1;grid-area:1/1/auto/span 7;align-self:center;padding:80px 0 72px;position:relative}.hero__title{letter-spacing:-.045em;font-feature-settings:"ss01";max-width:11ch;font-size:clamp(48px,7.4vw,112px);font-weight:400;line-height:.94}.hero__lead{max-width:44ch;color:var(--color-text-secondary);margin-top:40px;font-size:clamp(17px,1.3vw,19px);line-height:1.5}.hero__links{flex-wrap:wrap;gap:14px 32px;margin-top:36px;font-size:15px;display:flex}.hero__globe{width:min(calc(100% + var(--gutter)), 760px);margin:0 calc(-1 * var(--gutter)) 0 0;grid-area:1/7/auto/-1;place-self:center end;position:relative}.hero__caption{font-variant-numeric:tabular-nums;position:absolute;bottom:3%;left:0}.hero__facts{grid-area:2/1/auto/-1;grid-template-columns:subgrid;border-top:1px solid var(--color-border);row-gap:24px;padding:22px 0 30px;display:grid}.hero__facts>div{grid-column:span 3;min-width:0}.hero__facts dd{font-variant-numeric:tabular-nums;margin-top:8px;font-size:17px}@media (max-width:1023px){.hero__inner{grid-template-rows:auto auto auto;min-height:0}.hero__globe{grid-area:1/1/auto/-1;justify-self:center;width:min(100%,560px,70svh);margin:24px 0 0}.hero__caption{display:none}.hero__copy{grid-area:2/1/auto/-1;padding:16px 0 64px}.hero__facts{grid-row:3}.hero__facts>div{grid-column:span 6}}@media (max-width:639px){.hero__inner{grid-template-columns:repeat(4,minmax(0,1fr))}.hero__globe{width:calc(100% + 2 * var(--gutter));max-width:none;margin:0 calc(-1 * var(--gutter))}.hero__title{font-size:clamp(40px,12vw,56px)}.hero__lead{margin-top:28px}.hero__facts>div{grid-column:span 2}.hero__facts dd{font-size:15px}}
.globe{aspect-ratio:1;position:relative}.globe__canvas{cursor:grab;touch-action:pan-y;width:100%;height:100%;display:block}.globe__canvas.is-dragging{cursor:grabbing}
.services,.service,.stack{grid-column:1/-1;grid-template-columns:subgrid;display:grid}.services{border-top:1px solid var(--color-border)}.service{border-bottom:1px solid var(--color-border);align-items:baseline;padding:30px 0 36px;position:relative}.service:before{content:"";top:-1px;bottom:-1px;left:calc(-1 * var(--gap));background:var(--color-accent);opacity:0;width:2px;transition:opacity .16s;position:absolute}.service:hover:before{opacity:1}.service__title{letter-spacing:-.02em;font-feature-settings:"ss01";grid-column:1/span 3;font-size:clamp(22px,1.9vw,28px);font-weight:400;line-height:1.15}.service__text{max-width:46ch;color:var(--color-text-secondary);grid-column:4/span 4;font-size:16px;line-height:1.55}.service__code{white-space:nowrap;font-variant-numeric:tabular-nums;grid-column:8/span 1;justify-self:end;transition:color .16s}.service__code abbr{text-decoration:none}.service:hover .service__code{color:var(--color-accent-text)}.stack{align-items:baseline;padding:26px 0 0}.stack__title{grid-column:1/span 3}.stack__list{color:var(--color-text-secondary);grid-column:4/-1;font-size:16px}@media (max-width:1023px){.service:before{left:calc(-1 * var(--gutter))}}@media (max-width:767px){.service{grid-template-columns:minmax(0,1fr) auto;row-gap:14px;padding:26px 0 30px}.service__title{grid-area:1/1}.service__code{grid-area:1/2}.service__text{grid-column:1/-1}.stack{grid-template-columns:1fr;row-gap:10px}.stack__title,.stack__list{grid-column:1}}
.about__label{grid-column:1/-1}.about__label span{margin-right:1.2em}.about__text{letter-spacing:-.03em;text-wrap:pretty;font-feature-settings:"ss01";grid-column:1/span 11;margin-top:36px;font-size:clamp(28px,3.6vw,54px);font-weight:400;line-height:1.12}.about__text span{color:var(--color-text-muted)}@media (max-width:1023px){.about__text{grid-column:1/-1}}
.contact{border-top:1px solid var(--color-border);align-content:start}.contact__email{letter-spacing:-.035em;overflow-wrap:anywhere;text-decoration:underline;-webkit-text-decoration-color:var(--color-border);text-decoration-color:var(--color-border);text-underline-offset:.16em;grid-column:1/-1;justify-self:start;margin-top:28px;font-size:clamp(32px,5vw,76px);font-weight:400;line-height:1.05;text-decoration-thickness:2px;transition:text-decoration-color .16s}.contact__email:hover{-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}.contact__post{grid-column:1/-1;grid-template-columns:subgrid;color:var(--color-text-secondary);align-items:baseline;margin-top:48px;font-size:16px;display:grid}.contact__post .label{grid-column:1/span 3}.contact__post span:last-child{grid-column:4/-1}@media (max-width:767px){.contact__post{grid-template-columns:1fr;row-gap:8px}.contact__post .label,.contact__post span:last-child{grid-column:1}}
.site-footer{margin-top:var(--section-space);padding:40px 0 max(36px, calc(20px + var(--safe-bottom)));border-top:1px solid var(--color-border-soft)}.site-footer .grid{row-gap:32px}.site-footer__brand{grid-column:1/span 4}.site-footer__mark{width:44px;height:auto;color:var(--color-text);display:block}.site-footer__legal{max-width:62ch;color:var(--color-text-muted);grid-column:5/span 6;font-size:13px;line-height:1.6}.site-footer__meta{color:var(--color-text-muted);flex-wrap:wrap;grid-column:5/-1;justify-content:space-between;gap:8px 24px;font-size:13px;display:flex}@media (max-width:1023px){.site-footer__brand,.site-footer__legal,.site-footer__meta{grid-column:1/-1}}
@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}

