@font-face{font-family:"Funnel Sans";src:url("../fonts/FunnelSans-VariableFont_wght.ttf") format("truetype-variations"),url("../fonts/FunnelSans-VariableFont_wght.ttf") format("truetype");font-weight:300 800;font-style:normal;font-display:swap}
@font-face{font-family:"Funnel Sans";src:url("../fonts/FunnelSans-Italic-VariableFont_wght.ttf") format("truetype-variations"),url("../fonts/FunnelSans-Italic-VariableFont_wght.ttf") format("truetype");font-weight:300 800;font-style:italic;font-display:swap}

html{font-family:var(--font-sans);font-size:100%;color:var(--color-ink);background:var(--color-bg);text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{font-size:1.0625rem;line-height:1.6}
h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.15;color:var(--color-ink);letter-spacing:-0.025em}
h1{font-size:clamp(1.95rem,4.6vw,3.2rem);margin-bottom:var(--space-5);font-weight:800;letter-spacing:-0.035em;line-height:1.05}
h2{font-size:clamp(1.5rem,3.2vw,2.15rem);margin-block:var(--space-7) var(--space-4);font-weight:750;letter-spacing:-0.03em}
h3{font-size:clamp(1.18rem,2vw,1.4rem);margin-block:var(--space-5) var(--space-3)}
h4{font-size:1.05rem;margin-block:var(--space-4) var(--space-2)}
p{max-width:68ch;margin-block:var(--space-3)}
p:last-child{margin-bottom:0}
ul,ol{max-width:68ch;margin-block:var(--space-3)}
li+li{margin-top:var(--space-2)}
a{color:var(--color-link);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:rgba(78,152,217,.45)}
a:hover{color:var(--color-link-hover);text-decoration-color:var(--color-link-hover)}
strong{font-weight:600;color:var(--color-ink)}
code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:0.92em}
pre{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-4);overflow-x:auto;line-height:1.45;white-space:pre}
hr{border:0;border-top:1px solid var(--color-border);margin:var(--space-7) 0}
figure{margin:var(--space-6) 0}
figcaption{margin-top:var(--space-3);color:var(--color-muted);font-size:0.93em}
small{color:var(--color-muted);font-size:0.88em}
::selection{color:var(--color-bg);background:var(--color-ink)}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after{animation-duration:0.001ms!important;animation-iteration-count:1!important;transition-duration:0.001ms!important;scroll-behavior:auto!important}
}
@media (prefers-reduced-motion: no-preference) {
  html{scroll-behavior:smooth}
}
