:root{--ink:#061120;--paper:#f7f9fc;--acid:#42a5ff;--line:rgba(222,234,248,.18);--muted:#aebccc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font-family:Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}.grain{position:fixed;inset:0;pointer-events:none;opacity:.09;z-index:9;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}.site-header{height:88px;position:absolute;top:0;left:0;right:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:0 max(5vw,28px)}.wordmark{font-size:24px;font-weight:800;letter-spacing:-2px}.wordmark span{color:var(--acid)}nav{display:flex;gap:30px;font:12px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.05em}nav a{opacity:.75;transition:.2s}nav a:hover{opacity:1;color:var(--acid)}.menu-button{display:none;background:none;border:0;color:var(--paper);font:12px 'DM Mono',monospace}.section-shell{padding-left:max(5vw,28px);padding-right:max(5vw,28px)}.hero{min-height:100vh;position:relative;overflow:hidden;padding-top:145px;border-bottom:1px solid var(--line)}.eyebrow,.section-label,.mono,.project-meta,.project-number,.hero-index,.portrait-note,footer{font:11px 'DM Mono',monospace;letter-spacing:.04em}.eyebrow{color:var(--acid);text-transform:uppercase}.hero-copy{position:relative;z-index:2}.intro{font-size:clamp(16px,1.55vw,22px);line-height:1.4;margin:76px 0 25px}.hero h1{font-size:clamp(88px,15vw,235px);line-height:.76;letter-spacing:-.09em;margin:0;font-weight:700}.hero h1 span{font-family:'Playfair Display',serif;font-weight:600;font-style:italic;color:var(--acid);letter-spacing:-.1em}.hero-detail{width:260px;font-size:14px;line-height:1.6;margin:45px 0}.round-link{display:flex;width:92px;height:92px;border:1px solid var(--paper);border-radius:50%;align-items:center;justify-content:center;gap:10px;font:10px 'DM Mono',monospace;text-transform:uppercase;line-height:1.35;transition:.3s}.round-link b{font-size:18px;font-weight:400}.round-link:hover{background:var(--acid);color:var(--ink);border-color:var(--acid)}.portrait-wrap{position:absolute;right:9.5vw;bottom:0;width:min(26vw,370px);height:70vh;background:#28405a;overflow:hidden;filter:grayscale(1) contrast(1.06);isolation:isolate}.portrait-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(6,17,32,.65))}.portrait-wrap img{width:100%;height:100%;object-fit:cover;object-position:center top;position:relative;z-index:1}.portrait-fallback{position:absolute;inset:0;background:linear-gradient(145deg,#4b5360,#201f21);display:flex;align-items:center;justify-content:center;color:var(--acid);font:italic 130px 'Playfair Display',serif}.portrait-fallback small{position:absolute;bottom:28px;left:27px;color:var(--paper);font:10px 'DM Mono',monospace;text-transform:uppercase;line-height:1.5}.portrait-note{position:absolute;z-index:2;bottom:20px;left:-124px;width:115px;color:var(--muted);line-height:1.5}.portrait-note em{color:var(--paper);font-style:normal}.hero-index{position:absolute;right:max(5vw,28px);bottom:28px;color:var(--muted)}.about{padding-top:160px;padding-bottom:160px}.section-label{color:var(--acid);text-transform:uppercase;margin:0}.about-grid{display:grid;grid-template-columns:1.4fr .7fr;gap:10vw;margin-top:70px}.about h2,.learning h2,.resume h2,.contact h2{font-size:clamp(43px,5.6vw,84px);line-height:.98;letter-spacing:-.065em;margin:0;font-weight:600}.about h2 i,.learning h2 i,.resume h2 i,.contact h2 i,.project h3 i{font-family:'Playfair Display',serif;font-weight:600;color:var(--acid)}.about-grid>div p{font-size:16px;line-height:1.7;margin:0 0 22px;color:#c8c7c3}.text-link{display:inline-block;margin-top:28px;font-size:14px;border-bottom:1px solid var(--acid);padding-bottom:7px}.text-link span{color:var(--acid);margin-left:35px}.work{padding-top:115px;padding-bottom:100px;background:#0b1a2d}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:100px}.section-heading>p:last-child{font-size:14px;line-height:1.6;margin:0;color:var(--muted)}.project{min-height:435px;border-top:1px solid var(--line);display:grid;grid-template-columns:9% 16% 32% 1fr 42px;gap:10px;align-items:start;padding:23px 0;position:relative;overflow:hidden}.project-meta{display:grid;gap:7px;color:var(--muted)}.project-title h3{font-size:clamp(35px,4.4vw,67px);line-height:.9;letter-spacing:-.07em;margin:0 0 24px}.project-title p{font-size:14px;line-height:1.55;max-width:230px;color:var(--muted)}.project-art{height:350px;position:relative;overflow:hidden;margin-top:0}.project-arrow{font-size:26px;text-align:right;transition:.3s}.project:hover .project-arrow{color:var(--acid);transform:translate(4px,-4px)}.sccm-art{background:#102b47;display:flex;align-items:center;justify-content:center;gap:10px}.sccm-art div{height:45%;width:13%;background:var(--acid);transform:skewY(-26deg);box-shadow:20px 30px 0 rgba(66,165,255,.2)}.sccm-art b,.video-art b{position:absolute;right:21px;bottom:18px;font:11px 'DM Mono',monospace;color:var(--acid)}.video-art{background:#142440;display:flex;align-items:center;justify-content:center}.video-art>span{position:absolute;top:21px;left:21px;font:10px 'DM Mono',monospace;color:#cfe4ff}.play{width:96px;height:96px;border:1px solid #cfe4ff;border-radius:50%;display:grid;place-items:center;padding-left:4px;color:#cfe4ff}.project-disclaimer,.placeholder-note{font:11px 'DM Mono',monospace;color:var(--muted);line-height:1.5}.skills{padding-top:150px;padding-bottom:135px}.skill-list{margin-top:70px;border-top:1px solid var(--line)}.skill-list>div{display:grid;grid-template-columns:9% 1fr 30%;align-items:center;border-bottom:1px solid var(--line);padding:25px 0}.skill-list span{font:11px 'DM Mono',monospace;color:var(--acid)}.skill-list h3{font-size:clamp(22px,2.7vw,39px);letter-spacing:-.05em;margin:0}.skill-list p{color:var(--muted);font-size:13px}.learning{padding-top:115px;padding-bottom:130px;background:var(--paper);color:var(--ink)}.learning .section-label{color:#567000}.learning-card{margin-top:67px;padding:clamp(28px,5vw,75px);min-height:420px;background:var(--acid);display:grid;grid-template-columns:1fr .52fr;gap:50px;position:relative;overflow:hidden}.learning-card h2{margin-top:70px}.learning-card h2 i{color:var(--ink)}.learning-card>p{font-size:15px;line-height:1.65;align-self:end}.learning-orbit{position:absolute;right:-56px;top:-53px;width:230px;height:230px;border:1px solid #5e7813;border-radius:50%;display:grid;place-content:center;text-align:center;font:17px 'DM Mono',monospace;line-height:1.3;transform:rotate(16deg)}.learning-orbit span{font-size:42px}.resume{padding-top:120px;padding-bottom:130px;display:flex;gap:15vw}.resume>div{flex:1}.button{display:inline-flex;margin-top:48px;border:1px solid var(--paper);padding:16px 20px;gap:40px;font:11px 'DM Mono',monospace;text-transform:uppercase;color:var(--muted);cursor:not-allowed}.contact{padding-top:120px;padding-bottom:85px;border-top:1px solid var(--line)}.contact h2{margin:65px 0 30px}.contact>p:not(.section-label){max-width:400px;line-height:1.65;color:var(--muted);font-size:14px}.contact-line{display:inline-flex;gap:42px;margin-top:64px;padding-bottom:7px;border-bottom:1px solid var(--acid);font-size:13px}.contact-line span{color:var(--acid)}footer{padding:23px max(5vw,28px);border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted)}footer em{color:var(--paper);font-style:normal}.reveal{opacity:0;transform:translateY(16px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}.reveal:nth-child(2){transition-delay:.1s}
@media(max-width:760px){.site-header{height:70px}.menu-button{display:block;z-index:6}nav{display:none;position:absolute;right:20px;top:55px;background:#0b1a2d;border:1px solid var(--line);padding:20px;flex-direction:column;gap:16px}nav.open{display:flex}.hero{min-height:800px;padding-top:105px}.intro{margin-top:43px}.hero h1{font-size:24vw}.portrait-wrap{right:28px;width:51vw;height:42vh}.portrait-note{display:none}.hero-index{bottom:20px}.about{padding-top:95px;padding-bottom:100px}.about-grid{grid-template-columns:1fr;gap:35px;margin-top:48px}.section-heading{margin-bottom:55px}.project{grid-template-columns:15% 1fr 32px;min-height:0;padding:19px 0 32px}.project-meta{grid-column:2;grid-row:1;display:flex;gap:14px}.project-title{grid-column:2;grid-row:2}.project-title h3{font-size:42px;margin-top:20px}.project-art{grid-column:2;grid-row:3;height:210px;margin-top:16px}.project-arrow{grid-column:3;grid-row:1}.skills{padding-top:90px;padding-bottom:80px}.skill-list{margin-top:45px}.skill-list>div{grid-template-columns:15% 1fr;padding:22px 0}.skill-list p{grid-column:2;margin:7px 0 0}.learning{padding-top:85px;padding-bottom:80px}.learning-card{margin-top:46px;min-height:450px;grid-template-columns:1fr}.learning-card h2{margin-top:45px;font-size:42px}.learning-card>p{max-width:270px}.resume{padding-top:85px;padding-bottom:90px;display:block}.resume h2{margin-top:45px}.contact{padding-top:80px}.contact h2{margin-top:45px}.section-heading>p:last-child{display:none}footer{font-size:9px;gap:20px}.hero-detail{margin-top:35px}.round-link{width:76px;height:76px}}
