:root{--bg:#0c0e0f;--ink:#f1f1ed;--muted:#9ba1a3;--accent:#eaa079;--line:#303436;--paper:#121517}body{background:var(--bg)}header.site-header{height:80px;padding:0 5%;border-color:#24292b;background:#0c0e0f}.wordmark{font-size:17px;letter-spacing:-.5px}.wordmark span{font-size:11px;letter-spacing:1px;color:var(--muted)}nav{gap:34px}.scroll-story{height:420svh;position:relative}.story-stage{height:100svh;min-height:650px;position:sticky;top:0;overflow:hidden;background:#0c0e0f}.story-topline{position:absolute;top:32px;left:5%;right:5%;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1.4px;color:#a6abad;z-index:5}.story-topline a{font-size:12px;letter-spacing:0}.story-visual{position:absolute;right:4%;top:12%;bottom:14%;width:47%;overflow:hidden;background:#111619;will-change:transform;border:1px solid #252c2f}.story-visual img,.story-visual canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 51%}.story-visual canvas{opacity:0}.story-visual canvas.ready{opacity:1}.outline-layer{filter:sepia(.4);opacity:1}.story-visual .result-layer{opacity:0;object-fit:cover;object-position:50% 62%;background:#101416}.media-vignette{position:absolute;inset:0;box-shadow:inset 0 0 80px #0008;background:linear-gradient(90deg,#0c0e0f55,transparent 35%,transparent 80%,#0c0e0f33);pointer-events:none}.story-copy{position:absolute;left:5%;top:20%;width:49%;height:65%;z-index:3;pointer-events:none}.story-chapter{position:absolute;inset:0;opacity:0;visibility:hidden;transform:translateY(25px)}.story-chapter.active{visibility:visible;opacity:1;transform:none}.story-chapter h1,.story-chapter h2{font-size:clamp(58px,6.9vw,110px);line-height:1.055;letter-spacing:-5.5px;margin:25px 0 26px;font-weight:400}.story-chapter .eyebrow{color:#c3c9c9;font-size:11px;letter-spacing:1.8px}.story-description{max-width:365px;font-size:17px;line-height:1.7;color:#b7bdbe}.story-result{display:flex;gap:20px;align-items:center;margin-top:28px}.story-result strong{font-weight:400;font-size:47px;letter-spacing:-2px}.story-result span{font-size:12px;line-height:1.6;color:var(--muted)}.story-caption{position:absolute;left:49%;right:4%;bottom:10%;display:flex;justify-content:space-between;gap:15px;font-size:9px;letter-spacing:1px;color:#a4abad}.story-bottom{position:absolute;bottom:35px;left:5%;right:5%;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1.2px}.story-bottom>span{color:var(--muted)}.story-steps{list-style:none;display:flex;gap:35px;margin:0;padding:0;color:#657073;font-size:11px}.story-steps li{padding:6px 0;border-top:1px solid #3b4245}.story-steps li.active{color:var(--accent);border-color:var(--accent)}.story-steps span{margin-left:8px}.story-progress{height:2px;position:absolute;bottom:0;left:0;right:0;background:#293033}.story-progress div{height:100%;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:left}.work-section{background:#101315;color:var(--ink);padding:110px 5%}.section-heading{border-bottom:1px solid var(--line);padding-bottom:40px;margin-bottom:56px}.section-heading h2{font-size:clamp(45px,5.5vw,80px);font-weight:400;letter-spacing:-3.5px;margin:25px 0}.section-heading>p:last-child{color:var(--muted)}.project-grid{gap:65px 36px}.project:first-child{display:block;grid-column:auto}.project-visual,.project:first-child .project-visual{height:auto;aspect-ratio:3/2;background:#070909;border:1px solid #282e31}.project-visual img{object-fit:cover;transition:transform .8s cubic-bezier(.2,.6,.2,1)}.project:hover .project-visual img{transform:scale(1.045)}.project .index{background:transparent;border:1px solid #ffffff44;font-size:10px;color:#e4e8e6;padding:3px 8px;top:16px;left:16px}.cover-label{position:absolute;bottom:13px;left:16px;font-size:8px;letter-spacing:1.6px;color:#c7cccc;background:#0b101188;padding:4px 7px}.project-copy,.project:first-child .project-copy{padding-top:23px}.project-copy .eyebrow{color:var(--accent);font-size:10px;letter-spacing:1px;margin-bottom:6px}.project-copy .project-period{font-size:11px;color:#899396;letter-spacing:.4px;margin-bottom:18px}.project h3{font-size:26px;line-height:1.27;letter-spacing:-.8px;font-weight:400;max-width:550px}.project-copy>p:not(.eyebrow){color:#a5afb2}.project-copy>p:not(.eyebrow):not(.project-period){font-size:15px}.project summary{border-color:#3b4447;color:#d9dfdf;margin-top:15px;font-size:13px}.project summary span{color:var(--accent)}.project details[open]{background:#e6e9e5;color:#182126;padding:0 22px 25px;margin-top:20px}.project details[open] summary{color:#182126}.project details[open] summary span{color:#8e482a}.project details[open] .eyebrow{color:#5a686b}.project .case-study h4{font-size:23px}.case-study p{font-size:15px}.project:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:36px}.project:last-child .project-copy{align-self:center}.about-explore{padding:110px 5%;display:grid;grid-template-columns:.95fr 1.1fr;gap:11%;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.about-intro h2{font-size:clamp(45px,5.5vw,80px);font-weight:400;letter-spacing:-3.5px;margin:30px 0}.about-intro>p:not(.eyebrow){color:var(--muted);max-width:350px;font-size:17px}.text-link{display:inline-block;padding-bottom:10px;border-bottom:1px solid var(--accent);font-size:14px;margin-top:20px}.about-panel{border-top:1px solid var(--line)}.about-panel:last-child{border-bottom:1px solid var(--line)}.about-panel summary{font-family:var(--display);font-size:25px;line-height:1.5;padding:26px 0;border:0;align-items:center}.about-panel summary small{font-family:var(--body);font-size:11px;letter-spacing:1px;color:var(--accent);margin-right:28px;vertical-align:middle}.plus{font-size:26px;color:var(--accent);font-weight:300;transition:transform .2s}.about-panel[open] .plus{transform:rotate(45deg)}.about-panel-body{padding:0 0 30px 44px}.about-panel-body p{font-size:15px;line-height:1.75;color:var(--muted)}.about-panel-body .lead{font-size:22px;line-height:1.5;color:var(--ink)}.experience-row{border-top:1px solid var(--line);padding-top:20px;margin-top:25px}.experience-row>span{font-size:11px;letter-spacing:.5px;color:var(--accent)}.experience-row h3{font-size:18px;margin:7px 0;font-weight:500}.experience-row p{font-size:14px}.degree{padding-bottom:20px}.degree+.degree{border-top:1px solid var(--line);padding-top:30px}.degree h3{font-size:24px;line-height:1.3;margin:18px 0}.degree .eyebrow{color:var(--accent);font-size:10px}.degree .muted{font-size:13px}.resume-actions{display:grid;gap:10px}.resume-actions .button{border-color:var(--line);font-size:14px}.skills{padding:75px 5%;background:#111517}.contact{padding:95px 5%;background:#181e21;color:var(--ink);border-top:1px solid var(--line)}.contact em{color:var(--accent)}.contact h2{font-weight:400}.contact-email{border-color:#526065;font-size:clamp(21px,3vw,40px)}.contact-email span{color:var(--accent)}footer{background:#0c0e0f;padding:28px 5%}.no-story-motion .scroll-story{height:100svh}.no-story-motion .outline-layer,.no-story-motion .result-layer{opacity:0!important}.no-story-motion .story-stage{position:relative}.no-story-motion .scroll-cue{display:none}
@media(min-width:1500px){.story-stage{max-width:1800px;margin:auto}.work-section,.about-explore,.skills,.contact{padding-left:max(5%,calc((100vw - 1450px)/2));padding-right:max(5%,calc((100vw - 1450px)/2))}}
@media(max-width:1000px){.story-chapter h1,.story-chapter h2{letter-spacing:-3.5px;font-size:7.5vw}.story-description{font-size:15px;max-width:310px}.story-copy{top:23%;width:47%}.story-visual{right:3%;width:47%;top:15%;bottom:17%}.story-caption{font-size:8px}.story-bottom{font-size:9px}.story-steps{gap:18px}.about-explore{gap:7%}.about-panel-body{padding-left:0}.project h3{font-size:24px}}
@media(max-width:700px){header.site-header{height:68px}.wordmark{font-size:14px}.wordmark span{font-size:9px}nav{gap:17px}.scroll-story{height:370svh}.story-stage{min-height:710px}.story-topline{top:20px;font-size:8px}.story-topline a{font-size:10px}.story-copy{top:9%;left:6%;width:90%;height:34%}.story-chapter h1,.story-chapter h2{font-size:clamp(40px,10.5vw,65px);letter-spacing:-2.8px;line-height:1.04;margin:12px 0 15px}.story-chapter .eyebrow{font-size:9px}.story-description{font-size:13px;line-height:1.5;max-width:360px;margin-bottom:8px}.story-visual{left:6%;right:6%;top:43%;bottom:14%;width:auto;transform:none!important}.story-visual img,.story-visual canvas{object-position:50% 53%}.story-caption{left:6%;right:6%;bottom:10%;font-size:8px}.story-bottom{left:6%;right:6%;bottom:21px}.story-bottom>span{display:none}.story-steps{width:100%;justify-content:space-between;font-size:10px}.story-result{position:absolute;left:52%;top:54px;display:block;margin:0;max-width:150px}.story-result strong{font-size:32px}.story-result span{display:block;font-size:10px}.story-chapter[data-chapter="2"] .story-description{max-width:90%}.project-grid{grid-template-columns:1fr;gap:48px}.project:last-child{display:block;grid-column:auto}.project h3{font-size:26px}.project:last-child .project-copy{padding-top:23px}.work-section{padding-top:65px}.section-heading h2{font-size:53px;letter-spacing:-2px}.about-explore{grid-template-columns:1fr;padding-top:65px;padding-bottom:65px;gap:50px}.about-intro h2{font-size:58px;letter-spacing:-2px}.about-intro>p:not(.eyebrow){max-width:100%}.about-panel summary{font-size:23px}.about-panel-body{padding-left:0}.contact{padding-top:65px}.cover-label{font-size:8px}}
.project-copy>p:not(.eyebrow):not(.project-period),.case-study p,.about-panel-body p,.experience-row p{font-size:16px}
@media(max-width:700px){.story-description{font-size:16px;line-height:1.45}.story-visual{top:50%;bottom:14%}.story-copy{height:41%}.story-stage{min-height:760px}}
@media(max-height:650px) and (min-width:701px){.scroll-story{height:400vh}.story-stage{min-height:0;height:100vh}.story-chapter h1,.story-chapter h2{font-size:8vh;letter-spacing:-2px;margin:15px 0}.story-copy{top:17%}.story-description{font-size:14px;max-width:330px}.story-topline{top:16px}.story-result{margin-top:8px}.story-result strong{font-size:30px}.story-bottom{bottom:16px}}
.story-visual{right:0;top:6%;bottom:9%;width:65%;border:0;background:transparent;overflow:hidden;transform:none!important}
.story-visual #coating-canvas{opacity:1;position:absolute;inset:0;width:100%;height:100%;z-index:1}
.story-visual.webgl-ready .story-poster{opacity:0}.story-visual .story-poster{object-fit:contain;background:#0c0e0f}
.scene-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0c0e0f 0%,transparent 21%);z-index:2;pointer-events:none}
.story-copy{width:47%;pointer-events:none}.story-caption{left:49%;bottom:9%}.story-result strong{font-size:35px}
.no-story-motion .scroll-story{height:auto}
@media(max-width:1000px) and (min-width:701px){.story-visual{width:62%;right:-2%}.story-copy{width:48%}}
@media(max-width:700px){.story-visual{left:0;right:0;top:46%;bottom:10%;width:100%}.scene-shade{background:linear-gradient(180deg,#0c0e0f,transparent 13%)}.story-copy{width:90%}.story-caption{left:6%;bottom:9%}.story-result strong{font-size:25px}.story-result{left:54%}}
@media(prefers-reduced-motion:reduce){.scroll-story{height:auto}.story-stage{position:relative}.outline-layer,.result-layer{opacity:0!important}.story-chapter[data-chapter="0"]{opacity:1;visibility:visible;transform:none}.story-visual{transform:none!important}.scroll-cue{display:none}}
