@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.00az9qtie3ho1.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.3j-a226dh71aj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.2gwoz23eiro2t.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0i3h3th1vs4m7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0zr6hhvz-h9nw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_e799d87a-module__u8MhCG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_e799d87a-module__u8MhCG__variable{--font-geist:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.27spqqad3wyeo.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.3f4zuumv8svu0.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.34r5yzckw0h2s.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.2jyz_zw3a8jit.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.30bdpjkrtcces.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.1v5bejj26fx9h.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_42eec60-module__Gb1_vG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_42eec60-module__Gb1_vG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/fc0a7394b875fa43-s.3zvkfbs08rnj_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/7ebf22b5a21034f8-s.p.3strvg7o-g5v2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ccf27e5a7366fb23-s.1wwzpfhzaj2r0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e41d5df559864f9e-s.p.2rlzm4mj5kw8e.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif Fallback;src:local(Times New Roman);ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.0%;size-adjust:83.94%}.instrument_serif_c292d6fe-module__ZPbyaG__className{font-family:Instrument Serif,Instrument Serif Fallback;font-weight:400}.instrument_serif_c292d6fe-module__ZPbyaG__variable{--font-instrument-serif:"Instrument Serif", "Instrument Serif Fallback"}
*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--font-geist), Geist, system-ui, -apple-system, sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-geist-mono), "Geist Mono", ui-monospace, monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background-color:var(--bg);color:var(--ink);font-family:var(--font-geist), Geist, system-ui, -apple-system, sans-serif;letter-spacing:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:16px;line-height:1.55;transition:background-color .28s,color .28s;overflow-x:clip}p,h1,h2,h3,h4,ul,li,figure,dl,dt,dd{margin:0}ul{padding:0;list-style:none}a{color:var(--accent-ink);text-decoration:none}a:hover{color:var(--ink)}::selection{background:var(--accent);color:#0e1116}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:5px}#island-root :focus-visible{outline-color:var(--island-ink)}:root,html[data-scheme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eceef2;--plate:#e2e5eb;--card:#f3f4f7;--surface:#f6f7f9;--sunk:#d6dae2;--ink:#16191f;--ink-2:#444b57;--ink-3:#5f6673;--rule:#d4d8df;--rule-2:#bcc3cd;--rule-strong:#16191f;--accent:var(--preset-accent-light,#f05138);--accent-ink:var(--preset-ink-light,#c23b22);--accent-soft:color-mix(in srgb, var(--accent) 12%, transparent);--swift:var(--preset-dot-light,#f56b54);--bezel:#1a1d24;--bezel-line:#f6f7f91f;--screen:#12151a;--btn:#16191f;--btn-hover:#2d323b;--btn-ink:#f6f7f9;--shadow:0 26px 54px -28px #16191f66;--island-bg:#111318;--island-ink:#f2f4f7;--island-sub:#f2f4f794;--island-line:#f2f4f71a;--island-chip:#f2f4f712;--island-chip-h:#f2f4f721;--island-track:#f2f4f717;--island-shadow:0 18px 40px -18px #16191f73;--island-accent:var(--preset-accent-dark,#f05138);--color-bg:var(--bg);--color-bg-subtle:var(--plate);--color-surface:var(--surface);--color-surface-2:var(--sunk);--color-border:var(--rule);--color-border-strong:var(--rule-2);--color-fg:var(--ink);--color-fg-muted:var(--ink-3);--color-fg-subtle:var(--ink-3);--color-accent:var(--accent);--color-accent-hover:var(--accent);--color-accent-fg:var(--btn-ink);--color-accent-muted:var(--accent-soft);--color-success:#166534;--color-success-fg:#14532d;--color-success-muted:#ecfdf3;--color-warning:#a16207;--color-warning-fg:#854d0e;--color-warning-muted:#fffbeb;--color-danger:#b91c1c;--color-danger-fg:#991b1b;--color-danger-muted:#fef2f2;--color-info:#1d4ed8;--color-info-fg:#1e40af;--color-info-muted:#eff6ff;--color-focus:color-mix(in srgb, var(--accent) 32%, transparent);--color-overlay:#10131a73}@media (prefers-color-scheme:dark){:root:not([data-scheme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#12151a;--plate:#1a1e26;--card:#181c23;--surface:#20252e;--sunk:#0d0f13;--ink:#eceef2;--ink-2:#b3b9c4;--ink-3:#8b929e;--rule:#2b313b;--rule-2:#3a414c;--rule-strong:#6a7380;--accent:var(--preset-accent-dark,#f05138);--accent-ink:var(--preset-ink-dark,#f47d67);--accent-soft:color-mix(in srgb, var(--accent) 16%, transparent);--swift:var(--preset-dot-dark,#f56b54);--bezel:#2a3038;--bezel-line:#eceef224;--screen:#0d0f13;--btn:#eceef2;--btn-hover:#d3d7de;--btn-ink:#12151a;--shadow:0 28px 60px -32px #000000c7;--island-bg:#07080b;--island-ink:#eceef2;--island-sub:#eceef294;--island-line:#eceef229;--island-chip:#eceef212;--island-chip-h:#eceef221;--island-track:#eceef21a;--island-shadow:0 20px 44px -22px #000000a6;--island-accent:var(--preset-accent-dark,#f05138)}}html[data-scheme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#12151a;--plate:#1a1e26;--card:#181c23;--surface:#20252e;--sunk:#0d0f13;--ink:#eceef2;--ink-2:#b3b9c4;--ink-3:#8b929e;--rule:#2b313b;--rule-2:#3a414c;--rule-strong:#6a7380;--accent:var(--preset-accent-dark,#f05138);--accent-ink:var(--preset-ink-dark,#f47d67);--accent-soft:color-mix(in srgb, var(--accent) 16%, transparent);--swift:var(--preset-dot-dark,#f56b54);--bezel:#2a3038;--bezel-line:#eceef224;--screen:#0d0f13;--btn:#eceef2;--btn-hover:#d3d7de;--btn-ink:#12151a;--shadow:0 28px 60px -32px #000000c7;--island-bg:#07080b;--island-ink:#eceef2;--island-sub:#eceef294;--island-line:#eceef229;--island-chip:#eceef212;--island-chip-h:#eceef221;--island-track:#eceef21a;--island-shadow:0 20px 44px -22px #000000a6;--island-accent:var(--preset-accent-dark,#f05138)}@keyframes livePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}
:root{--font-sans:var(--font-geist), "Geist", system-ui, -apple-system, sans-serif;--font-mono:var(--font-geist-mono), "Geist Mono", ui-monospace, monospace;--font-serif:var(--font-instrument-serif), "Instrument Serif", Georgia, serif;--text-micro:.75rem;--text-caption:.75rem;--text-small:.8125rem;--text-body-sm:.9375rem;--text-body:1rem;--text-body-lg:1.0625rem;--text-lead:clamp(1rem, .96rem + .15vw, 1.0625rem);--text-heading:clamp(1.25rem, 1.1rem + .45vw, 1.4375rem);--text-title-sm:clamp(1.375rem, 1.15rem + .9vw, 1.75rem);--text-statement:clamp(1.625rem, 1.3rem + 1.1vw, 2.125rem);--text-title-md:clamp(1.875rem, 1.45rem + 1.4vw, 2.5rem);--text-title:clamp(2.125rem, 1.45rem + 2.4vw, 3.5rem);--text-display:clamp(2.5rem, min(1.1rem + 5.4vw, 11vh), 6rem);--tracking-caps:.06em;--tracking-display:-.012em;--leading-tight:1;--leading-snug:1.2;--leading-body:1.6;--gutter:clamp(20px, 4vw, 56px);--rail-w:160px;--rail-gap:clamp(28px, 3vw, 40px);--space-section:clamp(72px, 9vw, 120px);--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--anchor-offset:calc(env(safe-area-inset-top,0px) + 84px);--ease-out:cubic-bezier(.22, 1, .36, 1)}.font-serif{font-family:var(--font-serif);letter-spacing:-.01em}.font-mono{font-family:var(--font-mono)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;-webkit-user-select:none;user-select:none;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mono-label{font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:var(--tracking-caps);color:var(--ink-3);text-transform:uppercase;line-height:1.4}.keep-case{text-transform:none}.skip-link{z-index:100;border-radius:var(--radius-md);background:var(--btn);color:var(--btn-ink);font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:var(--tracking-caps);text-transform:uppercase;padding:10px 14px;transition:transform .2s;position:absolute;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{color:var(--btn-ink);transform:translateY(0)}.live-dot{background:var(--swift);border-radius:50%;flex:none;width:6px;height:6px;animation:2.4s ease-in-out 2 livePulse}.site-main{max-width:1240px;padding-inline:max(var(--gutter), env(safe-area-inset-left,0px)) max(var(--gutter), env(safe-area-inset-right,0px));margin:0 auto}[data-island]{scroll-margin-top:var(--anchor-offset)}.section-pad{padding-top:var(--space-section)}.section-pad-hero{padding-top:calc(clamp(88px, 12vh, 120px) + env(safe-area-inset-top,0px))}.section-pad-contact{padding-top:var(--space-section)}.section-head{-moz-column-gap:var(--rail-gap);align-items:baseline;column-gap:var(--rail-gap);border-bottom:1px solid var(--rule-strong);flex-wrap:wrap;row-gap:8px;padding-bottom:16px;display:flex}.section-head__spacer{flex:auto}.section-empty{color:var(--ink-2);padding:40px 0}.section-index{flex:0 0 var(--rail-w);font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:var(--tracking-caps);color:var(--ink-3);line-height:1.4}.section-title{font-family:var(--font-serif);font-weight:400;font-size:var(--text-title);line-height:var(--leading-tight);letter-spacing:var(--tracking-display);color:var(--ink);flex:0 auto}.section-meta{font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:var(--tracking-caps);color:var(--ink-3);text-transform:uppercase;line-height:1.4}.rail{flex:0 0 var(--rail-w);flex-direction:column;display:flex}.btn-primary,.btn-secondary{border-radius:var(--radius-md);min-height:46px;font-family:var(--font-sans);font-size:var(--text-body-sm);letter-spacing:-.005em;white-space:nowrap;justify-content:center;align-items:center;padding:0 20px;font-weight:500;line-height:1;text-decoration:none;transition:background-color .18s,color .18s,border-color .18s;display:inline-flex}a.btn-primary,.btn-primary{background:var(--btn);color:var(--btn-ink);border:1px solid var(--btn)}a.btn-primary:hover,.btn-primary:hover{background:var(--btn-hover);border-color:var(--btn-hover);color:var(--btn-ink)}a.btn-secondary,.btn-secondary{border:1px solid var(--rule-2);color:var(--ink);background:0 0}a.btn-secondary:hover,.btn-secondary:hover{border-color:var(--ink-3);background:var(--card);color:var(--ink)}.back-to-top{min-height:44px;font-size:var(--text-micro);letter-spacing:var(--tracking-caps);color:var(--ink-3);text-transform:uppercase;align-items:center;gap:.4em;padding:12px 0;text-decoration:none;transition:color .18s;display:inline-flex}.back-to-top:hover,.back-to-top:focus-visible{color:var(--ink)}.hero-body{grid-template-columns:var(--rail-w) minmax(0, 1fr);-moz-column-gap:var(--rail-gap);column-gap:var(--rail-gap);grid-template-areas:"rail copy";align-items:baseline;row-gap:40px;padding:8px 0 clamp(48px,6vw,72px);display:grid}.hero-visual{display:none}@media (min-width:961px){.hero-body--visual{grid-template-columns:var(--rail-w) minmax(0, 1fr) clamp(200px, 19vw, 248px);grid-template-areas:"rail copy visual"}.hero-visual{grid-area:visual;justify-content:center;align-self:center;display:flex}}.hero-showcase{flex-direction:column;align-items:center;gap:16px}.hero-showcase__shot{opacity:0;transition:opacity 0s linear .7s}.hero-showcase__shot[data-active]{z-index:1;opacity:1;transition:opacity .7s var(--ease-out)}.hero-showcase__slides{width:100%;display:grid}.hero-showcase__slide{opacity:0;visibility:hidden;flex-direction:column;grid-area:1/1;align-items:flex-start;gap:6px;transition:opacity .25s,transform .25s,visibility 0s linear .25s;display:flex;transform:translateY(4px)}.hero-showcase__slide[data-active]{opacity:1;visibility:visible;transition:opacity .5s var(--ease-out) .15s, transform .5s var(--ease-out) .15s, visibility 0s;transform:none}.hero-showcase__number{font-variant-numeric:tabular-nums;color:var(--accent-ink)}.hero-showcase__name{color:var(--ink);font-size:1.5rem;line-height:1.15}.hero-showcase__arrow{color:var(--ink-3);transition:color .18s}.hero-showcase__name:hover .hero-showcase__arrow{color:var(--accent-ink)}.hero-showcase__text{font-size:var(--text-small);color:var(--ink-2);line-height:1.45}.hero-showcase__controls{order:1;align-items:center;gap:12px;width:100%;display:flex}.hero-showcase__toggle{border:1px solid var(--rule-2);width:28px;height:28px;color:var(--ink-2);cursor:pointer;background:0 0;border-radius:50%;place-items:center;padding:0;transition:background-color .2s,border-color .2s,color .2s;display:inline-grid}.hero-showcase__toggle:hover{background:var(--surface);border-color:var(--ink-3);color:var(--ink)}.hero-showcase__dots{align-items:center;gap:6px;display:flex}.hero-showcase__dot{background:var(--rule-2);cursor:pointer;width:6px;height:6px;transition:width .3s var(--ease-out);border:0;border-radius:999px;padding:0;position:relative;overflow:hidden}.hero-showcase__dot--gap{margin-left:6px}.hero-showcase__dot--active{width:22px}.hero-showcase__fill{background:var(--accent);transform-origin:0;animation:hero-showcase-fill var(--showcase-interval,5s) linear both;position:absolute;inset:0}.hero-showcase[data-paused] .hero-showcase__fill{animation-play-state:paused}@keyframes hero-showcase-fill{0%{transform:scaleX(0)}}.hero-rail{grid-area:rail;gap:22px;padding-top:8px}.hero-rail__item{flex-direction:column;gap:4px;display:flex}.hero-availability{align-items:baseline;gap:9px;display:flex}.hero-availability .live-dot{align-self:center}.hero-availability__label{font-size:var(--text-small);color:var(--ink);font-weight:500;line-height:1.35}.hero-rail__value{font-size:var(--text-small);color:var(--ink-2);line-height:1.45}.hero-rail__links{font-size:var(--text-small);flex-wrap:wrap;gap:4px 14px;line-height:1.45;display:flex}.hero-rail__links a{position:relative}.hero-rail__links a:after{content:"";position:absolute;inset:-12px -6px}.hero-rail__links a:hover{color:var(--ink)}.hero-copy{grid-area:copy;min-width:0}.hero-byline{flex-direction:column;gap:8px;margin:0 0 clamp(24px,3vw,32px);font-weight:400;display:flex}.hero-byline__name{font-size:var(--text-statement);color:var(--ink);font-weight:400;line-height:1.1}.hero-eyebrow{font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--ink-3);font-weight:500;line-height:1.4}.hero-headline{font-weight:400;font-size:var(--text-display);letter-spacing:var(--tracking-display);color:var(--ink);text-wrap:balance;max-width:19ch;line-height:1}.hero-word{display:inline-block}.hero-headline__accent{color:var(--accent);font-style:italic}.hero-lead{max-width:44ch;font-size:var(--text-lead);letter-spacing:-.011em;color:var(--ink-2);text-wrap:pretty;margin:clamp(22px,2.6vw,32px) 0 0;line-height:1.55}.hero-tech-signal{font-family:var(--font-mono);font-size:var(--text-small);letter-spacing:.02em;color:var(--ink-3);margin-top:16px;line-height:1.45}.hero-ctas{flex-wrap:wrap;gap:10px;margin-top:clamp(28px,3.5vw,40px);display:flex}.hero-stats{border-top:1px solid var(--rule-strong);border-bottom:1px solid var(--rule);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid}.hero-stat{border-left:1px solid var(--rule);flex-direction:column;justify-content:space-between;min-width:0;padding:24px 24px 26px;display:flex}.hero-stat:first-child{border-left:0;padding-left:0}.hero-stat__value{letter-spacing:-.02em;color:var(--ink);font-size:clamp(2.25rem,1.85rem + 1.4vw,3rem);line-height:1}.hero-stat__label{font-size:var(--text-micro);letter-spacing:var(--tracking-caps);color:var(--ink-3);text-transform:uppercase;margin-top:10px;line-height:1.4}.hero-stat__detail{font-size:var(--text-small);color:var(--ink-2);margin-top:4px;line-height:1.45}.hero-stat__part{white-space:nowrap}.hero-stat.hero-stat--apps{grid-column:span 2;padding-right:0;display:block}.hero-stat--apps .hero-stat__label{margin-top:0}.hero-apps{-moz-column-count:2;column-count:2;-moz-column-width:13rem;column-width:13rem;-moz-column-gap:32px;column-gap:32px;margin-top:12px}.hero-apps:not(:has(>li:nth-child(4))){-moz-column-count:1;column-count:1;max-width:30rem}.hero-apps>li{-moz-column-break-inside:avoid;break-inside:avoid;border-top:1px solid var(--rule)}.hero-apps__link{font-size:var(--text-body-sm);color:var(--ink);align-items:baseline;gap:12px;padding-block:10px;font-weight:500;line-height:1.3;display:flex}.hero-apps__index{font-size:var(--text-micro);font-variant-numeric:tabular-nums;color:var(--ink-3);flex:none;transition:color .18s}.hero-apps__icon{border-radius:22.37%;flex:none;align-self:center;width:20px;height:20px}.hero-apps__name{min-width:0}.hero-apps__arrow{color:var(--ink-3);flex:none;margin-left:auto;transition:transform .18s,color .18s}.hero-apps__link:hover .hero-apps__index,.hero-apps__link:hover .hero-apps__arrow{color:var(--accent-ink)}.hero-apps__link:hover .hero-apps__arrow{transform:translateY(2px)}@media (prefers-reduced-motion:no-preference){.hero-byline{animation:hero-fade .5s var(--ease-out) backwards}.hero-word{animation:hero-word-in .7s var(--ease-out) backwards;animation-delay:calc(60ms + var(--i,0) * 50ms)}.hero-word.hero-headline__accent{animation:hero-word-in .7s var(--ease-out) backwards, hero-accent-warm .45s ease-out .76s backwards;animation-delay:calc(60ms + var(--i,0) * 50ms), .76s}.hero-lead{animation:hero-rise .6s var(--ease-out) .48s backwards}.hero-tech-signal{animation:hero-rise .6s var(--ease-out) .52s backwards}.hero-copy .hero-ctas{animation:hero-rise .6s var(--ease-out) .56s backwards}.hero-rail,.hero-stats,.hero-visual{animation:hero-fade .6s var(--ease-out) .64s backwards}}@keyframes hero-word-in{0%{opacity:.01;transform:translateY(.24em)}}@keyframes hero-rise{0%{opacity:.01;transform:translateY(8px)}}@keyframes hero-fade{0%{opacity:.01}}@keyframes hero-accent-warm{0%{color:var(--ink)}}.tech-stack{flex-wrap:wrap;gap:6px;margin-top:28px;display:flex}.tech-chip{font-family:var(--font-sans);font-size:var(--text-small);white-space:nowrap;border:1px solid var(--rule-2);border-radius:var(--radius-sm);color:var(--ink);padding:4px 10px;font-weight:450;line-height:1.35}.tech-chip--primary{border-color:color-mix(in srgb, var(--ink) 50%, transparent);color:var(--ink);font-weight:500}.tech-chip--muted{border-color:var(--rule-2);color:var(--ink-2)}.tech-chip--familiar{border-color:var(--rule);color:var(--ink-3);border-style:dashed;font-weight:400}.scheme-toggle{border:1px solid var(--rule);border-radius:var(--radius-md);background:var(--surface);align-items:center;gap:2px;padding:2px;display:flex}.scheme-toggle button{cursor:pointer;border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-caption);color:var(--ink-3);background:0 0;border:0;padding:6px 9px;font-weight:500}.scheme-toggle button[aria-pressed=true]{background:var(--ink);color:var(--bg)}#island-root{top:max(12px, calc(env(safe-area-inset-top,0px) + 6px));z-index:90;padding-inline:max(12px, env(safe-area-inset-left,0px)) max(12px, env(safe-area-inset-right,0px));pointer-events:none;justify-content:center;display:flex;position:fixed;left:0;right:0}.island-backdrop{z-index:0;background:color-mix(in srgb, var(--bg) 72%, transparent);opacity:0;pointer-events:none;cursor:default;border:0;margin:0;padding:0;transition:opacity .28s;position:fixed;inset:0}.island-backdrop--open{opacity:1;pointer-events:auto}#island-shell{z-index:1;pointer-events:auto;background:var(--island-bg);width:100%;max-width:244px;color:var(--island-ink);box-shadow:var(--island-shadow), inset 0 0 0 1px var(--island-line);border-radius:24px;transition:border-radius .5s cubic-bezier(.22,1.18,.36,1),max-width .5s cubic-bezier(.22,1.18,.36,1);position:relative;overflow:hidden}#island-shell.island-shell--open{border-radius:26px;max-width:368px}.island-toggle{width:100%;min-height:48px;color:var(--island-ink);text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:0 0;border:0;align-items:center;gap:11px;padding:9px;display:flex}.island-toggle:focus-visible{outline:2px solid var(--island-ink);outline-offset:-4px;border-radius:22px}#island-root .island-nav-btn:focus-visible,#island-root .island-cta:focus-visible,#island-root .island-scheme button:focus-visible{outline-offset:-3px}#island-root .island-cta--primary:focus-visible,#island-root .island-scheme button[aria-pressed=true]:focus-visible{outline-color:var(--island-bg);outline-offset:-4px}.island-toggle__copy{flex-direction:column;flex:auto;gap:1px;min-width:0;display:flex}.island-toggle__eyebrow{letter-spacing:var(--tracking-caps);color:var(--island-sub);text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;font-size:.6875rem;line-height:1.25;overflow:hidden}.island-toggle__label{font-size:var(--text-caption);letter-spacing:.02em;color:var(--island-ink);white-space:nowrap;text-overflow:ellipsis;line-height:1.3;overflow:hidden}.island-toggle__trail{background:var(--island-chip);width:30px;height:30px;color:var(--island-sub);border-radius:50%;flex:none;justify-content:center;align-items:center;transition:background-color .18s;display:inline-flex}.island-toggle__chevron{transition:transform .5s cubic-bezier(.32,.72,0,1);display:block}.island-toggle__chevron--open{transform:rotate(180deg)}.island-panel{opacity:0;visibility:hidden;transition:height .3s cubic-bezier(.4,0,.75,.4),transform .3s ease-in,opacity .2s ease-in,visibility 0s linear .3s;overflow:hidden;transform:scale(.97)translateY(-5px)}.island-panel--open{opacity:1;visibility:visible;transition:height .56s cubic-bezier(.22,1.18,.36,1),transform .5s cubic-bezier(.22,1.18,.36,1),opacity .26s ease-out,visibility linear;transform:none}.island-panel__inner{flex-direction:column;gap:8px;padding:4px 10px 10px;display:flex}.island-mark{background:var(--island-accent);border-radius:50%;flex:none;place-items:center;width:30px;height:30px;display:grid}.island-mark__letter{color:#16191f;font-size:17px;line-height:1;transform:translateY(1px)}.island-nav-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.island-cta-grid{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:6px;display:grid}.island-nav-btn{background:var(--island-chip);min-height:46px;color:var(--island-ink);font-family:var(--font-sans);letter-spacing:-.005em;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;border:0;border-radius:16px;align-items:center;gap:10px;padding:0 14px;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .18s;display:flex}.island-nav-btn__icon{color:var(--island-accent);flex:none}.island-nav-btn:active{background:var(--island-chip-h)}.island-availability{align-items:center;gap:10px;min-height:34px;padding:0 14px;display:flex}.island-availability__label{font-size:var(--text-small);color:var(--island-ink);font-weight:500}.island-appearance{background:var(--island-chip);border-radius:16px;align-items:center;gap:8px;padding:2px 2px 2px 14px;display:flex}.island-appearance__label{font-size:var(--text-small);color:var(--island-sub);flex:auto}.island-scheme{gap:2px;display:flex}.island-scheme button{cursor:pointer;min-height:44px;font-family:var(--font-sans);font-size:var(--text-small);color:var(--island-sub);background:0 0;border:0;border-radius:14px;padding:0 11px;font-weight:500;transition:background-color .18s,color .18s}.island-scheme button[aria-pressed=true]{background:var(--island-ink);color:var(--island-bg)}.island-cta{min-height:46px;font-family:var(--font-sans);border-radius:16px;justify-content:center;align-items:center;padding:0 12px;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .18s,border-color .18s;display:flex}a.island-cta--primary,.island-cta--primary{background:var(--island-ink);color:var(--island-bg)}a.island-cta--primary:hover,.island-cta--primary:hover{background:color-mix(in srgb, var(--island-ink) 86%, var(--island-bg));color:var(--island-bg)}a.island-cta--ghost,.island-cta--ghost{border:1px solid var(--island-line);color:var(--island-ink)}a.island-cta--ghost:hover,.island-cta--ghost:hover{border-color:var(--island-sub);color:var(--island-ink)}@media (hover:hover){.island-toggle:hover .island-toggle__trail,.island-nav-btn:hover{background:var(--island-chip-h)}.island-scheme button[aria-pressed=false]:hover{color:var(--island-ink)}}.greet{--greet-dim:color-mix(in srgb, var(--island-ink) 36%, transparent);top:max(12px, calc(env(safe-area-inset-top,0px) + 6px));z-index:95;padding-inline:max(12px, env(safe-area-inset-left,0px)) max(12px, env(safe-area-inset-right,0px));pointer-events:none;opacity:0;-webkit-user-select:none;user-select:none;justify-content:center;display:flex;position:fixed;left:0;right:0}.greet__shell{background:var(--island-bg);width:100%;max-width:392px;color:var(--island-ink);box-shadow:var(--island-shadow), inset 0 0 0 1px var(--island-line);pointer-events:none;-webkit-tap-highlight-color:transparent;border-radius:28px;position:relative;overflow:hidden}.greet[data-state]:not([data-leaving]) .greet__shell{pointer-events:auto}.greet__content{--mascot-size:64px;grid-template-columns:var(--mascot-size) minmax(0, 1fr);-moz-column-gap:14px;align-items:start;column-gap:14px;padding:14px 16px;display:grid;position:relative}.greet__mascot{width:var(--mascot-size);height:var(--mascot-size);transform-origin:0 0;opacity:0;grid-row:1/span 2;display:block;overflow:visible}.greet:not([data-sound=none]) .greet__mascot{cursor:pointer}@media (hover:hover){.greet[data-motion=full] .mascot :is([data-part=body],[data-part=eyes]){transition:translate .3s cubic-bezier(.22,1.18,.36,1),scale .3s cubic-bezier(.22,1.18,.36,1)}.greet[data-motion=full]:not([data-leaving]) .greet__mascot:hover [data-part=body]{translate:0 -1.5px;scale:1.04}.greet[data-motion=full]:not([data-leaving]) .greet__mascot:hover [data-part=eyes]{scale:1 .9}.greet[data-motion=full][data-state=read]:not([data-sound=playing]) .greet__mascot:hover [data-part=mouth]{transform:scaleY(.584)}}.greet__head{align-items:center;gap:8px;min-height:28px;display:flex;container-type:inline-size}.greet__title{min-width:0;color:var(--island-ink);flex:auto;font-size:1.25rem;line-height:1.15}.greet__text{font-size:var(--text-small);color:var(--island-sub);text-wrap:balance;grid-column:2;margin-top:3px;padding-right:4px;line-height:1.45}.greet__word{transition:color .22s}.greet__title .greet__word{display:inline-block}.greet[data-motion=full] :is(.greet__title .greet__word,[data-glyph],.greet__sound){opacity:0}.greet__sound{background:var(--island-chip);height:28px;color:var(--island-ink);font-family:var(--font-sans);font-size:var(--text-caption);white-space:nowrap;cursor:pointer;border:0;border-radius:14px;flex:none;align-items:center;gap:6px;padding:0 11px 0 9px;font-weight:500;line-height:1;transition:background-color .18s,opacity .18s;display:inline-flex;position:relative}.greet__sound:after{content:"";position:absolute;inset:-8px -4px}.greet[data-sound=playing] .greet__sound{background:var(--island-chip-h)}.greet[data-loading] .greet__sound{opacity:.6}@media (hover:hover){.greet__sound:hover{background:var(--island-chip-h)}}.greet__sound-glyph{width:14px;height:14px;color:var(--island-accent);place-items:center;display:grid}.greet__sound-glyph>*{grid-area:1/1}.greet__speaker,.greet__replay{display:block}.greet__wave,.greet__replay path{fill:none;stroke:currentColor;stroke-width:1.3px;stroke-linecap:round;stroke-linejoin:round}.greet:is([data-sound=playing],[data-sound=heard]) .greet__speaker,.greet:not([data-sound=playing]) .greet__bars,.greet:not([data-sound=heard]) .greet__replay,.greet__sound-label>span{display:none}.greet[data-sound=armed] [data-when=armed],.greet[data-sound=playing] [data-when=playing],.greet[data-sound=idle] [data-when=idle],.greet[data-sound=heard] [data-when=heard]{display:inline}.greet__mouse,.greet__narrow{display:none}@media (hover:hover) and (pointer:fine){.greet__mouse{display:inline}.greet__touch{display:none}}@container (max-width:250px){.greet__wide{display:none}.greet__narrow{display:inline}}.greet[data-sound=armed] .greet__wave{animation:1.2s ease-in-out 4 greet-wave}.greet[data-sound=armed] .greet__wave+.greet__wave{animation-delay:.15s}.greet[data-sound=armed] .greet__sound:before{content:"";border-radius:inherit;box-shadow:0 0 0 0 color-mix(in srgb, var(--island-accent) 55%, transparent);pointer-events:none;animation:1.6s ease-out 1.6s 3 greet-ring;position:absolute;inset:0}@keyframes greet-wave{0%,to{opacity:1}50%{opacity:.25}}@keyframes greet-ring{to{box-shadow:0 0 0 7px color-mix(in srgb, var(--island-accent) 0%, transparent)}}.greet__bars{align-items:center;gap:2px;height:10px;display:flex}.greet__bars>span{background:currentColor;border-radius:1px;width:2px;height:10px;animation:.9s ease-in-out infinite greet-level;transform:scaleY(.4)}.greet__bars>span:nth-child(2){animation-delay:-.3s}.greet__bars>span:nth-child(3){animation-delay:-.6s}@keyframes greet-level{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}.greet[data-speaking] .greet__word{color:var(--greet-dim)}.greet[data-speaking] .greet__word[data-lit]{color:var(--island-ink)}.greet__mark{transform-origin:0 0;position:absolute;top:9px;left:9px}.greet__close{background:var(--island-chip);width:24px;height:24px;color:var(--island-sub);cursor:pointer;opacity:0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;transition:background-color .18s,color .18s;display:none;position:relative}@media (hover:hover) and (pointer:fine){.greet__close{display:grid}.greet__close:hover{background:var(--island-chip-h);color:var(--island-ink)}}.mascot__fill{fill:var(--island-accent)}.mascot__ink{fill:#16191f}.mascot__smile,.mascot__happy,.mascot__hmm{fill:none;stroke:#16191f;stroke-width:2.94px;stroke-linecap:round}.mascot__glint{fill:#fff}.mascot__happy{opacity:0}.mascot__limb{fill:color-mix(in srgb, var(--island-accent) 86%, #000)}.mascot__limb-line{fill:none;stroke:color-mix(in srgb, var(--island-accent) 86%, #000);stroke-linecap:round}.mascot__arm{transform:translate(-10px,10px)rotate(8deg)}.mascot :is([data-part=arm],[data-part=hand]){transform-box:view-box;transform-origin:0 0}.mascot__arm:not([data-hand=point]) .mascot__point,.mascot__arm[data-hand=point] .mascot__open{display:none}.mascot :is([data-part=body],[data-part=nod],[data-part=eyes],[data-part=mouth]){transform-box:fill-box;transform-origin:50%}.mascot [data-part=brow]{transform-box:fill-box;transform-origin:50% 100%}.mascot [data-part=mouth]{transform-origin:50% 0;transform:scaleY(0)}.greet[data-motion=full][data-state=read]:not([data-sound=playing]) .mascot [data-part=mouth]{transition:transform .2s var(--ease-out)}.greet[data-motion=reduced] :is(.greet__mascot,.greet__close){opacity:1}.greet[data-motion=reduced] .greet__mark{display:none}.not-found{flex-direction:column;justify-content:center;min-height:100svh;padding-block:64px;display:flex}.not-found__mascot{width:72px;height:72px;margin:0 0 22px -6px;display:block}.not-found__title{max-width:16ch;font-size:var(--text-title);font-weight:400;line-height:var(--leading-tight);letter-spacing:var(--tracking-display);color:var(--ink);text-wrap:balance;margin-top:14px}.not-found__body{max-width:44ch;font-size:var(--text-lead);letter-spacing:-.011em;color:var(--ink-2);text-wrap:pretty;margin-top:18px;line-height:1.55}.not-found__mascot [data-part=look]{animation:mascot-search 2.2s var(--ease-out) .4s both}.not-found__mascot [data-part=eyes]{animation:.18s ease-in-out 2.8s both mascot-blink}@keyframes mascot-search{0%,10%{transform:none}32%,44%{transform:translate(-2.6px,.6px)}66%,76%{transform:translate(2.6px,.6px)}to{transform:translate(-1.4px,-1.6px)}}@keyframes mascot-blink{50%{transform:scaleY(.1)}}.device{--device-max:248px;width:100%;max-width:var(--device-max);background:var(--bezel);box-shadow:var(--shadow), inset 0 0 0 1px var(--bezel-line);position:relative}.device--phone[data-orientation=landscape],.device--tablet{--device-max:430px}.device--tablet[data-orientation=portrait]{--device-max:300px}.device--phone-sm{--device-max:96px}.device--phone-sm[data-orientation=landscape],.device--tablet-sm{--device-max:260px}.device--tablet-sm[data-orientation=portrait]{--device-max:144px}.device--phone-lg,.device--tablet-lg{--device-max:min(var(--device-cap), calc(var(--viewer-room,70vh) * var(--device-aspect,.5)))}.device--phone-lg{--device-cap:320px}.device--phone-lg[data-orientation=landscape]{--device-cap:680px}.device--tablet-lg{--device-cap:760px}.device--tablet-lg[data-orientation=portrait]{--device-cap:440px}.device__screen{background:var(--screen);isolation:isolate;position:absolute;overflow:hidden}.device__shot{position:absolute}.device__hardware{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.device__notch{fill:var(--bezel)}.device__island{fill:#000}.device__speaker{fill:#00000080;stroke:var(--bezel-line);stroke-width:1.5px}.device__camera{fill:#07080b;stroke:var(--bezel-line);stroke-width:1.5px}.device__lens{fill:#7896cd52}.device__home{fill:#ffffff06;stroke:var(--bezel-line);stroke-width:3px}.device__guide{pointer-events:none;position:absolute}.device__guide-box{outline:1.5px dashed var(--accent);outline-offset:-1px;position:absolute}.device-stack{place-items:center;width:100%;display:grid}.device-stack>*{grid-area:1/1}.device--ghost{visibility:hidden}.shot-image{-o-object-position:center;object-position:center}.shot-image--contain{-o-object-fit:contain;object-fit:contain}.shot-image--cover{-o-object-fit:cover;object-fit:cover;-o-object-position:top center;object-position:top center}.shot-placeholder{text-align:center;color:#f0f0eb66;background:linear-gradient(145deg, color-mix(in srgb, var(--accent) 12%, transparent), transparent 55%), var(--screen);flex-direction:column;justify-content:center;align-items:center;gap:10px;width:100%;height:100%;padding:16px;display:flex}.shot-placeholder__glyph{opacity:.7}.shot-placeholder__text{font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:var(--tracking-caps);text-transform:uppercase;line-height:1.4}.device--phone-sm .shot-placeholder,.device--tablet-sm .shot-placeholder{gap:8px;padding:8px}.device--phone-sm .shot-placeholder__text,.device--tablet-sm .shot-placeholder__text{font-size:.5625rem}.device[data-orientation=landscape].device--phone-sm .shot-placeholder__glyph{display:none}.about-block-label{border-top:1px solid var(--rule);font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:var(--tracking-caps);color:var(--ink-3);text-transform:uppercase;padding:14px 0 12px;line-height:1.4}.about-block{grid-template-columns:var(--rail-w) minmax(0, 1fr);-moz-column-gap:var(--rail-gap);column-gap:var(--rail-gap);border-top:1px solid var(--rule);align-items:baseline;row-gap:18px;padding:clamp(32px,4vw,48px) 0;display:grid}.section-head+.about-block{border-top:0}.about-block--intro{padding-top:clamp(36px,4.5vw,56px);padding-bottom:clamp(40px,5vw,64px)}.about-block:last-child{padding-bottom:0}.about-block__label{padding-top:6px;font-weight:400}.about-copy{flex-direction:column;gap:20px;min-width:0;display:flex}.about-lead{max-width:30ch;font-size:var(--text-statement);letter-spacing:var(--tracking-display);color:var(--ink);text-wrap:balance;margin-bottom:6px;font-weight:400;line-height:1.15}.about-body{max-width:64ch;font-size:var(--text-body);line-height:var(--leading-body);color:var(--ink-2);text-wrap:pretty}.experience-timeline{flex-direction:column;min-width:0;display:flex}.experience-group{border-bottom:1px solid var(--rule);padding-bottom:32px}.experience-group+.experience-group{padding-top:32px}.experience-group:last-child{border-bottom:0;padding-bottom:0}.experience-group__head{flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin-bottom:22px;display:flex}.experience-group__company{font-family:var(--font-serif);font-weight:400;font-size:var(--text-title-sm);line-height:var(--leading-snug);letter-spacing:-.01em;color:var(--ink)}.experience-group__location{font-size:var(--text-small);color:var(--ink-3);line-height:1.45}.experience-nodes{flex-direction:column;display:flex}.experience-node{gap:18px;display:flex}.experience-node__rail{flex-direction:column;flex:none;align-items:center;padding-top:7px;display:flex}.experience-node__dot{border:1.5px solid var(--ink-3);background:var(--bg);border-radius:50%;flex:none;width:9px;height:9px}.experience-node--current .experience-node__dot{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.experience-node__line{background:var(--rule-2);flex:auto;width:1px;min-height:32px;margin-top:6px}.experience-node__body{flex:auto;min-width:0;padding-bottom:32px}.experience-node:last-child .experience-node__body{padding-bottom:0}.experience-node__head{flex-direction:column;gap:4px;display:flex}.experience-node__title{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.experience-node__role{font-size:var(--text-body-lg);letter-spacing:-.01em;color:var(--ink);font-weight:600;line-height:1.35}.experience-node__badge{font-family:var(--font-mono);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--ink);background:var(--accent-soft);border-radius:999px;padding:2px 8px;font-size:.6875rem;font-weight:500;line-height:1.4}.experience-node__dates{font-size:var(--text-micro);letter-spacing:var(--tracking-caps);color:var(--ink-3);text-transform:uppercase}.experience-bullets{flex-direction:column;gap:10px;max-width:44rem;margin-top:16px;padding-left:0;display:flex}.experience-bullets li{font-size:var(--text-body);line-height:var(--leading-body);color:var(--ink-2);text-wrap:pretty;align-items:flex-start;gap:12px;display:flex}.experience-bullets li:before{content:"";background:var(--ink-3);opacity:.6;border-radius:50%;flex:none;width:5px;height:5px;margin-top:.64em}.experience-bullets li>span{min-width:0}.experience-bullets__lead{color:var(--ink)}.experience-bullets__project{color:inherit;text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 55%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 55%, transparent);transition:color .18s,text-decoration-color .18s}.experience-bullets__project:hover{color:var(--accent-ink);text-decoration-color:currentColor}.experience-bullets li.experience-bullets__lead:before{background:var(--accent);opacity:1}.education-list{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.education-item{border-top:1px solid var(--rule);min-width:0;padding:20px 24px 24px 0}.education-item:nth-child(-n+2){border-top:0;padding-top:4px}.education-item:nth-child(2n){border-left:1px solid var(--rule);padding-left:24px}.education-item{flex-direction:column;gap:4px;display:flex}.education-item__degree{font-size:var(--text-body-lg);letter-spacing:-.01em;color:var(--ink);text-wrap:balance;font-weight:600;line-height:1.35}.education-item__school{font-size:var(--text-body-sm);color:var(--ink-2);line-height:1.5}.education-item__dates{font-size:var(--text-micro);letter-spacing:var(--tracking-caps);color:var(--ink-3);text-transform:uppercase;margin-top:6px}.skills-group{grid-template-columns:var(--rail-w) minmax(0, 1fr);-moz-column-gap:var(--rail-gap);column-gap:var(--rail-gap);border-top:1px solid var(--rule);align-items:baseline;row-gap:16px;padding:clamp(32px,4vw,48px) 0;display:grid}.section-head+.skills-group{border-top:0}.skills-group:last-child{padding-bottom:0}.skills-group-label{align-items:baseline;gap:9px;padding-top:6px;font-weight:400;display:flex}.skills-group-label:before{content:"";background:var(--rule-2);border-radius:50%;flex:none;align-self:center;width:6px;height:6px}.skills-group--featured .skills-group-label:before{background:var(--swift)}.skills-group-label__text{font-size:var(--text-micro);letter-spacing:var(--tracking-caps);color:var(--ink-3);text-transform:uppercase;line-height:1.4}.skills-rows{flex-direction:column;min-width:0;display:flex;container:skills-rows/inline-size}.skills-row{-moz-column-gap:24px;border-top:1px solid var(--rule);grid-template-columns:minmax(0,13rem) minmax(0,1fr);align-items:baseline;column-gap:24px;padding:14px 0;display:grid}.skills-row:first-child{border-top:0;padding-top:2px}.skills-row:last-child{padding-bottom:0}.skills-row__name{font-size:var(--text-body-sm);letter-spacing:-.005em;color:var(--ink);text-wrap:balance;font-weight:500;line-height:1.5}.skills-row__chips.tech-stack{margin:0}.skills-row__text{font-size:var(--text-body-sm);line-height:var(--leading-body);color:var(--ink-2);text-wrap:pretty}@container skills-rows (max-width:40rem){.skills-row{grid-template-columns:minmax(0,1fr);row-gap:10px;padding:16px 0}.skills-row:first-child{padding-top:2px}}.project-article{grid-template-columns:var(--rail-w) minmax(0, 1fr) minmax(240px, 300px);-moz-column-gap:var(--rail-gap);column-gap:var(--rail-gap);border-bottom:1px solid var(--rule);align-items:start;row-gap:32px;padding:clamp(44px,5.5vw,72px) 0;display:grid}.project-article--no-media{grid-template-columns:var(--rail-w) minmax(0, 1fr)}.project-article--tablet{grid-template-columns:var(--rail-w) minmax(0, 1fr);border-bottom:0;padding-bottom:clamp(32px,4vw,48px)}.project-article--tablet .project-figure--tablet{grid-column:1/-1}.project-article--last{border-bottom:0;padding-bottom:0}.project-rail{gap:10px}.project-rail--meta{gap:24px}.project-number{font-family:var(--font-serif);font-size:var(--text-title-md);letter-spacing:-.02em;color:var(--accent);line-height:1}.project-rail--meta .project-number{align-items:center;height:48px;display:flex}.project-work-type{font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--accent-ink);margin-bottom:8px;display:block}.project-meta{border-top:1px solid var(--rule);flex-direction:column;gap:14px;padding-top:14px;display:flex}.project-meta__row{flex-direction:column;gap:4px;min-width:0;display:flex}.project-meta__value,.project-meta a{font-size:var(--text-small);line-height:1.45}.project-meta__value{color:var(--ink-2)}.project-links{font-size:var(--text-small);flex-wrap:wrap;gap:4px 14px;line-height:1.45;display:flex}.project-links a{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);position:relative}.project-meta a:after{content:"";position:absolute;inset:-12px -4px}.project-meta a{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);align-self:flex-start;position:relative}.project-main{min-width:0;container:project-main/inline-size}.project-heading{align-items:center;gap:16px;display:flex}.project-mark{background:var(--bezel);width:48px;height:48px;box-shadow:inset 0 0 0 1px var(--bezel-line), 0 1px 2px #00000014;border-radius:22.37%;flex:none;place-items:center;display:grid;overflow:hidden}.project-mark--sm{width:40px;height:40px}.project-mark--lg{width:72px;height:72px;box-shadow:inset 0 0 0 1px var(--bezel-line), var(--shadow)}.project-mark--lg.project-mark--icon{box-shadow:inset 0 0 0 1px var(--rule), var(--shadow)}.project-mark--icon{background:var(--card);box-shadow:inset 0 0 0 1px var(--rule), 0 1px 2px #00000014}.project-mark__icon{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.project-mark__letter{color:#e8eaef;font-size:1.5rem;line-height:1;transform:translateY(1px)}.project-mark__letter--pair{letter-spacing:.02em;font-size:1.1875rem}.project-mark--sm .project-mark__letter{font-size:1.25rem}.project-mark--sm .project-mark__letter--pair{font-size:1rem}.project-mark--lg .project-mark__letter{font-size:2.125rem}.project-mark--lg .project-mark__letter--pair{font-size:1.625rem}.project-title{font-weight:400;font-size:var(--text-title-md);letter-spacing:-.01em;color:var(--ink);text-wrap:balance;line-height:1.05}.project-tagline{font-size:var(--text-body-sm);color:var(--ink-3);margin-top:8px;line-height:1.4}.project-lede,.project-bullets,.project-platforms,.project-main>.tech-stack{max-width:44rem}.project-lede{border-top:1px solid var(--rule);grid-template-columns:minmax(0,1fr);margin-top:24px;display:grid}.project-lede__cell{min-width:0;padding:14px 0 26px}.project-lede__cell+.project-lede__cell{border-top:1px solid var(--rule)}.project-lede__text{max-width:50ch;font-size:var(--text-body);line-height:var(--leading-body);color:var(--ink-2);text-wrap:pretty;margin-top:10px}.dot-label{align-items:center;gap:8px;display:flex}.dot-label:before{content:"";background:var(--swift);border-radius:50%;flex:none;width:6px;height:6px}.bullet-grid{grid-template-columns:minmax(0,1fr);display:grid}.bullet-cell{border-top:1px solid var(--rule);flex-direction:column;gap:4px;min-width:0;padding:14px 0 16px;display:flex}.bullet-cell:first-child{border-top:0;padding-top:4px}.bullet-label{font-size:var(--text-body-sm);letter-spacing:-.005em;color:var(--ink);font-weight:500;line-height:1.5}.bullet-body{font-size:var(--text-body);line-height:var(--leading-body);color:var(--ink-2);text-wrap:pretty}.project-platforms{margin-top:12px}@container project-main (min-width:46rem){.project-lede,.project-bullets,.project-platforms,.project-main>.tech-stack{max-width:none}.project-lede{grid-template-columns:repeat(2,minmax(0,1fr))}.project-lede__cell:only-child{grid-column:1/-1}.project-lede__cell:first-child{padding-right:28px}.project-lede__cell+.project-lede__cell{border-top:0;border-left:1px solid var(--rule);padding-left:28px}.bullet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bullet-cell:nth-child(2){border-top:0;padding-top:4px}.bullet-cell:nth-child(odd){padding-right:28px}.bullet-cell:nth-child(2n){border-left:1px solid var(--rule);padding-left:28px}.bullet-cell:last-child:nth-child(odd){grid-column:1/-1;padding-right:0}.bullet-body{font-size:var(--text-body-sm)}}.project-figure{flex-direction:column;align-items:center;gap:16px;display:flex}.project-figure--phone{background:var(--plate);border:1px solid var(--rule);border-radius:var(--radius-lg);max-width:100%;padding:28px 28px 20px}.project-figure--tablet{background:var(--plate);border:1px solid var(--rule);border-radius:var(--radius-lg);-moz-column-gap:36px;flex-flow:wrap;flex:100%;align-items:center;gap:24px 36px;padding:clamp(20px,3vw,32px)}.project-figure__media{flex:320px}.project-figure__caption{flex:220px;min-width:0}.project-caption{text-align:center;font-size:var(--text-micro);letter-spacing:var(--tracking-caps);color:var(--ink-3);text-transform:uppercase;line-height:1.5}.more-work{grid-template-columns:var(--rail-w) minmax(0, 1fr);-moz-column-gap:var(--rail-gap);column-gap:var(--rail-gap);scroll-margin-top:var(--anchor-offset);align-items:start;row-gap:20px;padding-top:clamp(48px,6vw,76px);display:grid}.more-work__rail{flex-direction:column;gap:8px;display:flex}.more-work__title{font-weight:400;font-size:var(--text-title-sm);color:var(--ink);line-height:1.1}.more-work__list{min-width:0;container:work-list/inline-size}.work-tiles{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}@container work-list (34rem<=width<52rem){.work-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.work-tile:nth-child(odd):last-child{grid-column:1/-1}}@container work-list (min-width:52rem){.work-tiles{grid-template-columns:repeat(6,minmax(0,1fr))}.work-tile{grid-column:span 2}.work-tile:nth-child(3n+1):nth-last-child(2),.work-tile:nth-child(3n+2):last-child{grid-column:span 3}.work-tile:nth-child(3n+1):last-child{grid-column:1/-1}}.work-tile{--plate-h:15rem;border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--card);scroll-margin-top:var(--anchor-offset);flex-direction:column;transition:border-color .2s;display:flex;overflow:hidden}.work-tile:hover{border-color:var(--rule-2)}.work-tile__media{height:var(--plate-h);background:var(--plate);border-bottom:1px solid var(--rule);justify-content:center;align-items:center;padding:20px;display:flex}.work-tile__caption{flex-direction:column;flex:auto;gap:12px;padding:18px 20px 20px;display:flex;position:relative}.work-tile__head{align-items:center;gap:12px;display:flex}.work-tile__heading{flex:auto;min-width:0}.work-tile__title{font-weight:400;font-size:var(--text-heading);color:var(--ink);text-wrap:balance;line-height:1.15}.work-tile__meta{font-size:var(--text-small);color:var(--ink-3);margin-top:2px;line-height:1.4}.work-tile__fact{white-space:nowrap}.work-tile__text{-webkit-line-clamp:3;line-clamp:3;font-size:var(--text-body-sm);color:var(--ink-2);-webkit-box-orient:vertical;line-height:1.55;display:-webkit-box;overflow:hidden}.work-tile__open{border:1px solid var(--rule-2);width:32px;height:32px;color:var(--ink-2);cursor:pointer;background:0 0;border-radius:50%;flex:none;place-items:center;font-size:15px;line-height:1;transition:background-color .2s,border-color .2s,color .2s;display:inline-grid}.work-tile__open:after{content:"";position:absolute;inset:0}.work-tile__open span{transition:transform .2s var(--ease-out)}.work-tile__caption:hover .work-tile__open{border-color:var(--accent);background:var(--accent);color:var(--btn-ink)}.work-tile__caption:hover .work-tile__open span{transform:translate(2px)}@container work-list (34rem<=width<52rem){.work-tile:nth-child(odd):last-child{flex-direction:row}.work-tile:nth-child(odd):last-child>.work-tile__media{height:auto;min-height:var(--plate-h);border-bottom:0;border-right:1px solid var(--rule);flex:0 0 clamp(14rem,42%,20rem)}.work-tile:nth-child(odd):last-child .work-tile__caption{justify-content:center;padding:24px 28px}}@container work-list (min-width:52rem){.work-tile:nth-child(3n+1):last-child{flex-direction:row}.work-tile:nth-child(3n+1):last-child>.work-tile__media{height:auto;min-height:var(--plate-h);border-bottom:0;border-right:1px solid var(--rule);flex:0 0 clamp(14rem,34%,20rem)}.work-tile:nth-child(3n+1):last-child .work-tile__caption{justify-content:center;padding:24px 28px}}@container work-list not (min-width:34rem){.work-tile{--plate-h:13.5rem}.work-tile__media--icon{height:9rem}}.tech-stack--sheet{margin-top:0}.tech-stack--sheet .tech-chip{font-size:var(--text-micro);color:var(--ink-2);padding:3px 8px}.work-link{white-space:nowrap;font-weight:500}.work-link__arrow{transition:transform .2s var(--ease-out);margin-left:5px;display:inline-block}.work-link:hover .work-link__arrow{transform:translate(2px,-2px)}.platform-targets{border-top:1px solid var(--rule-2);flex-direction:column;margin-top:12px;display:flex}.platform-targets__row{border-bottom:1px solid var(--rule-2);justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;display:flex}.platform-targets__row:last-child{border-bottom:0}.project-platforms .platform-targets{border-top:0;margin-top:0}.project-platforms .platform-targets__row{-moz-column-gap:24px;border-color:var(--rule);grid-template-columns:minmax(0,148px) minmax(0,1fr);align-items:baseline;column-gap:24px;padding:12px 0;display:grid}.project-platforms .platform-targets__row:first-child{padding-top:4px}.project-platforms .platform-targets__os{font-family:var(--font-sans);font-size:var(--text-body-sm);letter-spacing:-.005em;font-weight:500}.project-platforms .platform-targets__detail{font-size:var(--text-body);color:var(--ink-2);text-align:left}.platform-targets__os{font-size:var(--text-micro);letter-spacing:var(--tracking-caps);color:var(--ink)}.platform-targets__detail{font-size:var(--text-small);color:var(--ink-2);text-align:right}@container project-main (min-width:46rem){.project-platforms .platform-targets{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid}.project-platforms .platform-targets__row,.project-platforms .platform-targets__row:first-child{border-bottom:0;border-left:1px solid var(--rule);flex-direction:column;gap:4px;padding:4px 28px 22px;display:flex}.project-platforms .platform-targets__row:first-child{border-left:0;padding-left:0}.project-platforms .platform-targets__detail{font-size:var(--text-body-sm)}}.contact-body{grid-template-columns:var(--rail-w) minmax(0, 1fr) minmax(260px, 22rem);-moz-column-gap:var(--rail-gap);column-gap:var(--rail-gap);align-items:baseline;row-gap:36px;padding:clamp(36px,4.5vw,56px) 0;display:grid}.contact-copy{min-width:0}.contact-headline{max-width:30ch;font-size:var(--text-statement);letter-spacing:var(--tracking-display);color:var(--ink);text-wrap:balance;line-height:1.12}.serif-hyphen{margin-inline:-.05em}.contact-rows{border-top:1px solid var(--rule);flex-direction:column;min-width:0;display:flex}.contact-row{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:16px;min-height:50px;padding:3px 0;display:flex}.contact-row:last-child{border-bottom:0}.contact-row__link,.contact-row__plain{min-width:0;font-size:var(--text-body-sm);text-align:right;overflow-wrap:anywhere}.contact-row__link{align-items:center;min-height:44px;display:inline-flex}.contact-row__link:hover{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.contact-row__plain{color:var(--ink-2)}.contact-row__actions{justify-content:flex-end;align-items:center;gap:12px;min-width:0;display:inline-flex}.copy-email{border:1px solid var(--rule-2);border-radius:var(--radius-sm);min-height:32px;color:var(--ink-2);font-family:var(--font-sans);font-size:var(--text-caption);cursor:pointer;background:0 0;flex:none;padding:0 11px;font-weight:500;line-height:1;transition:border-color .18s,color .18s}.copy-email:hover{border-color:var(--ink-3);color:var(--ink)}.site-footer{padding-top:20px;padding-bottom:calc(clamp(28px, 4vw, 48px) + env(safe-area-inset-bottom,0px));border-top:1px solid var(--rule-strong);flex-wrap:wrap;align-items:center;gap:12px 20px;display:flex}.site-footer__name{font-size:var(--text-micro);letter-spacing:var(--tracking-caps);color:var(--ink);text-transform:uppercase;font-weight:500}.site-footer__meta{font-size:var(--text-small);color:var(--ink-3)}.site-footer__spacer{flex:auto}.shot-stage{flex-direction:column;align-items:center;gap:14px;width:100%;display:flex}.shot-stage__controls{justify-content:center;align-items:center;gap:10px;width:100%;display:flex}.shot-stage__nav{border:1px solid var(--rule-2);border-radius:var(--radius-md);width:32px;height:32px;color:var(--ink-2);cursor:pointer;background:0 0;place-items:center;font-size:18px;line-height:1;transition:background-color .2s,border-color .2s,color .2s;display:inline-grid}.shot-stage__nav:hover{background:var(--surface);border-color:var(--ink-3);color:var(--ink)}.shot-stage__dots{align-items:center;gap:6px;display:flex}.shot-stage__dot{background:var(--rule-2);cursor:pointer;border:0;border-radius:50%;width:6px;height:6px;padding:0;transition:background-color .25s,transform .25s}.shot-stage__dot--active{background:var(--accent);transform:scale(1.25)}.shot-stage__index{font-size:var(--text-micro);letter-spacing:var(--tracking-caps);color:var(--ink-3);text-transform:uppercase;text-align:center;min-width:4.5em}.project-figure--phone .shot-stage{gap:12px}.project-figure--tablet .shot-stage{align-items:stretch}.project-figure--tablet .shot-stage__controls{justify-content:flex-start;padding-top:4px}.project-figure--tablet .device-stack{justify-items:start}.shot-strip{--strip-max-h:calc(var(--plate-h,15rem) - 40px);justify-content:center;align-items:center;gap:10px;width:100%;display:flex}.shot-strip__item{flex:var(--strip-aspect) 1 0%;min-width:0;max-width:calc(var(--strip-max-h) * var(--strip-aspect))}.shot-strip .device{max-width:none;transition:transform .3s var(--ease-out)}.shot-strip__open{border-radius:inherit;cursor:zoom-in;background:0 0;border:0;justify-content:center;align-items:flex-end;padding:0 0 14%;display:flex;position:absolute;inset:0}.shot-strip__open:focus-visible{outline-offset:3px;border-radius:inherit}@media (hover:hover){.shot-strip__item:hover .device{transform:translateY(-3px)}}.shot-strip--fan{gap:0}.shot-strip--fan .shot-strip__item{width:calc(var(--strip-max-h) * var(--strip-aspect));max-width:none;transition:transform .35s var(--ease-out);flex:none;position:relative}.shot-strip--fan .shot-strip__item:nth-child(2){z-index:1}.shot-strip--fan .shot-strip__item:first-child{margin-right:calc(var(--strip-max-h) * var(--strip-aspect) * -.24);transform:translateY(5%)scale(.86)}.shot-strip--fan .shot-strip__item:last-child{margin-left:calc(var(--strip-max-h) * var(--strip-aspect) * -.24);transform:translateY(5%)scale(.86)}@media (hover:hover){.shot-strip--fan:hover .shot-strip__item:first-child{transform:translate(-8%,3%)scale(.88)}.shot-strip--fan:hover .shot-strip__item:last-child{transform:translate(8%,3%)scale(.88)}}.shot-strip__more{color:#f2f4f7;letter-spacing:var(--tracking-caps);background:#0a0c10c7;border-radius:9999px;padding:3px 7px;font-size:.6875rem;line-height:1.3;box-shadow:inset 0 0 0 1px #ffffff24}html:has(.shot-viewer[open]){scrollbar-gutter:stable;overflow:hidden}.shot-viewer{--viewer-room:calc(100dvh - 16rem);border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--card);width:min(30rem,100vw - 32px);max-width:none;max-height:calc(100dvh - 32px);color:var(--ink);box-shadow:var(--shadow);overscroll-behavior:contain;margin:auto;padding:0;overflow:auto}.shot-viewer--wide{width:min(50rem,100vw - 32px)}.shot-viewer--text{width:min(34rem,100vw - 32px)}@media (min-width:721px){.shot-viewer--split{--viewer-room:calc(100dvh - 11rem);--stage-column:calc(320px + 56px);width:min(52rem,100vw - 32px)}.shot-viewer--split[data-device=tablet]{--stage-column:calc(440px + 56px);width:min(60rem,100vw - 32px)}.shot-viewer--split .shot-viewer__panel{grid-template-columns:var(--stage-column) minmax(0, 1fr);grid-template-rows:auto 1fr;grid-template-areas:"stage head""stage details";display:grid}.shot-viewer--split .shot-viewer__head{grid-area:head}.shot-viewer--split .shot-viewer__stage{border-block:0;border-right:1px solid var(--rule);grid-area:stage;justify-content:center;margin-top:0;padding:28px}.shot-viewer--split .shot-viewer__details{grid-area:details}}.shot-viewer::backdrop{-webkit-backdrop-filter:blur(4px);background:#0a0c1099}.shot-viewer[open]{animation:viewerIn .32s var(--ease-out)}.shot-viewer[open]::backdrop{animation:viewerFade .32s var(--ease-out)}@keyframes viewerIn{0%{opacity:0;transform:translateY(12px)scale(.985)}}@keyframes viewerFade{0%{opacity:0}}.shot-viewer__head{justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 18px 0 24px;display:flex}.shot-viewer__title{font-weight:400;font-size:var(--text-heading);color:var(--ink);margin-top:6px;line-height:1.15}.shot-viewer__subtitle{font-size:var(--text-small);color:var(--ink-3);margin-top:2px;line-height:1.4}.shot-viewer__close{border:1px solid var(--rule-2);border-radius:var(--radius-md);background:var(--card);width:40px;height:40px;color:var(--ink-2);cursor:pointer;flex:none;place-items:center;transition:background-color .2s,border-color .2s,color .2s;display:inline-grid}.shot-viewer__close:hover{background:var(--surface);border-color:var(--ink-3);color:var(--ink)}.shot-viewer__stage{background:var(--plate);border-block:1px solid var(--rule);margin-top:18px;padding:24px}.shot-viewer__details{flex-direction:column;padding:6px 24px 22px;display:flex}.sheet-block{border-top:1px solid var(--rule);flex-direction:column;gap:8px;padding:14px 0 16px;display:flex}.sheet-block:first-child{border-top:0}.sheet-block__text{max-width:60ch;font-size:var(--text-body-sm);color:var(--ink-2);text-wrap:pretty;line-height:1.6}.sheet-block__text--strong{color:var(--ink)}.sheet-block--foot{font-size:var(--text-small);color:var(--ink-3);flex-flow:wrap;justify-content:space-between;align-items:baseline;gap:6px 18px;padding-bottom:0;line-height:1.45}@media (min-width:961px){.project-figure--phone{top:var(--anchor-offset);position:sticky}}@media (max-width:1100px){.hero-stats{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row}.hero-stat.hero-stat--apps{border-left:0;border-top:1px solid var(--rule);grid-column:1/-1;padding-left:0}.hero-stat--apps:first-child{border-top:0}.contact-body{grid-template-columns:var(--rail-w) minmax(0, 1fr)}.contact-rows{grid-column:2}}@media (max-width:960px){.project-article{grid-template-columns:var(--rail-w) minmax(0, 1fr)}.project-figure--phone{grid-column:1/-1;justify-self:center;width:min(100%,360px)}}@media (max-width:720px){:root{--rail-gap:24px}.rail,.section-index{flex:100%}.section-head{row-gap:10px;padding-bottom:14px}.section-head__spacer{display:none}.section-meta{flex-basis:100%}.hero-body,.contact-body,.project-article,.project-article--tablet,.project-article--no-media,.more-work{grid-template-columns:minmax(0,1fr)}.contact-rows{grid-column:auto}.hero-body{grid-template-areas:"copy""rail";row-gap:36px}.hero-rail{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;padding-top:0;display:grid}.hero-availability,.hero-rail__item--wide{grid-column:1/-1}.hero-headline{letter-spacing:-.006em;max-width:none;font-size:clamp(2.375rem,1.3rem + 5.4vw,3.5rem);line-height:1.04}.hero-stat{padding:18px 16px 20px}.hero-stat:first-child{padding-left:0}.hero-stat.hero-stat--apps{padding:16px 0 18px}.hero-apps__link{padding-block:12px}.hero-ctas .btn-primary,.hero-ctas .btn-secondary{flex:1 1 0;min-width:min(100%,150px);min-height:48px}.project-article{row-gap:0}.project-rail--meta,.project-main{display:contents}.project-main>*{order:4}.project-number{order:0;margin-bottom:14px}.project-rail--meta .project-number{height:auto}.project-heading{order:1;gap:14px}.project-mark{border-radius:10px;width:42px;height:42px}.project-mark--lg{border-radius:22.37%;width:64px;height:64px}.project-mark__letter{font-size:1.3125rem}.project-mark__letter--pair{font-size:1.0625rem}.project-platforms .platform-targets__row{-moz-column-gap:16px;grid-template-columns:minmax(0,96px) minmax(0,1fr);column-gap:16px}.project-meta{order:2;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:14px 20px;margin-top:20px;display:grid}.project-lede{order:3}.project-figure{order:5;margin-top:36px}.project-figure--phone,.project-article--tablet .project-figure--tablet{grid-column:auto}.project-figure--phone{justify-self:stretch;width:auto;padding:24px 20px 18px}.device--phone[data-orientation=portrait]{--device-max:min(248px, 64vw)}.shot-viewer{--viewer-room:calc(100dvh - 14rem - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));width:100%;height:100%;max-height:none;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);border:0;border-radius:0}.shot-viewer__panel{flex-direction:column;min-height:100%;display:flex}.shot-viewer__head{padding:14px 14px 0 20px}.shot-viewer__close{width:44px;height:44px}.shot-viewer__stage{padding:18px 16px 22px}.shot-viewer__details{padding-inline:20px}.device--tablet[data-orientation=landscape]{--device-max:100%}.device--tablet[data-orientation=portrait]{--device-max:min(300px, 80vw)}.skills-group{grid-template-columns:minmax(0,1fr)}.skills-group-label{padding-top:0}.about-block{grid-template-columns:minmax(0,1fr);row-gap:16px}.about-block__label{padding-top:0}.experience-node{gap:14px}.education-list{grid-template-columns:minmax(0,1fr)}.education-item,.education-item:nth-child(2n){border-left:0;border-top:1px solid var(--rule);padding:16px 0 18px}.education-item:first-child{border-top:0;padding-top:4px}}@media (orientation:landscape) and (max-height:500px){.section-pad-hero{padding-top:calc(76px + env(safe-area-inset-top,0px))}.hero-body{padding-bottom:40px}}.reveal{transition:opacity .6s var(--ease-out), transform .6s var(--ease-out);transition-delay:var(--reveal-delay,0s)}@media (prefers-reduced-motion:no-preference){[data-js] .reveal:not(.reveal--in){opacity:0;transform:translateY(12px)}[data-js] .reveal--md:not(.reveal--in){transform:translateY(20px)}}@media (prefers-reduced-motion:reduce){.island-backdrop,#island-shell{transition:none}}@media print{:root:root,:root[data-scheme]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--card:#fff;--plate:#fff;--surface:#fff;--ink:#16191f;--ink-2:#444b57;--ink-3:#5f6673;--rule:#d4d8df;--rule-2:#bcc3cd;--rule-strong:#16191f;--accent:var(--preset-accent-light,#f05138);--accent-ink:var(--preset-ink-light,#c23b22);--swift:var(--preset-dot-light,#f56b54)}body{background:#fff}a.btn-primary,.btn-primary{color:var(--ink);border-color:var(--ink);background:0 0}#island-root,.greet,.skip-link,.back-to-top,.shot-stage__controls,.hero-showcase__controls{display:none!important}.reveal,.hero-byline,.hero-word,.hero-lead,.hero-ctas,.hero-rail,.hero-stats,.hero-visual{opacity:1!important;animation:none!important;transform:none!important}.section-pad-hero{padding-top:0}.project-article{padding-block:24px}.project-rail,.project-heading,.project-lede__cell,.bullet-cell,.tech-stack,.work-tile,.education-item,.experience-node__head,.experience-bullets li,.skills-row{-moz-column-break-inside:avoid;break-inside:avoid}.section-head,.about-block-label,.about-block__label,.project-heading,.about-lead{-moz-column-break-after:avoid;break-after:avoid}}
