@charset "UTF-8";
:root{--bg:#111310;--surface:#1a1c18;--text:#efeee7;--muted:#a7aaa0;--line:#34382f;--accent:#edb990;--mono:"Courier New",monospace;--pad:clamp(22px,5vw,88px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 "Arial",sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}img{display:block;max-width:100%}svg{width:21px;height:21px;flex:none}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-weight:400;line-height:1.08;letter-spacing:-.045em}em{font-family:Georgia,"Times New Roman",serif;font-weight:400;color:var(--accent)}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}section[id]{scroll-margin-top:88px}::selection{background:var(--accent);color:var(--bg)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:10px;left:10px;transform:translateY(-160%);z-index:100;background:var(--accent);color:var(--bg);padding:12px}.skip-link:focus{transform:translateY(0)}.header{height:100px;padding:0 var(--pad);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);position:relative;z-index:5}.brand{display:flex;gap:15px;align-items:center}.monogram{font-family:Georgia,serif;font-size:50px;line-height:1;font-style:italic;letter-spacing:-6px}.monogram span{color:var(--accent);padding-left:4px}.brand-name{font-size:10px;letter-spacing:2px;line-height:1.45;font-weight:bold}.header nav{display:flex;align-items:center;gap:35px;font-size:13px}.header nav>a:not(.nav-contact):hover{color:var(--accent)}.nav-contact{display:flex;align-items:center;gap:24px;border:1px solid #686a60;border-radius:4px;padding:10px 17px}.nav-contact:hover{border-color:var(--accent);color:var(--accent)}.hero{min-height:650px;position:relative;overflow:hidden;padding:90px var(--pad) 100px}.hero-image{position:absolute;top:0;right:0;width:60%;height:100%;pointer-events:none;mask-image:linear-gradient(90deg,transparent,#000 23%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 23%)}.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--bg),transparent 32%),linear-gradient(90deg,var(--bg),transparent 35%)}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:50% 28%;opacity:.92}.hero-copy{position:relative;z-index:1;max-width:640px}.eyebrow{display:flex;align-items:center;gap:10px;font:11px/1.5 var(--mono);letter-spacing:1.5px}.tiny-square{width:5px;height:5px;background:var(--accent);display:inline-block}.hero h1{font-size:clamp(56px,6.5vw,100px);margin:28px 0 27px;line-height:1.02;letter-spacing:-.06em}.hero h1 em{font-size:1.08em}.hero-copy>p{max-width:365px;font-size:15px;line-height:1.8;color:#babcaf}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:35px}.button{display:inline-flex;align-items:center;gap:32px;padding:14px 21px;background:var(--accent);color:#1a1b16;border-radius:3px;font-size:13px;font-weight:600}.button:hover{background:#f4cba9}.reel-link{display:flex;align-items:center;gap:9px;font-size:12px}.reel-link svg{width:18px}.reel-link:hover{color:var(--accent)}.hero-art-label{position:absolute;right:var(--pad);bottom:109px;display:grid;grid-template-columns:1fr 24px;gap:4px 35px;font-size:14px}.hero-art-label>span{grid-column:1/3;font:9px var(--mono);color:var(--muted);letter-spacing:1px}.hero-art-label svg{width:16px}.hero-bottom{position:absolute;bottom:0;left:var(--pad);right:var(--pad);border-top:1px solid var(--line);height:64px;display:flex;justify-content:space-between;align-items:center;font:9px var(--mono);letter-spacing:1.2px;color:#b7b9b0}.hero-bottom i{font-style:normal;color:#63685e;margin:0 13px}.hero-bottom a{display:flex;gap:23px;align-items:center}.hero-bottom a span{font-size:19px;color:var(--accent)}.section-wrap{padding-left:var(--pad);padding-right:var(--pad)}.work-section{padding-top:100px;padding-bottom:100px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:38px}.section-heading :is(h1,h2){font-size:clamp(38px,4.2vw,62px);margin-top:16px}.section-heading sup{font:11px var(--mono);vertical-align:top;position:relative;top:10px;margin-left:12px;color:var(--accent);letter-spacing:0}.section-heading>p{color:var(--muted);font-size:12px;padding-bottom:5px;line-height:1.8}.filters{display:flex;gap:28px;border-bottom:1px solid var(--line);margin-bottom:32px}.filters button{border:0;background:none;color:var(--muted);font-size:12px;padding:10px 0 15px;position:relative}.filters button.active{color:var(--text)}.filters button.active:after{content:"";position:absolute;bottom:-1px;height:2px;left:0;right:0;background:var(--accent)}.filters button span{font:9px var(--mono);margin-left:5px;opacity:.6}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px 25px}.project-card[hidden]{display:none}.project-image{aspect-ratio:1.65;overflow:hidden;position:relative;display:block;background:var(--surface)}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.project-card[data-category="Characters"] .project-image img{object-position:center 30%}.project-card:hover .project-image img{transform:scale(1.035)}.project-number{position:absolute;top:14px;left:15px;background:rgba(17,19,16,.65);padding:3px 7px;font:9px var(--mono);backdrop-filter:blur(5px);border:1px solid #ffffff20}.project-open{position:absolute;bottom:16px;right:16px;width:36px;height:36px;background:var(--bg);display:grid;place-items:center;border-radius:50%;transition:background .2s}.project-card:hover .project-open{background:var(--accent);color:var(--bg)}.project-open svg{width:16px}.project-caption{display:flex;justify-content:space-between;gap:8px;padding-top:16px}.project-caption h3{font-size:21px;letter-spacing:-.025em}.project-caption h3 a:hover{color:var(--accent)}.project-caption p{color:var(--muted);font-size:10px;margin-top:6px;letter-spacing:.2px}.category-label{align-self:start;border:1px solid var(--line);padding:3px 8px;font:9px/1.6 var(--mono);color:#bdc0b5}.reel-section{padding-top:90px;padding-bottom:90px;background:#191c16;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.reel-heading :is(h1,h2){font-size:clamp(35px,4vw,56px);margin-top:20px}.reel-heading :is(h1,h2)>span{font:12px var(--mono);color:var(--muted);letter-spacing:0;margin-left:15px}.reel-heading p{font-size:13px;color:var(--muted);margin:16px 0 32px}.video-shell{aspect-ratio:16/9;background:#080a07}.video-poster{border:0;padding:0;position:relative;background:none;width:100%;height:100%;display:block;overflow:hidden}.video-poster>img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.video-poster:hover>img{transform:scale(1.025)}.video-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.65),rgba(0,0,0,.08))}.play-circle{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:86px;height:86px;background:var(--accent);color:var(--bg);border-radius:50%}.play-circle svg{width:28px;height:28px}.video-caption{position:absolute;bottom:25px;left:30px;right:30px;display:flex;justify-content:space-between;font:10px var(--mono);letter-spacing:1px;text-align:left}.video-caption>span{color:#d3d3c9}.video-shell iframe,.video-embed iframe{width:100%;height:100%;border:0}.text-link{display:inline-flex;align-items:center;gap:22px;font-size:12px;padding:12px 0;border:0;border-bottom:1px solid #848b79;background:none}.text-link:hover{color:var(--accent)}.text-link svg{width:16px}.reel-section>.text-link{margin-top:21px}.about-section{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(35px,7vw,110px);padding-top:120px;padding-bottom:120px;align-items:center}.about-image{position:relative}.about-image>img{width:100%;aspect-ratio:1.05;object-fit:cover;filter:saturate(.65);object-position:center}.image-label{position:absolute;left:18px;bottom:16px;font:8px var(--mono);letter-spacing:1.2px;color:#fff;text-shadow:0 1px 5px #000;background:#11131080;padding:5px 7px}.about-copy h2{font-size:clamp(32px,3.6vw,52px);margin:23px 0 26px}.about-copy>p{color:var(--muted);font-size:13px;line-height:1.9;margin-bottom:16px;max-width:420px}.about-copy .text-link{margin-top:6px}.tool-list{margin-top:30px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font:9px/2.4 var(--mono)}.tool-list span{margin:0 5px;color:var(--accent)}.contact-section{background:#d8ddcd;color:#1b2118;padding:65px var(--pad) 35px}.contact-section .eyebrow{color:#4b5545}.contact-section .tiny-square{background:#445638}.contact-top{display:flex;align-items:center;justify-content:space-between;margin:30px 0 45px;gap:20px}.contact-top :is(h1,h2){font-size:clamp(46px,6.5vw,94px);line-height:1}.contact-top :is(h1,h2) em{color:#526344}.circle-link{width:90px;height:90px;border:1px solid #7d8a72;display:grid;place-items:center;border-radius:50%;transition:background .25s}.circle-link:hover{background:#c0c9b4}.circle-link svg{width:34px;height:34px}.contact-bottom{border-top:1px solid #a4b098;padding-top:25px;display:flex;gap:25px;justify-content:space-between;font-size:12px}.contact-bottom a:hover{text-decoration:underline}.contact-bottom>span{font-size:10px;color:#4b5545;align-self:center}footer{display:flex;justify-content:space-between;align-items:center;padding:35px var(--pad);gap:25px;font-size:11px}.footer-name{font-size:12px}.footer-name>span{margin-left:15px;font:9px var(--mono);color:var(--muted)}.footer-location{font:8px var(--mono);letter-spacing:1px;color:var(--muted)}.social-links{display:flex;gap:24px;font-size:10px}.social-links a:hover{color:var(--accent)}.contact-page .contact-section{padding-top:90px;padding-bottom:70px;min-height:calc(100vh - 195px)}.contact-page .contact-top{margin-top:65px;margin-bottom:70px}.back-link{color:var(--muted);font-size:12px;display:inline-block;margin-bottom:50px}.back-link:hover{color:var(--accent)}.project-detail{padding-top:44px}.detail-heading{display:grid;grid-template-columns:1fr 1fr;gap:65px;margin-bottom:50px;align-items:start}.detail-heading h1{font-size:clamp(43px,5.5vw,78px);margin-top:19px}.detail-description>p{font-size:14px;color:#b5b9ad;line-height:1.9}.detail-description dl{display:grid;grid-template-columns:75px 1fr;gap:10px 20px;margin:25px 0 0}.detail-description dt{font:8px/1.8 var(--mono);letter-spacing:1px;color:var(--muted)}.detail-description dd{font-size:10px;margin:0}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:20px}.gallery-item{padding:0;position:relative;background:#191c16;border:0;align-self:start}.gallery-item>img{width:100%;height:auto}.gallery-item>span{position:absolute;bottom:12px;right:12px;display:grid;place-items:center;width:30px;height:30px;background:#111310b0;border-radius:50%}.gallery-first{grid-column:1/-1}.video-embed{aspect-ratio:16/9;margin-bottom:25px}.next-project{display:grid;grid-template-columns:1fr auto;align-items:center;padding:70px 0;margin-top:55px;border-top:1px solid var(--line)}.next-project>span{grid-column:1/-1;font:10px var(--mono);color:var(--muted);margin-bottom:17px}.next-project h2{font-size:clamp(30px,4vw,60px)}.next-project>svg{width:35px;height:35px}.next-project:hover{color:var(--accent)}dialog{width:100vw;max-width:none;height:100dvh;max-height:none;padding:55px 70px;background:rgba(10,12,9,.97);color:var(--text);border:0;overflow:hidden}dialog::backdrop{background:#000d}dialog[open]{display:grid;place-items:center}dialog img{max-width:100%;max-height:calc(100dvh - 125px);object-fit:contain}dialog button{border:1px solid #ffffff40;background:#1c2117;position:absolute;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;z-index:1}.lightbox-close{right:22px;top:18px}.lightbox-prev{left:15px;top:calc(50% - 20px)}.lightbox-next{right:15px;top:calc(50% - 20px)}.lightbox-count{position:absolute;bottom:16px;font:11px var(--mono);color:var(--muted)}.resume-section{padding-top:45px;padding-bottom:90px;max-width:1350px;margin:auto}.resume-section>h1{font-size:clamp(54px,7vw,100px);margin-top:20px}.resume-intro{display:flex;justify-content:space-between;align-items:start;gap:35px;margin-top:32px}.resume-intro>p{font-size:14px;color:var(--muted);max-width:420px}.resume-subheading{font-size:29px;margin:65px 0 25px}.experience{display:grid;grid-template-columns:210px 1fr;gap:35px;border-top:1px solid var(--line);padding:30px 0}.experience>span{font:10px var(--mono);color:var(--muted);padding-top:7px}.experience h3{font-size:25px}.experience h4{font-size:13px;font-weight:400;color:var(--accent);margin:10px 0}.experience p{font-size:13px;color:var(--muted);max-width:650px}.education-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.education-grid h3{font-size:20px}.education-grid p{font-size:12px;color:var(--muted);margin-top:10px}.resume-tools{font:12px/2.4 var(--mono);color:var(--muted)}.not-found{padding-top:100px;padding-bottom:140px}.not-found h1{font-size:clamp(40px,6vw,80px);margin:30px 0 40px}@media(min-width:1600px){.hero{min-height:760px;padding-top:120px}.hero-image{width:58%}.hero-image img{object-position:50% 30%}.hero-copy{max-width:750px}.hero-copy>p{font-size:17px;max-width:430px}.header nav{font-size:14px}.project-caption h3{font-size:25px}.project-caption p{font-size:12px}}@media(max-width:900px){.hero{padding-top:80px;min-height:620px}.hero h1{font-size:clamp(55px,7.5vw,75px)}.hero-copy>p{max-width:290px;font-size:13px}.hero-image{width:65%;opacity:.8}.hero-actions{gap:20px}.hero-bottom{font-size:8px;letter-spacing:.5px}.hero-bottom i{margin:0 6px}.hero-art-label{bottom:95px}.about-section{gap:35px}.about-copy>p{font-size:12px}.contact-bottom{flex-wrap:wrap}.contact-bottom>span{width:100%}.contact-top :is(h1,h2){font-size:65px}.detail-heading{gap:30px}.experience{grid-template-columns:170px 1fr}}@media(max-width:600px){.header{height:78px}.brand{gap:11px}.monogram{font-size:42px}.brand-name{font-size:8px;letter-spacing:1.5px}.header nav{gap:18px;font-size:11px}.header nav>a:nth-child(3){display:none}.nav-contact{padding:0;border:0;gap:6px}.nav-contact svg{width:14px}.hero{padding-top:47px;padding-bottom:310px;min-height:760px}.hero-copy{max-width:100%}.hero h1{font-size:clamp(53px,12vw,71px);margin-top:24px;margin-bottom:22px}.hero-copy>p{max-width:260px;font-size:12px}.hero-image{top:260px;bottom:0;right:-25px;width:85%;height:480px;opacity:.9;mask-image:linear-gradient(0deg,transparent,#000 15%,#000 80%,transparent);-webkit-mask-image:linear-gradient(0deg,transparent,#000 15%,#000 80%,transparent)}.hero-image img{object-position:50% 24%}.hero-image:after{background:linear-gradient(0deg,var(--bg),transparent 22%),linear-gradient(90deg,var(--bg),transparent 30%)}.hero-actions{margin-top:24px;gap:22px}.button{padding:12px 16px;font-size:11px;gap:22px}.reel-link{font-size:10px;gap:4px}.hero-art-label{bottom:90px;right:var(--pad);font-size:12px;gap:3px 20px}.hero-art-label>span{font-size:8px}.hero-bottom{height:64px;align-items:center;gap:15px;letter-spacing:0;font-size:7px}.hero-bottom>a{font-size:0;gap:0}.hero-bottom>a>span{font-size:22px}.eyebrow{font-size:9px;letter-spacing:1.1px}.work-section{padding-top:65px;padding-bottom:65px}.section-heading{margin-bottom:25px;align-items:start}.section-heading :is(h1,h2){font-size:37px;margin-top:14px}.section-heading>p{display:none}.section-heading sup{font-size:9px;top:6px}.filters{gap:23px;margin-bottom:24px}.filters button{font-size:10px}.filters button span{font-size:8px}.project-grid{grid-template-columns:1fr;gap:30px}.project-image{aspect-ratio:1.55}.project-caption{padding-top:13px}.project-caption h3{font-size:20px}.project-caption p{font-size:9px}.category-label{font-size:8px}.reel-section{padding-top:60px;padding-bottom:55px}.reel-heading :is(h1,h2){font-size:36px}.reel-heading :is(h1,h2)>span{font-size:10px;margin-left:9px}.reel-heading p{font-size:11px;max-width:240px;margin-top:12px}.play-circle{width:55px;height:55px}.play-circle svg{width:23px}.video-caption{bottom:15px;left:15px;font-size:8px;right:15px}.video-caption>span{display:none}.about-section{grid-template-columns:1fr;gap:35px;padding-top:65px;padding-bottom:65px}.about-image>img{aspect-ratio:1.18;object-position:center 35%}.about-copy h2{font-size:39px}.about-copy>p{font-size:13px}.tool-list{font-size:9px}.contact-section{padding-top:45px;padding-bottom:30px}.contact-top{margin-top:25px;margin-bottom:35px;gap:12px}.contact-top :is(h1,h2){font-size:clamp(43px,10vw,60px)}.circle-link{width:57px;height:57px;flex:none}.circle-link svg{width:26px;height:26px}.contact-bottom{display:grid;gap:10px;padding-top:20px;font-size:12px}.contact-bottom>span{margin-top:8px;font-size:9px}footer{flex-wrap:wrap;gap:20px;padding-top:26px;padding-bottom:26px}.footer-location{display:none}.footer-name{font-size:11px}.footer-name>span{font-size:8px;margin-left:8px}.social-links{gap:16px;font-size:9px}.contact-page .contact-section{padding-top:60px;min-height:calc(100vh - 150px)}.contact-page .contact-top{margin-top:45px}.detail-heading{grid-template-columns:1fr;gap:26px;margin-bottom:30px}.detail-heading h1{font-size:48px}.project-detail{padding-top:28px}.back-link{margin-bottom:35px;font-size:11px}.detail-description>p{font-size:12px}.detail-description dd{font-size:10px}.gallery{gap:12px;grid-template-columns:1fr}.gallery-first{grid-column:auto}.next-project{padding:45px 0;margin-top:35px}.next-project h2{font-size:34px}.next-project>svg{width:25px;height:25px}dialog{padding:60px 40px}.lightbox-close{right:14px}.lightbox-prev,.lightbox-next{width:30px;height:30px}.lightbox-prev{left:5px}.lightbox-next{right:5px}.resume-section{padding-top:28px}.resume-section>h1{font-size:62px}.resume-intro{display:block}.resume-intro .text-link{margin-top:20px}.resume-subheading{font-size:28px;margin-top:45px}.experience{grid-template-columns:1fr;gap:13px;padding:24px 0}.experience h3{font-size:23px}.experience p{font-size:12px}.education-grid{grid-template-columns:1fr}.resume-tools{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}@media print{body{background:#fff;color:#111;font-size:11pt}.header,.contact-section,footer,.back-link,.print-cv,dialog{display:none!important}.resume-section{padding:20px}.resume-section>h1{font-size:44px}.resume-section em,.experience h4{color:#222}.experience p,.experience>span,.education-grid p,.resume-tools,.resume-intro>p{color:#444}.experience{break-inside:avoid;padding:18px 0}.resume-subheading{margin:30px 0 15px;font-size:22px}.experience h3{font-size:20px}.education-grid{gap:18px}.resume-section .eyebrow{font-size:9px}}

[hidden]{display:none!important}
