@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500 700;font-display:swap;src:url(/fonts/space-grotesk-var-latin.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/inter-var-latin.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/jetbrains-mono-var-latin.woff2)format("woff2")}:root{color-scheme:light;--color-paper:oklch(98.5% .004 250);--color-paper-2:oklch(96.2% .006 250);--color-rule:oklch(90% .008 252);--color-rule-2:oklch(84% .012 252);--color-neutral:oklch(50% .016 256);--color-muted:oklch(44% .02 256);--color-ink:oklch(24% .02 258);--color-ink-2:oklch(34% .018 257);--color-graphite:oklch(22% .016 260);--color-graphite-2:oklch(27% .018 260);--color-graphite-ink:oklch(93% .008 255);--color-graphite-muted:oklch(72% .015 255);--color-graphite-rule:oklch(34% .018 260);--color-accent:oklch(54% .2 256);--color-accent-hover:oklch(52% .2 256);--color-accent-ink:oklch(98.5% .004 250);--color-accent-soft:oklch(72% .12 256);--color-focus:oklch(58% .2 256);--color-error:oklch(50% .19 25);--color-scrim:oklch(24% .02 258/.12);--font-display:"Space Grotesk", ui-sans-serif, system-ui, sans-serif;--font-body:"Inter", ui-sans-serif, system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--text-xs:.72rem;--text-sm:.8rem;--text-base:1rem;--text-md:1.25rem;--text-lg:1.5625rem;--text-xl:1.9531rem;--text-2xl:2.4414rem;--text-display-s:clamp(1.9531rem, 2.6vw + 1rem, 2.4414rem);--text-display:clamp(2.4414rem, 3.6vw + 1rem, 3.6rem);--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-micro:.12s;--dur-short:.22s;--dur-long:.42s;--shadow-whisper:0 1px 2px oklch(24% .02 258/.05);--radius-control:6px;--radius-card:10px;--page-gutter:clamp(1rem, 4vw, 2.5rem);--measure:65ch;--z-base:1;--z-sticky:200}html,body{overflow-x:clip}body{background:var(--color-paper);color:var(--color-ink-2);font-family:var(--font-body);font-size:var(--text-base);-webkit-font-smoothing:antialiased;background-image:url(/images/paper-cardstock-v1.svg);background-repeat:repeat;background-size:8rem 8rem;margin:0;font-weight:400;line-height:1.6}h1,h2,h3{font-family:var(--font-display);color:var(--color-ink);letter-spacing:-.02em;overflow-wrap:anywhere;min-width:0;margin:0;font-style:normal;font-weight:600;line-height:1.12}p{max-width:var(--measure);margin:0}a{color:inherit}::selection{background:var(--color-accent);color:var(--color-accent-ink)}:focus{outline:none}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;border-radius:var(--radius-control)}.skip-link{z-index:100;padding:var(--space-2xs) var(--space-sm);background:var(--color-accent);color:var(--color-accent-ink);font-family:var(--font-mono);font-size:var(--text-sm);border-radius:0 0 var(--radius-control) 0;text-decoration:none;position:absolute;top:0;left:0;transform:translateY(-150%)}.skip-link:focus-visible{transform:none}main:focus,main:focus-visible{outline:none}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.wrap{max-width:72rem;padding-inline:var(--page-gutter);margin-inline:auto}section[id]{scroll-margin-top:var(--space-3xl)}.nav{z-index:var(--z-sticky);border-bottom:1px solid var(--color-rule);background:var(--color-paper);position:sticky;top:0}.nav__inner{padding-block:var(--space-md);justify-content:space-between;align-items:center;display:flex}.nav__links{align-items:center;gap:var(--space-lg);display:flex}.nav__menu{display:none}.nav__menu-fallback{display:block}.nav__menu-popover-toggle{display:none}.nav__menu-toggle{box-sizing:border-box;align-items:center;gap:var(--space-xs);min-height:44px;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-control);color:var(--color-ink);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);user-select:none;white-space:nowrap;z-index:2;background:0 0;border:1px solid #0000;font-weight:500;list-style:none;display:inline-flex;position:relative}.nav__menu-toggle::-webkit-details-marker{display:none}.nav__menu-icon{gap:4px;inline-size:18px;display:grid}.nav__menu-icon span{transform-origin:50%;block-size:1px;transition:opacity var(--dur-short) var(--ease-out), transform var(--dur-short) var(--ease-out);background:currentColor;display:block}.nav__menu-label--close{display:none}.nav__menu:has(#mobile-site-menu:popover-open) .nav__menu-label--open{display:none}.nav__menu:has(#mobile-site-menu:popover-open) .nav__menu-label--close{display:inline}.nav__menu:has(#mobile-site-menu:popover-open) .nav__menu-icon span:first-child{transform:translateY(5px)rotate(45deg)}.nav__menu:has(#mobile-site-menu:popover-open) .nav__menu-icon span:nth-child(2){opacity:0}.nav__menu:has(#mobile-site-menu:popover-open) .nav__menu-icon span:last-child{transform:translateY(-5px)rotate(-45deg)}.nav__menu-fallback[open] .nav__menu-label--open{display:none}.nav__menu-fallback[open] .nav__menu-label--close{display:inline}.nav__menu-fallback[open] .nav__menu-icon span:first-child{transform:translateY(5px)rotate(45deg)}.nav__menu-fallback[open] .nav__menu-icon span:nth-child(2){opacity:0}.nav__menu-fallback[open] .nav__menu-icon span:last-child{transform:translateY(-5px)rotate(-45deg)}@media (hover:hover){.nav__menu-toggle:hover{background:var(--color-paper-2)}}.nav__menu-panel{gap:var(--space-2xs);width:100%;padding:var(--space-sm) var(--page-gutter) var(--space-lg);border-top:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule-2);background:var(--color-paper);box-shadow:var(--shadow-whisper);box-sizing:border-box;z-index:1;margin:0;display:none;position:absolute;inset:100% 0 auto}.nav__menu-fallback[open] .nav__menu-panel--fallback{display:grid}@supports selector(:popover-open) and (position-anchor:--mobile-menu-toggle) and (top:anchor(bottom)){.nav__menu-fallback{display:none}.nav__menu-popover-toggle{anchor-name:--mobile-menu-toggle;display:inline-flex}.nav__menu-panel--fallback{display:none}.nav__menu-panel--popover{inset:auto 0;top:anchor(bottom);position-anchor:--mobile-menu-toggle;width:auto;position:fixed}.nav__menu-panel--popover:popover-open{display:grid}.nav__menu-panel--popover::backdrop{background:var(--color-scrim)}}.nav__menu-panel .link-quiet{min-height:44px;padding:var(--space-xs) var(--space-sm);align-items:center;text-decoration:none;display:flex}@media (hover:hover){.nav__menu-panel .link-quiet:hover{background:var(--color-paper-2);border-radius:var(--radius-control)}}.nav__menu-panel .btn{width:100%;margin-top:var(--space-xs)}.wordmark{align-items:center;text-decoration:none;display:flex}.wordmark__logo{width:auto;height:56px;display:block}.btn{font-family:var(--font-body);font-weight:500;font-size:var(--text-base);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-control);cursor:pointer;white-space:nowrap;box-sizing:border-box;min-height:44px;transition:background-color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-out);border:1px solid #0000;justify-content:center;align-items:center;line-height:1;text-decoration:none;display:inline-flex}.btn--primary{background:var(--color-accent);color:var(--color-accent-ink)}@media (hover:hover){.btn--primary:hover{background:var(--color-accent-hover);transform:translateY(-1px)}}.btn--primary:active{transform:translateY(1px)}.btn--primary:focus-visible{outline-color:var(--color-ink)}.btn--primary:disabled{opacity:.55;cursor:not-allowed;transform:none}.link-quiet{font-family:var(--font-body);color:var(--color-ink-2);text-decoration:underline;text-decoration-color:var(--color-rule-2);text-underline-offset:4px;white-space:nowrap;transition:text-decoration-color var(--dur-short) var(--ease-out);font-weight:500;text-decoration-thickness:1px}@media (hover:hover){.link-quiet:hover{text-decoration-color:var(--color-accent);text-decoration-thickness:2px}}.link-quiet:active{color:var(--color-ink)}.hero{gap:var(--space-2xl);padding-block:var(--space-2xl) var(--space-3xl);grid-template-columns:7fr 5fr;align-items:center;display:grid}.hero h1{font-size:var(--text-display)}.hero__lede{margin-top:var(--space-lg);font-size:var(--text-md);color:var(--color-neutral);max-width:46ch;line-height:1.55}.hero__actions{margin-top:var(--space-xl);align-items:center;gap:var(--space-lg);flex-wrap:wrap;display:flex}.diff-card{background:var(--color-graphite);color:var(--color-graphite-ink);border:1px solid var(--color-graphite-rule);border-radius:var(--radius-card);box-shadow:var(--shadow-whisper);font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.7;overflow-x:auto}.diff-card__label{justify-content:space-between;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-graphite-rule);color:var(--color-graphite-muted);font-size:var(--text-sm);letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;font-weight:500;display:flex}.diff-card pre{padding:var(--space-md);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.diff-card .del{color:var(--color-graphite-muted)}.diff-card .add{color:var(--color-graphite-ink)}.diff-card .sign{color:var(--color-accent-soft)}.status-chip{color:var(--color-accent-soft);font-weight:500}.head-hang{padding-block:var(--space-2xl) var(--space-xl)}.head-hang h2{font-size:var(--text-display-s)}.head-hang p{margin-top:var(--space-sm);color:var(--color-neutral)}.spec{border-collapse:collapse;border-top:1px solid var(--color-rule-2);width:100%;margin-bottom:var(--space-2xl)}.spec thead th{padding-block:var(--space-sm);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);border-bottom:1px solid var(--color-rule-2);font-weight:500}.spec th,.spec td{border-bottom:1px solid var(--color-rule);padding:var(--space-lg) var(--space-md) var(--space-lg) 0;text-align:left;vertical-align:top;font-weight:400}.spec th{font-family:var(--font-display);font-weight:600;font-size:var(--text-md);color:var(--color-ink);letter-spacing:-.01em;width:30%}.spec td{color:var(--color-ink-2)}.spec__price{margin-top:var(--space-xs);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.04em;font-variant-numeric:tabular-nums;color:var(--color-accent-hover);font-weight:400;display:block}.spec__note{margin:calc(-1 * var(--space-xl)) 0 var(--space-2xl);max-width:62ch;color:var(--color-muted)}.spec th a{color:inherit;text-decoration:underline;text-decoration-color:var(--color-rule-2);text-decoration-thickness:1px}@media (hover:hover){.spec th a:hover{text-decoration-color:var(--color-accent);text-decoration-thickness:2px}}.spec td:last-child{color:var(--color-muted);width:26%;padding-right:0}.plate{margin:0}.plate img{aspect-ratio:3/2;object-fit:cover;border:1px solid var(--color-rule-2);border-radius:var(--radius-card);background:var(--color-paper-2);filter:saturate(.48)contrast(1.04);width:100%;height:auto;display:block}.plate figcaption{margin-top:var(--space-sm);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-muted);line-height:1.5}.plate--wide{margin-bottom:var(--space-3xl)}.plate--wide img{aspect-ratio:22/10}.band{background:var(--color-graphite);color:var(--color-graphite-ink);padding-block:var(--space-3xl)}.band h2{color:var(--color-graphite-ink);font-size:var(--text-display-s)}.band .band__intro{margin-top:var(--space-sm);color:var(--color-graphite-muted)}.steps{margin:var(--space-2xl) 0 0;gap:var(--space-xl);max-width:46rem;padding:0;list-style:none;display:grid}.steps li{gap:var(--space-md);border-top:1px solid var(--color-graphite-rule);padding-top:var(--space-lg);grid-template-columns:4.5rem 1fr;display:grid}.steps .stage{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-accent-soft);letter-spacing:.06em;font-variant-numeric:tabular-nums;padding-top:var(--space-2xs);font-weight:500}.steps h3{color:var(--color-graphite-ink);font-size:var(--text-md)}.steps p{margin-top:var(--space-xs);color:var(--color-graphite-muted)}.contact{gap:var(--space-2xl);padding-block:var(--space-3xl);grid-template-columns:5fr 7fr;align-items:start;display:grid}.contact__intro h2{font-size:var(--text-display-s)}.contact__intro p{margin-top:var(--space-md);color:var(--color-muted);max-width:45ch}.field{margin-bottom:var(--space-lg);display:block}.field__label{font-weight:500;font-size:var(--text-sm);color:var(--color-ink);margin-bottom:var(--space-xs);display:block}.field__input{box-sizing:border-box;width:100%;min-height:44px;padding:var(--space-sm) var(--space-md);font-family:var(--font-body);font-size:var(--text-base);color:var(--color-ink);background:var(--color-paper);border:1px solid var(--color-rule-2);border-radius:var(--radius-control);outline-offset:1px;transition:background-color var(--dur-short) var(--ease-out);outline:2px solid #0000;display:block}textarea.field__input{resize:vertical;min-height:8rem}@media (hover:hover){.field__input:hover{background:var(--color-paper-2)}}.field__input:focus-visible{outline:2px solid var(--color-focus);border-color:var(--color-ink-2)}.field__input::placeholder{color:var(--color-muted)}.field__input[aria-invalid=true]{border-color:var(--color-error)}.field__hint{min-height:1lh;font-size:var(--text-sm);color:var(--color-muted);margin-top:var(--space-2xs);display:block}.form-status{min-height:1lh;margin-top:var(--space-sm);font-size:var(--text-sm);max-width:none}.form-status[data-tone=error]{color:var(--color-error)}.form-status[data-tone=ok]{color:var(--color-ink)}.hp-field{position:absolute;left:-9999px}.foot-line{border-top:1px solid var(--color-rule);padding-block:var(--space-xl) var(--space-2xl)}.foot-line p{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-muted);max-width:none}.foot-line a{color:var(--color-ink-2);text-underline-offset:3px}@media (width<=60rem){.hero,.contact{gap:var(--space-xl);grid-template-columns:minmax(0,1fr)}.hero{padding-block:var(--space-xl) var(--space-2xl)}.spec thead{display:none}.spec th,.spec td{border:0;width:auto;padding:0;display:block}.spec tr{border-bottom:1px solid var(--color-rule);padding-block:var(--space-lg);display:block}.spec td{margin-top:var(--space-xs)}.spec td:before{content:attr(data-label);margin-bottom:var(--space-2xs);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);font-weight:500;display:block}.spec td:last-child{width:auto;color:var(--color-muted)}.plate--wide{margin-bottom:var(--space-2xl)}.plate--wide img{aspect-ratio:16/10}.wordmark__logo{height:40px}.nav__links{display:none}.nav__menu{display:block}}@media (width<=40rem){.hero h1{font-size:var(--text-display-s)}.steps li{gap:var(--space-xs);grid-template-columns:minmax(0,1fr)}.foot-line p{line-height:2}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important}.diff-card__pane{transition-delay:0s!important}}.diff-card{margin:0;position:relative}.diff-card__radio{opacity:0;block-size:1px;inline-size:1px;margin:0;position:static}.diff-card__label{padding-block:var(--space-xs);align-items:center}.diff-card__switch{gap:var(--space-2xs);border:0;flex:none;margin:0;padding:0;display:flex}.diff-card__switch label{border:1px solid var(--color-graphite-rule);border-radius:var(--radius-control);padding:var(--space-2xs) var(--space-sm);box-sizing:border-box;cursor:pointer;min-height:44px;color:var(--color-graphite-muted);transition:transform var(--dur-micro) var(--ease-out);white-space:nowrap;align-items:center;display:inline-flex}.diff-card__switch label:has(.diff-card__radio:focus-visible){outline:2px solid var(--color-accent-soft);outline-offset:2px}@media (hover:hover){.diff-card__switch label:hover{color:var(--color-graphite-ink);transform:translateY(-1px)}}.diff-card__title--before{display:none}.diff-card__title{overflow-wrap:anywhere;min-width:0}.diff-card:has(#diff-before:checked) .diff-card__switch label[for=diff-before],.diff-card:has(#diff-after:checked) .diff-card__switch label[for=diff-after]{border-color:var(--color-accent-soft);background:var(--color-graphite-2);color:var(--color-accent-soft)}.diff-card__panes{display:grid}.diff-card__pane--compact{display:none}.diff-card__pane{padding:var(--space-md);box-sizing:border-box;opacity:0;visibility:hidden;min-width:0;transition:opacity var(--dur-long) var(--ease-in-out), transform var(--dur-long) var(--ease-in-out), visibility 0s linear var(--dur-long);grid-area:1/1;margin:0;transform:translate(.5rem)}.diff-card__pane--after{opacity:1;visibility:visible;transition-delay:0s,0s,0s;transform:none}.diff-card:has(#diff-before:checked) .diff-card__title--before{display:inline}.diff-card:has(#diff-before:checked) .diff-card__title--after{display:none}.diff-card:has(#diff-before:checked) .diff-card__pane--before{opacity:1;visibility:visible;transition-delay:0s,0s,0s;transform:none}.diff-card:has(#diff-before:checked) .diff-card__pane--after{opacity:0;visibility:hidden;transition-delay:0s, 0s, var(--dur-long);transform:translate(-.5rem)}.cred-strip{margin:0 0 var(--space-2xl);padding:var(--space-md) 0 0;border-top:1px solid var(--color-rule);gap:var(--space-xs) var(--space-xl);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.04em;color:var(--color-muted);flex-wrap:wrap;list-style:none;display:flex}.work{padding-bottom:var(--space-3xl)}.work__grid{gap:var(--space-lg);grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:start;display:grid}.work__item{border-top:1px solid var(--color-rule-2);padding-top:var(--space-lg);gap:var(--space-sm);align-content:start;min-width:0;display:grid}.work__item h3{font-size:var(--text-md);letter-spacing:-.01em}.work__title{color:inherit;text-decoration-color:var(--color-rule-2);text-underline-offset:.16em;text-decoration-thickness:1px}@media (hover:hover){.work__title:hover{text-decoration-color:var(--color-accent);text-decoration-thickness:2px}}.work__item p{color:var(--color-muted);margin:0}.work__thumb{aspect-ratio:2;object-fit:cover;border:1px solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-paper-2);width:100%;height:auto;display:block}.work__item:first-child .work__thumb{aspect-ratio:3/2}.work__item:nth-child(2){margin-top:var(--space-xl)}.work__tag{font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.06em;text-transform:uppercase;color:var(--color-accent-hover)!important}.work__meta{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-neutral)!important}.contact__facts{margin:var(--space-xl) 0 0;gap:var(--space-lg);max-width:40ch;display:grid}.contact__fact{border-top:1px solid var(--color-rule);padding-top:var(--space-md)}.contact__fact dt{font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted)}.contact__fact dd{margin:var(--space-xs) 0 0;color:var(--color-ink-2)}.band .contact__facts dt{color:var(--color-graphite-muted)}.band .contact__facts dd{color:var(--color-graphite-ink)}.band .contact__fact{border-top-color:var(--color-graphite-rule)}@media (width<=60rem){.work__grid{gap:var(--space-xl);grid-template-columns:minmax(0,1fr)}.work__item:nth-child(2){margin-top:0}}@media (width<=40rem){.cred-strip{gap:var(--space-2xs) var(--space-lg)}.diff-card__label{align-items:flex-start;gap:var(--space-xs);flex-direction:column}.diff-card__pane{padding:var(--space-sm);font-size:var(--text-xs);letter-spacing:-.02em;line-height:1.55}.diff-card__pane--wide{display:none}.diff-card__pane--compact{display:block}}
