:root{--text:#6d6d6d;--text-h:#111;--bg:#f2f2f2;--surface:#fff;--border:#e6e6e6;--muted:#8a8a8a;--dot:#111;--link:#155dfc;--link-hover:#0b3fcc;--sans:"Outfit", system-ui, "Segoe UI", sans-serif;font:16px/150% var(--sans);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-snap-type:y proximity;scroll-padding-top:72px}body{margin:0}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;scroll-snap-type:none}.reveal,.reveal.is-in .hero,.reveal.is-in .strengths,.reveal.is-in .trusted,.reveal.is-in .about-copy,.reveal.is-in .experience-list li,.reveal.is-in .award-card,.reveal.is-in .portfolio-item{opacity:1;filter:none;transition:none;animation:none;transform:none}}#root{min-height:100svh}h1,h2,p{margin:0}a{color:inherit}button{font:inherit}img{max-width:100%;display:block}.page{background:var(--surface);width:min(1180px,100%);margin:0 auto;padding:0 24px}.topbar{z-index:20;background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);margin:0 -24px;padding:18px 24px;position:sticky;top:0}.topbar-row{justify-content:space-between;align-items:center;display:flex}.logo{color:var(--text-h);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:10px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.logo-dot{background:var(--dot);border-radius:50%;width:8px;height:8px}.menu-btn{color:var(--text-h);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:8px 0;font-size:12px;font-weight:600;display:inline-flex}.menu-icon{gap:5px;display:grid}.menu-icon span{background:var(--text-h);width:16px;height:1.5px;transition:transform .2s;display:block}.menu-btn.is-open .menu-icon span:first-child{transform:translateY(3.25px)rotate(45deg)}.menu-btn.is-open .menu-icon span:last-child{transform:translateY(-3.25px)rotate(-45deg)}.menu-backdrop{z-index:19;cursor:default;background:#1111112e;border:0;position:fixed;inset:0}.menu-panel{z-index:21;border:1px solid var(--border);background:#fff;border-radius:18px;width:min(260px,100vw - 32px);padding:10px;display:none;position:absolute;top:calc(100% - 6px);right:24px;box-shadow:0 18px 50px #0000001f}.menu-panel.is-open{gap:4px;display:grid}.menu-panel a{color:var(--text-h);border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;font-size:15px;font-weight:600;text-decoration:none;display:flex}.menu-panel a small{color:var(--muted);font-size:12px;font-weight:600}.menu-panel a:hover{color:var(--link);background:#f4f4f4}main>section{scroll-snap-align:start;scroll-snap-stop:always;box-sizing:border-box;min-height:100svh}.reveal{opacity:0;filter:blur(8px);transition:opacity .7s,transform .7s,filter .7s;transform:translateY(36px)}.reveal.is-in{opacity:1;filter:none;transform:none}.reveal.is-in .hero,.reveal.is-in .strengths,.reveal.is-in .trusted,.reveal.is-in .about-copy,.reveal.is-in .experience-list li,.reveal.is-in .award-card,.reveal.is-in .portfolio-item{animation:.75s both rise-in}.reveal.is-in .strengths{animation-delay:.1s}.reveal.is-in .trusted{animation-delay:.2s}.reveal.is-in .experience-list li:nth-child(2),.reveal.is-in .award-card:nth-child(2),.reveal.is-in .portfolio-item:nth-child(2){animation-delay:80ms}.reveal.is-in .experience-list li:nth-child(3),.reveal.is-in .award-card:nth-child(3),.reveal.is-in .portfolio-item:nth-child(3){animation-delay:.16s}.reveal.is-in .portfolio-item:nth-child(4){animation-delay:.24s}@keyframes rise-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.intro{gap:36px;padding:24px 0 40px;display:grid}.hero{grid-template-columns:1fr auto 180px;align-items:center;gap:36px;padding:0;display:grid}.eyebrow{color:var(--text-h);margin-bottom:10px;font-size:18px}.hero h1{color:var(--text-h);letter-spacing:-.04em;text-transform:uppercase;font-size:clamp(36px,5vw,64px);font-weight:700;line-height:.95}.lede{max-width:34ch;margin:22px 0 28px;font-size:15px;line-height:1.6}.cta{color:#fff;letter-spacing:.08em;text-transform:uppercase;background:#111;border-radius:999px;align-items:center;gap:14px;padding:12px 14px 12px 20px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.cta-mark{background:#fff;border-radius:50%;width:22px;height:22px}.portrait-wrap{width:min(240px,56vw)}.portrait{aspect-ratio:1;object-fit:cover;background:#d9d6d2;border-radius:50%;width:100%}.stats{text-align:right;gap:22px;margin:0;padding:0;list-style:none;display:grid}.stats strong{color:var(--text-h);letter-spacing:-.04em;font-size:28px;line-height:1;display:block}.stats span{color:var(--muted);margin-top:6px;font-size:12px;display:block}.strengths{border-top:1px solid var(--border);grid-template-columns:repeat(4,1fr);gap:28px;padding:24px 0 0;display:grid}.strengths h2{color:var(--text-h);letter-spacing:.04em;text-transform:uppercase;margin-bottom:10px;font-size:13px}.strengths p{color:var(--muted);font-size:13px;line-height:1.55}.experience,.awards,.work{padding:48px 0 64px}.trusted{padding-top:8px;display:grid}.experience,.awards,.work{align-content:start;display:grid}.section-head{justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:28px;display:flex}.section-head h2,.kicker{color:var(--text-h);letter-spacing:-.03em;text-transform:uppercase;font-size:28px;font-weight:700}.section-head p{max-width:36ch;color:var(--muted);text-align:right;font-size:14px}.brand-row{grid-template-columns:repeat(5,1fr);gap:12px;margin:0;padding:18px 0 0;list-style:none;display:grid}.brand-row a{border:1px solid var(--border);min-height:64px;color:var(--text-h);border-radius:12px;justify-content:center;align-items:center;font-size:13px;font-weight:500;text-decoration:none;display:flex}.about{align-content:center;gap:36px;padding:48px 0;display:grid}.about-main{grid-template-columns:1fr 1fr;align-items:center;gap:48px;display:grid}.about h2{color:var(--text-h);letter-spacing:-.04em;text-transform:uppercase;font-size:clamp(32px,4vw,48px);font-weight:700;line-height:1}.about-lead{color:var(--text-h);margin-bottom:20px;font-size:20px;line-height:1.45}.about-copy p+p{font-size:15px;line-height:1.7}.skill-chips{flex-wrap:wrap;gap:8px;margin:22px 0 0;padding:0;list-style:none;display:flex}.skill-chips li{border:1px solid var(--border);color:var(--text-h);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600}.about-media{grid-template-rows:150px 150px;grid-template-columns:1.2fr 1fr;gap:12px;display:grid}.shot{object-fit:cover;background:#ececec;border-radius:18px;width:100%;height:100%}.shot-wide{grid-row:1/span 2;min-height:312px}.about-facts{grid-template-columns:repeat(4,1fr);gap:12px;margin:0;padding:0;list-style:none;display:grid}.about-facts li{border:1px solid var(--border);border-radius:16px;padding:18px 16px}.about-facts strong{color:var(--text-h);margin-bottom:6px;font-size:14px;display:block}.about-facts span{color:var(--muted);font-size:13px;line-height:1.45}.experience-list,.portfolio-list{gap:40px;margin:0;padding:8px 0 0;list-style:none;display:grid}.experience-list li,.portfolio-item{--mark:#4caf7a;grid-template-columns:88px minmax(160px,220px) 1fr;align-items:start;gap:28px;display:grid}.tone-1{--mark:#4caf7a}.tone-2{--mark:#e0a23a}.tone-3{--mark:#4a8bdb}.tone-4{--mark:#8b6fd4}.tone-5{--mark:#d46f8b}.tone-6{--mark:#2a9d8f}.portfolio-num{color:var(--text-h);letter-spacing:-.04em;font-size:42px;font-weight:700;line-height:1}.portfolio-num span{color:var(--muted);letter-spacing:.08em;margin-bottom:6px;font-size:11px;font-weight:600;display:block}.portfolio-title h3{color:var(--text-h);letter-spacing:-.03em;margin:0 0 10px;font-size:20px;line-height:1.2}.portfolio-title a{color:var(--link);text-underline-offset:3px;margin-right:12px;font-size:13px;font-weight:600;text-decoration:underline;display:inline-block}.portfolio-title a:hover{color:var(--link-hover)}.portfolio-title p{color:var(--muted);font-size:14px}.award-list{gap:28px;margin:0;padding:8px 0 0;list-style:none;display:grid}.award-card{--mark:#4caf7a;grid-template-columns:minmax(240px,320px) 1fr;align-items:start;gap:28px;padding-bottom:8px;display:grid}.award-photo{object-fit:cover;background:#ececec;border-radius:18px;width:100%;height:220px}.award-copy h3{color:var(--text-h);letter-spacing:-.03em;margin:8px 0 10px;font-size:22px;line-height:1.2}.award-result{color:var(--text-h);letter-spacing:.04em;text-transform:uppercase;margin-top:12px;font-size:13px;font-weight:600}.award-preview{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin:10px 0 14px;font-size:14px;line-height:1.6;display:-webkit-box;overflow:hidden}.award-press{flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:8px;display:flex}.award-press a{color:var(--link);text-underline-offset:3px;font-size:13px;font-weight:600;text-decoration:underline}.award-press a:hover{color:var(--link-hover)}.dialog-photo{object-fit:cover;background:#ececec;border-radius:14px;width:100%;height:220px;margin:0 0 20px}.experience-body{border-top:1px solid var(--border);padding-top:10px}.experience-meta{color:var(--text-h);margin-bottom:8px;font-size:13px;font-weight:600}.experience-body>p+p{font-size:14px;line-height:1.6}.portfolio-body{border-top:1px solid var(--mark);padding-top:10px}.project-summary{max-width:56ch;margin-bottom:18px}.project-preview{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;font-size:14px;line-height:1.6;display:-webkit-box;overflow:hidden}.dialog-description{margin:0 0 20px;font-size:15px;line-height:1.65}.read-more{color:var(--link);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;margin-top:6px;padding:0;font-size:14px;font-weight:600;text-decoration:underline;display:inline-block}.read-more:hover{color:var(--link-hover)}.dialog-backdrop{z-index:20;background:#11111173;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.dialog{background:var(--surface);width:min(640px,100%);max-height:min(80vh,720px);color:var(--text);border-radius:20px;padding:28px 28px 32px;overflow:auto;box-shadow:0 24px 60px #0000002e}.dialog-close{float:right;color:var(--text-h);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;margin:0 0 12px 12px;font-size:13px;font-weight:600}.dialog-kicker{color:var(--muted);margin-bottom:8px;font-size:13px}.dialog h3{color:var(--text-h);letter-spacing:-.03em;margin:0 0 16px;font-size:28px}.dialog-highlights{margin:0}.dialog-highlights li{margin-bottom:8px}.dialog-links{flex-wrap:wrap;gap:16px;margin-top:20px;display:flex}.dialog-links a{color:var(--link);text-underline-offset:3px;font-size:13px;font-weight:600;text-decoration:underline}.dialog-links a:hover{color:var(--link-hover)}.detail-group+.detail-group{margin-top:16px}.detail-label{color:var(--text-h);align-items:center;gap:8px;margin-bottom:8px;font-size:13px;font-weight:600;display:flex}.dot{background:var(--mark);border-radius:50%;width:8px;height:8px}.detail-group ul{margin:0;padding:0;list-style:none}.detail-group li{color:var(--muted);padding-left:16px;font-size:13px;line-height:1.6;position:relative}.detail-group li:before{content:"-";position:absolute;left:0}footer{border-top:1px solid var(--border);color:var(--text-h);justify-content:space-between;align-items:center;gap:16px;margin-top:48px;padding-top:24px;font-weight:500;display:flex}.socials{flex-wrap:wrap;justify-content:flex-end;gap:16px;display:flex}.socials a{color:var(--muted);font-size:13px;text-decoration:none}.socials a:hover,.brand-row a:hover{color:var(--text-h)}@media (width<=900px){.page{padding:0 16px}.intro,.hero,.strengths,.about-main,.about-facts,.brand-row{grid-template-columns:1fr}.about-media{grid-template-rows:140px;grid-template-columns:1fr 1fr}.shot-wide{grid-area:auto/1/auto/-1;min-height:140px}.hero{text-align:left}.portrait-wrap{justify-self:center}.stats{text-align:left;grid-template-columns:repeat(2,1fr)}.section-head,footer,.experience-list li,.award-card,.portfolio-item{flex-direction:column;grid-template-columns:1fr;align-items:flex-start}.award-photo{height:200px}.section-head p,footer,.socials{text-align:left;justify-content:flex-start}.topbar{margin:0 -16px;padding:16px}.menu-panel{right:16px}.portfolio-num{font-size:32px}.portfolio-list{gap:32px}}
