:root{--ink:#050505;--paper:#f6f3ed;--line:#fff2;--muted:#a7a09d;--red:#d73838;--red-dark:#842021;--serif:"Playfair Display", Georgia, serif;--sans:"DM Sans", sans-serif;--mono:"DM Mono", monospace}*,:before,:after{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}body{background:var(--ink);color:var(--paper);font-family:var(--sans);overflow-x:hidden}a{color:inherit;text-decoration:none}.grid-bg{z-index:-2;opacity:.3;pointer-events:none;background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-size:80px 80px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 75%);mask-image:linear-gradient(#000,#0000 75%)}.nav{-webkit-backdrop-filter:none;backdrop-filter:none;z-index:10;background:0 0;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;height:86px;padding:0 2.1vw;transition:background .35s,-webkit-backdrop-filter .35s,backdrop-filter .35s,border-color .35s;display:flex;position:fixed;inset:0 0 auto}.nav.scrolled,.nav.solid{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom-color:var(--line);background:#050505f0}.nav-mark{font:italic 500 44px/1 var(--serif);letter-spacing:-.15em}.nav-links{border:1px solid var(--line);background:#111;border-radius:10px;gap:3px;padding:4px;list-style:none;display:flex}.nav-links a{font:500 12px var(--mono);letter-spacing:.14em;color:#aaa;border-radius:6px;padding:12px 20px;transition:all .25s;display:block}.nav-links a:hover,.nav-links a.active{color:#fff;background:var(--red-dark)}.nav-socials{gap:9px;display:flex}.nav-socials a{border:1px solid var(--line);color:#ddd;width:46px;height:46px;font:600 14px var(--serif);background:#111;border-radius:10px;place-items:center;transition:all .25s;display:grid}.nav-socials a svg{width:19px;height:19px;display:block}.nav-socials a:hover{color:#fff;border-color:var(--red);box-shadow:0 0 20px #d7383844}.nav-right{align-items:center;gap:9px;display:flex}.nav-hamburger{border:1px solid var(--line);cursor:pointer;background:#111;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;padding:0;display:none}.nav-hamburger span{background:#ddd;border-radius:2px;width:18px;height:1.5px;transition:transform .25s,opacity .25s;display:block}.nav.menu-open .nav-hamburger span:first-child{transform:translateY(6.5px)rotate(45deg)}.nav.menu-open .nav-hamburger span:nth-child(2){opacity:0}.nav.menu-open .nav-hamburger span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.nav-drawer{z-index:9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;animation:.2s drawerFadeIn;position:fixed;inset:0}.nav-drawer-inner{border-bottom:1px solid var(--line);background:#0d0d0d;flex-direction:column;gap:32px;padding:24px 20px 32px;animation:.25s cubic-bezier(.16,1,.3,1) drawerSlideDown;display:flex;position:absolute;top:70px;left:0;right:0}.nav-drawer-inner ul{flex-direction:column;gap:4px;padding:0;list-style:none;display:flex}.nav-drawer-inner ul a{font:500 13px var(--mono);letter-spacing:.2em;text-transform:uppercase;color:#aaa;border-radius:6px;padding:14px 12px;transition:color .2s,background .2s;display:block}.nav-drawer-inner ul a:hover,.nav-drawer-inner ul a.active{color:#fff;background:var(--red-dark)}.nav-drawer-socials{gap:10px;display:flex}.nav-drawer-socials a{border:1px solid var(--line);color:#ddd;width:42px;height:42px;font:600 14px var(--serif);background:#111;border-radius:8px;place-items:center;transition:all .25s;display:grid}.nav-drawer-socials a:hover{color:#fff;border-color:var(--red)}@keyframes drawerFadeIn{0%{opacity:0}to{opacity:1}}@keyframes drawerSlideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:55px 3vw;display:flex}.footer-mark{font:italic 500 42px/1 var(--serif);letter-spacing:-.15em;color:var(--paper);transition:color .25s}.footer-mark:hover{color:var(--red)}.footer-right{flex-direction:column;align-items:flex-end;gap:16px;display:flex}.footer-socials{align-items:center;gap:24px;display:flex}.footer-socials a{color:#999;place-items:center;transition:color .25s,transform .25s;display:grid}.footer-socials a:hover{color:#fff;transform:translateY(-2px)}.footer-copy{font:500 11px var(--mono);letter-spacing:.2em;text-transform:uppercase;color:#888}.section{padding:140px 3.5vw 95px}.eyebrow{font:500 11px var(--mono);letter-spacing:.39em;color:var(--muted);text-transform:uppercase;align-items:center;gap:29px;display:flex}.eyebrow:before{content:"";background:var(--red);flex-shrink:0;width:90px;height:1px}.heading{font:600 clamp(70px, 10vw, 160px)/.88 var(--serif);letter-spacing:-.08em;margin:65px 0 80px}.projects-intro{margin-bottom:70px}.projects-intro .eyebrow+.eyebrow{margin-top:6px}.intro-link{font:500 22px var(--serif);color:var(--paper);align-items:center;gap:8px;margin-top:22px;transition:color .2s;display:inline-flex}.intro-link:hover{color:var(--red)}.project{border-top:1px solid var(--line);grid-template-columns:1fr 1.04fr;align-items:center;gap:8vw;padding:84px 0;display:grid}.project-kicker{font:500 11px var(--mono);letter-spacing:.28em;color:var(--red);text-transform:uppercase}.project-kicker b{color:#aba19e;margin-right:18px;font-weight:500}.project h3{font:600 clamp(54px, 6.1vw, 98px)/.96 var(--serif);letter-spacing:-.07em;margin:34px 0 16px}.project h3+p{font:500 20px var(--serif);color:#d4c6b8}.project-desc{color:#aaa;max-width:560px;font:16px/1.8 var(--serif);margin:48px 0 26px}.project-note{border-left:2px solid var(--red);max-width:560px;font:italic 500 16px/1.7 var(--serif);color:#cfc3b6;margin:6px 0 34px;padding-left:22px}.tags{flex-wrap:wrap;gap:10px;display:flex}.tags span{border:1px solid var(--line);color:#e4dcd0;font:12px var(--serif);border-radius:30px;padding:10px 20px}.project-links{font:600 15px var(--serif);gap:32px;margin-top:50px;display:flex}.project-links a:hover{color:var(--red)}.project-visual{justify-content:center;align-items:center;width:100%;height:500px;display:flex;position:relative;overflow:visible}.project-image-box{isolation:isolate;background:#0b0b0b;border:1px solid #ffffff1a;border-radius:32px;justify-content:center;align-items:center;width:94%;height:440px;display:flex;position:relative;overflow:hidden;box-shadow:0 30px 80px #00000073,inset 0 1px #ffffff0a}.project-img{z-index:2;object-fit:contain;border-radius:22px;width:90%;height:auto;min-height:0;transition:transform .6s cubic-bezier(.22,1,.36,1),box-shadow .6s;position:relative;transform:translate(-2%)translateY(-2px)rotate(-2deg);box-shadow:0 25px 55px #00000073}.project-image-box:hover .project-img{transform:translate(-2%)translateY(-10px)rotate(-1deg)scale(1.025);box-shadow:0 35px 70px #0009}.project-image-box:after{content:"";z-index:10;pointer-events:none;background:linear-gradient(90deg,#0000 0%,#ffffff08 35%,#ffffff2e 50%,#ffffff08 65%,#0000 100%);width:35%;height:260%;position:absolute;top:-80%;left:-70%;transform:rotate(20deg)}.project-image-box:hover:after{animation:.9s ease-out forwards image-shine}@keyframes image-shine{0%{left:-70%}to{left:140%}}.quote-section{text-align:center;border-top:1px solid var(--line);max-width:900px;margin:0 auto;padding:70px 20px 90px}.quote-text{font:italic 500 26px/1.5 var(--serif);color:#f1ece4}.quote-attribution{font:500 11px var(--mono);letter-spacing:.25em;text-transform:uppercase;color:var(--red);margin-top:14px}.scroll-reveal{opacity:0;will-change:opacity, transform;transition:opacity 1s cubic-bezier(.22,1,.36,1),transform 1s cubic-bezier(.22,1,.36,1);transform:translateY(55px)}.scroll-reveal.is-visible{opacity:1;transform:translateY(0)}.scroll-reveal.reveal-left{transform:translate(-70px)}.scroll-reveal.reveal-left.is-visible{transform:translate(0)}.scroll-reveal.reveal-right{transform:translate(70px)}.scroll-reveal.reveal-right.is-visible{transform:translate(0)}.scroll-reveal.reveal-up{transform:translateY(55px)}.scroll-reveal.reveal-up.is-visible{transform:translateY(0)}.scroll-reveal.slow{transition-duration:1.2s}.scroll-delay-1{transition-delay:80ms}.scroll-delay-2{transition-delay:.16s}.scroll-delay-3{transition-delay:.24s}.scroll-delay-4{transition-delay:.32s}@media (prefers-reduced-motion:reduce){.scroll-reveal,.scroll-reveal.reveal-left,.scroll-reveal.reveal-right,.scroll-reveal.reveal-up{opacity:1;transition:none;transform:none}}@keyframes slide-name{0%{opacity:0;transform:translate(-24vw)}to{opacity:1;transform:none}}@keyframes rise-image{0%{opacity:0;transform:translateY(18%)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes blink{50%{opacity:.15}}@keyframes border-shine{0%{--shine-angle:0deg}to{--shine-angle:360deg}}@media (max-width:1024px){.project{gap:5vw}.project h3{font-size:clamp(42px,5.5vw,80px)}}@media (max-width:850px){.nav{height:70px;padding:0 18px}.nav-mark{font-size:34px;display:none}.nav-links{display:none}.nav-socials a{width:36px;height:36px}.nav-socials a:nth-child(n+3){display:none}.section{padding:60px 20px 40px}.heading{margin:24px 0 28px;font-size:clamp(48px,12vw,100px)}.projects-intro{margin-bottom:24px}.intro-link{margin-top:16px;font-size:18px}.project{grid-template-columns:1fr;gap:28px;padding:48px 0}.project-visual{order:-1;height:280px}.project-image-box{border-radius:20px;width:100%;height:100%}.project-img{width:92%;height:auto;min-height:0}.project h3{margin-top:16px;margin-bottom:10px;font-size:clamp(40px,10vw,70px)}.project h3+p{font-size:16px}.project-desc{margin:20px 0 16px;font-size:15px}.project-note{margin-bottom:22px;font-size:14px}.tags span{padding:8px 14px;font-size:11px}.project-links{gap:20px;margin-top:28px;font-size:14px}.footer{flex-direction:column;align-items:flex-start;gap:24px;padding:36px 20px}.footer-right{align-items:flex-start}.nav-hamburger{display:flex}.nav-socials{display:none}.footer-mark{font-size:30px}.footer-socials{gap:16px}.footer-copy{font-size:9px}.eyebrow:before{width:28px}.quote-text{font-size:20px}}@media (max-width:480px){.project-visual{height:230px}.tags{gap:7px}.tags span{padding:7px 12px;font-size:10px}.eyebrow{letter-spacing:.1em;gap:10px;font-size:9px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
