.hero{--ink-muted:color-mix(in srgb, var(--ink) 78%, transparent);min-height:100svh;padding-top:calc(env(safe-area-inset-top,0px) + var(--header-height) + clamp(1.5rem, 4vh, 3.5rem));color:var(--ink);align-items:center;padding-bottom:clamp(3rem,8vh,6rem);display:flex;position:relative}@supports not (height:100svh){.hero{min-height:100vh}}.hero__inner{width:100%;max-width:var(--content-max);padding-inline:var(--page-gutter);grid-template-columns:1fr;align-items:center;gap:clamp(2rem,5vw,4rem);margin-inline:auto;display:grid}.hero__copy{min-width:0}.hero__label{font-family:var(--font-sans);letter-spacing:.14em;color:var(--ink-muted);margin:0 0 1.25rem;font-size:.9rem;font-weight:500}.hero__label:before{content:"";vertical-align:middle;opacity:.7;background:currentColor;width:1.6rem;height:1px;margin-right:.75rem;display:inline-block}.hero__title{font-family:var(--font-display);font-weight:400;font-size:var(--hero-title-size);letter-spacing:.005em;color:var(--ink);margin:0 0 1.5rem;line-height:1.04}.hero__greeting{color:var(--ink-muted);margin:0 0 .8rem;font-size:16px;line-height:1.7}.hero__tagline{max-width:34ch;font-family:var(--font-sans);color:var(--ink);margin:0 0 1.1rem;font-size:clamp(19px,1.8vw,26px);font-weight:500;line-height:1.42}.hero__summary{max-width:46ch;font-family:var(--font-sans);color:var(--ink-muted);margin:0;font-size:17px;line-height:1.72}.hero__actions{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:2.25rem;display:flex}.hero__background{color:var(--ink);margin:0 0 1rem;font-size:15px;line-height:1.8}.hero__availability{color:var(--ink-muted);margin:1.1rem 0 0;font-size:13px;line-height:1.8}.cta{font-family:var(--font-sans);cursor:pointer;border:1px solid #0000;text-decoration:none}.cta-primary{background:var(--accent);width:clamp(190px,16vw,230px);min-height:64px;color:var(--on-accent);transition:transform .26s var(--ease-out), background-color var(--motion-control) var(--ease-out);border-radius:16px;justify-content:center;align-items:center;gap:.65rem;padding-inline:1.5rem;font-size:1.02rem;font-weight:500;display:inline-flex}.cta-primary:hover{background:var(--accent-strong);transform:translateY(-2px)}.cta-primary:active{transform:scale(.985)}.cta-primary:focus-visible{outline:2px solid var(--accent-strong);outline-offset:4px}.cta-arrow{width:20px;height:20px;transition:transform .26s var(--ease-out);flex:none}.cta-primary:hover .cta-arrow{transform:translate(4px)}.cta-secondary{min-height:48px;color:var(--ink);transition:transform .26s var(--ease-out), border-color var(--motion-control) var(--ease-out);background:0 0;border-radius:0;justify-content:center;align-items:center;padding-inline:.5rem;font-size:1.02rem;font-weight:500;display:inline-flex}.cta-secondary:hover{border-bottom-color:var(--accent)}.cta-secondary:active{transform:scale(.985)}.cta-secondary:focus-visible{outline:2px solid var(--accent-strong);outline-offset:4px}.hero__portrait{justify-self:center;width:min(76vw,380px);margin:0}.hero__portrait img{width:100%;height:auto;filter:var(--portrait-filter);-webkit-mask-composite:source-in;display:block;-webkit-mask-image:linear-gradient(#0000,#000 14% 86%,#0000),linear-gradient(90deg,#0000,#000 12% 88%,#0000);mask-image:linear-gradient(#0000,#000 14% 86%,#0000),linear-gradient(90deg,#0000,#000 12% 88%,#0000);mask-composite:intersect}@media (width>=768px){.hero__inner{grid-template-columns:repeat(12,1fr);gap:24px}.hero__copy{grid-column:1/span 7}.hero__portrait{grid-column:8/span 5;justify-self:end;width:100%;max-width:520px}}@media (width>=1200px){.hero__copy{grid-column:1/span 7}.hero__portrait{grid-column:8/span 5;max-width:560px}}@media (width<=767px){.hero{padding-top:calc(env(safe-area-inset-top,0px) + var(--header-height) + 1.5rem);align-items:flex-start}.hero__title{margin-bottom:1.1rem}.cta-primary{width:100%;max-width:320px;min-height:58px}.hero__portrait{order:2;margin-top:.5rem}.cta-secondary{min-height:44px}.hero__copy{order:1}}@media (width<=389px){.hero__title{font-size:42px}}@media (prefers-reduced-motion:reduce){.cta-primary,.cta-secondary,.cta-arrow{transition:none}}.quick-links{max-width:var(--content-max);padding:clamp(88px, 11vh, 140px) var(--page-gutter) var(--section-space);margin:0 auto}.quick-links__list{grid-template-columns:repeat(4,1fr);gap:16px;margin:0;padding:0;list-style:none;display:grid}.quick-link{border-radius:var(--radius-window);border:1px solid var(--line);background:var(--glass);min-height:100%;backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));color:var(--ink);transition:transform var(--motion-control) var(--ease-out), border-color var(--motion-control) var(--ease-out), background var(--motion-control) var(--ease-out);flex-direction:column;gap:10px;padding:24px 22px;text-decoration:none;display:flex}.quick-link__title{font-family:var(--font-display);transition:color var(--motion-control) var(--ease-out);font-size:clamp(19px,1.6vw,23px);line-height:1.25}.quick-link__description{color:var(--ink-muted);font-size:14px;line-height:1.7}.quick-link__hint{color:var(--accent);opacity:0;transition:opacity var(--motion-control) var(--ease-out), transform var(--motion-control) var(--ease-out);margin-top:auto;padding-top:12px;font-size:13px;transform:translateY(-4px)}.quick-link:hover{border-color:color-mix(in srgb, var(--accent) 55%, transparent);transform:translateY(-3px)}.quick-link:hover .quick-link__title{color:var(--accent-strong)}.quick-link:hover .quick-link__hint,.quick-link:focus-visible .quick-link__hint{opacity:1;transform:translateY(0)}.quick-link:focus-visible{outline:2px solid var(--accent-strong);outline-offset:3px}.placeholder-section{scroll-margin-top:var(--anchor-offset);padding:var(--section-space) var(--page-gutter)}.placeholder-section__inner{text-align:center;border-top:1px solid var(--line);max-width:46rem;margin:0 auto;padding-top:clamp(56px,8vw,96px)}.placeholder-section__title{font-family:var(--font-display);color:var(--ink);margin:0 0 16px;font-size:clamp(28px,3.4vw,42px);font-weight:400;line-height:1.2}.placeholder-section__notice{color:var(--ink-muted);margin:0;font-size:15px;line-height:1.8}@media (width<=1023px){.quick-links__list{grid-template-columns:repeat(2,1fr)}}@media (width<=559px){.quick-links__list{grid-template-columns:1fr}.quick-link{padding:22px 20px}}@media (prefers-reduced-motion:reduce){.quick-link,.quick-link__title,.quick-link__hint{transition:none}.quick-link:hover{transform:none}}.section-head{max-width:1120px;margin:0 auto clamp(28px,4vw,48px)}.section-head__title{font-family:var(--font-display);color:var(--ink);margin:0 0 16px;font-size:clamp(42px,5vw,68px);font-weight:400;line-height:1.2}.section-head__intro{max-width:44rem;color:var(--ink-muted);margin:0;font-size:16px;line-height:1.8}.section-eyebrow{letter-spacing:.12em;color:var(--accent-strong);margin:0 0 14px;font-size:12px;font-weight:500;line-height:1.8}.subsection-heading{color:var(--ink);margin:0 0 24px;font-size:20px;font-weight:500;line-height:1.5}.section-empty{color:var(--ink-muted)}.experience-section,.capability-section,.contact-footer{--ink-muted:color-mix(in srgb, var(--ink) 78%, transparent);scroll-margin-top:var(--anchor-offset);padding:clamp(80px, 10vw, 144px) var(--page-gutter)}.experience-content{max-width:1120px;margin:0 auto}.timeline{gap:24px;margin:0;padding:0;list-style:none;display:grid;position:relative}.timeline:before{content:"";background:var(--line);width:1px;position:absolute;inset:28px auto 28px 5px}.timeline__item{grid-template-columns:12px minmax(0,1fr);gap:24px;display:grid}.timeline__marker{background:var(--accent);border-radius:50%;width:11px;height:11px;margin-top:28px;position:relative}.timeline__card,.capability-group,.education-card{border-radius:var(--radius-window);border:1px solid var(--line);background:var(--glass);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));min-width:0;padding:clamp(22px,3vw,32px)}.timeline__head{flex-wrap:wrap;align-items:baseline;gap:8px 24px;margin-bottom:12px;display:flex}.timeline__period{color:var(--accent-strong);letter-spacing:.03em;font-size:13px}.timeline__org{color:var(--ink-muted);font-size:14px}.timeline__role{margin:0 0 12px;font-size:clamp(20px,2vw,25px);font-weight:500;line-height:1.5}.timeline__summary{color:var(--ink);margin:0 0 12px;font-size:16px;line-height:1.85}.timeline__highlights{color:var(--ink-muted);margin:0 0 18px;padding-left:1.1em;font-size:14px;line-height:1.9}.timeline__highlights li+li{margin-top:6px}.timeline__related,.capability-item__evidence{flex-wrap:wrap;align-items:baseline;gap:6px 12px;font-size:13px;line-height:1.8;display:flex}.evidence-label{color:var(--ink-muted)}.evidence-link{color:var(--accent-strong);border-bottom:1px solid color-mix(in srgb, var(--accent) 45%, transparent);text-decoration:none}.evidence-link:hover{border-bottom-color:var(--accent-strong)}.evidence-link--broken{color:var(--ink-muted);border-bottom-style:dashed}.timeline__metrics{border-top:1px solid var(--line);flex-wrap:wrap;gap:20px 40px;margin:20px 0;padding-top:20px;display:flex}.timeline__metrics>div{flex-direction:column-reverse;gap:6px;display:flex}.timeline__metrics dt{color:var(--ink-muted);font-size:12px}.timeline__metrics dd{font-family:var(--font-display);color:var(--ink);margin:0;font-size:34px;line-height:1.1}.education-section{margin-bottom:56px}.about-section{margin-top:56px}.education-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.education-card__role{margin:12px 0 6px;font-size:22px;font-weight:500}.education-card__org{color:var(--ink-muted);margin:0 0 18px;font-size:13px}.education-card .timeline__summary{font-size:15px}.achievement-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;display:grid}.achievement{border-top:1px solid var(--line);padding-top:22px}.achievement .section-eyebrow{margin-bottom:10px}.achievement__title{margin:0 0 10px;font-size:17px;font-weight:500;line-height:1.6}.achievement__text{color:var(--ink-muted);margin:0;font-size:14px;line-height:1.9}.honors-section{margin-top:48px}.honors-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;margin:0;padding:0;list-style:none;display:grid}.honor-item{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 16px;padding:16px 0;display:flex}.honor-item__title{color:var(--ink);font-size:14px;line-height:1.7}.honor-item__result{color:var(--accent-strong);font-size:13px;line-height:1.7}.capability-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:1120px;margin:0 auto;display:grid}.capability-group__index{font-family:var(--font-display);color:var(--accent);margin:0 0 24px;font-size:30px;line-height:1}.capability-group__title{margin:0 0 10px;font-size:clamp(19px,1.8vw,24px);font-weight:500;line-height:1.4}.capability-group__intro{color:var(--ink-muted);margin:0 0 24px;font-size:13px;line-height:1.8}.capability-list{gap:24px;margin:0;padding:0;list-style:none;display:grid}.capability-item+.capability-item{border-top:1px solid var(--line);padding-top:24px}.capability-item__head{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.capability-item__label{font-size:15px;font-weight:500}.capability-item__pending{color:var(--ink-muted);font-size:12px}.capability-item__desc{color:var(--ink-muted);margin:0 0 12px;font-size:14px;line-height:1.85}.skill-foundation{gap:10px;max-width:1120px;margin:32px auto 0;display:grid}.skill-foundation>div{grid-template-columns:6rem minmax(0,1fr);gap:16px;font-size:13px;line-height:1.8;display:grid}.skill-foundation dt{color:var(--ink)}.skill-foundation dd{color:var(--ink-muted);margin:0}.contact-footer{border-top:1px solid var(--line);padding-bottom:32px}.contact-footer__inner{max-width:1120px;margin:0 auto}.contact-footer__title{font-family:var(--font-display);margin:0 0 16px;font-size:clamp(42px,5vw,68px);font-weight:400;line-height:1.2}.contact-footer__intro{max-width:38rem;color:var(--ink-muted);margin:0 0 40px;font-size:16px;line-height:1.8}.contact-footer__grid{grid-template-columns:.9fr 1.1fr;align-items:start;gap:40px;margin-bottom:64px;display:grid}.contact-facts{gap:12px;margin:0 0 28px;display:grid}.contact-facts>div{grid-template-columns:5rem minmax(0,1fr);gap:12px;font-size:14px;line-height:1.8;display:grid}.contact-facts dt{color:var(--ink-muted)}.contact-facts dd{margin:0}.contact-block__label{letter-spacing:.08em;color:var(--accent-strong);margin:0 0 12px;font-size:12px}.contact-block__placeholder{color:var(--ink-muted);font-size:14px;line-height:1.8}.contact-email{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.contact-email__link{color:var(--ink);border-bottom:1px solid var(--line);overflow-wrap:anywhere;font-size:clamp(16px,1.6vw,21px);text-decoration:none}.contact-email__copy{border-radius:var(--radius-control);border:1px solid var(--line);min-height:44px;color:var(--ink);cursor:pointer;background:0 0;padding:8px 14px;font-size:12px}.contact-email__copy:hover{border-color:var(--accent)}.contact-email__status{min-height:1.5em;color:var(--accent-strong);flex-basis:100%;font-size:12px}.resume-card{border:1px solid var(--line);border-radius:var(--radius-window);background:var(--glass);grid-template-columns:124px minmax(0,1fr);align-items:center;gap:24px;padding:24px;display:grid}.resume-card__preview{background:#fff;border-radius:5px;display:block;overflow:hidden}.resume-card__preview img{width:100%;height:auto;display:block}.resume-card__title{margin:0 0 10px;font-size:19px;font-weight:500;line-height:1.6}.resume-card__detail{color:var(--ink-muted);margin:0 0 24px;font-size:12px;line-height:1.8}.resume-card__actions{flex-wrap:wrap;align-items:center;gap:8px 18px;display:flex}.resume-download{border-radius:var(--radius-control);border:1px solid var(--line);min-height:44px;color:var(--ink);justify-content:center;align-items:center;gap:10px;padding:10px 16px;font-size:13px;text-decoration:none;display:inline-flex}.resume-download:hover{border-color:var(--accent)}.resume-download svg{flex-shrink:0}.contact-link{min-height:44px;color:var(--ink);align-items:center;font-size:13px;text-decoration:underline;display:inline-flex}.contact-channels{margin:0;padding:0;list-style:none}.contact-footer__meta{border-top:1px solid var(--line);color:var(--ink-muted);margin:0;padding-top:24px;font-size:12px}.contact-footer__meta+.contact-footer__meta{border-top:0;padding-top:12px;font-size:11px}[data-analytics-toggle]{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;min-height:36px;padding:4px 8px;text-decoration:underline}html.js .reveal{opacity:0;filter:blur(6px);transform:translateY(16px)}html.js .reveal.is-visible{opacity:1;filter:blur();transition:opacity var(--motion-reveal) var(--ease-out), transform var(--motion-reveal) var(--ease-out), filter var(--motion-reveal) var(--ease-out);transition-delay:calc(min(var(--reveal-index,0), 6) * 70ms);transform:translateY(0)}@media (width<=1199px){.capability-group{padding:24px}.contact-footer__grid{grid-template-columns:1fr 1fr;gap:28px}.resume-card{grid-template-columns:88px minmax(0,1fr);gap:20px;padding:20px}}@media (width<=899px){.capability-groups{grid-template-columns:1fr}.capability-group__index{margin-bottom:14px}.capability-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.capability-item+.capability-item{border-top:0;padding-top:0}.achievement-grid{grid-template-columns:1fr;gap:24px}.contact-footer__grid{grid-template-columns:1fr}.resume-card{grid-template-columns:100px minmax(0,1fr)}}@media (width<=599px){.timeline__item{grid-template-columns:8px minmax(0,1fr);gap:14px}.timeline__marker{width:8px;height:8px}.timeline:before{left:3px}.timeline__card{padding:22px 20px}.timeline__head{flex-direction:column;gap:6px}.timeline__role{font-size:20px}.timeline__summary{font-size:15px}.timeline__metrics{gap:20px}.timeline__metrics dd{font-size:30px}.education-grid,.capability-list,.honors-list{grid-template-columns:1fr}.capability-item+.capability-item{border-top:1px solid var(--line);padding-top:24px}.skill-foundation>div{grid-template-columns:1fr;gap:2px}.contact-footer__grid{gap:32px;margin-bottom:40px}.resume-card{grid-template-columns:80px minmax(0,1fr);gap:18px;padding:20px 16px}.resume-card__title{font-size:16px}.resume-card__detail{margin-bottom:16px}.resume-card__actions{gap:2px 12px}.resume-download{padding-inline:12px}}@media (prefers-reduced-motion:reduce){html.js .reveal,html.js .reveal.is-visible{opacity:1;filter:none;transition:none;transform:none}}
