.folio-page{--content-width:1200px;--grid-gap:16px;--section-gap:var(--space-20);--card-padding:24px;--card-image-radius:16px;min-height:100vh}.folio-width{width:min(var(--content-width),calc(100% - 64px));margin-inline:auto}.folio-page h2{font-size:32px;font-weight:600;line-height:1.25;letter-spacing:-.025em}.folio-page h3{font-size:20px;font-weight:600;line-height:1.3;letter-spacing:-.015em}.folio-page p{color:var(--text-secondary)}.folio-page{--metric-start:#176447;--metric-end:#28734f}[data-theme=dark] .folio-page{--metric-start:#8adbb0;--metric-end:#b3ecc8}.metric-value{display:inline-block;color:var(--metric-start)}@supports ((background-clip:text) or (-webkit-background-clip:text)){.metric-value{background:linear-gradient(110deg,var(--metric-start),var(--metric-end));background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}}@media (forced-colors:active){.metric-value{background:none;color:CanvasText;-webkit-text-fill-color:CanvasText}}.folio-header{display:flex;align-items:center;justify-content:space-between;padding-block:16px}.folio-logo{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--text-primary);color:var(--surface);font-size:24px;font-weight:700;letter-spacing:-.06em;line-height:1}.folio-hero{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:stretch;padding-top:32px}.folio-positioning{padding-top:16px;display:flex;gap:8px;align-items:center;margin-bottom:16px;font-size:12px;font-weight:600;line-height:24px;letter-spacing:.065em;text-transform:uppercase;color:var(--text-secondary)}.location-flag{width:32px;height:24px;object-fit:cover;border-radius:4px}.folio-intro{display:flex;flex-direction:column;min-width:0}.folio-intro h1{font-size:clamp(36px,3.6vw,48px);line-height:1.14;letter-spacing:-.035em;font-weight:550}.folio-intro h1>span{display:block}.folio-intro .hero-greeting{margin-bottom:12px;font-size:clamp(42px,4.8vw,68px);line-height:1.12;letter-spacing:-.045em;font-weight:650}@supports ((background-clip:text) or (-webkit-background-clip:text)){.folio-hero .hero-greeting{background-image:linear-gradient(110deg,var(--text-primary) 10%,var(--text-secondary) 45%,color-mix(in srgb,var(--text-primary) 65%,var(--text-secondary)) 65%,var(--text-primary) 90%);background-size:220% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}@media (prefers-reduced-motion:no-preference){.folio-hero .hero-greeting{animation:hero-name-sheen 14s ease-in-out infinite}}}@keyframes hero-name-sheen{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@media (forced-colors:active){.folio-hero .hero-greeting{background:none;color:CanvasText;-webkit-text-fill-color:CanvasText;animation:none}}.hero-title-role{font-size:.8em;max-width:26ch;line-height:1.3}.hero-experience{white-space:nowrap}.folio-intro{--hero-subtitle-size:clamp(24px,3.2vw,43.2px)}.folio-intro .hero-role,.folio-intro .hero-title-role{font-size:var(--hero-subtitle-size);color:var(--text-secondary)}.folio-intro .hero-role{margin-top:24px;font-weight:550;line-height:1.2;cursor:pointer}.hero-subtitle-rotation{--subtitle-ease:linear(0,0.1175,0.3616,0.6172,0.8246,0.9646,1.0415,1.071,1.0707,1.0557,1.0365,1.0193,1.0067,0.999,0.9954,0.9946,0.9953,0.9967,0.998,0.9991,0.9999,1.0002,1.0004,1.0004,1);display:grid;grid-template-columns:minmax(0,1fr);overflow:hidden}.hero-subtitle-rotation>span{grid-area:1/1;align-self:start;min-width:0;visibility:hidden;overflow-wrap:break-word}.hero-subtitle-rotation>.is-current,.hero-subtitle-rotation>.is-incoming,.hero-subtitle-rotation>.is-outgoing{visibility:visible}.hero-subtitle-rotation>.is-outgoing{animation:hero-subtitle-out 1.2s var(--subtitle-ease) both}.hero-subtitle-rotation>.is-incoming{animation:hero-subtitle-in 1.2s var(--subtitle-ease) both}.hero-subtitle-rotation[data-paused=true]>span{animation-play-state:paused}@keyframes hero-subtitle-out{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}@keyframes hero-subtitle-in{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@media (prefers-reduced-motion:reduce){.hero-subtitle-rotation>span{animation:none;transform:none;visibility:hidden}.hero-subtitle-rotation>span:first-child{visibility:visible}}.text-link{display:inline;color:var(--primary);font-weight:600;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px;transition:text-decoration-color var(--motion-duration)}.text-link svg{display:inline;vertical-align:-2px}.text-link:hover{text-decoration-color:currentColor}.hero-profile{padding:var(--card-padding)}.hero-profile>p+p{margin-top:16px}.profile-heading{display:flex;align-items:flex-start;gap:16px;margin-bottom:24px}.profile-heading h2{font-size:20px;letter-spacing:-.015em}.profile-heading p{font-size:14px;margin-top:4px}.profile-heading .profile-domain{color:var(--text-muted)}.hero-profile>.profile-tools{margin-top:16px}.profile-tools strong{font-weight:600;white-space:nowrap}.folio-portrait{position:relative;width:80px;height:80px;flex-shrink:0}.portrait-crop{position:absolute;inset:0;overflow:hidden;border-radius:16px}.portrait-badge{display:none;position:absolute;right:-1px;bottom:-1px;width:24px;height:24px;overflow:visible;pointer-events:none}.portrait-badge>path:first-child{fill:var(--text-secondary);stroke:var(--surface);stroke-width:4px;stroke-linejoin:round;paint-order:stroke fill}.folio-portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.portrait-dark,[data-theme=dark] .portrait-light{opacity:0}[data-theme=dark] .portrait-dark{opacity:1}.profile-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:24px}.folio-socials{display:flex;gap:0;margin-left:-8px}.folio-section{margin-top:var(--section-gap);scroll-margin-top:24px}.folio-section-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px}.folio-section-heading .button{flex-shrink:0}.interactive-card{transition:transform var(--motion-duration) var(--motion-ease),border-color var(--motion-duration) var(--motion-ease),background-color var(--motion-duration) var(--motion-ease)}@media (hover:hover){.interactive-card:hover{transform:translateY(-3px);border-color:var(--border-hover)}}.interactive-card:active{transform:translateY(-1px)}.folio-projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--grid-gap)}.project-item{min-width:0}.folio-project{--card-image-radius:16px;display:flex;flex-direction:column;height:100%;padding:var(--card-padding)}.folio-project-image{aspect-ratio:1.54;overflow:hidden;border-radius:var(--card-image-radius);background:transparent}.folio-project-image img{width:100%;height:100%;object-fit:cover}.project-copy{display:flex;flex:1;flex-direction:column;min-width:0;padding-top:24px}.folio-project-meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;line-height:1.5;color:var(--text-secondary)}.folio-project h3{display:flex;align-items:start;gap:16px;justify-content:space-between;margin-top:12px}.project-item:not(.project-featured) h3{max-width:26ch}.project-copy>p{margin-top:12px;margin-bottom:24px;font-size:15px;line-height:1.6}.project-evidence{margin-top:auto}.folio-outcomes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.folio-outcomes>div{min-width:0;display:flex;flex-direction:column;gap:4px;padding:8px;background:var(--surface-soft);border-radius:12px}.folio-outcomes dt{order:2;min-width:0;font-size:12px;line-height:1.45;color:var(--text-secondary);white-space:nowrap}.folio-outcomes dd{font-size:16px;line-height:24px;font-weight:600;letter-spacing:-.02em;white-space:nowrap;font-variant-numeric:tabular-nums}.project-featured{grid-column:1/-1}.project-featured .folio-project{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:32px;padding:var(--card-padding)}.project-featured .folio-project-image{position:relative;aspect-ratio:4/3;min-height:320px;align-self:center}.project-featured .folio-project-image img{position:absolute;inset:0;object-fit:cover}.project-featured .project-copy{padding-top:0}.project-featured h3{font-size:28px}.project-featured .project-copy>p{font-size:16px}.project-featured .folio-outcomes dd{font-size:20px;line-height:24px}.experience-surface{padding:var(--card-padding)}.experience-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:40px;padding-block:24px}.experience-row+.experience-row{border-top:1px solid var(--border)}.experience-surface>.experience-row:first-child{padding-top:0}.experience-surface>.earlier-experience:last-child{padding-bottom:0}.experience-company{display:flex;align-items:start;gap:16px}.experience-company img{width:40px;height:40px;border-radius:var(--card-image-radius)}.experience-company p{font-size:13px;margin-top:4px}.experience-copy h4{font-size:16px;font-weight:600;line-height:1.5;margin-bottom:8px}.experience-copy>p{max-width:68ch}.experience-copy .experience-evidence{margin-top:12px;font-size:15px;color:var(--text-primary)}summary{display:flex;align-items:center;gap:12px;min-height:44px;cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}summary svg{transition:transform var(--motion-duration) var(--motion-ease)}details[open]>summary svg{transform:rotate(180deg)}.earlier-experience{padding-block:32px;border-top:1px solid var(--border)}.earlier-experience>h3{font-size:16px;margin-bottom:24px}.earlier-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.earlier-grid h4{font-size:18px;font-weight:600;line-height:1.3}.earlier-grid p{font-size:13px;margin-top:12px}.earlier-grid .earlier-role{margin-top:4px;font-size:15px;color:var(--text-primary)}.plugin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:var(--grid-gap)}.plugin-card{display:flex;flex-direction:column;padding:var(--card-padding)}.plugin-heading{display:flex;align-items:center;gap:12px}.plugin-heading h3{flex:1;font-size:18px}.plugin-title{min-width:0}.plugin-audience{display:block;font-size:12px;color:var(--text-secondary);line-height:1.5;margin-top:4px}.plugin-icon{width:40px;height:40px;border-radius:var(--card-image-radius);flex-shrink:0;object-fit:cover}.palette-icon{display:flex;overflow:hidden}.palette-icon span{flex:1;background:#435f85}.palette-icon span:nth-child(2){background:#889fbe}.palette-icon span:nth-child(3){background:#c5d1e3}.plugin-card>p{min-height:3.2em;text-wrap:pretty;margin-top:16px;font-size:15px;line-height:1.6}.entry-note{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:auto;font-size:12px;line-height:1.5;color:var(--text-muted)}.media-list,.writing-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--grid-gap)}.writing-row{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:8px;padding:var(--card-padding)}.writing-row>p{grid-column:1;font-size:16px;max-width:65ch}.publication-links{grid-column:1;grid-row:1;display:flex;align-items:center;flex-wrap:wrap;gap:8px 24px;margin-bottom:8px}.publication{display:flex;flex:1;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 12px}.publication-platform{display:flex;align-items:center;gap:8px;min-height:32px;font-size:15px;font-weight:500}.publication img{width:24px;height:24px;object-fit:contain;border-radius:4px;background:#fff}.publication time{font-size:12px;color:var(--text-muted)}.entry-date{display:inline-flex;align-items:center;gap:8px}.media-card{display:grid;grid-template-columns:144px minmax(0,1fr);align-items:stretch;gap:24px;padding:var(--card-padding)}.media-preview{position:relative;height:100%;min-height:80px;border-radius:var(--card-image-radius);overflow:hidden;background:var(--surface-soft)}.media-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.media-copy{min-width:0}.media-copy h3{font-size:18px;margin-top:8px}.media-copy>p{font-size:16px;line-height:1.6;margin-top:8px;max-width:65ch}.recognition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--grid-gap)}.recognition-card{padding:var(--card-padding);display:grid;grid-template-columns:144px minmax(0,1fr);align-items:stretch;gap:24px}.recognition-copy{min-width:0;align-self:center}.recognition-preview{position:relative;width:100%;height:100%;min-height:80px;overflow:hidden;border-radius:var(--card-image-radius);background:#fff}.recognition-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.jury-profile-preview{background:#f2f2f2}.recognition-card:nth-child(2) .recognition-preview{background:#000}.recognition-wordmark{display:flex;align-items:center;padding:16px;background:var(--surface-soft);color:var(--text-secondary);font-size:24px;font-weight:600;line-height:1.05;letter-spacing:-.04em}.recognition-card h3{font-size:18px;margin:0}.recognition-card p{margin-top:4px;margin-bottom:8px;font-size:15px}.folio-contact{display:grid;grid-template-columns:1fr;gap:16px;justify-items:center;text-align:center;max-width:720px;margin-inline:auto;padding:0;margin-top:var(--section-gap)}.folio-page .folio-contact h2{font-size:24px;line-height:1.35}.folio-contact p{margin-top:8px;font-size:15px}.folio-email{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:20px;font-weight:600;color:var(--primary);letter-spacing:-.015em}.folio-contact nav{display:flex;justify-content:center;gap:0 24px;flex-wrap:wrap;align-items:center}.folio-contact nav a{display:flex;align-items:center;min-height:44px;font-size:15px;font-weight:500}.folio-contact nav a:not(.resume-link){color:var(--text-primary)}.folio-contact a:hover{text-decoration:underline;text-underline-offset:4px}.folio-footer{display:flex;justify-content:center;text-align:center;gap:16px;padding-block:16px 32px;color:var(--text-muted);font-size:12px}@media (max-width:1100px){.folio-hero{gap:32px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.hero-profile{padding:var(--card-padding)}.profile-bottom{flex-wrap:wrap;gap:12px}.folio-projects{grid-template-columns:repeat(2,minmax(0,1fr))}.project-item:last-child{grid-column:1/-1}.project-item:last-child .folio-project{display:grid;grid-template-columns:1fr 1fr;gap:24px}.project-item:last-child .project-copy{padding-top:0}.project-item:last-child .folio-project-image{min-width:0;align-self:start}.project-featured .folio-project{gap:24px;padding:var(--card-padding)}.project-featured h3{font-size:24px}.plugin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.media-card,.recognition-card{grid-template-columns:112px minmax(0,1fr);gap:16px}.recognition-wordmark{font-size:20px;padding:12px}}@media (max-width:800px){.folio-width{width:calc(100% - 48px)}.folio-hero{grid-template-columns:1fr;gap:32px;padding-top:24px}.hero-profile{padding:var(--card-padding)}.folio-intro h1{font-size:44px}.hero-title-role{max-width:24ch}.folio-section-heading{align-items:start}.folio-section-heading h2{font-size:28px}.folio-section-heading:has(.button){flex-direction:column;gap:16px}.project-featured .folio-project{grid-template-columns:1fr}.project-featured .folio-project-image{min-height:0;aspect-ratio:1.8}.experience-row{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:24px}.experience-company{flex-direction:column;gap:12px}.experience-surface{padding-inline:var(--card-padding)}.earlier-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.media-list,.writing-list,.writing-row{grid-template-columns:1fr}}@media (max-width:600px){.folio-page{--section-gap:56px}.folio-width{width:calc(100% - 32px)}.folio-header{gap:8px;padding-block:16px;flex-wrap:wrap}.folio-header .theme-toggle{width:44px}.folio-hero{padding-top:24px}.folio-positioning{font-size:12px;letter-spacing:.05em}.folio-intro h1{font-size:clamp(40px,4.5vw,64px)}.hero-profile{padding:var(--card-padding)}.folio-portrait{width:64px;height:64px}.profile-heading h2{font-size:18px}.profile-heading p{font-size:12px}.profile-bottom{flex-wrap:wrap}.folio-section-heading{margin-bottom:24px}.folio-section-heading h2{font-size:28px}.folio-projects,.plugin-grid{grid-template-columns:1fr;gap:16px}.recognition-grid{grid-template-columns:1fr}.project-featured .folio-project,.project-item:last-child .folio-project{display:flex;padding:var(--card-padding);gap:0}.project-featured .folio-project-image,.project-item:last-child .folio-project-image{aspect-ratio:1.54}.project-featured .project-copy,.project-item:last-child .project-copy{padding-top:24px}.project-featured h3{font-size:24px}.project-copy>p,.project-featured .project-copy>p{font-size:16px}.experience-row{grid-template-columns:1fr;gap:16px;padding-block:24px}.experience-company{flex-direction:row;gap:12px}.experience-surface{padding:var(--card-padding)}.earlier-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.plugin-card>p{font-size:16px}.media-card{grid-template-columns:80px minmax(0,1fr)}.folio-contact{padding:0}.folio-email{font-size:18px}.folio-footer{padding-bottom:80px}.scroll-to-top{right:16px;bottom:16px}}@media (prefers-reduced-motion:reduce){.interactive-card:active,.interactive-card:hover{transform:none}}.hero-profile .profile-bottom{gap:16px}.hero-profile .folio-socials{gap:8px;margin-left:0}.hero-profile .folio-socials a{background:var(--background);border:0;border-radius:12px;width:44px;height:44px;display:grid;place-items:center;padding:0}.hero-profile .folio-socials a:hover{background:var(--surface-hover)}@media (max-width:600px){.folio-intro .hero-greeting{font-size:clamp(40px,4.5vw,64px)}}.folio-intro .hero-title-role{max-width:none}.hero-role-line{display:block}@media (min-width:1101px){.hero-role-line{white-space:nowrap}}.folio-project-image{margin:calc(4px - var(--card-padding)) calc(4px - var(--card-padding)) 0}.media-preview,.recognition-preview{margin:calc(4px - var(--card-padding)) 0 calc(4px - var(--card-padding)) calc(4px - var(--card-padding));width:calc(100% + var(--card-padding) - 4px)}.folio-project{--card-image-radius:calc(var(--radius-lg) - 4px)}.folio-project-image img{display:block;border-radius:inherit}@media (max-width:600px){.folio-project-image,.project-featured .folio-project-image,.project-item:last-child .folio-project-image{width:calc(100% + 2 * (var(--card-padding) - 4px));aspect-ratio:auto;flex-shrink:0}.folio-project-image img,.project-featured .folio-project-image img{position:static;height:auto;object-fit:contain}}.media-preview,.recognition-preview{border-radius:calc(var(--radius-lg) - 4px)}.hero-profile{padding:24px;align-self:start}.hero-profile .profile-heading{margin-bottom:24px}.hero-profile .profile-bottom{margin-top:24px}.hero-subtitle-rotation>span{white-space:normal}.folio-page,[data-theme=dark] .folio-page{--outcome-fill:var(--background)}.case-result-cards>div,.folio-outcomes>div{background:var(--outcome-fill)}.media-preview,.recognition-preview{height:auto;align-self:stretch}.project-item:not(.project-featured) .project-copy>h3{display:block;min-height:2.6em}.folio-project .project-copy>h3{font-size:22px;line-height:1.3;max-width:26ch;text-wrap:balance}.project-copy>h3>span{display:block}@media (min-width:601px) and (max-width:700px){.folio-project .project-copy>h3{font-size:20px}}