/* Local, unchanged font binaries; no third-party CSS request. */
@font-face {
  font-family: 'DM Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/aFTU7PB1QTsUX8KYthSQBLyM.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'DM Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/aFTU7PB1QTsUX8KYthqQBA.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'DM Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/aFTR7PB1QTsUX8KYvumzEY2tbZX9.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'DM Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/aFTR7PB1QTsUX8KYvumzEYOtbQ.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/fonts/xn7gYHE41ni1AdIRggqxSuXd.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/fonts/xn7gYHE41ni1AdIRggOxSuXd.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/fonts/xn7gYHE41ni1AdIRggSxSuXd.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/fonts/xn7gYHE41ni1AdIRggixSuXd.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/fonts/xn7gYHE41ni1AdIRggmxSuXd.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/fonts/xn7gYHE41ni1AdIRggexSg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
  :root {
  --font-sans:Manrope,system-ui,sans-serif;
  --font-mono:"DM Mono",monospace;
  --weight-regular:400;
  --weight-medium:500;
  --weight-semibold:600;
  --weight-bold:700;
  --weight-heavy:800;
  --size-hero:clamp(1.5rem,1.4rem + .25vw,1.625rem);
  --size-display:clamp(3.5rem,1.75rem + 6.5vw,9.25rem);
  --size-h1:clamp(3rem,1.5rem + 5vw,7.5rem);
  --size-h2:clamp(2.3125rem,1.5rem + 3vw,4.25rem);
  --size-h3:clamp(1.125rem,.9rem + .8vw,1.6875rem);
  --size-body-lg:clamp(1rem,.95rem + .2vw,1.125rem);
  --size-body:clamp(.875rem,.825rem + .2vw,1rem);
  --size-label:clamp(.6875rem,.65rem + .15vw,.75rem);
  --size-caption:clamp(.75rem,.7rem + .2vw,.875rem);
  --size-link:clamp(.875rem,.8rem + .3vw,1rem);
  --leading-display:.95;
  --leading-heading:1.05;
  --leading-tight:1.2;
  --leading-label:1.5;
  --leading-body:1.7;
  --tracking-brand:-.08em;
  --tracking-display:-.075em;
  --tracking-heading:-.05em;
  --tracking-tight:-.04em;
  --tracking-body:0em;
  --tracking-label:.1em;
  --space-1:.25rem;
  --space-2:.5rem;
  --space-3:.75rem;
  --space-4:1rem;
  --space-5:1.5rem;
  --space-6:2rem;
  --space-7:2.5rem;
  --space-8:3.5rem;
  --space-9:4.5rem;
  --space-10:6.25rem;
  --space-11:7.5rem;
  --page-gutter:clamp(1.5rem,8vw,10rem);
  --header-gutter:clamp(1.5rem,4vw,5rem);
  --content-width:90rem;
  --content-reading:35.625rem;
  --content-narrow:29.375rem;
  --section-space:clamp(4rem,8vw,6.25rem);
  --header-height:5.625rem;
  --ink:#111522;
  --paper:#f5f3ee;
  --muted:#6f7380;
  --accent:#5145e5;
  --line:#d9d7d0;
}
* {
  box-sizing:border-box
}
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-sans);
  font-size:var(--size-body);
  font-weight:var(--weight-regular);
  line-height:var(--leading-body);
  letter-spacing:var(--tracking-body)
}
:where(h1,h2,h3,p) {
  margin-block:0 var(--space-5)
}
a {
  color:inherit;
  text-decoration:none
}
button {
  font:inherit
}
:focus-visible {
  outline:2px solid currentColor;
  outline-offset:5px
}
:where([class*="type-"]) {
  font-family:var(--font-sans);
  font-size:var(--size-body);
  font-weight:var(--weight-regular);
  line-height:var(--leading-body);
  letter-spacing:var(--tracking-body)
}
.type-hero {
  font-family:var(--font-sans);
  font-size:var(--size-hero);
  font-weight:var(--weight-heavy);
  line-height:var(--leading-tight);
  letter-spacing:var(--tracking-brand)
}
.type-display {
  font-size:var(--size-display);
  font-weight:var(--weight-bold);
  line-height:var(--leading-display);
  letter-spacing:var(--tracking-display)
}
.type-h1 {
  font-size:var(--size-h1);
  font-weight:var(--weight-bold);
  line-height:var(--leading-display);
  letter-spacing:var(--tracking-display)
}
.type-h2 {
  font-size:var(--size-h2);
  font-weight:var(--weight-bold);
  line-height:var(--leading-heading);
  letter-spacing:var(--tracking-heading)
}
.type-h3 {
  font-size:var(--size-h3);
  font-weight:var(--weight-semibold);
  line-height:var(--leading-tight);
  letter-spacing:var(--tracking-tight)
}
.type-body-lg {
  font-size:var(--size-body-lg)
}
.type-body {
  font-size:var(--size-body)
}
.type-label {
  font-family:var(--font-mono);
  font-size:var(--size-label);
  font-weight:var(--weight-medium);
  line-height:var(--leading-label);
  letter-spacing:var(--tracking-label)
}
.type-caption {
  font-size:var(--size-caption)
}
.type-link {
  font-family:var(--font-mono);
  font-size:var(--size-link);
  font-weight:var(--weight-medium);
  line-height:var(--leading-label)
}
.site-header {
  position:fixed;
  z-index:10;
  inset:0 0 auto;
  height:var(--header-height);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-5);
  padding-inline:var(--header-gutter);
  border-bottom:1px solid transparent;
  transition:background var(--duration-ui) var(--ease-ui),border-color var(--duration-ui) var(--ease-ui)
}
.site-header.scrolled {
  background:var(--surface-header);
  border-color:var(--line);
  backdrop-filter:blur(var(--surface-header-blur))
}
.wordmark {
  flex-shrink:0
}
.wordmark span,.header-link span {
  color:var(--accent)
}
.header-note {
  color:var(--muted)
}
.contact-link,.text-link {
  border-bottom:1px solid currentColor;
  padding-bottom:var(--space-2);
  width:fit-content;
  max-width:100%;
  overflow-wrap:anywhere
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:var(--space-3) var(--space-5);
  border:1px solid var(--accent);
  background:var(--accent);
  color:var(--color-white);
  cursor:pointer
}
.button-secondary {
  background:transparent;
  color:var(--accent)
}
.button:hover {
  filter:brightness(.9)
}
@media(max-width:700px) {
  :root {
  --page-gutter:1.5rem;
  --header-gutter:1.5rem;
  --header-height:4.6875rem
}
.header-note {
  display:none
}

}
@media(prefers-reduced-motion:reduce) {
.site-header {
  transition:none
}

}

/* Global Quality Rules: content must shrink and wrap; never mask the document. */
:where(main,section,header,footer,nav,article,div,figure) { min-inline-size:0; }
:where(h1,h2,h3,p,a,strong,small,span,code,time) { overflow-wrap:anywhere; }
:where(img,video,svg,canvas) { max-inline-size:100%; }
