:root{--bg:#0a0a0a;--bg-2:#111;--orange:#ff5a2d;--orange-deep:#e0441c;--teal:#2ee6d6;--text:#f4f4f4;--muted:#b8b8b8;--hairline:#fff3;--hairline-soft:#ffffff14;--font-hero:"Big Shoulders Display", sans-serif;--font-display:Syne, sans-serif;--font-body:Manrope, sans-serif;--header-h:84px;--ease:cubic-bezier(.16, 1, .3, 1)}*,:before,:after{box-sizing:border-box;margin:0}html{scroll-behavior:smooth;scroll-padding-top:var(--header-h);background:var(--bg)}html,body{margin:0;padding:0}body{font-family:var(--font-body);color:var(--muted);background:var(--bg);min-height:100vh;font-size:16px;line-height:1.6;overflow-x:hidden}@media (pointer:fine){.js body,.js button{cursor:none}}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}::selection{background:var(--orange);color:#0a0a0a}:focus-visible{outline:1px solid var(--orange);outline-offset:4px}.skip{z-index:100;background:var(--orange);color:#0a0a0a;letter-spacing:.12em;text-transform:uppercase;padding:8px 12px;font-size:12px;position:absolute;top:-40px;left:16px}.skip:focus{top:12px}.grain{z-index:80;pointer-events:none;opacity:.055;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:180px 180px;position:fixed;inset:0}.cursor,.cursor-ring{pointer-events:none;z-index:90;will-change:transform;border-radius:50%;position:fixed;top:0;left:0;transform:translate(-100px,-100px)}.cursor{background:var(--orange);mix-blend-mode:difference;width:8px;height:8px;margin:-4px 0 0 -4px}.cursor-ring{width:36px;height:36px;transition:width .25s var(--ease), height .25s var(--ease), margin .25s var(--ease), border-color .25s, background .25s;border:1px solid #ff5a2db3;margin:-18px 0 0 -18px}.cursor-ring.is-hot{border-color:var(--orange);background:#ff5a2d14;width:52px;height:52px;margin:-26px 0 0 -26px}@media (pointer:coarse){.cursor,.cursor-ring{display:none}}.site-header{z-index:40;height:var(--header-h);background:linear-gradient(#0a0a0aeb,#0a0a0a00);grid-template-columns:auto 1fr auto;align-items:center;padding:0 36px;display:grid;position:fixed;top:0;left:0;right:0}.monogram{background:var(--orange);color:#fff;width:42px;height:42px;font-family:var(--font-display);letter-spacing:0;transition:transform .4s var(--ease), background .3s;place-items:center;font-size:22px;font-weight:800;line-height:1;display:grid}.monogram:hover{background:var(--orange-deep);transform:scale(.94)}.nav-desktop{justify-content:center;gap:42px;display:flex}.nav-desktop a{letter-spacing:.18em;text-transform:uppercase;color:#ffffffc7;padding:6px 0;font-size:13px;font-weight:500;transition:color .3s;position:relative}.nav-desktop a:after{content:"";background:var(--orange);transform-origin:0;width:100%;height:1px;transition:transform .35s var(--ease);position:absolute;bottom:0;left:0;transform:scaleX(0)}.nav-desktop a:hover,.nav-desktop a.is-active{color:#fff}.nav-desktop a:hover:after,.nav-desktop a.is-active:after{transform:scaleX(1)}.menu-btn{z-index:51;flex-direction:column;justify-content:center;align-items:flex-end;gap:8px;width:42px;height:42px;display:flex}.menu-btn span{background:var(--orange);height:2px;transition:transform .4s var(--ease), width .4s var(--ease), opacity .3s;display:block}.menu-btn span:first-child{width:28px}.menu-btn span:last-child{width:18px}.menu-btn:hover span:last-child{width:28px}.menu-btn.is-open span:first-child{width:28px;transform:translateY(5px)rotate(45deg)}.menu-btn.is-open span:last-child{width:28px;transform:translateY(-5px)rotate(-45deg)}.menu{z-index:45;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .4s var(--ease), visibility .4s;background:#080808f7;place-items:center;display:grid;position:fixed;inset:0}.menu.is-open{opacity:1;visibility:visible;pointer-events:auto}.menu[hidden]{display:grid}.menu-inner{width:min(720px,88vw)}.menu-nav{flex-direction:column;margin:28px 0 48px;display:flex}.menu-nav a{font-family:var(--font-display);letter-spacing:-.04em;color:#fff;border-bottom:1px solid var(--hairline);transition:color .3s, padding-left .45s var(--ease);align-items:baseline;gap:28px;padding:8px 0 14px;font-size:clamp(3rem,9vw,6.5rem);font-weight:800;line-height:1.02;display:flex}.menu-nav a span{font-family:var(--font-body);letter-spacing:.28em;color:var(--orange);font-size:12px;font-weight:500}.menu-nav a:hover{color:var(--orange);padding-left:18px}.menu-mail{color:var(--orange);letter-spacing:.08em;font-size:15px}.kicker{color:var(--orange);letter-spacing:.32em;text-transform:uppercase;align-items:center;gap:16px;margin:0 0 28px;font-size:11px;font-weight:600;display:flex}.kicker-line{background:var(--orange);width:56px;height:1px;display:block}.hero{min-height:100dvh;padding:var(--header-h) 48px 40px 0;grid-template-columns:72px 1fr minmax(260px,340px);align-items:center;display:grid;position:relative;overflow:hidden}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.label{color:var(--orange);letter-spacing:.32em;text-transform:uppercase;margin:0;font-size:11px;font-weight:600}.hero-name{z-index:1;pointer-events:none;font-family:var(--font-hero);letter-spacing:.01em;text-transform:uppercase;color:#fff;text-align:center;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:space-between;align-items:center;margin:0;padding:11vh 2vw 7vh;font-size:clamp(5.8rem,23vw,17.5rem);font-weight:900;line-height:.78;display:flex;position:absolute;inset:0}.hero-name span{width:100%;display:block}.social-rail{z-index:5;flex-direction:column;align-items:center;gap:22px;padding-top:8vh;display:flex;position:relative}.social-rail a{letter-spacing:.28em;text-transform:uppercase;color:#ffffff61;writing-mode:vertical-rl;font-size:11px;font-weight:600;transition:color .3s;transform:rotate(180deg)}.social-rail a:hover{color:var(--orange)}.hero-figure{z-index:2;justify-self:center;width:min(430px,38vw);height:min(78vh,740px);margin:0;position:relative}.hero-figure img{object-fit:cover;object-position:50% 8%;mix-blend-mode:lighten;width:100%;height:100%;-webkit-mask-image:radial-gradient(ellipse 78% 82% at 50% 36%,#000 42%,#0000 80%),linear-gradient(#000 48%,#0006 72%,#0000 100%);mask-image:radial-gradient(ellipse 78% 82% at 50% 36%,#000 42%,#0000 80%),linear-gradient(#000 48%,#0006 72%,#0000 100%);-webkit-mask-composite:source-in;mask-composite:intersect}.hero-copy{z-index:4;max-width:340px;padding:6vh 8px 8vh;position:relative}.hero-place{font-family:var(--font-display);letter-spacing:-.03em;color:#fff;margin:0 0 18px;font-size:clamp(1.35rem,2vw,1.85rem);font-weight:700;line-height:1.2}.hero-bio{color:var(--muted);max-width:32ch;margin:0 0 28px;font-size:15px;line-height:1.7}.hero-mail{color:var(--orange);letter-spacing:.04em;background-image:linear-gradient(var(--orange), var(--orange));transition:background-size .35s var(--ease);background-position:0 100%;background-repeat:no-repeat;background-size:100% 1px;font-size:14px;font-weight:600}.hero-mail:hover{background-size:40% 1px}.hero-geo{z-index:0;pointer-events:none;width:190px;height:190px;position:absolute;top:-24px;right:12px}.triangle{clip-path:polygon(50% 0%,0% 100%,100% 100%);background:#ffffff09;position:absolute;inset:28px 0 0}.orb{background:var(--teal);border-radius:50%;width:18px;height:18px;margin-left:-9px;animation:4.8s ease-in-out infinite pulse;position:absolute;top:18px;left:50%;box-shadow:0 0 18px 6px #2ee6d673,0 0 42px 12px #2ee6d62e}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.12)}}.scroll-cue{z-index:5;color:#fff6;letter-spacing:.32em;text-transform:uppercase;flex-direction:column;align-items:center;gap:12px;font-size:10px;display:flex;position:absolute;bottom:36px;right:36px}.scroll-cue i{background:linear-gradient(to bottom, var(--orange), transparent);width:1px;height:56px;display:block}.section-inner{width:min(1240px,100% - 96px);margin:0 auto}.about,.work,.contact{z-index:2;border-top:1px solid var(--hairline);position:relative}.about{padding:22vh 0 18vh}.about-statement{max-width:14ch;font-family:var(--font-display);letter-spacing:-.045em;color:#fff;margin:0 0 56px;font-size:clamp(2.8rem,6.4vw,5.6rem);font-weight:800;line-height:.95}.about-grid{grid-template-columns:1.2fr .8fr;align-items:end;gap:80px;display:grid}.about-body{max-width:54ch;margin:0;font-size:17px;line-height:1.75}.stat-num{font-family:var(--font-hero);letter-spacing:-.04em;color:var(--orange);margin:0;font-size:clamp(6rem,12vw,10rem);font-weight:900;line-height:.8}.stat-copy{letter-spacing:.22em;text-transform:uppercase;color:#fff;margin:18px 0 0;font-size:13px;font-weight:600;line-height:1.7}.work{padding:16vh 0 8vh}.work-head{justify-content:space-between;align-items:flex-end;margin-bottom:8px;display:flex}.work-head .kicker{margin-bottom:0}.work-note{letter-spacing:.22em;text-transform:uppercase;color:#fff6;margin:0;font-size:12px}.project{border-top:1px solid var(--hairline);transition:transform .55s var(--ease), background .4s;grid-template-columns:120px 1fr 72px;align-items:start;gap:24px;padding:64px 8px 64px 0;display:grid;position:relative}.project:last-child{border-bottom:1px solid var(--hairline)}div.project{grid-template-columns:120px 1fr}.project:before{content:"";background:var(--orange);width:0;height:1px;transition:width .6s var(--ease);position:absolute;top:0;left:0}.project:hover{transform:translate(16px)}.project:hover:before{width:100%}.project-num{font-family:var(--font-hero);letter-spacing:.04em;color:#ffffff47;padding-top:10px;font-size:2.4rem;font-weight:800;transition:color .35s}.project:hover .project-num{color:var(--orange)}.project-body h3{font-family:var(--font-display);letter-spacing:-.04em;color:#fff;margin:0 0 16px;font-size:clamp(2.4rem,5vw,4.4rem);font-weight:800;line-height:.95;transition:color .35s}.project:hover h3{color:var(--orange)}.project-body p{max-width:56ch;margin:0;font-size:16px;line-height:1.7}.project-go{color:#fff;width:56px;height:56px;transition:transform .45s var(--ease), color .3s;place-items:center;margin-top:8px;display:grid}.project-go svg{width:28px;height:28px}.project:hover .project-go{color:var(--orange);transform:translate(8px,-8px)}.contact{padding:20vh 0 18vh}.contact-title{font-family:var(--font-display);letter-spacing:-.045em;color:#fff;margin:0 0 12px;font-size:clamp(3.4rem,8vw,7rem);font-weight:800;line-height:.9}.contact-lede{margin:0 0 48px;font-size:18px}.contact-mail{overflow-wrap:anywhere;font-family:var(--font-display);letter-spacing:-.03em;color:var(--orange);border-bottom:3px solid var(--orange);transition:color .3s, border-color .3s, transform .4s var(--ease);padding-bottom:6px;font-size:clamp(1.7rem,5.4vw,4.4rem);font-weight:800;line-height:1.15;display:block;width:fit-content;max-width:100%}.contact-mail:hover{color:#ff7a55;border-color:#ff7a55;transform:translate(6px)}.contact-gh{letter-spacing:.28em;text-transform:uppercase;color:#ffffff8c;border-bottom:1px solid var(--hairline);margin:56px 0 0;padding-bottom:4px;font-size:12px;font-weight:600;transition:color .3s,border-color .3s;display:block;width:fit-content}.contact-gh:hover{color:#fff;border-color:var(--orange)}.site-footer{border-top:1px solid var(--hairline);padding:28px 48px 36px}.site-footer p{text-align:center;letter-spacing:.38em;text-transform:uppercase;color:#ffffff59;margin:0;font-size:10px;font-weight:600}.js .reveal{opacity:0;transition:opacity .9s var(--ease), transform .9s var(--ease);transform:translateY(32px)}.js .reveal.is-in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.orb{animation:none}.js .reveal,.js .reveal.is-in,.project,.project-go,.contact-mail{opacity:1;transition:none;transform:none}.cursor,.cursor-ring{display:none}body{cursor:auto}}@media (width<=1100px){.hero{grid-template-columns:56px 1fr minmax(220px,280px);padding-right:28px}.hero-figure{width:min(400px,42vw)}.hero-geo{opacity:.8;right:10%}.about-grid{grid-template-columns:1fr;gap:48px}}@media (width<=768px){body{cursor:auto}.cursor,.cursor-ring{display:none}.site-header{padding:0 20px}.nav-desktop{display:none}.section-inner{width:calc(100% - 40px)}.hero{min-height:auto;padding:calc(var(--header-h) + 12px) 20px 72px;flex-direction:column;align-items:stretch;display:flex}.hero-name{order:3;justify-content:center;padding:12px 0 16px;font-size:clamp(4.2rem,22vw,7rem);line-height:.8;position:relative;inset:auto}.hero-name span:first-child,.hero-name span:last-child{transform:none}.hero-figure{order:2;align-self:center;width:min(100%,360px);height:58vh;margin:0 auto}.hero-copy{order:4;max-width:none;padding:8px 0 0}.social-rail{writing-mode:horizontal-tb;flex-direction:row;order:5;align-items:center;gap:28px;padding:36px 0 0}.social-rail a{writing-mode:horizontal-tb;transform:none}.hero-geo,.scroll-cue{display:none}.about,.work,.contact{padding:12vh 0}.about-statement{max-width:none;margin-bottom:32px}.project{grid-template-columns:48px 1fr 40px;gap:8px;padding:36px 0}div.project{grid-template-columns:48px 1fr}.project:hover{transform:none}.project-num{padding-top:6px;font-size:1.4rem}.project-body h3{font-size:2rem}.project-go{width:40px;height:40px}.site-footer{padding:24px 20px 32px}}.contact-form{gap:32px;max-width:560px;margin-top:64px;display:grid}.contact-form .field{margin:0}.contact-form label{letter-spacing:.32em;text-transform:uppercase;color:var(--orange);margin-bottom:8px;font-size:11px;font-weight:600;display:block}.contact-form input,.contact-form textarea{border:0;border-bottom:1px solid var(--hairline);width:100%;color:var(--text);font:inherit;appearance:none;background:0 0;border-radius:0;outline:none;padding:10px 0 14px;font-size:16px}.contact-form textarea{resize:vertical;min-height:120px}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--orange)}.contact-form .field-error{color:var(--orange);margin-top:8px;font-size:12px}.contact-form button[type=submit]{background:var(--orange);color:#fff;letter-spacing:.28em;text-transform:uppercase;transition:background .3s, transform .4s var(--ease);justify-self:start;padding:16px 32px;font-size:12px;font-weight:700}.contact-form button[type=submit]:hover{background:var(--orange-deep);transform:translate(4px)}.contact-status{border:1px solid #ff5a2d66;max-width:560px;margin-top:48px;padding:32px 36px}.contact-status .kicker{margin-bottom:16px}.contact-status-title{font-family:var(--font-display);letter-spacing:-.03em;color:#fff;margin:0;font-size:clamp(1.4rem,3vw,2rem);font-weight:800;line-height:1.2}.contact-status-note{color:var(--muted);margin:12px 0 0;font-size:14px}@media (width<=768px){.contact-form,.contact-status{max-width:none}.contact-status{padding:24px}}
