@font-face{font-family:InterVariable;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/InterVariable-DiVDrmQJ.woff2) format("woff2")}@font-face{font-family:InterVariable;font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/InterVariable-Italic-FCBEiFp6.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:100;font-display:swap;src:url(/assets/Inter-Thin-DzN99i8q.woff2) format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:100;font-display:swap;src:url(/assets/Inter-ThinItalic-DxehbPeK.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:200;font-display:swap;src:url(/assets/Inter-ExtraLight-7kXoOaX_.woff2) format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:200;font-display:swap;src:url(/assets/Inter-ExtraLightItalic-Ox17i_b0.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(/assets/Inter-Light-14LG-y7V.woff2) format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:300;font-display:swap;src:url(/assets/Inter-LightItalic-iBr7p6CH.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/Inter-Regular-COLGFB3M.woff2) format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/Inter-Italic-Bm_w1qmz.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/Inter-Medium-CDhBSFyE.woff2) format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:500;font-display:swap;src:url(/assets/Inter-MediumItalic-BqDObnQN.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/Inter-SemiBold-BAEEcJ4E.woff2) format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:600;font-display:swap;src:url(/assets/Inter-SemiBoldItalic-B7KOJJiL.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/Inter-Bold-BOs3KVhN.woff2) format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:700;font-display:swap;src:url(/assets/Inter-BoldItalic-Cabj1n7x.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/Inter-ExtraBold-BUaDDWMS.woff2) format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:800;font-display:swap;src:url(/assets/Inter-ExtraBoldItalic-efVpd_pq.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:900;font-display:swap;src:url(/assets/Inter-Black-BJbWHna9.woff2) format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:900;font-display:swap;src:url(/assets/Inter-BlackItalic-D3PIgx41.woff2) format("woff2")}@font-face{font-family:InterDisplay;font-style:normal;font-weight:100;font-display:swap;src:url(/assets/InterDisplay-Thin-BT9qaRpT.woff2) format("woff2")}@font-face{font-family:InterDisplay;font-style:italic;font-weight:100;font-display:swap;src:url(/assets/InterDisplay-ThinItalic-DtFR0WUP.woff2) format("woff2")}@font-face{font-family:InterDisplay;font-style:normal;font-weight:200;font-display:swap;src:url(/assets/InterDisplay-ExtraLight-B3-UpUq4.woff2) format("woff2")}@font-face{font-family:InterDisplay;font-style:italic;font-weight:200;font-display:swap;src:url(/assets/InterDisplay-ExtraLightItalic-C8b3Z3Tc.woff2) format("woff2")}@font-face{font-family:InterDisplay;font-style:normal;font-weight:300;font-display:swap;src:url(/assets/InterDisplay-Light-DQj7ly9y.woff2) format("woff2")}@font-face{font-family:InterDisplay;font-style:italic;font-weight:300;font-display:swap;src:url(/assets/InterDisplay-LightItalic-Bbt9QreW.woff2) format("woff2")}@font-face{font-family:InterDisplay;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/InterDisplay-Regular-CHKdHLF4.woff2) format("woff2")}@font-face{font-family:InterDisplay;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/InterDisplay-Italic-Pk5cUfHi.woff2) format("woff2")}@font-face{font-family:InterDisplay;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/InterDisplay-Medium-CYGNL_ty.woff2) format("woff2")}@font-face{font-family:InterDisplay;font-style:italic;font-weight:500;font-display:swap;src:url(/assets/InterDisplay-MediumItalic-hd-DtBFz.woff2) format("woff2")}@font-face{font-family:InterDisplay;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/InterDisplay-SemiBold--Mm3ZPsY.woff2) format("woff2")}@font-face{font-family:InterDisplay;font-style:italic;font-weight:600;font-display:swap;src:url(/assets/InterDisplay-SemiBoldItalic-KqvXNdTp.woff2) format("woff2")}@font-face{font-family:InterDisplay;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/InterDisplay-Bold-BpCEuk9N.woff2) format("woff2")}@font-face{font-family:InterDisplay;font-style:italic;font-weight:700;font-display:swap;src:url(/assets/InterDisplay-BoldItalic-2f5-4TWO.woff2) format("woff2")}@font-face{font-family:InterDisplay;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/InterDisplay-ExtraBold-CTk6ni5a.woff2) format("woff2")}@font-face{font-family:InterDisplay;font-style:italic;font-weight:800;font-display:swap;src:url(/assets/InterDisplay-ExtraBoldItalic-7uYEMdJ3.woff2) format("woff2")}@font-face{font-family:InterDisplay;font-style:normal;font-weight:900;font-display:swap;src:url(/assets/InterDisplay-Black--Thh5XZM.woff2) format("woff2")}@font-face{font-family:InterDisplay;font-style:italic;font-weight:900;font-display:swap;src:url(/assets/InterDisplay-BlackItalic-CeOspfgx.woff2) format("woff2")}@font-feature-values InterVariable{@character-variant{cv01:1;cv02:2;cv03:3;cv04:4;cv05:5;cv06:6;cv07:7;cv08:8;cv09:9;cv10:10;cv11:11;cv12:12;cv13:13;alt-1:1;alt-3:9;open-4:2;open-6:3;open-9:4;lc-l-with-tail:5;simplified-u:6;alt-double-s:7;uc-i-with-serif:8;uc-g-with-spur:10;single-story-a:11;compact-lc-f:12;compact-lc-t:13}@styleset{ss01:1;ss02:2;ss03:3;ss04:4;ss05:5;ss06:6;ss07:7;ss08:8;open-digits:1;disambiguation:2;disambiguation-except-zero:4;round-quotes-and-commas:3;square-punctuation:7;square-quotes:8;circled-characters:5;squared-characters:6}}@font-feature-values Inter{@character-variant{cv01:1;cv02:2;cv03:3;cv04:4;cv05:5;cv06:6;cv07:7;cv08:8;cv09:9;cv10:10;cv11:11;cv12:12;cv13:13;alt-1:1;alt-3:9;open-4:2;open-6:3;open-9:4;lc-l-with-tail:5;simplified-u:6;alt-double-s:7;uc-i-with-serif:8;uc-g-with-spur:10;single-story-a:11;compact-lc-f:12;compact-lc-t:13}@styleset{ss01:1;ss02:2;ss03:3;ss04:4;ss05:5;ss06:6;ss07:7;ss08:8;open-digits:1;disambiguation:2;disambiguation-except-zero:4;round-quotes-and-commas:3;square-punctuation:7;square-quotes:8;circled-characters:5;squared-characters:6}}@font-feature-values InterDisplay{@character-variant{cv01:1;cv02:2;cv03:3;cv04:4;cv05:5;cv06:6;cv07:7;cv08:8;cv09:9;cv10:10;cv11:11;cv12:12;cv13:13;alt-1:1;alt-3:9;open-4:2;open-6:3;open-9:4;lc-l-with-tail:5;simplified-u:6;alt-double-s:7;uc-i-with-serif:8;uc-g-with-spur:10;single-story-a:11;compact-lc-f:12;compact-lc-t:13}@styleset{ss01:1;ss02:2;ss03:3;ss04:4;ss05:5;ss06:6;ss07:7;ss08:8;open-digits:1;disambiguation:2;disambiguation-except-zero:4;round-quotes-and-commas:3;square-punctuation:7;square-quotes:8;circled-characters:5;squared-characters:6}}:root{color-scheme:light;--font: -apple-system, BlinkMacSystemFont, InterVariable, Inter, "Segoe UI", Roboto, sans-serif;--ease-out: cubic-bezier(.23, 1, .32, 1);--bg: #fbfbfd;--bg-tint: #f5f5f7;--surface: #ffffff;--media-bg: #ececf0;--ink: #1d1d1f;--ink-2: #515154;--ink-3: #6e6e73;--hairline: rgba(0, 0, 0, .08);--fill: rgba(0, 0, 0, .05);--fill-strong: rgba(0, 0, 0, .09);--pill: #ffffff;--accent: #0066cc;--accent-fill: #0071e3;--accent-fill-hover: #0077ed;--accent-soft: rgba(0, 113, 227, .1);--focus: #0071e3;--green: #1f9d47;--green-soft: rgba(52, 199, 89, .14);--bezel: #1d1d1f;--material: rgba(251, 251, 253, .72);--material-strong: rgba(255, 255, 255, .82);--material-edge: rgba(255, 255, 255, .6);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04), 0 2px 8px rgba(0, 0, 0, .04);--shadow-md: 0 2px 4px rgba(0, 0, 0, .04), 0 14px 36px rgba(0, 0, 0, .09);--shadow-lg: 0 30px 70px -24px rgba(0, 0, 0, .28);--shadow-pill: 0 1px 2px rgba(0, 0, 0, .08), 0 3px 10px rgba(0, 0, 0, .06);--nav-height: 3.5rem;--gutter: clamp(1.25rem, 4vw, 2.5rem)}:root[data-theme=dark]{color-scheme:dark;--bg: #1c1c1e;--bg-tint: #232326;--surface: #2a2a2d;--media-bg: #333337;--ink: #f5f5f7;--ink-2: #c7c7cc;--ink-3: #98989d;--hairline: rgba(255, 255, 255, .1);--fill: rgba(255, 255, 255, .08);--fill-strong: rgba(255, 255, 255, .14);--pill: #48484c;--accent: #2997ff;--accent-fill: #0071e3;--accent-fill-hover: #0a7cf0;--accent-soft: rgba(41, 151, 255, .16);--focus: #2997ff;--green: #30d158;--green-soft: rgba(48, 209, 88, .16);--bezel: #111113;--material: rgba(28, 28, 30, .72);--material-strong: rgba(44, 44, 47, .84);--material-edge: rgba(255, 255, 255, .08);--shadow-sm: none;--shadow-md: 0 14px 36px rgba(0, 0, 0, .35);--shadow-lg: 0 30px 70px -24px rgba(0, 0, 0, .6);--shadow-pill: 0 1px 2px rgba(0, 0, 0, .35)}@media (prefers-contrast: more){:root{--hairline: rgba(0, 0, 0, .35);--ink-2: var(--ink);--ink-3: #3a3a3c;--fill: rgba(0, 0, 0, .1)}:root[data-theme=dark]{--hairline: rgba(255, 255, 255, .4);--ink-3: #d1d1d6;--fill: rgba(255, 255, 255, .16)}}::view-transition-old(root),::view-transition-new(root){animation-duration:.28s;animation-timing-function:ease}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;min-width:320px;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:1rem;line-height:1.5;font-optical-sizing:auto;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}::-moz-selection{background:var(--accent-fill);color:#fff}::selection{background:var(--accent-fill);color:#fff}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:fixed;top:.75rem;left:.75rem;z-index:100;padding:.75rem 1rem;border-radius:.75rem;background:var(--surface);color:var(--ink);font-weight:600;box-shadow:var(--shadow-md);transform:translateY(-200%)}.skip-link:focus-visible{transform:none}.container{width:min(1120px,100% - var(--gutter) * 2);margin-inline:auto}.display{margin:0;font-size:clamp(3rem,8.4vw,6.25rem);font-weight:700;line-height:1;letter-spacing:-.035em}.display span{color:var(--ink-3)}.display--section{font-size:clamp(2.5rem,6.4vw,4.75rem);line-height:1.04;letter-spacing:-.03em}.title{margin:0;font-size:clamp(2rem,4.2vw,3rem);font-weight:700;line-height:1.08;letter-spacing:-.025em}.lead{margin:0;color:var(--ink-2);font-size:clamp(1.0625rem,1.5vw,1.25rem);line-height:1.5;letter-spacing:-.01em}.body{margin:0 0 1rem;max-width:34rem;color:var(--ink-2);font-size:1.0625rem;line-height:1.6;letter-spacing:-.005em}.eyebrow{margin:0 0 .75rem;color:var(--accent);font-size:.9375rem;font-weight:600;letter-spacing:0}.text-link{display:inline-flex;align-items:center;gap:.375rem;min-height:2.75rem;color:var(--accent);font-weight:600;text-underline-offset:.2em}.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.75rem;padding:0 1.25rem;border:0;border-radius:999px;background:var(--accent-fill);color:#fff;font-size:.9375rem;font-weight:600;letter-spacing:-.01em;white-space:nowrap;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background-color .15s ease,transform .12s var(--ease-out)}.button:active{transform:scale(.97)}.button--secondary{background:var(--fill);color:var(--ink)}.button--small{min-height:2.25rem;padding:0 .875rem;font-size:.8125rem}@media (hover: hover) and (pointer: fine){.button:hover{background:var(--accent-fill-hover)}.button--secondary:hover{background:var(--fill-strong)}.text-link:hover{text-decoration:underline}}@media (prefers-contrast: more){.button--secondary{box-shadow:inset 0 0 0 1px var(--ink)}}.nav{position:fixed;inset:0 0 auto;z-index:50;height:var(--nav-height);transition:background-color .2s ease,box-shadow .2s ease,-webkit-backdrop-filter .2s ease;transition:background-color .2s ease,box-shadow .2s ease,backdrop-filter .2s ease;transition:background-color .2s ease,box-shadow .2s ease,backdrop-filter .2s ease,-webkit-backdrop-filter .2s ease}.nav[data-scrolled=true]{background:var(--material);box-shadow:0 1px 0 var(--hairline);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%)}.nav__inner{display:flex;align-items:center;gap:.75rem;height:100%}.nav__brand{display:inline-flex;align-items:center;gap:.25em;min-height:2.75rem;font-size:.9375rem;font-weight:650;letter-spacing:-.02em}.nav__brand span{color:var(--ink-3)}.nav__links{display:flex;gap:.125rem;margin:0 0 0 auto;padding:0;list-style:none}.nav__links a{position:relative;display:inline-flex;align-items:center;min-height:2.25rem;padding:0 .875rem;border-radius:999px;color:var(--ink-2);font-size:.875rem;font-weight:500;transition:color .15s ease}.nav__links a[aria-current]{color:var(--ink)}.nav__pill{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:var(--fill)}.nav__label{position:relative}.nav__resume{margin-left:.25rem}.theme-toggle{position:relative;display:grid;flex-shrink:0;place-items:center;width:2.25rem;height:2.25rem;margin-left:.25rem;border:0;border-radius:999px;background:transparent;color:var(--ink-2);cursor:pointer;transition:background-color .15s ease,color .15s ease,transform .12s var(--ease-out)}.theme-toggle:active{transform:scale(.92)}.theme-toggle__icon{display:grid;place-items:center}@media (hover: hover) and (pointer: fine){.theme-toggle:hover{background:var(--fill);color:var(--ink)}}.nav__toggle{display:none}.nav__menu{position:absolute;top:calc(var(--nav-height) + .25rem);right:var(--gutter);width:min(18rem,calc(100vw - var(--gutter) * 2));padding:.5rem;border:1px solid var(--hairline);border-radius:1.25rem;background:var(--material-strong);box-shadow:inset 0 1px 0 var(--material-edge),var(--shadow-lg);-webkit-backdrop-filter:blur(28px) saturate(180%);backdrop-filter:blur(28px) saturate(180%);transform-origin:top right}.nav__menu ul{margin:0;padding:0;list-style:none}.nav__menu ul a{display:flex;align-items:center;min-height:3rem;padding:0 1rem;border-radius:.75rem;font-size:1.0625rem;font-weight:550;letter-spacing:-.01em}.nav__menu ul a:active{background:var(--fill)}.nav__menu ul a[aria-current]{color:var(--accent)}.nav__menu-resume{width:100%;margin-top:.5rem}@media (hover: hover) and (pointer: fine){.nav__links a:hover{color:var(--ink)}}@media (max-width: 760px){.nav__links,.nav__resume{display:none}.theme-toggle{width:2.75rem;height:2.75rem;margin-left:auto}.nav__toggle{display:grid;place-items:center;width:2.75rem;height:2.75rem;margin-right:-.625rem;border:0;border-radius:999px;background:transparent;color:var(--ink);cursor:pointer;transition:background-color .12s ease}.nav__toggle:active{background:var(--fill)}}.hero{padding:calc(var(--nav-height) + clamp(3rem,9vw,7rem)) 0 clamp(4rem,9vw,7rem)}.hero__grid{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"copy avatar";align-items:center;gap:clamp(2.5rem,6vw,5rem)}.hero__copy{grid-area:copy}.avatar{grid-area:avatar;width:clamp(16rem,30vw,24rem);aspect-ratio:1;margin:0;overflow:hidden;border-radius:50%;background:#fff;box-shadow:0 0 0 1px var(--hairline),var(--shadow-md)}.avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:50% 0%;object-position:50% 0%;transform:scale(1.4);transform-origin:50% 8%}[data-theme=dark] .avatar img{filter:brightness(.94)}@media (max-width: 860px){.hero__grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"avatar" "copy";gap:2rem}.avatar{width:clamp(9rem,32vw,13rem)}}.status{display:inline-flex;align-items:center;gap:.5rem;margin:0 0 1.5rem;padding:.375rem .75rem;border-radius:999px;background:var(--fill);color:var(--ink-2);font-size:.8125rem;font-weight:550;letter-spacing:.005em}.status__dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.hero__lead{max-width:34rem;margin-top:1.5rem}.hero__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.hero__stats{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:1.5rem 2.75rem;margin:3rem 0 0;padding-top:1.5rem;border-top:1px solid var(--hairline)}.hero__stats div{display:flex;flex-direction:column-reverse;gap:.25rem}.hero__stats dd{margin:0;font-size:1.375rem;font-weight:650;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.hero__stats dt{color:var(--ink-3);font-size:.8125rem;letter-spacing:.005em}@media (max-width: 560px){.hero__stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 1.5rem}.hero__stats div:last-child{grid-column:1 / -1}}.section{padding-block:clamp(5rem,11vw,9rem)}.section--tinted{background:var(--bg-tint)}.section__head{max-width:40rem;margin-bottom:clamp(2.5rem,5vw,3.5rem)}.section__head--split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,22rem);align-items:end;gap:1.5rem 3rem;max-width:none}@media (max-width: 760px){.section__head--split{grid-template-columns:minmax(0,1fr)}}.segmented{display:inline-flex;gap:.125rem;margin-bottom:2rem;padding:.25rem;border-radius:999px;background:var(--fill)}.segmented button{position:relative;min-height:2.25rem;padding:0 1rem;border:0;border-radius:999px;background:transparent;color:var(--ink-2);font-size:.875rem;font-weight:550;cursor:pointer;transition:color .15s ease}.segmented button[aria-pressed=true]{color:var(--ink)}.segmented__pill{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:var(--pill);box-shadow:var(--shadow-pill)}.segmented__label{position:relative;display:inline-flex;align-items:center;gap:.375rem;transition:transform .12s var(--ease-out)}.segmented button:active .segmented__label{transform:scale(.96)}.segmented__count{color:var(--ink-3);font-size:.75rem;font-variant-numeric:tabular-nums}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2.5vw,1.75rem);margin:0;padding:0;list-style:none}.grid>li{min-width:0}.grid>li>div{height:100%}@media (max-width: 680px){.grid{grid-template-columns:minmax(0,1fr)}}.card{display:flex;flex-direction:column;height:100%;overflow:hidden;border:1px solid var(--hairline);border-radius:1.5rem;background:var(--surface);box-shadow:var(--shadow-sm);transition:transform .16s var(--ease-out),box-shadow .25s ease}a.card:active{transform:scale(.985)}a.card:focus-visible{outline-offset:4px}.card__media{position:relative;aspect-ratio:16 / 10;overflow:hidden;background:var(--media-bg)}.card__media img{position:absolute;transition:transform .4s var(--ease-out)}.card__media--web img{top:9%;left:7%;width:93%;height:91%;-o-object-fit:cover;object-fit:cover;-o-object-position:left top;object-position:left top;border-radius:.75rem 0 0;box-shadow:0 10px 30px #00000024}.card__media--phone img{top:10%;right:0;left:0;width:34%;margin-inline:auto;border-radius:1.5rem;box-shadow:0 0 0 6px var(--bezel),0 18px 40px #00000038}.card__body{display:flex;flex:1;flex-direction:column;gap:.375rem;padding:1.25rem 1.5rem 1.5rem}.card__kind{margin:0;color:var(--ink-3);font-size:.8125rem;font-weight:550;letter-spacing:.005em}.card__title{margin:0;font-size:1.375rem;font-weight:650;line-height:1.2;letter-spacing:-.02em}.card__stack{margin:0;color:var(--ink-2);font-size:.9375rem;line-height:1.5}.card__cta{display:inline-flex;align-items:center;gap:.375rem;margin-top:auto;padding-top:.75rem;color:var(--accent);font-size:.9375rem;font-weight:600}.card__cta svg{transition:transform .2s var(--ease-out)}.card__cta--muted{color:var(--ink-3)}@media (hover: hover) and (pointer: fine){a.card:hover{box-shadow:var(--shadow-md)}a.card:hover .card__media img{transform:translateY(-6px)}a.card:hover .card__cta svg{transform:translate(2px,-2px)}}.about{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(2.5rem,6vw,6rem)}.about__copy .title{margin-bottom:1.5rem}.about__copy .text-link{margin-top:.25rem}.skills{display:grid;gap:1rem}.skills__group{padding:1.25rem 1.5rem 1.5rem;border:1px solid var(--hairline);border-radius:1.25rem;background:var(--surface);box-shadow:var(--shadow-sm)}.skills__group h3{margin:0 0 .875rem;font-size:.9375rem;font-weight:600;letter-spacing:-.01em}.skills__group ul{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none}.skills__group li{padding:.375rem .75rem;border-radius:999px;background:var(--fill);font-size:.875rem;font-weight:500}@media (max-width: 860px){.about{grid-template-columns:minmax(0,1fr)}}.timelines{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,5vw,4rem)}.timeline__title{display:flex;align-items:center;gap:.5rem;margin:0;padding-bottom:.875rem;border-bottom:1px solid var(--hairline);color:var(--ink-2);font-size:.9375rem;font-weight:600}.timeline ol{margin:0;padding:0;list-style:none}.timeline__item{display:grid;grid-template-columns:10.5rem minmax(0,1fr);gap:1rem;padding:1.25rem 0;border-bottom:1px solid var(--hairline)}.timeline__period{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;margin:0;color:var(--ink-3);font-size:.875rem;line-height:1.6;font-variant-numeric:tabular-nums}.badge{display:inline-flex;padding:.125rem .5rem;border-radius:999px;background:var(--green-soft);color:var(--green);font-size:.75rem;font-weight:600}.timeline__role{margin:0;font-size:1.125rem;font-weight:600;line-height:1.35;letter-spacing:-.015em}.timeline__place{margin:.25rem 0 0;color:var(--ink-2);font-size:.9375rem}@media (max-width: 860px){.timelines{grid-template-columns:minmax(0,1fr)}}@media (max-width: 480px){.timeline__item{grid-template-columns:minmax(0,1fr);gap:.375rem}.timeline__period{flex-direction:row;align-items:center}}.contact{text-align:center}.contact__head{max-width:46rem;margin-inline:auto}.contact__head .lead{max-width:32rem;margin:1.25rem auto 0}.contact__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:2rem}.copy{position:relative;min-width:9.75rem}.copy__label{display:inline-flex;align-items:center;gap:.5rem}.contact__methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;max-width:56rem;margin:clamp(3rem,6vw,4.5rem) auto 0;padding:0;list-style:none;text-align:left}.method{display:flex;align-items:center;gap:.875rem;height:100%;padding:1rem 1.125rem;border:1px solid var(--hairline);border-radius:1.25rem;background:var(--surface);box-shadow:var(--shadow-sm);transition:transform .16s var(--ease-out),box-shadow .25s ease}.method:active{transform:scale(.98)}.method__icon{display:grid;flex-shrink:0;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--accent-soft);color:var(--accent)}.method__text{display:flex;flex-direction:column;min-width:0}.method__label{color:var(--ink-3);font-size:.8125rem}.method__value{font-size:.9375rem;font-weight:600;overflow-wrap:anywhere}.method__arrow{flex-shrink:0;margin-left:auto;color:var(--ink-3);transition:transform .2s var(--ease-out)}@media (hover: hover) and (pointer: fine){.method:hover{box-shadow:var(--shadow-md)}.method:hover .method__arrow{transform:translate(2px,-2px)}}@media (max-width: 760px){.contact__methods{grid-template-columns:minmax(0,1fr)}}.footer{padding:1rem 0 calc(1rem + env(safe-area-inset-bottom));border-top:1px solid var(--hairline);color:var(--ink-3);font-size:.8125rem}.footer__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1.5rem}.footer p{margin:0}.footer__links{display:flex;gap:1.25rem;margin:0;padding:0;list-style:none}.footer__links a,.footer__top{display:inline-flex;align-items:center;gap:.375rem;min-height:2.75rem;color:var(--ink-2);transition:color .15s ease}@media (hover: hover) and (pointer: fine){.footer__links a:hover,.footer__top:hover{color:var(--ink)}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.card__media img,.card__cta svg,.method__arrow{transition:none}a.card:hover .card__media img,a.card:hover .card__cta svg,.method:hover .method__arrow{transform:none}}@media (prefers-reduced-transparency: reduce){.nav[data-scrolled=true],.nav__menu{-webkit-backdrop-filter:none;backdrop-filter:none}.nav[data-scrolled=true]{background:var(--bg)}.nav__menu{background:var(--surface)}}
