@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/hanken-grotesk-400.woff2) format("woff2")}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/hanken-grotesk-500.woff2) format("woff2")}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/hanken-grotesk-600.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-400.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jetbrains-mono-500.woff2) format("woff2")}:root{--kova-paper: #F4F2ED;--kova-surface: #FBFAF6;--kova-sunken: #ECE9E1;--kova-ink: #1B1A17;--kova-ink-secondary: #575349;--kova-ink-tertiary: #8A8478;--kova-line: #E4E0D6;--kova-line-strong: #D3CEC2;--kova-ember: #C2410C;--kova-ember-hover: #9A330A;--kova-ember-wash: #F7E9E0;--kova-focus: var(--kova-ember);--kova-ink-press: #000000;--font-sans: "Söhne", "Hanken Grotesk", "Helvetica Neue", Arial, sans-serif;--font-mono: "Söhne Mono", "JetBrains Mono", ui-monospace, "SFMono-Regular", monospace;--text-display-xl: clamp(2.75rem, 6vw, 4.5rem);--text-display-l: clamp(2.25rem, 4vw, 3.25rem);--text-h1: 2.5rem;--text-h2: clamp(1.75rem, 3.2vw, 1.875rem);--text-h3: 1.375rem;--text-h4: 1.125rem;--text-body-lg: 1.125rem;--text-body: 1rem;--text-sm: .875rem;--text-label: .75rem;--text-micro: .6875rem;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--space-16: 64px;--space-24: 96px;--space-32: 128px;--container: 1200px;--container-wide: 1360px;--measure: 68ch;--gutter: 24px;--margin: clamp(20px, 5vw, 80px);--section-y: clamp(72px, 10vw, 128px);--section-y-tight: clamp(48px, 7vw, 88px);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-phone: 34px;--shadow-none: none;--shadow-raised: 0 1px 2px rgba(27, 26, 23, .04), 0 2px 8px rgba(27, 26, 23, .03);--shadow-frame: 0 1px 2px rgba(27, 26, 23, .04), 0 30px 60px -24px rgba(27, 26, 23, .14);--ease-out: cubic-bezier(.16, 1, .3, 1);--dur-fast: .15s;--dur: .24s;--dur-slow: .48s;color-scheme:light}@media(prefers-color-scheme:dark){:root{--kova-paper: #141310;--kova-surface: #1D1B17;--kova-sunken: #0E0D0B;--kova-ink: #EDE9E0;--kova-ink-secondary: #A8A296;--kova-ink-tertiary: #78736A;--kova-line: #2B2823;--kova-line-strong: #3A362F;--kova-ember: #F26A3D;--kova-ember-hover: #F7855E;--kova-ember-wash: #241813;--kova-ink-press: var(--kova-ember-hover);--shadow-frame: 0 1px 2px rgba(0, 0, 0, .4), 0 30px 60px -24px rgba(0, 0, 0, .55);color-scheme:dark}}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--font-sans);font-weight:400;font-size:var(--text-body);line-height:1.6;color:var(--kova-ink);background:var(--kova-paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}img,svg{display:block;max-width:100%}a{color:inherit}ul,ol{list-style:none;padding:0}strong{font-weight:600;color:var(--kova-ink)}::selection{background:var(--kova-ember);color:var(--kova-paper)}:focus-visible{outline:2px solid var(--kova-focus);outline-offset:2px;border-radius:2px}.skip-link{position:absolute;left:50%;top:-60px;transform:translate(-50%);z-index:200;background:var(--kova-ink);color:var(--kova-paper);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;text-decoration:none;transition:top var(--dur) var(--ease-out)}.skip-link:focus{top:var(--space-2)}#nav-sentinel{position:absolute;top:0;left:0;width:1px;height:8px;pointer-events:none}.wrap{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--margin)}.eyebrow{font-family:var(--font-mono);font-size:var(--text-label);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--kova-ink-tertiary);margin-bottom:var(--space-4)}.mono-tick{font-family:var(--font-mono);color:var(--kova-ember)}.wordmark{display:inline-flex;align-items:center;gap:var(--space-3);text-decoration:none;color:var(--kova-ink)}.wordmark .mark{color:var(--kova-ink)}.wordmark__type{font-family:var(--font-sans);font-weight:600;font-size:1.3rem;letter-spacing:-.02em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:44px;padding:0 var(--space-6);border:0;border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;line-height:1;white-space:nowrap;text-decoration:none;cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.btn--sm{height:36px;padding:0 var(--space-4)}.btn--primary{background:var(--kova-ink);color:var(--kova-paper)}.btn--primary:hover{transform:translateY(-1px);background:var(--kova-ink-press)}.btn--primary:active{transform:translateY(0)}.btn--ember{background:var(--kova-ember);color:var(--kova-paper)}@media(prefers-color-scheme:dark){.btn--ember{color:#141310}}.btn--ember:hover{transform:translateY(-1px);background:var(--kova-ember-hover)}.btn--ember:active{transform:translateY(0)}.btn--ghost{background:transparent;color:var(--kova-ink);border:1px solid var(--kova-line-strong)}.btn--ghost:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--kova-ink) 4%,transparent);border-color:var(--kova-ink)}.btn--ghost:active{transform:translateY(0)}.link-cta{display:inline-block;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;color:var(--kova-ink);text-decoration:none;padding-bottom:2px;border-bottom:1px solid transparent;transition:color var(--dur-fast),border-color var(--dur-fast)}.link-cta:after{content:" →";color:var(--kova-ember)}.link-cta:hover{color:var(--kova-ember);border-bottom-color:var(--kova-ember)}.prose{max-width:var(--measure)}.prose p{font-size:var(--text-body-lg)}.prose p+p{margin-top:var(--space-6)}.prose__quiet{color:var(--kova-ink-secondary);font-size:var(--text-body)!important}.prose a{color:var(--kova-ink);text-decoration:none;border-bottom:1px solid var(--kova-ember);padding-bottom:1px;transition:color var(--dur-fast)}.prose a:hover{color:var(--kova-ember)}.section{padding-block:var(--section-y)}.section--line{border-top:1px solid var(--kova-line)}.section__head{max-width:44ch;margin-bottom:var(--space-16)}.section__head--faq{max-width:40ch}.section__title{font-size:var(--text-h2);font-weight:500;line-height:1.15;letter-spacing:-.02em;text-wrap:balance}.section__intro{margin-top:var(--space-6);max-width:var(--measure);font-size:var(--text-body-lg);color:var(--kova-ink-secondary)}.js .reveal{opacity:0;transform:translateY(12px);transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out);will-change:opacity,transform}.js .reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}*{animation:none!important;transition:none!important}}.js .reveal--1{transition-delay:60ms}.js .reveal--2{transition-delay:.12s}.js .reveal--3{transition-delay:.18s}@media(prefers-reduced-motion:reduce){.js .reveal--1,.js .reveal--2,.js .reveal--3{transition-delay:0ms}}.wrap--wide{max-width:var(--container-wide)}.demo-badge{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-micro);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--kova-ember);background:var(--kova-ember-wash);border:1px solid color-mix(in srgb,var(--kova-ember) 20%,transparent);border-radius:9999px;padding:3px var(--space-3);white-space:nowrap}@media(prefers-color-scheme:dark){.demo-badge{color:var(--kova-ember-hover)}}.metric-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.metric{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:var(--text-micro);font-weight:500;letter-spacing:.04em;color:var(--kova-ink-secondary);background:var(--kova-surface);border:1px solid var(--kova-line-strong);border-radius:var(--radius-sm);padding:4px var(--space-3);white-space:nowrap}.metric--pending{color:var(--kova-ink-tertiary);border-style:dashed}.metric__dot{width:5px;height:5px;border-radius:9999px;background:var(--kova-ink-tertiary)}.metric--pending .metric__dot{background:var(--kova-warning)}.work-tag{font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--kova-ink-tertiary)}.work{display:grid;gap:var(--space-4)}.work__media{transition:transform var(--dur) var(--ease-out)}.js .work:hover .work__media{transform:translateY(-4px)}.work__caption{display:grid;gap:var(--space-3)}.work__titlerow{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between}.work__title{font-size:var(--text-h4);font-weight:500;letter-spacing:-.01em}.work__desc{font-size:var(--text-sm);color:var(--kova-ink-secondary)}.gallery{display:grid;gap:var(--space-12) var(--space-8);grid-template-columns:repeat(6,1fr)}.gallery>.feature{grid-column:span 6}.gallery>.half{grid-column:span 3}.gallery>.third{grid-column:span 2}@media(max-width:900px){.gallery{grid-template-columns:repeat(2,1fr);gap:var(--space-12) var(--space-6)}.gallery>.feature,.gallery>.half,.gallery>.third{grid-column:span 2}}@media(max-width:640px){.gallery{grid-template-columns:1fr}.gallery>*{grid-column:auto}}.product-band{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6)}.product-tile{display:grid;gap:var(--space-3)}.product-tile__img{aspect-ratio:4 / 5;border-radius:var(--radius-md);border:1px solid var(--kova-line);overflow:hidden}.product-tile__name{font-size:var(--text-sm);font-weight:500}.product-tile__price{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--kova-ink-secondary)}@media(max-width:768px){.product-band{grid-template-columns:repeat(2,1fr)}}.techstrip{display:grid;gap:var(--space-8);justify-items:center;text-align:center}.techstrip__label{font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--kova-ink-tertiary)}.techstrip__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(24px,4vw,56px)}.techstrip__logo{color:var(--kova-ink-secondary);height:26px;width:auto;opacity:.9}@media(prefers-color-scheme:dark){.techstrip__logo{color:var(--kova-ink-tertiary)}}
