/* Dark Editorial: one fixed monochrome art direction. */
:root{color-scheme:dark;--bg:#080808;--surface:#111;--card:#0c0c0c;--ink:#f0efed;--muted:#a5a5a5;--line:#303030;--accent:#eee;--serif:Georgia,'Times New Roman',serif;--sans:'Arial', 'Helvetica Neue',sans-serif;--mono:'Courier New',monospace;--max:1328px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}h1,h2,h3,p,ul,ol{margin-top:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--ink);outline-offset:6px}button:disabled{cursor:default;opacity:.65}[hidden]{display:none!important}::selection{background:#eee;color:#111}svg{width:20px;height:20px;flex-shrink:0;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.container{width:min(var(--max),calc(100% - 112px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;top:10px;left:15px;z-index:100;padding:12px 20px;background:var(--ink);color:var(--bg);transform:translateY(-160%)}.skip-link:focus{transform:none}
.site-header{position:sticky;top:0;z-index:30;background:var(--bg);border-bottom:1px solid var(--line)}.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:22px}.wordmark{display:inline-flex;align-items:center;gap:17px;flex-shrink:0}.brand-mark{font-size:28px;line-height:1;font-weight:600;letter-spacing:-2px}.brand-mark>span{font-size:11px;position:relative;top:-13px;margin-left:4px}.brand-name{font-size:10px;text-transform:uppercase;letter-spacing:1px;max-width:100px;line-height:1.5}.header-actions,.site-nav{display:flex;align-items:center}.header-actions{gap:22px}.site-nav{gap:28px}.site-nav a{display:inline-flex;align-items:center;gap:15px;min-height:44px;font:10px var(--mono);text-transform:uppercase;letter-spacing:.7px;position:relative}.site-nav a:not(.nav-contact):after{position:absolute;content:'';height:1px;left:0;bottom:8px;width:100%;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .25s}.site-nav a:hover:after,.site-nav a[aria-current]:after{transform:scaleX(1)}.site-nav .nav-contact{border-bottom:1px solid #777}.nav-contact svg{width:14px;height:14px}.motion-toggle{border:1px solid #444;color:var(--ink);background:transparent;width:44px;height:44px;display:grid;place-items:center;border-radius:50%}.motion-toggle:hover{background:#242424}.motion-toggle svg{width:15px;height:15px}.play-icon{display:none}.motion-toggle[aria-pressed=true] .pause-icon{display:none}.motion-toggle[aria-pressed=true] .play-icon{display:block}.menu-toggle{display:none}
.hero{position:relative;overflow:clip}.hero-meta{display:flex;align-items:center;justify-content:space-between;padding-top:32px}.eyebrow,.edition,.section-label{font:10px/1.5 var(--mono);text-transform:uppercase;letter-spacing:1.4px}.eyebrow{margin-bottom:0}.edition{color:var(--muted)}.hero-stage{min-height:620px;position:relative;display:flex;align-items:center}.hero-title-wrap{position:relative;z-index:3;pointer-events:none;width:100%;padding-block:40px}.hero-greeting{font:12px var(--mono);color:var(--muted);letter-spacing:1px;margin-bottom:20px}h1{font-size:clamp(76px,11.1vw,168px);font-weight:500;line-height:.92;letter-spacing:-9px;margin:0;position:relative}h1>span{display:block}.outline-name{color:transparent;-webkit-text-stroke:1px #e0dfdd;position:relative;z-index:4}.name-dot{-webkit-text-stroke:0;color:var(--ink)}.sculpture-stage{position:absolute;right:-4%;top:-3%;width:69%;height:105%;pointer-events:none}.sculpture-fallback,.scene-mount,.scene-mount canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.sculpture-fallback{object-fit:contain;opacity:1;transition:opacity .3s}.scene-mount{opacity:0;transition:opacity .3s}.scene-ready .sculpture-fallback{opacity:0}.scene-ready .scene-mount{opacity:1}.scene-coordinate{position:absolute;right:0;bottom:26px;font:9px var(--mono);letter-spacing:1px;color:var(--muted);writing-mode:vertical-rl}.hero-bottom{display:grid;grid-template-columns:1fr 1fr auto;gap:50px;align-items:center;padding:32px 0 46px;border-bottom:1px solid var(--line)}.hero-description{display:flex;gap:20px;max-width:370px}.hero-description p{font-size:12px;line-height:1.9;color:var(--muted);margin-bottom:0}.tiny-cross{font:25px var(--mono);line-height:1}.hero-buttons{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:13px 20px;font-size:11px;line-height:1.5;border:1px solid #666;transition:background .2s,color .2s}.button-primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}.button-primary:hover{background:#bbb}.button svg{width:17px;height:17px}.text-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:11px}.text-link svg{width:14px;height:14px;transition:transform .25s}.text-link:hover svg{transform:translate(3px,-3px)}.scroll-cue{width:76px;height:76px;border:1px solid #555;border-radius:50%;display:flex;flex-direction:column;gap:9px;justify-content:center;align-items:center}.scroll-cue span{font:8px/1.3 var(--mono);text-transform:uppercase;max-width:55px;text-align:center}.scroll-cue svg{transform:rotate(90deg);width:16px;height:16px}
.section{padding-block:120px}.section-label{display:flex;gap:25px;color:var(--muted);margin-bottom:34px}.section-label>span{color:var(--ink)}h2{font-size:clamp(38px,4.7vw,68px);font-weight:400;letter-spacing:-3px;line-height:1.05;margin-bottom:30px;max-width:660px}h3{font-weight:400;font-size:22px;letter-spacing:-.6px;line-height:1.3;margin-bottom:20px}.section-intro{font-size:13px;color:var(--muted);max-width:390px;line-height:1.95;margin:0}.about{display:grid;grid-template-columns:1fr 1fr;gap:100px}.about h2{max-width:390px}.about-text h3{font-size:29px;margin-top:23px}.about-text>p{font-size:14px;color:var(--muted);line-height:2;max-width:510px}.placeholder-badge{display:inline-flex;align-items:center;gap:6px;border:1px solid #555;padding:4px 9px;border-radius:2px;color:var(--muted);font:9px/1.5 var(--mono);white-space:nowrap}.placeholder-badge:before{content:'';width:3px;height:3px;border-radius:50%;background:currentColor}.personal-note{margin-top:40px;border-top:1px solid var(--line);padding-top:28px;position:relative}.personal-note .eyebrow{font-size:9px;margin-bottom:20px}.personal-note>p:not(.eyebrow){font-family:var(--serif);font-size:23px;font-style:italic;line-height:1.6;max-width:90%;color:#c5c5c5}.note-star{position:absolute;right:0;top:20px;font-size:28px}.note-signature{font:italic 21px var(--serif);display:block;text-align:right}.journey-band{background:var(--surface);border-block:1px solid var(--line)}.split-section{display:grid;grid-template-columns:1fr 1fr;gap:100px}.split-section h2{max-width:400px}.timeline{list-style:none;padding:0;margin:0}.timeline-item{border-top:1px solid #444;padding:28px 0 40px;position:relative}.timeline-item:before{content:'';position:absolute;width:5px;height:5px;background:#ddd;top:-3px;left:0}.timeline-item:last-child{padding-bottom:0}.timeline-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 20px;font:10px var(--mono);color:var(--muted);margin-bottom:24px}.timeline-meta>span:last-child{text-transform:uppercase;letter-spacing:1px}.timeline-item h3{margin-bottom:8px}.timeline-item .organization{font-size:11px;margin-bottom:18px}.timeline-item p{font-size:13px;color:var(--muted);line-height:1.9}.timeline-item .placeholder-badge{margin-top:5px}.skills{display:grid;grid-template-columns:1fr 1fr;gap:100px}.skills h2{max-width:460px}.skills-grid{display:grid;grid-template-columns:1fr;gap:40px}.skill-group{border-top:1px solid var(--line);padding-top:22px}.skill-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.skill-symbol{font-size:27px;line-height:1}.skill-group h3{font-size:29px}.skill-group p{font-size:13px;color:var(--muted);max-width:400px}.tags{list-style:none;padding:0;margin:24px 0 0;display:flex;gap:9px;flex-wrap:wrap}.tags li{font:9px/1.5 var(--mono);color:var(--muted);border:1px solid #444;padding:6px 10px}
.projects{border-top:1px solid var(--line)}.projects-heading{display:flex;justify-content:space-between;align-items:end;gap:70px;margin-bottom:55px}.projects-heading h2{max-width:550px;margin-bottom:0}.projects-heading .section-intro{max-width:290px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;perspective:1500px}.project-card{border:1px solid var(--line);background:var(--card);transition:transform .3s ease;border-radius:1px;overflow:hidden;transform-style:preserve-3d}.project-media{aspect-ratio:1.48;position:relative;background:#151515;overflow:hidden;isolation:isolate}.project-media>img{width:100%;height:100%;object-fit:cover;display:block}.project-index{position:absolute;top:22px;left:24px;font:11px var(--mono);z-index:2}.project-media-label{position:absolute;bottom:23px;left:24px;font:9px var(--mono);letter-spacing:1px;text-transform:uppercase;z-index:2}.project-object{position:absolute;left:26%;top:15%;width:48%;height:75%;perspective:700px;transform:rotate(-20deg)}.project-object i{position:absolute;inset:4%;border-radius:50%;background:linear-gradient(120deg,#1b1b1b 5%,#e3e3e3 25%,#616161 31%,#111 40%,#999 52%,#eee 57%,#333 68%,#111);transform:rotateY(40deg);box-shadow:inset 0 0 0 1px #888,16px 22px 35px #0009}.project-object i:nth-child(2){inset:22%;background:#151515;box-shadow:inset 10px 0 20px #000;transform:rotateY(40deg)}.project-object i:nth-child(3){inset:2%;border:1px solid #666;background:transparent;box-shadow:none;transform:rotateY(-50deg) rotateX(35deg)}.object-1{transform:rotate(25deg)}.object-1 i{border-radius:4px;transform:rotateY(-35deg) rotateX(20deg)}.object-1 i:nth-child(2){transform:rotateY(-35deg) rotateX(20deg);inset:23%;background:#151515}.project-info{padding:30px}.project-category{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;font:9px/1.5 var(--mono);color:var(--muted);margin-bottom:22px}.project-info h3{font-size:27px;max-width:400px}.project-info p{font-size:13px;color:var(--muted);line-height:1.9;margin-bottom:0}.project-links{display:flex;gap:25px;margin-top:20px}.project-links a{display:flex;align-items:center;gap:10px;min-height:44px;font-size:12px}.project-links svg{width:16px;height:16px}.contact-section{border-top:1px solid var(--line);background:#101010}.contact-top{display:flex;justify-content:space-between}.contact-top>span{font-size:80px;line-height:1}.contact-section h2{font-size:clamp(48px,7.3vw,108px);letter-spacing:-5px;max-width:1060px;margin-top:15px}.contact-bottom{display:grid;grid-template-columns:1fr 1fr;gap:100px;margin-top:65px}.contact-placeholder{border-left:1px solid #555;padding-left:25px}.contact-placeholder p{font-size:22px;margin-bottom:10px}.contact-placeholder>span{font-size:12px;color:var(--muted);max-width:360px;display:block}.email-line{display:flex;gap:15px;align-items:center;margin-top:20px;flex-wrap:wrap;overflow-wrap:anywhere;font-size:12px}.copy-button{background:transparent;border:1px solid #666;color:var(--ink);min-height:44px;padding:8px 13px;font-size:11px}.social-links{list-style:none;display:flex;flex-wrap:wrap;gap:24px;margin:25px 0 0;padding:0}.social-links a{display:inline-flex;gap:10px;align-items:center;min-height:44px;font-size:12px}.social-links svg{width:15px;height:15px}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:45px 0 35px}.footer-main p{font:10px var(--mono);color:var(--muted);margin:0}.back-to-top{display:flex;align-items:center;gap:15px;min-height:44px;font:10px var(--mono)}.back-to-top svg{transform:rotate(-90deg);width:17px;height:17px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:25px 0;font:9px var(--mono);color:var(--muted)}.motion-ready .reveal{opacity:0;transform:perspective(1000px) translate3d(0,30px,-15px) rotateX(3deg);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.7,.3,1)}.motion-ready .reveal.is-visible{opacity:1;transform:none}html[data-motion=off]{scroll-behavior:auto}html[data-motion=off] .reveal{opacity:1;transform:none}.error-page{padding-block:70px;max-width:1000px}.error-page>.wordmark{font-size:40px;margin-bottom:100px}.error-page .eyebrow{margin-bottom:25px}.error-page h1{font-size:clamp(55px,8vw,110px);letter-spacing:-5px;line-height:1;margin-bottom:35px}.error-page>p:not(.eyebrow){color:var(--muted);margin-bottom:35px}
@media(min-width:1800px){.hero-stage{min-height:720px}.sculpture-stage{right:0;width:72%}}
@media(max-width:1100px){.container{width:calc(100% - 72px)}.header-inner .brand-name{display:none}.site-nav{gap:20px}.header-actions{gap:18px}.hero-stage{min-height:560px}h1{font-size:12.7vw;letter-spacing:-7px}.hero-bottom{gap:25px;grid-template-columns:1fr 1fr auto}.hero-buttons{gap:10px}.about,.split-section,.skills,.contact-bottom{gap:55px}.section{padding-block:100px}.project-info h3{font-size:24px}}
@media(max-width:800px){html{scroll-padding-top:90px}.container{width:calc(100% - 48px)}.header-inner{min-height:76px;flex-wrap:wrap;padding-block:10px}.header-inner .brand-name{display:inline}.header-actions{gap:8px}.site-nav{flex-wrap:wrap}.js .header-inner{flex-wrap:nowrap}.js .site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg);padding:16px 24px 25px;border-bottom:1px solid #555}.js.menu-open .site-nav{display:flex;flex-direction:column;align-items:stretch;gap:3px}.site-nav a{font-size:12px;min-height:48px}.js .site-nav .nav-contact{justify-content:space-between;margin-top:7px}.js .menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:44px;height:44px;border:0;background:transparent;color:var(--ink)}.menu-toggle span{width:21px;height:1px;background:currentColor;transition:transform .2s}.menu-open .menu-toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.hero-stage{min-height:520px}.hero-meta{padding-top:25px}.hero-greeting{font-size:10px}h1{font-size:13vw;letter-spacing:-5px}.sculpture-stage{width:85%;right:-12%;top:5%;height:95%}.hero-bottom{grid-template-columns:1fr auto;gap:25px}.hero-description{grid-column:1/-1;max-width:450px}.hero-buttons{gap:20px}.scroll-cue{width:65px;height:65px}.section{padding-block:80px}.about,.split-section,.skills{gap:35px}h2{font-size:43px;letter-spacing:-2px}.section-label{font-size:9px;gap:17px;letter-spacing:1px}.project-grid{gap:22px}.project-info{padding:23px}.project-info h3{font-size:23px}.projects-heading{gap:40px}.projects-heading .section-intro{max-width:230px}.contact-section h2{letter-spacing:-3px}.contact-bottom{gap:35px}.footer-main{flex-wrap:wrap;gap:15px}.footer-main p{order:3;flex-basis:100%}}
@media(max-width:600px){.container{width:calc(100% - 40px)}.brand-name{font-size:9px}.wordmark{gap:12px}.brand-mark{font-size:27px}.hero-meta{gap:20px}.eyebrow,.edition{font-size:8px;letter-spacing:1px}.hero-stage{min-height:570px;align-items:start}.hero-title-wrap{padding-top:50px}h1{font-size:15.2vw;letter-spacing:-3.7px;line-height:1.02}.hero-greeting{margin-bottom:16px}.sculpture-stage{width:113%;height:76%;top:29%;right:-12%}.scene-coordinate{bottom:20px;font-size:7px}.hero-bottom{padding:25px 0 35px;gap:22px}.hero-description p{font-size:12px}.hero-description{gap:15px}.hero-buttons{gap:6px;align-items:start;flex-direction:column}.button{font-size:11px;padding:12px 17px;gap:20px}.scroll-cue{width:70px;height:70px}.section{padding-block:65px}.section-label{margin-bottom:25px}h2{font-size:42px;letter-spacing:-2px}.about,.split-section,.skills{grid-template-columns:1fr;gap:32px}.section-heading h2{margin-bottom:0}.section-heading .section-intro{margin-top:25px}.about-text h3{font-size:27px}.about-text>p{font-size:14px}.personal-note{margin-top:30px}.personal-note>p:not(.eyebrow){font-size:22px}.timeline-item{padding-top:25px}.timeline-item h3{font-size:22px}.skills-grid{gap:35px}.skill-group h3{font-size:28px}.projects-heading{flex-direction:column;align-items:start;gap:25px;margin-bottom:35px}.projects-heading .section-intro{max-width:none}.project-grid{grid-template-columns:1fr;gap:32px}.project-media{aspect-ratio:1.35}.project-info{padding:24px}.project-info h3{font-size:25px}.project-media-label{font-size:8px}.contact-top>span{font-size:56px}.contact-section h2{font-size:52px;letter-spacing:-2.8px}.contact-bottom{grid-template-columns:1fr;gap:32px;margin-top:35px}.contact-placeholder{padding-left:20px}.contact-placeholder p{font-size:22px}.footer-main{padding-top:32px}.footer-main .brand-name{display:none}.footer-bottom{font-size:8px;gap:15px}.error-page h1{font-size:56px;letter-spacing:-3px}.error-page>.wordmark{margin-bottom:75px}}
@media(max-width:360px){.container{width:calc(100% - 32px)}.header-actions{gap:3px}.hero-stage{min-height:520px}.sculpture-stage{top:30%;height:73%}.contact-section h2{font-size:45px}.project-info h3{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}}
@media print{:root{color-scheme:light;--bg:white;--ink:#111;--muted:#444;--line:#ccc;--surface:#eee;--card:white}body{background:white}.site-header{position:static}.header-actions,.sculpture-stage,.hero-buttons,.scroll-cue,.scene-coordinate{display:none!important}.hero-stage{min-height:0}.hero-title-wrap{padding-block:30px}h1{font-size:70px;letter-spacing:-4px}.outline-name{color:#111;-webkit-text-stroke:0}.hero-bottom,.about,.split-section,.skills,.contact-bottom{display:block}.section{padding-block:30px}.reveal,.motion-ready .reveal{opacity:1;transform:none}.contact-section,.project-media{background:#eee}.personal-note>p:not(.eyebrow){color:#333}.project-card,.timeline-item{break-inside:avoid}}
