:root{--font-display: "Instrument Serif", "Times New Roman", serif;--font-body: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--max-w: 1280px;--gutter: clamp(20px, 4vw, 56px);--ease: cubic-bezier(.2, .6, .2, 1);--ease-out: cubic-bezier(.16, 1, .3, 1)}:root,[data-theme=dark]{--bg: oklch(.16 .018 255);--bg-elev: oklch(.2 .02 255);--bg-deep: oklch(.12 .02 255);--fg: oklch(.96 .008 85);--fg-muted: oklch(.74 .012 255);--fg-dim: oklch(.55 .015 255);--line: oklch(.3 .02 255);--line-soft: oklch(.24 .02 255);--accent: oklch(.72 .13 250);--accent-soft: oklch(.55 .15 260);--accent-fg: oklch(.18 .02 255);--star: oklch(.92 .02 250);--field: oklch(.2 .02 255);--field-border: oklch(.32 .022 255)}[data-theme=light]{--bg: oklch(.985 .005 85);--bg-elev: oklch(.97 .006 85);--bg-deep: oklch(.94 .008 85);--fg: oklch(.2 .018 255);--fg-muted: oklch(.42 .018 255);--fg-dim: oklch(.58 .018 255);--line: oklch(.86 .012 255);--line-soft: oklch(.92 .01 255);--accent: oklch(.48 .16 260);--accent-soft: oklch(.55 .15 260);--accent-fg: oklch(.98 .008 85);--star: oklch(.45 .04 255);--field: oklch(.99 .005 85);--field-border: oklch(.84 .012 255)}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:16px;line-height:1.55;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background .48s var(--ease),color .48s var(--ease)}::selection{background:var(--accent);color:var(--accent-fg)}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}.shell{position:relative;min-height:100vh;overflow-x:clip}.wrap{max-width:var(--max-w);margin-inline:auto;padding-inline:var(--gutter)}section{position:relative;padding-block:clamp(80px,12vw,160px)}.section-divider{position:relative;height:1px;background:var(--line-soft)}.starfield{position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.85;mask-image:linear-gradient(to bottom,black 0%,black 60%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,black 0%,black 60%,transparent 100%)}.starfield canvas{display:block;width:100%;height:100%}.topbar{position:sticky;top:0;z-index:50;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:color-mix(in oklch,var(--bg) 78%,transparent);border-bottom:1px solid transparent;transition:border-color .24s var(--ease),background .24s var(--ease)}.topbar.scrolled{border-bottom-color:var(--line-soft)}.topbar__inner{display:flex;align-items:center;gap:32px;height:92px}.brand{display:flex;align-items:center;gap:16px;flex-shrink:0}.brand img{height:48px;width:auto;display:block}.brand svg{display:block;flex-shrink:0;color:var(--fg)}.brand-accent{fill:var(--accent)}.brand__name{font-family:var(--font-body);font-size:22px;font-weight:600;letter-spacing:-.01em;line-height:1;color:var(--fg)}.brand__sub{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-dim);line-height:1;margin-top:6px;white-space:nowrap}.brand__stack{display:flex;flex-direction:column;gap:4px;min-width:max-content}.nav{display:flex;align-items:center;gap:28px;margin-left:auto;font-size:13px}.nav a{color:var(--fg-muted);transition:color .2s var(--ease);position:relative}.nav a:hover{color:var(--fg)}.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:var(--accent);transition:right .28s var(--ease)}.nav a:hover:after{right:0}.topbar__tools{display:flex;align-items:center;gap:14px}.theme-toggle{appearance:none;background:transparent;border:1px solid var(--line);color:var(--fg-muted);width:36px;height:36px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;transition:border-color .2s var(--ease),color .2s var(--ease),background .2s var(--ease)}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.theme-toggle svg{width:15px;height:15px}@media(max-width:720px){.nav{display:none}.topbar__inner{gap:14px}}.hero{position:relative;padding-block:clamp(72px,9vw,130px) clamp(100px,14vw,180px);overflow:hidden}.hero__grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr;gap:clamp(48px,7vw,88px)}.eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--fg-dim);display:inline-flex;align-items:center;gap:12px}.eyebrow:before{content:"";width:24px;height:1px;background:var(--accent)}.hero__headline{font-family:var(--font-display);font-weight:400;font-size:clamp(56px,8.5vw,132px);line-height:1.02;letter-spacing:-.018em;margin:28px 0 0;max-width:16ch;text-wrap:balance;padding-bottom:.12em}.hero__headline em{font-style:italic;color:var(--accent)}.hero__lede{margin-top:36px;max-width:52ch;font-size:clamp(17px,1.4vw,20px);line-height:1.55;color:var(--fg-muted);font-weight:300}.hero__lede strong{color:var(--fg);font-weight:500}.hero__meta{margin-top:48px;display:flex;flex-wrap:wrap;gap:32px 56px;font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-dim)}.hero__meta-item{display:flex;flex-direction:column;gap:6px}.hero__meta-item b{color:var(--fg);font-family:var(--font-body);font-size:14px;letter-spacing:0;text-transform:none;font-weight:400}.hero__cta{margin-top:56px;display:flex;flex-wrap:wrap;gap:18px;align-items:center}.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:999px;font-size:13.5px;font-weight:500;letter-spacing:.01em;transition:transform .22s var(--ease),background .22s var(--ease),color .22s var(--ease),border-color .22s var(--ease);border:1px solid transparent}.btn--primary{background:var(--accent);color:var(--accent-fg)}.btn--primary:hover{transform:translateY(-1px)}.btn--ghost{background:transparent;color:var(--fg);border-color:var(--line)}.btn--ghost:hover{border-color:var(--accent);color:var(--accent)}.btn__arrow{display:inline-block;transition:transform .28s var(--ease)}.btn:hover .btn__arrow{transform:translate(3px)}.hero__mark{position:absolute;right:0;top:50%;transform:translateY(-50%);width:clamp(280px,32vw,460px);aspect-ratio:1;z-index:1;pointer-events:none;opacity:.85}@media(max-width:900px){.hero__mark{display:none}}.section-head{display:grid;grid-template-columns:1fr;gap:28px;margin-bottom:clamp(48px,6vw,80px)}@media(min-width:900px){.section-head{grid-template-columns:320px 1fr;gap:64px;align-items:end}}.section-head__num{font-family:var(--font-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--fg-dim);display:flex;align-items:center;gap:14px}.section-head__num:before{content:"";width:28px;height:1px;background:var(--accent)}.section-head__title{font-family:var(--font-display);font-size:clamp(40px,5.5vw,76px);line-height:1;letter-spacing:-.015em;font-weight:400;margin:18px 0 0;text-wrap:balance}.section-head__title em{font-style:italic;color:var(--accent)}.section-head__lede{font-size:17px;color:var(--fg-muted);max-width:56ch;line-height:1.55;font-weight:300}.services__filter{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:40px;padding:6px;background:var(--bg-elev);border:1px solid var(--line-soft);border-radius:999px;width:max-content;max-width:100%}.services__filter button{appearance:none;background:transparent;border:0;color:var(--fg-muted);font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding:10px 18px;border-radius:999px;transition:background .22s var(--ease),color .22s var(--ease);white-space:nowrap}.services__filter button:hover{color:var(--fg)}.services__filter button[aria-pressed=true]{background:var(--fg);color:var(--bg)}.services-grid{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);border-radius:4px;overflow:hidden}@media(min-width:800px){.services-grid{grid-template-columns:1fr 1fr}}.service{position:relative;background:var(--bg);padding:clamp(32px,3.5vw,48px);display:flex;flex-direction:column;gap:20px;transition:background .28s var(--ease);min-height:380px}.service:hover{background:var(--bg-elev)}.service.is-hidden{display:none}.service__num{font-family:var(--font-mono);font-size:11px;letter-spacing:.22em;color:var(--fg-dim)}.service__title{font-family:var(--font-display);font-size:clamp(28px,2.5vw,36px);line-height:1.04;font-weight:400;margin:0;letter-spacing:-.01em}.service__desc{color:var(--fg-muted);font-size:15px;line-height:1.6;max-width:44ch;font-weight:300}.service__list{list-style:none;margin:auto 0 0;padding:0;display:flex;flex-direction:column;border-top:1px solid var(--line-soft)}.service__list li{display:flex;align-items:baseline;gap:14px;padding:11px 0;font-size:13.5px;color:var(--fg);border-bottom:1px solid var(--line-soft);font-weight:400}.service__list li:last-child{border-bottom:0}.service__list li:before{content:"";width:4px;height:4px;background:var(--accent);border-radius:50%;flex-shrink:0;transform:translateY(-2px)}.services-grid--compact .service{min-height:auto}.services-grid--compact .service__list{display:none}.service--clickable{cursor:pointer;transition:background .28s var(--ease),transform .28s var(--ease)}.service--clickable:hover .service__title,.service--clickable:hover .service__more{color:var(--accent)}.service--clickable:hover .service__more span:last-child{transform:translate(4px)}.service__more{margin-top:14px;display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-dim);transition:color .22s var(--ease)}.service__more span:last-child{display:inline-block;transition:transform .28s var(--ease)}.service__title{transition:color .22s var(--ease)}.services-stage{transition:opacity .24s var(--ease),transform .24s var(--ease);opacity:1}.services-stage.phase-out{opacity:0;transform:translateY(-6px)}.services-stage.phase-in{opacity:1;transform:translateY(0);animation:stage-in .32s var(--ease-out)}@keyframes stage-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.services-stack{display:flex;flex-direction:column;border-top:1px solid var(--line-soft)}.services-stack .service-row{display:grid;grid-template-columns:1fr;gap:24px;padding:clamp(36px,4.5vw,64px) 0;border-bottom:1px solid var(--line-soft);transition:background .32s var(--ease)}@media(min-width:900px){.services-stack .service-row{grid-template-columns:120px 1fr 1.2fr;gap:56px;align-items:start}}.services-stack .service-row:hover{background:color-mix(in oklch,var(--accent) 4%,transparent)}.service-row__num{font-family:var(--font-mono);font-size:11px;letter-spacing:.22em;color:var(--fg-dim);padding-top:8px}.service-row__title{font-family:var(--font-display);font-size:clamp(32px,3vw,44px);line-height:1.02;margin:0 0 16px;font-weight:400;letter-spacing:-.012em}.service-row__desc{color:var(--fg-muted);font-size:15.5px;max-width:44ch;font-weight:300}.service-row__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 24px}@media(max-width:700px){.service-row__list{grid-template-columns:1fr}}.service-row__list li{font-size:13.5px;color:var(--fg);padding:6px 0;display:flex;align-items:baseline;gap:10px}.service-row__list li:before{content:"·";color:var(--accent);font-size:18px;line-height:0}.services-stack .service-row.is-hidden{display:none}.principles{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line-soft);border:1px solid var(--line-soft)}@media(min-width:800px){.principles{grid-template-columns:repeat(3,1fr)}}.principle{background:var(--bg);padding:clamp(32px,3.2vw,44px);display:flex;flex-direction:column;gap:20px;min-height:260px}.principle__num{font-family:var(--font-display);font-size:48px;line-height:1;font-style:italic;color:var(--accent);font-weight:400}.principle__title{font-family:var(--font-display);font-size:26px;line-height:1.1;margin:0;font-weight:400;letter-spacing:-.005em}.principle__body{color:var(--fg-muted);font-size:14.5px;line-height:1.6;margin:0;font-weight:300}.tech{display:grid;grid-template-columns:1fr;gap:36px}@media(min-width:800px){.tech{grid-template-columns:1fr 1fr;gap:56px 80px}}.tech__group h4{font-family:var(--font-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--fg-dim);margin:0 0 18px;padding-bottom:14px;border-bottom:1px solid var(--line-soft);display:flex;align-items:baseline;justify-content:space-between}.tech__group h4 span{color:var(--accent)}.tech__group ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.tech__group li{font-size:13.5px;padding:7px 12px;border:1px solid var(--line);border-radius:4px;color:var(--fg);background:var(--bg);transition:border-color .2s var(--ease),color .2s var(--ease)}.tech__group li:hover{border-color:var(--accent);color:var(--accent)}.tech-specialist{margin-top:56px;padding-top:32px;border-top:1px solid var(--line-soft);display:grid;grid-template-columns:1fr;gap:24px}@media(min-width:800px){.tech-specialist{grid-template-columns:280px 1fr;gap:56px;align-items:start}}.tech-specialist__head h4{font-family:var(--font-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--fg-dim);margin:0 0 10px}.tech-specialist__head p{margin:0;font-size:13px;color:var(--fg-dim);line-height:1.55;font-style:italic;font-weight:300;max-width:30ch}.tech-specialist ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.tech-specialist li{font-size:12.5px;padding:6px 11px;border:1px dashed var(--line);border-radius:4px;color:var(--fg-muted);background:transparent;transition:border-color .2s var(--ease),color .2s var(--ease)}.tech-specialist li:hover{border-color:var(--accent);color:var(--accent);border-style:solid}.about{display:grid;grid-template-columns:1fr;gap:56px}@media(min-width:900px){.about{grid-template-columns:1.1fr 1fr;gap:88px}}.about__lead{font-family:var(--font-display);font-size:clamp(28px,2.6vw,40px);line-height:1.15;font-weight:400;margin:0 0 28px;letter-spacing:-.012em;text-wrap:balance}.about__lead em{font-style:italic;color:var(--accent)}.about p{font-size:16px;color:var(--fg-muted);line-height:1.65;margin:0 0 18px;max-width:56ch;font-weight:300}.about p strong{color:var(--fg);font-weight:500}.about__meta{border-top:1px solid var(--line-soft);padding-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:20px;font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-dim)}.about__meta div{display:flex;flex-direction:column;gap:6px}.about__meta b{color:var(--fg);font-family:var(--font-body);font-size:14px;letter-spacing:0;text-transform:none;font-weight:400}.about__portrait{position:relative;align-self:start;display:flex;flex-direction:column;gap:24px}.portrait-frame{position:relative;aspect-ratio:5/4;background:var(--bg-deep);border:1px solid var(--line-soft);overflow:hidden;border-radius:2px}.portrait-frame:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent 0 8px,color-mix(in oklch,var(--fg) 4%,transparent) 8px 9px)}.portrait-frame__label{position:absolute;bottom:16px;left:16px;font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-dim)}.etymology{position:relative;padding:32px 32px 36px;background:var(--bg-deep);border:1px solid var(--line-soft);border-radius:2px;overflow:hidden}[data-theme=light] .etymology{background:var(--bg-elev)}.etymology:before{content:'"';position:absolute;top:-32px;right:12px;font-family:var(--font-display);font-size:160px;line-height:1;color:var(--accent);opacity:.12;font-style:italic;pointer-events:none}.etymology header{display:flex;align-items:baseline;gap:14px;margin-bottom:6px}.etymology h3{font-family:var(--font-display);font-size:38px;font-weight:400;margin:0;letter-spacing:-.01em;line-height:1}.etymology__ipa{font-family:var(--font-mono);font-size:13px;color:var(--fg-muted);letter-spacing:.04em}.etymology__meta{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);margin:0 0 22px;padding-bottom:18px;border-bottom:1px solid var(--line-soft)}.etymology__meta em{font-style:italic;text-transform:lowercase;letter-spacing:.04em}.etymology__def{margin:0;font-size:17px;line-height:1.55;color:var(--fg-muted);font-weight:300}.etymology__def b{font-weight:500;color:var(--fg)}.contact-section{background:var(--bg-deep);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);position:relative;overflow:hidden}[data-theme=light] .contact-section{background:var(--bg-elev)}.contact{display:grid;grid-template-columns:1fr;gap:56px;position:relative;z-index:2}@media(min-width:900px){.contact{grid-template-columns:1fr 1.2fr;gap:88px}}.availability{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-muted);background:color-mix(in oklch,var(--bg) 70%,transparent)}.availability__dot{width:7px;height:7px;border-radius:50%;background:#5bbe62;box-shadow:0 0 0 4px color-mix(in oklch,oklch(.72 .16 145) 22%,transparent);position:relative}.availability__dot:after{content:"";position:absolute;inset:-2px;border-radius:50%;background:#5bbe62;animation:pulse 2.2s var(--ease) infinite;opacity:0}@keyframes pulse{0%{transform:scale(1);opacity:.4}to{transform:scale(3.4);opacity:0}}.contact__lede{margin-top:24px;color:var(--fg-muted);font-size:16px;line-height:1.6;max-width:42ch;font-weight:300}.contact__direct{margin-top:32px;display:flex;flex-direction:column;gap:14px}.contact__direct a{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:13px;color:var(--fg);letter-spacing:.02em;transition:color .2s var(--ease)}.contact__direct a:hover{color:var(--accent)}.contact__direct a:before{content:"→";color:var(--accent);transition:transform .28s var(--ease)}.contact__direct a:hover:before{transform:translate(3px)}.form{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px}.field{display:flex;flex-direction:column;gap:8px}.field--full{grid-column:1 / -1}.field label{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-dim)}.field input,.field textarea,.field select{font-family:var(--font-body);font-size:15px;background:var(--field);border:1px solid var(--field-border);color:var(--fg);padding:14px 16px;border-radius:3px;transition:border-color .2s var(--ease),background .2s var(--ease);width:100%}.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--accent);background:var(--bg-elev)}.field textarea{min-height:132px;resize:vertical;line-height:1.5}.field select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'><path fill='none' stroke='%23999' stroke-width='1.5' d='M1 1.5l5 5 5-5'/></svg>");background-repeat:no-repeat;background-position:right 16px center;background-size:11px;padding-right:40px}.field__error{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;color:#e85a48;min-height:14px}.form__submit{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:8px;flex-wrap:wrap}.form__note{font-family:var(--font-mono);font-size:11px;color:var(--fg-dim);letter-spacing:.1em}.form-success{padding:32px;border:1px solid var(--accent);border-radius:4px;background:color-mix(in oklch,var(--accent) 8%,transparent)}.form-success h4{font-family:var(--font-display);font-size:28px;line-height:1.1;margin:0 0 12px;font-weight:400}.form-success p{margin:0;color:var(--fg-muted);font-size:14.5px;line-height:1.6}footer{padding:56px 0 48px;border-top:1px solid var(--line-soft);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim)}footer a:hover{color:var(--accent)}.js .reveal{opacity:0;transform:translateY(14px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}.js .reveal.in{opacity:1;transform:none}.reveal.delay-1{transition-delay:80ms}.reveal.delay-2{transition-delay:.16s}.reveal.delay-3{transition-delay:.24s}.reveal.delay-4{transition-delay:.32s}.reveal.delay-5{transition-delay:.4s}.reveal.delay-6{transition-delay:.48s}@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}}.theme-toggle[data-astro-cid-lq7i5isa] .icon-moon[data-astro-cid-lq7i5isa],[data-theme=light] .theme-toggle[data-astro-cid-lq7i5isa] .icon-sun[data-astro-cid-lq7i5isa]{display:none}[data-theme=light] .theme-toggle[data-astro-cid-lq7i5isa] .icon-moon[data-astro-cid-lq7i5isa]{display:block}
