:root{--ink:#24123f;--paper:#f2ebff;--muted:#67577e;--line:#c8b8df;--accent:#b65cff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}.nav{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(242,235,255,.94);backdrop-filter:blur(12px);z-index:20}.brand{font:800 21px Manrope;text-decoration:none;color:var(--ink);border:2px solid;padding:6px 7px}.nav nav{display:flex;gap:28px}.nav nav a{color:var(--ink);text-decoration:none;font-size:14px}.hero{min-height:calc(100vh - 76px);padding:9vh 7vw 7vh;display:flex;flex-direction:column;justify-content:center}.eyebrow,.kicker{font-size:12px;font-weight:700;letter-spacing:.18em}.hero h1{font:800 clamp(76px,14vw,190px)/.78 Manrope;margin:28px 0 40px;letter-spacing:-.075em}.dek{font-size:clamp(19px,2vw,29px);line-height:1.4;max-width:900px;margin:0 0 40px}.actions{display:flex;gap:12px;flex-wrap:wrap}.button{padding:14px 20px;border:1px solid var(--ink);text-decoration:none;color:var(--ink);font-weight:600}.button.dark{background:var(--ink);color:white}.section{padding:110px 5vw}.section-head{display:grid;grid-template-columns:80px 1fr 1fr;align-items:end;border-top:1px solid var(--ink);padding-top:20px;margin-bottom:46px}.section-head h2{font:700 clamp(38px,5vw,70px)/1 Manrope;margin:0;letter-spacing:-.04em}.section-head p{max-width:450px;margin:0;justify-self:end}.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:280px;gap:14px}.card{grid-column:span 4;position:relative;overflow:hidden;background:#24123f;color:white}.card{grid-column:span 4}.card.wide{grid-column:span 8}.card.portrait{grid-row:span 2}.card img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.card:hover img{transform:scale(1.035)}.overlay{position:absolute;inset:0;padding:22px;display:flex;align-items:flex-end;justify-content:space-between;gap:15px;background:linear-gradient(transparent 45%,rgba(0,0,0,.76));opacity:.94}.overlay h3{font:700 23px/1.05 Manrope;margin:0 0 5px}.overlay p,.overlay b{margin:0;font-size:13px}.overlay b{white-space:nowrap}.split{display:grid;grid-template-columns:1fr 1fr;gap:8vw;border-top:1px solid var(--line)}.split h2,.resume h2{font:700 clamp(43px,6vw,82px)/.98 Manrope;letter-spacing:-.055em;margin:30px 0}.copy{font-size:20px;line-height:1.55;padding-top:40px}.copy p:first-child{font-size:27px;line-height:1.4}.ai{background:#24123f;color:white}.section-head.inverse{border-color:#666}.ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.ai-intro{font-size:24px;line-height:1.5}.topics{display:flex;flex-wrap:wrap;align-content:start;gap:10px}.topics span{border:1px solid #777;border-radius:100px;padding:14px 18px;font-size:15px}.topics span:first-child{background:var(--accent);color:var(--ink);border-color:var(--accent)}.resume h2{max-width:1050px}.resume-links{margin-top:70px;border-top:1px solid var(--ink)}.resume-links a{display:flex;justify-content:space-between;padding:28px 0;border-bottom:1px solid var(--ink);font:600 clamp(22px,3vw,38px) Manrope;color:var(--ink);text-decoration:none}.resume-links a:hover{padding-left:12px}footer{padding:35px 5vw;display:flex;gap:25px;justify-content:space-between;border-top:1px solid var(--line);font-size:13px}footer a{color:inherit}@media(max-width:800px){.nav nav{gap:14px}.hero{padding-left:5vw}.hero h1{font-size:21vw}.section{padding:75px 5vw}.section-head{grid-template-columns:45px 1fr}.section-head p{grid-column:2;margin-top:15px;justify-self:start}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card,.card{grid-column:span 4}.card.wide{grid-column:span 8}.card.portrait{grid-row:span 2}.split,.ai-grid{grid-template-columns:1fr}.copy{padding-top:0}.overlay{opacity:1}footer{flex-direction:column}.nav nav a:nth-child(2),.nav nav a:nth-child(3){display:none}}
.card{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}.card.show{opacity:1;transform:none}

.credits{margin-top:64px;border-top:1px solid var(--line);padding-top:25px}.credits h3,.academic h3{font:700 20px Manrope;margin:0 0 24px}.credits ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}.credits li{padding:15px 0;border-bottom:1px solid var(--line);font-size:17px;line-height:1.4}.credits li span{display:block;color:var(--muted);font-size:14px;margin-top:4px}.credits cite{font-style:italic}.academic h3{color:#e5c6ff}.nav a:focus-visible,.button:focus-visible,.card:focus-visible,.resume-links a:focus-visible{outline:3px solid #a441ec;outline-offset:3px}@media(max-width:650px){.grid,.credits ul{grid-template-columns:1fr}.grid{grid-auto-rows:300px}.card,.card.wide,.card.portrait{grid-column:auto;grid-row:auto}.card{aspect-ratio:auto}.overlay h3{font-size:20px}}

@media(min-width:801px){.grid{grid-template-areas:"nas nas nas nas nas nas nas nas hul hul hul hul" "ong ong ong ong fig fig fig fig hul hul hul hul" "gia gia gia gia ble ble ble ble wit wit wit wit" "gia gia gia gia elv elv elv elv cou cou cou cou"}.grid>.card:nth-child(1){grid-area:nas}.grid>.card:nth-child(2){grid-area:hul}.grid>.card:nth-child(3){grid-area:ong}.grid>.card:nth-child(4){grid-area:fig}.grid>.card:nth-child(5){grid-area:gia}.grid>.card:nth-child(6){grid-area:ble}.grid>.card:nth-child(7){grid-area:wit}.grid>.card:nth-child(8){grid-area:elv}.grid>.card:nth-child(9){grid-area:cou}}
.hero{background:radial-gradient(circle at 82% 18%,#d9b6ff 0,transparent 34%),linear-gradient(125deg,#f2ebff 48%,#e7d4ff)}.button.dark{background:#5b238d;border-color:#5b238d}.button.dark:hover,.button.dark:focus-visible{background:#8428bd}.button.light:hover{background:#e2c8ff}.ai{background:linear-gradient(135deg,#24123f,#512181)}.topics span:first-child{background:var(--accent);color:#24123f;border-color:var(--accent)}.card:hover{box-shadow:0 14px 35px rgba(65,19,105,.22)}

.contact{background:#e8d8fb;border-top:1px solid var(--line)}.contact h2{font:700 clamp(40px,5vw,68px)/1 Manrope;letter-spacing:-.05em;margin:25px 0}.contact a{color:var(--ink);font-size:clamp(18px,2vw,25px);text-decoration-thickness:1px;text-underline-offset:5px}@media(max-width:800px){.nav nav{gap:10px}.nav nav a{font-size:13px}}@media(max-width:410px){.nav{padding:0 3vw}.nav nav{gap:8px}.nav nav a{font-size:12px}}

/* Cinematic plum direction */
:root{--ink:#f8f3fa;--paper:#140d1c;--muted:#c1adcb;--line:#634d70;--accent:#d4a0ff}body{background:var(--paper);color:var(--ink)}.nav{background:rgba(20,13,28,.94);border-color:var(--line)}.brand{color:var(--ink);border:0;padding:0;font:700 22px Manrope;letter-spacing:.02em}.nav nav a{color:#e9d9ee}.nav nav a:hover,.nav nav a:focus-visible{color:var(--accent)}.hero{position:relative;isolation:isolate;min-height:710px;max-height:940px;padding:110px 7vw;background:#140d1c;overflow:hidden}.hero:before{content:"";position:absolute;z-index:-2;inset:0 0 0 46%;background:url('assets/fight-life.jpg') center/cover no-repeat;filter:brightness(.72) saturate(.83)}.hero:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#24102f 0%,#24102f 43%,rgba(36,16,47,.84) 55%,rgba(20,13,28,.06) 100%)}.eyebrow{color:#dda9ff;font-size:14px;letter-spacing:.13em}.hero h1{font:400 clamp(70px,9vw,142px)/.96 Georgia,serif;letter-spacing:-.07em;margin:42px 0 32px;max-width:820px}.dek{font-size:clamp(20px,2.2vw,28px);max-width:665px;color:#f1e6f5}.button.dark{background:#e9ceff;color:#24102f;border-color:#e9ceff}.button.dark:hover{background:#fff;color:#24102f}.button.light{color:#f6e9ff;border-color:#a27ab8;background:rgba(30,14,42,.55)}.button.light:hover{background:#512d63}.section-head{border-color:var(--line)}.section-head h2,.split h2,.resume h2,.contact h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.045em}.card{background:#1c1026}.overlay{background:linear-gradient(transparent 36%,rgba(10,5,17,.9));color:white}.credits li{border-color:var(--line)}.credits li span{color:var(--muted)}.split{background:#21132d}.copy p:first-child{color:#efdbff}.ai{background:linear-gradient(135deg,#170c25,#3d1a52)}.academic h3{color:#e9bdff}.topics span{border-color:#806393}.topics span:first-child{background:#b872e4;color:#190d22;border-color:#b872e4}.resume{background:#140d1c}.resume-links{border-color:var(--line)}.resume-links a{color:var(--ink);border-color:var(--line)}.resume-links a:hover{color:#d59bfa}.contact{background:#261331;border-color:var(--line)}.contact a{color:#eac9ff}footer{border-color:var(--line)}.nav a:focus-visible,.button:focus-visible,.card:focus-visible,.resume-links a:focus-visible{outline-color:#cf93f4}@media(max-width:800px){.hero{min-height:690px}.hero:before{inset:0;background-position:center;opacity:.55}.hero:after{background:linear-gradient(90deg,rgba(25,10,34,.97),rgba(25,10,34,.65))}.hero h1{font-size:clamp(64px,12vw,112px)}}

.topics span:first-child{background:transparent;color:var(--ink);border-color:#806393}

.brand-group{display:flex;align-items:center;gap:19px;min-width:0}.role-line{color:#f8f3fa;font-size:14px;line-height:1.3;white-space:nowrap;border-left:1px solid #806393;padding-left:18px}.hero-statement{max-width:790px;color:#f2dfff;font:400 clamp(24px,2.7vw,39px)/1.22 Georgia,serif;margin:0 0 18px}.hero .dek{font-size:clamp(17px,1.7vw,21px);max-width:720px;margin-bottom:32px;color:#e5d3ed}@media(max-width:1160px){.nav{height:auto;min-height:76px;flex-wrap:wrap;gap:10px;padding-top:15px;padding-bottom:15px}.role-line{white-space:normal}.nav nav{margin-left:auto}}@media(max-width:650px){.brand-group{flex-direction:column;align-items:flex-start;gap:5px}.role-line{border:0;padding:0;font-size:12px}.nav nav{width:100%;justify-content:space-between;gap:7px}.nav nav a{font-size:12px}.hero{padding-top:90px}}

.grid>.card:nth-child(8) img{object-position:center top}
