:root{--scarlet:#ba0c2f;--scarlet-dark:#8f0924;--black:#17181a;--charcoal:#292b2e;--gray:#5d6266;--silver:#a7b1b7;--mist:#eef0f1;--paper:#f8f7f4;--white:#fff;--line:#d4d7d9;--content:min(1180px, calc(100% - 64px))}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--black);margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-underline-offset:.24em;text-decoration-thickness:1px}a:hover{color:var(--scarlet)}a:focus-visible{outline:3px solid var(--scarlet);outline-offset:4px}.skip-link{z-index:20;background:var(--white);padding:10px 14px;font-weight:700;position:fixed;top:12px;left:12px;transform:translateY(-150%)}.skip-link:focus{transform:none}.site-header{z-index:5;grid-template-columns:1fr auto 1fr;align-items:center;width:57%;height:88px;padding:0 clamp(28px,4.5vw,72px);display:grid;position:absolute;top:0;left:0}.wordmark{letter-spacing:-.03em;justify-self:start;font-size:1.05rem;font-weight:800;text-decoration:none}.wordmark span,h1 span{color:var(--scarlet)}nav{gap:clamp(18px,2vw,32px);display:flex}nav a,.header-resume{letter-spacing:.11em;text-transform:uppercase;font-size:.69rem;font-weight:750;text-decoration:none}.header-resume{border-bottom:2px solid var(--scarlet);justify-self:end;padding-bottom:2px}.hero{grid-template-columns:57% 43%;height:100svh;min-height:760px;display:grid}.hero-copy{flex-direction:column;justify-content:center;align-items:flex-start;padding:120px clamp(40px,7vw,112px) 54px clamp(32px,7vw,112px);display:flex}.eyebrow,.project-number,.role-meta,.role-kicker,.education-year,figcaption,footer{letter-spacing:.11em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.68rem;font-weight:700}.eyebrow{color:var(--scarlet);margin:0 0 20px}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.04em;font-family:Georgia,Times New Roman,serif;font-weight:400}h1{margin-bottom:28px;font-size:clamp(4.3rem,7vw,7.2rem);line-height:.82}h2{margin-bottom:24px;font-size:clamp(2.4rem,4vw,4.25rem);line-height:.98}h3{margin-bottom:12px;font-size:clamp(1.65rem,2.3vw,2.45rem);line-height:1.08}.intro{max-width:590px;color:var(--gray);margin-bottom:24px;font-size:clamp(1.1rem,1.5vw,1.35rem);line-height:1.5}.availability{color:var(--gray);align-items:center;gap:10px;margin-bottom:0;font-size:.79rem;font-weight:650;display:flex}.availability span{background:var(--scarlet);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #ba0c2f1a}.hero-actions{flex-wrap:wrap;align-items:center;gap:24px;margin-top:32px;display:flex}.button{background:var(--scarlet);color:var(--white);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:18px;padding:13px 19px;font-size:.71rem;font-weight:750;text-decoration:none;transition:background .18s,transform .18s;display:inline-flex}.button:hover{background:var(--black);color:var(--white);transform:translateY(-2px)}.text-link{font-size:.8rem;font-weight:700}.portrait{background:var(--charcoal);min-width:0;height:100%;margin:0;position:relative;overflow:hidden}.portrait:after{content:"";pointer-events:none;background:linear-gradient(#0000 65%,#0000008c);position:absolute;inset:0}.portrait img{object-fit:cover;object-position:center 30%;filter:saturate(.82)contrast(1.03);width:100%;height:100%;display:block}figcaption{z-index:2;color:var(--white);justify-content:space-between;display:flex;position:absolute;bottom:28px;left:34px;right:34px}figcaption span{color:var(--scarlet)}.section{width:var(--content);margin-inline:auto;padding-block:clamp(76px,10vw,132px)}.section-intro{grid-template-columns:.7fr 1.25fr 1fr;align-items:end;gap:36px;margin-bottom:clamp(48px,7vw,84px);display:grid}.section-intro .eyebrow{align-self:start}.section-intro h2,.section-intro>p:last-child{margin-bottom:0}.section-intro>p:last-child{max-width:390px;color:var(--gray)}.project-list{border-top:1px solid var(--line)}.project{border-bottom:1px solid var(--line);grid-template-columns:60px 1fr 1.2fr;gap:clamp(24px,4vw,64px);padding:clamp(34px,5vw,58px) 0;display:grid}.project-number{color:var(--scarlet)}.project-main h3{max-width:12ch}.project-summary{max-width:440px;color:var(--gray);font-size:1.03rem}.project-detail>p{max-width:590px;color:var(--gray);margin-bottom:22px}.project-detail ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.project-detail li{border:1px solid var(--line);color:var(--gray);letter-spacing:.04em;padding:4px 9px;font-size:.68rem;font-weight:650}.inline-cta{letter-spacing:.08em;text-transform:uppercase;margin-top:32px;font-size:.78rem;font-weight:750;display:inline-block}.section-dark{background:var(--black);color:var(--white);padding:clamp(76px,10vw,132px) max(32px,50vw - 590px)}.section-intro.inverse{grid-template-columns:.7fr 2.25fr;margin-bottom:60px}.section-intro.inverse h2{max-width:14ch}.section-intro.inverse .eyebrow{color:#f06c86}.role{border-top:1px solid #4d5054;grid-template-columns:.7fr 2.25fr;gap:36px;padding-top:34px;display:grid}.role-meta{color:var(--silver);grid-template-columns:1fr 1fr;gap:28px;display:grid}.role-copy{max-width:760px}.role-kicker{color:#f06c86;margin-bottom:15px}.role-copy h3{max-width:16ch;color:var(--white)}.role-copy>p:not(.role-kicker){color:#d0d3d5}.skills{grid-template-columns:.85fr 1.15fr;gap:clamp(50px,8vw,110px);display:grid}.section-intro.compact{margin:0;display:block}.skill-list{border-top:1px solid var(--line);margin:0}.skill-list div{border-bottom:1px solid var(--line);grid-template-columns:140px 1fr;gap:30px;padding:25px 0;display:grid}.skill-list dt{font-weight:750}.skill-list dd{color:var(--gray);margin:0}.about{grid-template-columns:.85fr 1.15fr;gap:clamp(50px,8vw,110px);padding-top:0;display:grid}.about-lead{background:var(--scarlet);color:var(--white);padding:clamp(60px,7vw,90px)}.about-lead .eyebrow{color:var(--white);opacity:.76}.about-lead h2{max-width:10ch;margin-bottom:0}.about-copy{color:var(--gray);align-self:center;padding-block:40px;font-size:1.04rem}.about-copy>p{max-width:650px}.education{border-top:1px solid var(--line);grid-template-columns:80px 1fr;gap:25px;margin-top:38px;padding-top:24px;display:grid}.education-year{color:var(--scarlet)}.education p{margin-bottom:0}.education strong{color:var(--black)}.contact{background:var(--scarlet);color:var(--white);grid-template-columns:1fr 1.1fr;gap:clamp(55px,8vw,120px);padding:clamp(76px,9vw,120px) max(32px,50vw - 590px);display:grid}.contact .eyebrow{color:var(--white);opacity:.75}.contact h2{max-width:12ch;margin-bottom:0}.contact-copy{align-self:end}.contact-copy>p{max-width:590px;font-size:1.08rem}.contact-links{flex-wrap:wrap;align-items:center;gap:23px;margin-top:28px;display:flex}.button.light{background:var(--white);color:var(--black)}.button.light:hover{background:var(--black);color:var(--white)}.contact-links>a:not(.button){letter-spacing:.07em;text-transform:uppercase;font-size:.74rem;font-weight:750}.contact a:hover{color:var(--white)}footer{width:var(--content);color:var(--gray);justify-content:space-between;margin-inline:auto;padding-block:24px;display:flex}footer p{margin:0}@media (width<=960px){.site-header{background:var(--paper);width:100%}.hero{grid-template-columns:1fr 43%;min-height:700px}.section-intro{grid-template-columns:1fr 1.4fr}.section-intro>p:last-child{grid-column:2}.project{grid-template-columns:44px 1fr}.project-detail{grid-column:2}}@media (width<=760px){:root{--content:min(100% - 36px, 1180px)}body{font-size:15px}.site-header{grid-template-columns:auto 1fr;height:72px;padding:0 18px;position:relative}nav{justify-self:end}nav a:last-child,.header-resume{display:none}.hero{grid-template-columns:1fr;height:auto;min-height:0}.hero-copy{min-height:calc(100svh - 72px);padding:70px 24px 48px}.portrait{height:min(105vw,720px)}.portrait img{object-position:center 24%}.section-intro,.section-intro.inverse,.role,.skills,.about,.contact{grid-template-columns:1fr}.section-intro{gap:12px}.section-intro>p:last-child{grid-column:1}.project{grid-template-columns:38px 1fr;gap:18px}.project-detail{grid-column:1/-1;padding-left:56px}.section-dark{padding-inline:18px}.role-meta{grid-template-columns:90px 1fr}.skills{gap:42px}.skill-list div{grid-template-columns:1fr;gap:5px}.about{gap:20px;width:100%}.about-lead{padding:64px 24px}.about-copy{width:calc(100% - 36px);margin-inline:auto}.contact{gap:32px;padding-inline:18px}footer{flex-direction:column;gap:8px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
