@layer reset,tokens,layout,animations,components,contact,cv,in-view,wip,forms,a11y;@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/v24-tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwgknk-6nFg.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/v24-tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwgknk-6nFg.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/v24-tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwgknk-6nFg.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/v24-tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwgknk-6nFg.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/v24-tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwgknk-6nFg.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/v24-tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwgknk-4.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/v24-tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwgknk-6nFg.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/v24-tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwgknk-6nFg.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/v24-tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwgknk-6nFg.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/v24-tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwgknk-6nFg.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/v24-tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwgknk-6nFg.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/v24-tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwgknk-4.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:Plus Jakarta Sans;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/v12-LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko70yygg_vbd-E.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:Plus Jakarta Sans;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/v12-LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko50yygg_vbd-E.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:Plus Jakarta Sans;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/v12-LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko40yygg_vbd-E.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:Plus Jakarta Sans;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/v12-LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yygg_vb.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:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/v12-LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko70yygg_vbd-E.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:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/v12-LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko50yygg_vbd-E.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:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/v12-LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko40yygg_vbd-E.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:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/v12-LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yygg_vb.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:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/v12-LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko70yygg_vbd-E.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:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/v12-LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko50yygg_vbd-E.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:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/v12-LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko40yygg_vbd-E.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:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/v12-LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yygg_vb.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}@layer tokens{:root{--hue-bg: 274;--hue-accent: 258;--hue-warm: 85;--hue-ok: 145;--bg: oklch(20% .052 var(--hue-bg));--surface: oklch(25% .069 var(--hue-bg));--surface-2: oklch(32% .092 var(--hue-bg));--ink: oklch(95% .005 var(--hue-warm));--muted: oklch(72% .03 var(--hue-accent));--muted-2: oklch(48% .046 var(--hue-accent));--accent: oklch(73% .07 var(--hue-accent));--accent-deep: oklch(62% .096 var(--hue-accent));--accent-fg: oklch(20% .052 var(--hue-bg));--rule: oklch(32% .092 var(--hue-bg));--rule-2: oklch(36% .092 var(--hue-bg));--ok: oklch(70% .1 var(--hue-ok));--nav-h: 4rem}.card .num,.card .lnk,.foot-inner,.scroll-cue .label,.rail-dot:before{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Consolas,monospace!important}*,*:before,*:after{box-sizing:border-box}html{margin:0;padding:0;background:var(--surface);scroll-snap-type:y mandatory;scroll-padding-top:var(--nav-h);scroll-behavior:smooth}body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:Plus Jakarta Sans,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--accent);text-decoration:none}a:hover{opacity:.85}}@layer layout{.nav-bar{position:sticky;top:0;z-index:10;height:var(--nav-h);background:var(--surface);border-bottom:1px solid var(--rule)}.nav-inner{max-width:1100px;margin:0 auto;height:100%;padding:0 max(1.5rem,env(safe-area-inset-right)) 0 max(1.5rem,env(safe-area-inset-left));display:flex;justify-content:space-between;align-items:center;gap:2rem}.wordmark{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:500;font-size:.95rem;letter-spacing:-.01em;color:var(--ink);text-decoration:none}.wordmark:hover{color:var(--accent)}.nav-links{display:flex;gap:1.5rem;font-size:.85rem;align-items:baseline}.nav-links a{color:var(--ink);text-decoration:none}.nav-links a:hover{color:var(--accent)}.page{min-height:calc(100vh - var(--nav-h));min-height:calc(100svh - var(--nav-h));min-height:calc(100dvh - var(--nav-h));scroll-snap-align:start;scroll-snap-stop:always;display:flex;flex-direction:column;justify-content:flex-start;position:relative;max-width:1100px;margin:0 auto;padding:4.5rem max(1.5rem,env(safe-area-inset-right)) 7rem max(1.5rem,env(safe-area-inset-left))}.page.last{min-height:calc(100vh - var(--nav-h) - 4.5rem);min-height:calc(100svh - var(--nav-h) - 4.5rem);min-height:calc(100dvh - var(--nav-h) - 4.5rem);justify-content:flex-start;scroll-snap-stop:normal;padding:2.75rem max(1.5rem,env(safe-area-inset-right)) 3rem max(1.5rem,env(safe-area-inset-left))}@media (hover:none){.page.last{min-height:calc(100vh - var(--nav-h) - 6rem);min-height:calc(100svh - var(--nav-h) - 6rem);min-height:calc(100dvh - var(--nav-h) - 6rem)}}html:has(#page-1) footer{scroll-snap-align:end}.scroll-cue{position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;height:3rem;min-width:9rem;padding:0 1rem;border-radius:999px;color:var(--accent);text-decoration:none;transition:background .15s ease,color .15s ease}.scroll-cue .arrow,.scroll-cue .label{position:absolute;display:flex;align-items:center;justify-content:center;inset:0;transition:opacity .15s ease}.scroll-cue .arrow{font-size:1.6rem;line-height:1;opacity:1}.scroll-cue .arrow:before{content:"\2193";display:inline-block;animation:bob 2s ease-in-out infinite}.scroll-cue .label{font-family:JetBrains Mono,monospace;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;opacity:0}.scroll-cue:hover{background:#94b0da1f;color:var(--accent-deep);opacity:1}.scroll-cue:hover .arrow{opacity:0}.scroll-cue:hover .label{opacity:1}#page-3 .section-h{margin-bottom:3rem}@media (max-width: 760px){.nav-bar .nav-links{display:none}.wordmark{white-space:nowrap}.nav-inner{padding:0 max(1.25rem,env(safe-area-inset-right)) 0 max(1.25rem,env(safe-area-inset-left))}.page,.page.last{padding:3rem max(1.5rem,env(safe-area-inset-right)) 4rem max(1.5rem,env(safe-area-inset-left))}}@media (hover: none) and (pointer: coarse){html{scroll-snap-type:none}.page.last{min-height:auto;scroll-snap-align:none;padding-bottom:4rem}footer{scroll-snap-align:none}.scroll-cue{display:none}}}@layer animations{.scroll-cue:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(.3rem)}}.side-rail{position:fixed;right:1.5rem;top:50%;transform:translateY(-50%);z-index:5;display:flex;flex-direction:column;gap:1.25rem;align-items:center;padding:.5rem}@media (max-width:760px){.side-rail{display:none}}.rail-dot{position:relative;width:.55rem;height:.55rem;border-radius:50%;background:var(--muted-2);border:0;padding:0;cursor:pointer;transition:background .2s ease,width .2s ease,height .2s ease}}@layer components{.rail-dot:hover{background:var(--muted)}.rail-dot.active{background:var(--accent);width:.7rem;height:.7rem}.rail-dot:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.rail-dot:before{content:attr(data-label);position:absolute;right:calc(100% + .85rem);top:50%;transform:translateY(-50%) translate(.4rem);font-family:JetBrains Mono,monospace;font-size:.72rem;color:var(--ink);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:var(--surface-2);padding:.4rem .7rem;border-radius:4px;border:1px solid var(--rule);opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease}.rail-dot:hover:before{opacity:1;transform:translateY(-50%) translate(0)}.section-h{font-family:Plus Jakarta Sans,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-weight:400;font-size:clamp(2rem,5vw,2.8rem);line-height:1.1;margin:0 0 2.25rem;letter-spacing:-.012em;color:var(--ink)}.section-h .dots{letter-spacing:.15em;margin-left:.08em;font-weight:300}.signature{display:block;width:clamp(18rem,50vw,24rem);aspect-ratio:1035 / 342;margin:0;background-color:var(--accent);-webkit-mask-image:url(/assets/signature-mask.svg);mask-image:url(/assets/signature-mask.svg);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:left center;mask-position:left center}.tagline{font-size:1.2rem;line-height:1.5;color:var(--muted);max-width:42ch;margin:2rem 0 0}.tagline strong{color:var(--ink);font-weight:500}.intro{font-size:1.05rem;line-height:1.7;color:var(--muted);max-width:60ch;margin:2.5rem 0 0}.signup{margin:3rem 0 0;max-width:60ch}.signup-prompt{margin:0 0 1rem;color:var(--muted);font-size:.95rem}.signup form{display:flex;align-items:stretch;gap:0;margin:0;border:1px solid var(--rule);border-radius:6px;background:var(--bg);overflow:hidden;transition:border-color .12s ease,box-shadow .12s ease}.signup form:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #94b0da26}.signup input[type=email]{flex:1 1 0;min-width:0;border:0;background:transparent;padding:.7rem .95rem;font:inherit;color:var(--ink);border-radius:0;outline:none}.signup input[type=email]::placeholder{color:var(--muted-2)}.signup button[type=submit]{flex:0 0 auto;border:0;background:var(--accent);color:var(--accent-fg);padding:.7rem 1.4rem;font:inherit;font-weight:500;border-radius:0;cursor:pointer;transition:background .12s ease}.signup button[type=submit]:hover{background:var(--accent-deep);opacity:.85}.cards{display:flex;flex-direction:column;gap:.75rem;max-width:62ch}.card{background:var(--surface);border:1px solid var(--rule);padding:.85rem 1.25rem;border-radius:6px;display:grid;grid-template-columns:auto 1fr auto;gap:1.25rem;align-items:center;transition:border-color .12s ease,transform .12s ease;text-decoration:none;color:inherit}.card:hover{border-color:var(--accent);transform:translate(2px);opacity:1}.card .num{font-family:JetBrains Mono,monospace;color:var(--accent);font-size:.82rem;letter-spacing:.04em}.card .card-line{margin:0;color:var(--ink);font-size:.98rem;line-height:1.4;display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}.card .title{font-weight:500;color:var(--ink);width:5.25rem;display:inline-block;flex-shrink:0}.card .sep{color:var(--accent);font-weight:400}.card .brief{color:var(--muted);font-size:.92rem;font-weight:400}.card .lnk{font-family:JetBrains Mono,monospace;color:var(--accent);font-size:1.05rem;white-space:nowrap;letter-spacing:.04em;line-height:1}.card .lnk:after{content:"";display:inline-block;width:1.05em;height:1.05em;vertical-align:-.15em;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6'/%3E%3Cpath d='M10 14 21 3'/%3E%3Cpath d='M18 16v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6'/%3E%3Cpath d='M10 14 21 3'/%3E%3Cpath d='M18 16v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3C/svg%3E") center/contain no-repeat}@media (max-width:600px){.card{padding:.75rem 1rem;gap:.85rem}.card .title{width:auto}.card .brief,.card .sep{display:none}}.about-body{max-width:60ch}.about-body p{margin:0 0 1.25rem;line-height:1.7;font-size:1.02rem;color:var(--muted)}.about-body strong{color:var(--ink);font-weight:500}.about-body a{border-bottom:1px solid var(--accent)}footer{border-top:1px solid var(--rule);background:var(--surface);padding:1.5rem 0 max(1.5rem,env(safe-area-inset-bottom))}.foot-inner{max-width:1100px;margin:0 auto;padding:0 max(1.5rem,env(safe-area-inset-right)) 0 max(1.5rem,env(safe-area-inset-left));font-family:JetBrains Mono,monospace;font-size:.78rem;color:var(--muted);line-height:1;display:flex;justify-content:space-between;align-items:center;gap:1rem}.foot-left{position:relative}.self-hosted{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem;letter-spacing:.04em;color:var(--muted-2);white-space:nowrap;user-select:none}.foot-inner .copy{color:var(--ink);font-weight:500}.foot-inner a{color:var(--ink);font-weight:500;text-decoration:none}.foot-inner a:hover{color:var(--accent)}.foot-inner .dot{color:var(--accent);margin:0 .5rem}.scroll-cue .arrow-up{transform:rotate(180deg)}.signature-wrap{position:relative;display:block;width:clamp(18rem,50vw,24rem);aspect-ratio:1035 / 342;margin:0;cursor:default}.signature-wrap .signature{position:absolute;inset:0;width:100%;height:100%;margin:0}@media (prefers-reduced-motion: reduce){.signature-wrap{transition:none}}.signature-glare{position:absolute;inset:0;width:100%;height:100%;display:block;-webkit-mask-image:url(/assets/signature-mask.svg);mask-image:url(/assets/signature-mask.svg);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:left center;mask-position:left center;background:linear-gradient(105deg,transparent 6%,rgba(242,241,236,.1) 40%,rgba(255,255,255,.8) 50%,transparent 54%);background-size:340% 100%;background-position:94% 0;background-repeat:no-repeat;pointer-events:none;opacity:0}@keyframes glare-loop{0%{opacity:0;background-position:71% 0}4%{opacity:1}38%{opacity:1}42.86%{opacity:0;background-position:29% 0}to{opacity:0;background-position:71% 0}}@media (prefers-reduced-motion: reduce){.signature-glare{animation:none;opacity:0}}.about-body .triad-list{list-style:none;padding:0;margin:0 0 1.25rem;max-width:60ch}.about-body .triad-list li{position:relative;margin:0;padding:0 0 0 3rem;line-height:1.7;font-size:1.02rem;color:var(--muted)}.about-body .triad-list li:before{content:attr(data-n);position:absolute;left:0;top:0;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--accent);font-size:.78rem;letter-spacing:.05em;line-height:1.7;padding-top:.18rem}@media (hover: none){.foot-inner a{display:inline-block;padding:.5rem 0;min-height:44px}.wordmark{display:inline-block;padding:.25rem 0;min-height:44px;line-height:44px}}footer{position:relative}.self-hosted{appearance:none;-webkit-appearance:none;background:none;border:0;padding:.25rem 0;cursor:help}.self-hosted:hover,.self-hosted:focus-visible{color:var(--accent);outline:none}.self-hosted:focus-visible{text-decoration:underline;text-underline-offset:3px}.stack-pop{position:absolute;right:var(--pop-right,1.5rem);bottom:var(--pop-bottom, calc(100% + 14px) );font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;white-space:nowrap;color:var(--muted);background:var(--surface-2);border:1px solid var(--rule-2);border-radius:6px;padding:.6rem .85rem;font-size:.74rem;letter-spacing:.02em;box-shadow:0 8px 24px #00000059;opacity:0;transform:translateY(6px);pointer-events:none;transition:opacity .15s ease,transform .18s cubic-bezier(.18,.78,.32,1);z-index:20}.stack-pop .s{color:var(--ink)}.stack-pop .sep{color:var(--accent);margin:0 .45rem}.stack-pop:before,.stack-pop:after{content:"";position:absolute;width:0;height:0}.stack-pop:before{right:var(--tx,24px);top:100%;border:9px solid transparent;border-top-color:var(--rule-2)}.stack-pop:after{right:calc(var(--tx,24px) + 1px);top:calc(100% - 1px);border:8px solid transparent;border-top-color:var(--surface-2)}footer:has(.self-hosted:hover) .stack-pop,footer:has(.self-hosted:focus-visible) .stack-pop,.stack-pop.open{opacity:1;transform:translateY(0);pointer-events:auto}@media (prefers-reduced-motion:reduce){.stack-pop{transition:opacity .12s ease;transform:none}}@media (max-width:600px){.stack-pop{white-space:normal;max-width:78vw}}.eyebrow{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0 0 1.1rem;line-height:1.2}.eyebrow.reserve{visibility:hidden}.eyebrow.reserve:after{content:"\a0"}}@layer contact{.contact-page{min-height:calc(100vh - var(--nav-h));min-height:calc(100svh - var(--nav-h));min-height:calc(100dvh - var(--nav-h));display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;max-width:1100px;margin:0 auto;padding:4.5rem max(1.5rem,env(safe-area-inset-left)) 7rem max(1.5rem,env(safe-area-inset-right))}.contact-col{max-width:60ch}.contact-intro{font-size:1.12rem;color:var(--muted);line-height:1.6;text-wrap:pretty;margin:0 0 3.2rem}.contact-intro em{color:var(--ink);font-style:normal;font-weight:500}.contact-cards .card .ico{display:grid;place-items:center}.contact-cards .card .ico svg{width:24px;height:24px;display:block;fill:var(--ink);transition:fill .12s ease}.contact-cards .card:hover .ico svg,.contact-cards .card:focus-visible .ico svg{fill:var(--accent)}.contact-cards .card .path{color:var(--muted);font-size:.92rem;font-weight:400;font-family:JetBrains Mono,monospace;letter-spacing:.01em}.contact-cards .card{animation:fade-up .55s ease-out both;animation-delay:calc(.15s + var(--i, 0) * .08s);will-change:opacity,transform}@media (max-width:600px){.contact-cards .card .title{width:auto}}@media (prefers-reduced-motion:reduce){.contact-cards .card .ico svg{transition:none}.contact-cards .card{animation:none!important;opacity:1;transform:none}}}@layer cv{.cv-page{max-width:1100px;margin:0 auto;padding:4.5rem max(1.5rem,env(safe-area-inset-left)) 7rem max(1.5rem,env(safe-area-inset-right));display:grid;grid-template-columns:1fr 1.55fr;gap:4rem;align-items:start}.cv-page .cv-rail{position:sticky;top:calc(var(--nav-h) + 4.5rem);align-self:start;display:flex;flex-direction:column;gap:0}.cv-page .cv-intro{color:var(--muted);font-size:1.05rem;line-height:1.6;margin:0 0 1.8rem;max-width:34ch}.cv-page .cv-pdf{display:inline-flex;align-items:center;gap:.6rem;align-self:flex-start;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-size:.8rem;letter-spacing:.04em;color:var(--accent);text-decoration:none;border:1px solid color-mix(in oklch,var(--accent) 38%,var(--rule-2));border-radius:6px;padding:.6rem .95rem;margin:0 0 1.8rem;transition:border-color .14s ease,background .14s ease}.cv-page .cv-pdf:hover{border-color:var(--accent);background:#94b0da12}.cv-page .cv-pdf svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}.cv-page .cv-pdf .meta{color:var(--muted-2)}.cv-page .chapters{list-style:none;margin:0;padding:0}.cv-page .chapters a{display:flex;align-items:center;gap:.9rem;padding:.55rem 0;text-decoration:none;font-size:.98rem;color:var(--muted-2);transition:color .15s ease}.cv-page .chapters a .rule{display:inline-block;width:1.5rem;height:1px;background:var(--muted-2);flex:none;transition:width .22s cubic-bezier(.22,.61,.36,1),background .15s ease}.cv-page .chapters a:hover{color:var(--muted)}.cv-page .chapters a:hover .rule{width:2rem}.cv-page .chapters a.active{color:var(--accent);font-weight:600}.cv-page .chapters a.active .rule{width:3rem;height:2px;background:var(--accent)}.cv-page .cv-content{min-width:0}.cv-page .cv-sec{margin:0 0 4.5rem;scroll-margin-top:calc(var(--nav-h) + 2rem)}.cv-page .lab{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-size:.72rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0 0 1.4rem;padding-left:1.25rem;display:block}.cv-page .cv-ph{border:1px dashed var(--rule-2);border-radius:14px;background:#ffffff05;padding:1.8rem 1.4rem;color:var(--muted-2);font-family:JetBrains Mono,monospace;font-size:.78rem;line-height:1.7}.cv-page .cv-content:has(.xp:hover) .xp{opacity:.5}.cv-page .cv-content:has(.xp:hover) .xp:hover{opacity:1}.cv-page .xp{display:grid;grid-template-columns:9rem 1fr;gap:1.4rem;padding:1.25rem;border:1px solid transparent;border-radius:14px;text-decoration:none;color:inherit;position:relative;transition:opacity .2s ease,background .2s ease,border-color .2s ease;margin:0 0 .3rem}.cv-page .xp:hover{background:var(--surface);border-color:var(--rule-2)}.cv-page .xp-left{display:flex;flex-direction:column;align-items:flex-start;gap:.95rem}.cv-page .xp-cert{align-items:center}.cv-page .xp-cert .xp-left{flex-direction:row;align-items:center;gap:2.2rem}.cv-page .xp-when{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;line-height:1.5}.cv-page .xp-when .yr{color:var(--accent);font-size:.78rem;font-weight:500}.cv-page .xp-when .yr.stack{line-height:1.45}.cv-page .xp-when .win{color:var(--muted-2);font-size:.62rem;letter-spacing:.04em;margin-top:.3rem;font-weight:500}.cv-page .dh{display:inline-block;width:.95em;border-top:1px solid currentColor;vertical-align:.3em;margin:0 .26em}.cv-page .xp-logo{display:flex;align-items:center;height:2.4rem}.cv-page .xp-logo img{width:auto;display:block}.cv-page .xp-logo.sq img{height:2.52rem}.cv-page .xp-logo.wd img{height:1.5rem;max-width:8.2rem}.cv-page .xp-logo.wd.prisma img{height:1.235rem}.cv-page .xp-logo.sq.exeter img{height:3.1752rem;margin-left:-4px}.cv-page .xp-logo.sq.warminster img{height:2.6334rem}.cv-page .xp-logo.mono img{filter:grayscale(1) brightness(0) invert(.82)}.cv-page .xp-role{font-size:1.05rem;font-weight:600;color:var(--ink);margin:0;line-height:1.3}.cv-page .xp:hover .xp-role{color:var(--accent)}.cv-page .xp-co{display:block;color:var(--muted);font-size:.92rem;margin:.2rem 0 0}.cv-page .xp-co .arr{color:var(--accent);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;margin-left:.4rem;display:inline-block;transition:transform .2s cubic-bezier(.22,.61,.36,1)}.cv-page .xp:hover .xp-co .arr{transform:translate(2px,-2px)}.cv-page .xp-desc{color:var(--muted);font-size:.93rem;line-height:1.6;margin:.85rem 0 .8rem;max-width:54ch}.cv-page .xp-tags{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0}.cv-page .xp-tags li{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-size:.68rem;letter-spacing:.01em;color:var(--accent);background:#94b0da0f;border:1px solid rgba(148,176,218,.16);border-radius:999px;padding:.24rem .64rem;transition:border-color .16s ease,background .16s ease}.cv-page .xp:hover .xp-tags li{border-color:#94b0da42;background:#94b0da1a}.cv-page .xp-tags .stars{font-size:.82rem;line-height:1;letter-spacing:.05em;vertical-align:-.07em}@media (max-width:900px){.cv-page{grid-template-columns:1fr;gap:2.4rem}.cv-page .cv-rail{position:static}}@media (max-width:680px){.cv-page .xp{grid-template-columns:1fr;gap:.9rem}}@media (prefers-reduced-motion:reduce){.cv-page .xp,.cv-page .xp-co .arr,.cv-page .chapters a .rule{transition:none}}@media print{@page{size:A4;margin:1.5cm 2cm}html,body{background:#fff!important;color:#1b1e3b!important}.nav-bar,footer,.skip-link,.spotlight,.cv-page .cv-foot,.cv-page .chapters,.cv-page .xp-co .arr{display:none!important}.cv-page{display:block!important;max-width:none!important;padding:0!important}.cv-page .cv-rail{position:static!important;margin:0 0 .8cm!important}.cv-page .cv-content{width:100%}.cv-page .eyebrow{color:#6b7194!important;margin-bottom:.2cm!important}.cv-page .section-h{color:#1b1e3b!important;margin-bottom:.3cm!important;font-size:18pt!important}.cv-page .cv-intro{color:#1b1e3b!important;font-size:10pt!important}.cv-page .cv-sec{margin-bottom:.6cm!important;page-break-inside:avoid;padding-top:.3cm}.cv-page .lab{color:#1b1e3b!important;padding-left:0!important;border-bottom:1px solid #ccc;padding-bottom:.1cm;margin-bottom:.3cm!important}.cv-page .cv-content:has(.xp:hover) .xp,.cv-page .xp{opacity:1!important;background:transparent!important;border:none!important;padding:0 0 .35cm!important;margin:0 0 .35cm!important;page-break-inside:avoid;grid-template-columns:7rem 1fr!important;gap:.8rem!important}.cv-page .xp-left{gap:.2rem!important}.cv-page .xp-when .yr{color:#1b1e3b!important}.cv-page .xp-when .win{color:#6b7194!important}.cv-page .xp-logo{display:none!important}.cv-page .xp-role{color:#1b1e3b!important;font-size:11pt!important}.cv-page .xp-co{color:#6b7194!important;font-size:9pt!important}.cv-page .xp-desc{color:#1b1e3b!important;font-size:10pt!important;max-width:none!important}.cv-page .xp-tags li{background:transparent!important;border:1px solid #aaa!important;color:#1b1e3b!important;font-size:8pt!important}}.cv-page .skill-cloud{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0 0 0 1.25rem}.cv-page .skill-wrap{position:relative;display:inline-flex}.cv-page .skill{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-size:.72rem;letter-spacing:.01em;color:var(--accent);background:#94b0da12;border:1px solid rgba(148,176,218,.18);border-radius:999px;padding:.3rem .72rem;cursor:help;appearance:none;-webkit-appearance:none;transition:border-color .16s ease,background .16s ease,color .16s ease}.cv-page .skill:hover,.cv-page .skill:focus-visible,.cv-page .skill[aria-expanded=true]{color:#fff;font-weight:600;background:#94b0da2b;border-color:var(--accent);outline:none}.cv-page .skill:focus-visible{box-shadow:0 0 0 2px #94b0da59}.cv-page .skill-pop{position:absolute;left:50%;bottom:calc(100% + 11px);transform:translate(-50%) translateY(6px);width:max-content;max-width:min(280px,78vw);font-family:Plus Jakarta Sans,system-ui,sans-serif;font-size:.78rem;line-height:1.5;color:var(--muted);text-align:left;background:var(--surface-2);border:1px solid var(--rule-2);border-radius:8px;padding:.6rem .8rem;box-shadow:0 10px 28px #00000061;opacity:0;pointer-events:none;z-index:30;transition:opacity .15s ease,transform .18s cubic-bezier(.18,.78,.32,1)}.cv-page .skill-pop:before,.cv-page .skill-pop:after{content:"";position:absolute;left:50%;width:0;height:0}.cv-page .skill-pop:before{top:100%;transform:translate(-50%);border:8px solid transparent;border-top-color:var(--rule-2)}.cv-page .skill-pop:after{top:calc(100% - 1px);transform:translate(-50%);border:7px solid transparent;border-top-color:var(--surface-2)}.cv-page .skill-wrap:hover .skill-pop,.cv-page .skill-wrap:focus-within .skill-pop,.cv-page .skill-pop.open{opacity:1;transform:translate(-50%) translateY(0);pointer-events:auto}.cv-page .skill-stack{display:flex;flex-direction:column;gap:1.4rem}.cv-page .skill-pop .sk-hd{display:flex;align-items:center;gap:.35rem;margin-bottom:.42rem}.cv-page .skill-pop .sk-sector{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.66rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.cv-page .skill-pop .sk-dot{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.66rem;font-weight:600;color:var(--accent)}.cv-page .skill-pop .sk-lvl{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.66rem;font-weight:500;letter-spacing:.04em;color:var(--ink)}.cv-page .skill-pop .sk-desc{display:block;color:var(--muted)}@media (prefers-reduced-motion:reduce){.cv-page .skill,.cv-page .skill-pop{transition:opacity .12s ease}.cv-page .skill-pop,.cv-page .skill-wrap:hover .skill-pop,.cv-page .skill-wrap:focus-within .skill-pop,.cv-page .skill-pop.open{transform:translate(-50%)}}@media print{.cv-page .skill-pop{display:none!important}.cv-page .skill-cloud{gap:.2cm!important}.cv-page .skill{background:transparent!important;border:1px solid #aaa!important;color:#1b1e3b!important;font-size:8pt!important;padding:.05cm .22cm!important}}.cv-page #cv-chapters{position:relative;padding-left:1.5rem}.cv-page .cv-railtrack{position:absolute;left:.5rem;top:0;width:1px;height:0;background:var(--rule-2,rgba(148,176,218,.18))}.cv-page .cv-railfill{position:absolute;left:.5rem;top:0;width:1px;height:0;background:linear-gradient(var(--accent-deep,#7896C5),var(--accent,#94B0DA));transition:height .1s linear}.cv-page .cv-raildot{position:absolute;left:.5rem;top:0;width:7px;height:7px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--accent,#94B0DA);box-shadow:0 0 10px #94b0dad9;transition:top .1s linear}.cv-page #cv-chapters a .rule{display:none}.cv-page #cv-chapters a{transition:color .15s ease}.cv-page #cv-chapters a.active{color:var(--accent,#94B0DA);font-weight:600}.cv-page .cv-more{display:flex;align-items:center;justify-content:space-between;margin:1.6rem 0 0 1.25rem}.cv-page .cv-more,.cv-page .cv-pdf{position:relative;overflow:hidden;border:1px solid transparent;border-radius:7px;background:linear-gradient(var(--bg,#1B1E3B),var(--bg,#1B1E3B)) padding-box,linear-gradient(90deg,var(--accent-deep),var(--accent)) border-box;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-size:.82rem;letter-spacing:.02em;padding:.6rem .95rem;color:var(--accent);text-decoration:none;transition:color .2s ease,box-shadow .25s ease,transform .2s ease}.cv-page .cv-more:before,.cv-page .cv-pdf:before{content:"";position:absolute;inset:0;background:var(--accent-deep);transform:scaleX(0);transform-origin:left;transition:transform .42s cubic-bezier(.22,.61,.36,1);z-index:0}.cv-page .cv-more:hover:before,.cv-page .cv-pdf:hover:before{transform:scaleX(1)}.cv-page .cv-more>*,.cv-page .cv-pdf>*{position:relative;z-index:1}.cv-page .cv-more:hover,.cv-page .cv-pdf:hover{color:#10132c;border-color:transparent;background:linear-gradient(var(--bg,#1B1E3B),var(--bg,#1B1E3B)) padding-box,linear-gradient(90deg,var(--accent-deep),var(--accent)) border-box}.cv-page .cv-more:hover .meta,.cv-page .cv-pdf:hover .meta{color:#10132c}.cv-page .cv-more svg,.cv-page .cv-pdf svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}.cv-page .cv-more:hover svg,.cv-page .cv-pdf:hover svg{stroke:#10132c;transform:translate(2px,-2px)}.cv-page .cv-pdf .meta{color:var(--muted-2)}.cv-page .cv-foot{position:relative;display:flex;align-items:center;justify-content:space-between;margin:1.8rem 0 2.4rem;padding-left:1.25rem}.cv-page .cv-foot .cv-pdf{margin:0 10px 0 0;position:relative;z-index:1}.cv-page .cv-sign{display:inline-flex;align-items:center;gap:.5rem;flex:none;margin-left:5px;position:relative;z-index:0}.cv-page .cv-sign-dash{width:2.8rem;height:2.5px;background:var(--accent);opacity:.9;flex:none}.cv-page .cv-sign-mark{display:block;width:clamp(3.2rem,9vw,3.9rem);aspect-ratio:250/366;background:url(/assets/cv/signature-hj.png?v=2) center/contain no-repeat;opacity:.9;position:absolute;left:3.3rem;top:50%;z-index:0;transform:translateY(calc(-50% + 10px))}}@layer in-view{.page .signature{clip-path:inset(0 100% 0 0)}.page .tagline,.page .intro,.page .signup,.page .eyebrow,.page .section-h,.page .section-intro,.page .card,.page .about-body p,.page .about-body .triad-list li{opacity:0;transform:translateY(.5rem);will-change:opacity,transform}#page-1 .tagline{animation:fade-up .5s ease-out 1.5s forwards}#page-1 .intro{animation:fade-up .5s ease-out 1.65s forwards}#page-1 .signup{animation:fade-up .5s ease-out 1.8s forwards}.page.in-view .signature{animation:sign-draw 1.5s cubic-bezier(.4,0,.2,1) forwards}.page.in-view .signature-glare{animation:glare-loop 7s linear 1.4s infinite}.page.in-view .eyebrow{animation:fade-up .6s ease-out 0ms forwards}.page.in-view .section-h{animation:fade-up .6s ease-out 80ms forwards}.page.in-view .section-intro{animation:fade-up .6s ease-out .15s forwards}.page.in-view .card{animation:fade-up .55s ease-out forwards}.page.in-view .card:nth-of-type(1){animation-delay:.2s}.page.in-view .card:nth-of-type(2){animation-delay:.3s}.page.in-view .card:nth-of-type(3){animation-delay:.4s}.page.in-view .card:nth-of-type(4){animation-delay:.5s}.page.in-view .card:nth-of-type(5){animation-delay:.6s}.page.in-view .card:nth-of-type(6){animation-delay:.7s}.page.in-view .card:nth-of-type(7){animation-delay:.8s}.page.in-view .about-body p{animation:fade-up .55s ease-out forwards}.page.in-view .about-body p:nth-of-type(1){animation-delay:80ms}.page.in-view .about-body p:nth-of-type(2){animation-delay:.28s}.page.in-view .about-body p:nth-of-type(3){animation-delay:.38s}.page.in-view .about-body .triad-list li{animation:fade-up .5s ease-out forwards}.page.in-view .about-body .triad-list li:nth-child(1){animation-delay:.18s}.page.in-view .about-body .triad-list li:nth-child(2){animation-delay:.24s}.page.in-view .about-body .triad-list li:nth-child(3){animation-delay:.3s}@keyframes sign-draw{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0% 0 0)}}@keyframes fade-up{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.page .signature{clip-path:none}.page .signature-glare{animation:none!important;opacity:0}.page .tagline,.page .intro,.page .signup,.page .eyebrow,.page .section-h,.page .section-intro,.page .card,.page .about-body p,.page .about-body .triad-list li{opacity:1;transform:none;animation:none!important}}}@layer wip{.wip-page{min-height:calc(100vh - var(--nav-h));min-height:calc(100svh - var(--nav-h));display:flex;flex-direction:column;justify-content:center;align-items:flex-start;max-width:1100px;margin:0 auto;padding:4.5rem 1.5rem 4rem}.wip-page .section-h{font-family:Plus Jakarta Sans,system-ui,sans-serif;font-style:italic;font-weight:400;font-size:clamp(2.5rem,6vw,3.6rem);line-height:1.1;margin:0 0 1.5rem;letter-spacing:-.012em;color:var(--ink)}.wip-brief{font-size:1.2rem;line-height:1.5;color:var(--muted);max-width:48ch;margin:0 0 1.5rem}.wip-status{font-family:JetBrains Mono,monospace;font-size:.88rem;line-height:1.6;color:var(--muted-2);letter-spacing:.02em;max-width:60ch;margin:0 0 3rem}.wip-status a{color:var(--accent);text-decoration:none;border-bottom:1px solid var(--accent)}.wip-back{font-family:JetBrains Mono,monospace;font-size:.82rem;color:var(--accent);text-decoration:none;letter-spacing:.04em;transition:opacity .12s ease}.wip-back:hover{opacity:.7}}@layer forms{.honeypot{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.status{margin-top:1rem;padding:.65rem 1rem;border-radius:6px;font-size:.92rem;line-height:1.5;display:none;font-family:Plus Jakarta Sans,system-ui,sans-serif}.status.pending,.status.success,.status.info,.status.error{display:block}.status.pending{background:#a8aec81a;color:var(--muted)}.status.success{background:#94b0da24;color:var(--ink);border:1px solid rgba(148,176,218,.3)}.status.info{background:#a8aec81a;color:var(--muted-2)}.status.error{background:#f4a5a51a;color:#f4a5a5;border:1px solid rgba(244,165,165,.25)}}@layer a11y{:root{--muted-2:#8E96B6}.skip-link{position:absolute;top:-100px;left:1rem;z-index:100;background:var(--accent);color:var(--bg);padding:.6rem 1rem;border-radius:4px;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-weight:600;font-size:.9rem;text-decoration:none;transition:top .15s ease-out}.skip-link:focus{top:1rem;outline:2px solid var(--ink);outline-offset:2px}.nav-links a:focus-visible,.foot-inner a:focus-visible,.card:focus-visible,.wordmark:focus-visible,.rail-dot:focus-visible,.signup input:focus-visible,.signup button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.banner{max-width:60ch;margin:0 0 1.25rem;padding:.75rem 1.25rem;border:1px solid var(--rule);border-radius:6px;font-size:.92rem;background:var(--surface);color:var(--ink)}.banner-success{border-color:var(--accent);background:#94b0da1a}.banner-info{color:var(--muted)}.banner-error{border-color:#e07a5f;background:#e07a5f14}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.noscript-notice{margin:0 0 1.25rem;padding:.6rem .85rem;background:var(--surface);border-left:2px solid var(--accent);color:var(--muted);font-size:.85rem;line-height:1.55}::selection{background:var(--accent);color:var(--accent-fg)}::-moz-selection{background:var(--accent);color:var(--accent-fg)}.foot-inner{position:relative;overflow:hidden;line-height:1.6}.foot-inner .row-original,.foot-inner .row-confirm{transition:transform .4s cubic-bezier(.18,.78,.32,1);will-change:transform}.foot-inner .row-confirm{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--surface);color:var(--ok, #7EBA8F);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-size:.78rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;transform:translateY(100%)}footer.copied .row-original{transform:translateY(-100%)}footer.copied .row-confirm{transform:translateY(0)}@media (prefers-reduced-motion: reduce){.foot-inner .row-original,.foot-inner .row-confirm{transition:none}}:root{--ok: #7EBA8F }.spotlight{position:fixed;inset:0;pointer-events:none;z-index:1;background:radial-gradient(450px circle at var(--mx, -200px) var(--my, -200px),rgba(148,176,218,.06),transparent 78%);transition:background .3s ease}@media (prefers-reduced-motion: reduce){.spotlight{transition:none}}@media (hover: none),(max-width: 760px){.spotlight{display:none}}.page-404{background:var(--bg);min-height:100vh;margin:0;display:flex;align-items:center;justify-content:center;font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif}.not-found{display:flex;align-items:center;gap:1.25rem;color:var(--ink);position:relative;z-index:1}.nf-code{font-size:1.5rem;font-weight:500;letter-spacing:-.01em;color:var(--ink)}.nf-rule{display:inline-block;width:1px;height:2.25rem;background:var(--rule-2, #3F4577)}.nf-msg{font-size:.92rem;color:var(--muted);font-weight:300;letter-spacing:.01em}footer{position:relative;z-index:10}@media print{@page{size:A4;margin:2cm}html,body{background:#f2f1ec!important;color:#1b1e3b!important;height:auto!important;overflow:visible!important;scroll-snap-type:none!important;font-family:Plus Jakarta Sans,system-ui,sans-serif!important;font-size:11pt!important;line-height:1.55!important}.nav-bar,footer,.side-rail,.scroll-cue,.spotlight,.signup,#signup,.signature-glare,.copy-toast,.row-confirm,.skip-link,.noscript-notice{display:none!important}*,*:before,*:after{animation:none!important;transition:none!important;filter:none!important}.page{min-height:auto!important;height:auto!important;max-width:100%!important;padding:0 0 1cm!important;margin:0 0 1.5cm!important;scroll-snap-align:none!important;page-break-after:always;page-break-inside:avoid;break-after:page;break-inside:avoid}.page.last,main>.page:last-child{page-break-after:auto;break-after:auto}.signature{background-color:#1b1e3b!important;background-image:none!important;width:14cm!important;margin:0 0 1cm!important}.signature-wrap,.signature-wrap:hover{filter:none!important}.signature-wrap{cursor:default!important}.tagline{font-size:16pt!important;line-height:1.4!important;color:#1b1e3b!important;margin:0 0 1cm!important;max-width:14cm!important}.tagline strong{color:#1b1e3b!important;font-weight:600!important}.intro{font-size:11pt!important;line-height:1.55!important;color:#4a5478!important;max-width:14cm!important;margin:0!important}.section-h{font-family:"Instrument Serif",Georgia,serif!important;font-weight:400!important;font-size:24pt!important;line-height:1.15!important;color:#1b1e3b!important;margin:0 0 1cm!important}.section-h .dots{color:#4a5478!important}.about-body{max-width:14cm!important}.about-body p{font-size:11pt!important;line-height:1.6!important;color:#1b1e3b!important;margin:0 0 .5cm!important}.about-body strong{color:#1b1e3b!important;font-weight:600!important}.about-body .triad-list{margin:.3cm 0 .6cm!important;padding:0!important}.about-body .triad-list li{font-size:11pt!important;line-height:1.6!important;color:#1b1e3b!important;padding:0 0 0 2.5cm!important;margin:0 0 .15cm!important}.about-body .triad-list li:before{color:#3d5a8a!important;font-family:JetBrains Mono,ui-monospace,monospace!important;font-size:9pt!important}.cards{max-width:14cm!important}.card{background:transparent!important;border:none!important;border-bottom:1px solid #C5C2B5!important;border-radius:0!important;padding:.4cm 0!important;gap:1cm!important;transform:none!important}.card .num{color:#3d5a8a!important;font-size:9pt!important}.card .title{color:#1b1e3b!important;font-weight:600!important}.card .sep{color:#3d5a8a!important}.card .brief{color:#4a5478!important;font-size:10pt!important}.card .lnk{color:#3d5a8a!important}a{color:#3d5a8a!important;text-decoration:underline!important;text-underline-offset:2px!important}::selection{background:transparent!important;color:inherit!important}.wip-page{min-height:auto!important;max-width:14cm!important;padding:0!important;margin:0!important}.wip-page .section-h{font-style:italic!important;font-size:32pt!important;line-height:1.1!important;margin:0 0 .8cm!important}.wip-brief{font-size:14pt!important;line-height:1.5!important;color:#1b1e3b!important;max-width:14cm!important;margin:0 0 .8cm!important}.wip-status{font-family:JetBrains Mono,monospace!important;font-size:10pt!important;line-height:1.6!important;color:#4a5478!important;max-width:14cm!important;margin:0 0 1cm!important}.wip-status a{color:#3d5a8a!important}.wip-back{display:none!important}}.section-h,.tagline,.wip-page .section-h{text-wrap:balance}.intro,.about-body p,.wip-brief,.wip-status,.nf-msg{text-wrap:pretty}@view-transition{navigation: auto;}.nav-bar{view-transition-name:site-nav}footer{view-transition-name:site-footer}::view-transition-old(root),::view-transition-new(root){animation-duration:.22s;animation-timing-function:cubic-bezier(.4,0,.2,1)}::view-transition-old(site-nav),::view-transition-new(site-nav),::view-transition-old(site-footer),::view-transition-new(site-footer){animation-duration:.18s;animation-timing-function:ease}@media (prefers-reduced-motion: reduce){::view-transition-old(*),::view-transition-new(*){animation-duration:.01ms!important}}.signup form:has(input[type=email]:user-invalid:not(:placeholder-shown)){border-color:#db8e7a}.signup form:has(input[type=email]:user-valid:not(:placeholder-shown)){border-color:color-mix(in oklch,var(--ok) 75%,var(--accent))}}
