:root{--bg: #121417;--text: #fdfdfd;--text-muted: rgba(253, 253, 253, .65);--border: rgba(253, 253, 253, .14);--accent-orange: #ff6322;--grad-start: #ebe1b0;--grad-end: #aea8fe;--font-serif: "Newsreader", serif;--font-sans: "Instrument Sans", sans-serif;--max-w: 1450px;--side-pad: 40px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:15px;line-height:1.5;cursor:none;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:none}img{display:block;max-width:100%}.container{max-width:var(--max-w);margin:0 auto;padding:0 var(--side-pad)}.gradient-text{background:linear-gradient(90deg,var(--grad-start) 86.53%,var(--grad-end) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.section{padding:96px var(--side-pad);max-width:var(--max-w);margin:0 auto}@media (max-width: 900px){.section{padding:64px 24px}:root{--side-pad: 24px}.project-section-grid{grid-template-columns:1fr!important}.project-meta-row{grid-template-columns:1fr 1fr!important}}h1,h2,h3{font-family:var(--font-serif);font-weight:300;letter-spacing:-.02em}.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;pointer-events:none;z-index:9999;border-radius:50%;transform:translate(-50%,-50%);will-change:transform}.cursor-dot{width:8px;height:8px;background:var(--text);transition:opacity .2s ease}.cursor-ring{width:36px;height:36px;border:1.5px solid rgba(253,253,253,.5);box-shadow:0 0 20px #aea8fe59,0 0 40px #ff632226;transition:width .25s ease,height .25s ease,border-color .25s ease,box-shadow .25s ease}.cursor-ring.hovered{width:64px;height:64px;border-color:var(--grad-end);box-shadow:0 0 30px #aea8fe8c,0 0 60px #ff632240}@media (hover: none){body{cursor:auto}.cursor-dot,.cursor-ring{display:none}}.header{position:sticky;top:0;z-index:100;background:#121417bf;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid transparent}.header-inner{display:flex;align-items:center;justify-content:space-between;padding:20px var(--side-pad);max-width:var(--max-w);margin:0 auto}.header-brand{display:flex;align-items:center;gap:16px;font-size:15px}.header-brand .role{color:var(--text-muted)}.nav{display:flex;align-items:center;gap:35px}.nav-link{position:relative;color:var(--text-muted);transition:color .25s ease}.nav-link:hover,.nav-link.active{color:var(--text)}.nav-link:after{content:"";position:absolute;left:0;bottom:-6px;height:1px;width:0;background:var(--text-muted);transition:width .25s ease}.nav-link:hover:after{width:100%}.pill{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.6);border-radius:999px;padding:9px 17px;font-size:15px;letter-spacing:.06em;background:transparent;color:var(--text);transition:background .25s ease,transform .2s ease}.pill:hover{background:#ffffff14;transform:translateY(-1px)}.pill-solid{background:var(--text);color:#000;border-color:var(--text)}.pill-solid:hover{background:#e5e5e5}.footer{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:40px var(--side-pad);max-width:var(--max-w);margin:0 auto;border-top:1px solid var(--border)}.footer-left{display:flex;gap:40px;flex-wrap:wrap;color:var(--text-muted);font-size:15px}.footer-links{display:flex;gap:12px;flex-wrap:wrap}.hero{position:relative;padding:140px var(--side-pad) 48px;max-width:var(--max-w);margin:0 auto;overflow:hidden}.hero-glow{position:absolute;width:583px;height:640px;right:-100px;top:250px;background:var(--accent-orange);filter:blur(160px);opacity:.35;z-index:0;pointer-events:none}.hero-title{font-size:clamp(40px,6vw,88px);font-weight:300;line-height:1.05;letter-spacing:-.02em;max-width:1025px;position:relative;z-index:1}.hero-title em{font-style:italic;font-family:var(--font-serif)}.hero-meta{display:grid;grid-template-columns:repeat(2,minmax(220px,302px));gap:32px 24px;margin-top:48px;position:relative;z-index:1}.hero-meta dt{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:6px}.hero-meta dd{font-size:15px}.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:64px 32px;margin-top:64px}@media (max-width: 900px){.work-grid,.hero-meta{grid-template-columns:1fr}.hero-grid{grid-template-columns:1fr!important}.hero-image{order:-1;margin-bottom:32px;aspect-ratio:16/9!important}}.work-card{display:block;transition:transform .4s ease}.work-card:hover{transform:translateY(-6px)}.work-card-media{aspect-ratio:4 / 5;border-radius:4px;overflow:hidden;background:linear-gradient(135deg,#ffffff0f,#ffffff05);position:relative}.work-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}.work-card:hover .work-card-media img{transform:scale(1.05)}.work-card-caption{display:flex;justify-content:space-between;margin-top:24px;font-size:19px}.work-card-year{color:var(--text-muted);font-size:15px}.work-card-desc{color:var(--text-muted);font-size:15px;margin-top:8px;max-width:460px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--border);margin-top:64px}@media (max-width: 900px){.services-grid{grid-template-columns:1fr}}.service-item{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:32px}.service-item .num{font-size:11px;color:var(--text-muted)}.service-item h3{font-size:28px;margin-top:32px}.service-item p{color:var(--text-muted);margin-top:24px;max-width:340px;line-height:1.55}.cta-strip{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;border-bottom:1px solid var(--border);padding:56px 32px 57px;margin-top:96px}.cta-strip h3{font-size:clamp(22px,3vw,32px)}.quote-block{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:80px 0;display:flex;gap:48px;justify-content:space-between;flex-wrap:wrap}.quote-block blockquote{font-family:var(--font-serif);font-weight:300;font-size:clamp(18px,2vw,23px);line-height:1.4;max-width:900px;letter-spacing:-.01em}.quote-cite{text-align:right;color:var(--text-muted);font-size:14px;min-width:240px}.quote-cite strong{display:block;color:var(--text);font-weight:500;margin-bottom:4px}.contact-email{font-family:var(--font-serif);font-weight:300;font-size:clamp(28px,7vw,100px);letter-spacing:-.03em;display:inline-block;position:relative}.contact-email:after{content:"";position:absolute;left:0;bottom:-6px;width:100%;height:3px;background:var(--grad-end);transform:scaleX(0);transform-origin:left;transition:transform .4s ease}.contact-email:hover:after{transform:scaleX(1)}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted)}.filter-bar{display:flex;gap:12px;margin:48px 0 16px}.filter-btn{border:1px solid var(--border);background:transparent;color:var(--text-muted);padding:9px 20px;border-radius:999px;font-size:14px;transition:all .25s ease}.filter-btn:hover{border-color:#fff6;color:var(--text)}.filter-btn.active{background:var(--text);color:#000;border-color:var(--text)}.project-hero{padding:160px var(--side-pad) 64px;max-width:var(--max-w);margin:0 auto}.project-hero h1{font-size:clamp(36px,6vw,72px);max-width:900px}.project-meta-row{display:flex;gap:48px;flex-wrap:wrap;margin-top:40px;padding-top:32px;border-top:1px solid var(--border)}.project-meta-row div dt{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:6px}.project-cover{max-width:var(--max-w);margin:0 auto;padding:0 var(--side-pad) 96px}.project-cover-media{aspect-ratio:16/9;border-radius:6px;overflow:hidden;background:linear-gradient(135deg,#ffffff12,#ffffff05)}.project-cover-media img{width:100%;height:100%;object-fit:cover;display:block}.project-body{max-width:760px;margin:0 auto;padding:0 var(--side-pad) 96px;color:var(--text-muted);font-size:17px;line-height:1.7}.project-nav{border-top:1px solid var(--border);padding:48px var(--side-pad) 96px;max-width:var(--max-w);margin:0 auto;display:flex;justify-content:space-between;align-items:center}.project-nav .label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:8px}.project-nav .name{font-family:var(--font-serif);font-size:28px;font-weight:300}.fade-in{animation:fadeIn .7s ease both}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
