:root{--accent:#c92f3f;--accent-deep:#871a27;--display:Space,Manrope,Arial,sans-serif;--surface:#111113;--line:#343036;--muted:#b5b0b1}
body{background:#080809;color:#f5f2f0}
.site-header{width:100%;max-width:none;margin:0;padding-inline:clamp(20px,3.4vw,56px);background:#080809f7;border-bottom:1px solid #251b1e;box-shadow:0 12px 35px #0005}.desktop-nav{background:#181719e8;border-color:#45363a;padding-block:10px;overflow:visible}.desktop-nav a{font-family:var(--display);font-weight:560;letter-spacing:-.015em}.desktop-nav a:hover,.desktop-nav a.active{background:var(--accent-deep);color:#fff}
.fx-float{animation:navFloat 4.8s ease-in-out infinite;animation-delay:var(--float-delay,0s);will-change:transform}@keyframes navFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.monogram{display:inline-flex;width:43px;height:43px;align-items:center;justify-content:center;flex:none}.monogram img{width:43px;height:43px;border-radius:10px}
.hero{isolation:isolate}.hero-copy,.hero-stage,.hero-bottom{position:relative;z-index:2}.hero h1{font-family:var(--display);font-weight:680;letter-spacing:-.04em}.hero h1 em{font-family:var(--display);font-style:normal;font-size:.86em;font-weight:760;letter-spacing:-.04em;text-transform:uppercase;color:var(--accent)}.hero-copy>p{color:#c2bcbd}
h2 em,.about-copy h2 em,.contact-copy h2 em{font-family:var(--display);font-style:normal;font-weight:720;letter-spacing:-.035em;text-transform:uppercase;color:var(--accent)}
.button.primary{background:#f5f2f0;color:#171415}.button.primary:hover{background:#fff;box-shadow:0 10px 28px #0008}.button.primary:focus-visible{outline-color:var(--accent)}
.hero-window{border-color:#584449;background:#1b1719}.window-bar{background:#eee7e5;color:#363033}.window-bar i{background:#b2a4a4}
.project-image{background:#1c1719;border:1px solid #3c3034;isolation:isolate}.project-image>img,.hero-window>img{filter:saturate(.75) contrast(1.04);object-position:center}.project-image>img{aspect-ratio:1.47}.project-image:after,.hero-window:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#08080915 10%,#08080925 42%,#080809d9 100%);z-index:1}
.cover-label,.cover-title,.cover-index{position:absolute;z-index:2;color:#fff;pointer-events:none}.cover-label{left:25px;top:23px;text-transform:uppercase;letter-spacing:.2em;font-size:11px;font-weight:700}.cover-title{left:25px;bottom:29px;font-family:var(--display);font-size:clamp(35px,3.4vw,55px);line-height:1;letter-spacing:-.04em;font-weight:720}.cover-index{right:25px;top:23px;font-size:12px}.hero-window .cover-label{top:55px}.hero-window .cover-title{bottom:35px}.hero-window .cover-index{top:55px}
.project-open{z-index:3;opacity:1;transform:none;left:auto;right:16px;bottom:16px;background:#f5f2f0;color:#191516;font-weight:700}.project-image:hover>img{transform:scale(1.08);filter:saturate(.93) contrast(1.05)}.project-image:hover .project-open{background:var(--accent);color:#fff}
.niche-links a,.filter-list button{border-color:#493d40}.niche-links a:hover,.filter-list button:hover,.filter-list button.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.agency-note{background:#171416}.agency-note strong{color:#eee6e5}.process-section{background:#101012}.process-track:before{background:#443439}.step-number{background:#1b1518;border-color:#bb6469}.about-mark{background:#171416}.about-mark>img{width:clamp(140px,16vw,220px);height:auto;border-radius:24px;box-shadow:0 30px 80px #0008}.about-mark>div{color:#c2b3b4}
.contact-section{background:#151011;border-color:#483036;overflow:hidden}.contact-grid{position:relative;z-index:2}.contact-section label{color:#eae1e1}.contact-section input,.contact-section select,.contact-section textarea{border-color:#736063;color:#f5f2f0}.contact-section select option{background:#171215}.contact-section input::placeholder,.contact-section textarea::placeholder{color:#ac9ea0}.contact-button:after{border-color:#fff}.contact-button:before{background:linear-gradient(90deg,transparent,#ffffffbc,transparent)}
.portable-overlay>button{background:var(--accent);color:#fff}.mobile-nav:not([hidden]){background:#100d0ff7}
.hero-copy{animation:heroArrive .8s cubic-bezier(.16,1,.3,1) both}.hero-window-front{animation:floatFront 8s ease-in-out infinite}.hero-window-back{animation:floatBack 9s ease-in-out infinite}
@keyframes heroArrive{from{opacity:.2;filter:blur(12px);transform:translateY(22px)}to{opacity:1;filter:blur(0);transform:none}}
.scroll-paint{min-height:250px;display:flex;align-items:center}.scroll-paint p{font-family:var(--display);font-size:clamp(1.55rem,3vw,2.8rem);font-weight:650;line-height:1.34;letter-spacing:-.03em;max-width:31ch;color:#fff}.scroll-paint .word{color:rgba(255,255,255,.17);transition:color .18s}.scroll-paint .word.lit{color:#f5f2f0}
.project-carousel{scroll-behavior:auto}.project-carousel.dragging{scroll-snap-type:none}
.mouse-light{position:relative}.mouse-light::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;transition:opacity .25s;background:radial-gradient(280px circle at var(--x,50%) var(--y,50%),#c92f3f46,transparent 72%)}.mouse-light:hover::before{opacity:1}.project-image.mouse-light::before{z-index:2}
.cursor-pair{position:fixed;inset:0;z-index:1000;pointer-events:none;display:none}.cursor-dot,.cursor-ring{position:absolute;left:0;top:0;border-radius:50%;opacity:0}.cursor-dot{width:8px;height:8px;background:#c92f3f}.cursor-ring{width:37px;height:37px;border:1px solid #d84b58;transition:opacity .2s}body.cursor-active .cursor-pair{display:block}body.cursor-active,body.cursor-active a,body.cursor-active button{cursor:none}body.cursor-active input,body.cursor-active select,body.cursor-active textarea{cursor:text}
.hero-shader{position:absolute;z-index:0;top:-94px;bottom:-30px;left:50%;width:100vw;height:calc(100% + 124px);transform:translateX(-50%);display:block;opacity:.36;pointer-events:none;background:radial-gradient(ellipse at 25% 35%,#64121d 0,#13070a 42%,#080809 74%)}.hero:after{content:'';position:absolute;z-index:1;inset:-94px calc(50% - 50vw) -30px;pointer-events:none;background:linear-gradient(90deg,#08080924 0,#0808096e 50%,#08080920 100%)}
.ambient-shader{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:.22;pointer-events:none;background:radial-gradient(circle at 80% 20%,#64121d,#151011 65%)}
.contact-button{transform-origin:center center}.site-footer .monogram{width:30px;height:30px}.site-footer .monogram img{width:30px;height:30px}
body:not(.motion-on) .fx-float{animation-play-state:paused}.motion-on .fx-float{animation-play-state:running}
@media(max-width:800px){.site-header{width:100%;padding-inline:20px}.header-contact{margin-left:auto}.hero-window .cover-label,.hero-window .cover-index{top:53px}.hero-shader{top:-80px;height:calc(100% + 95px);opacity:.3}}
@media(max-width:550px){.header-contact{font-size:11px}.cover-title{font-size:38px}.cover-label{font-size:9px}.project-open{bottom:13px;right:13px}.hero-window .cover-title{bottom:24px;font-size:29px}.hero-window .cover-label,.hero-window .cover-index{top:42px;font-size:8px}}
@media(prefers-reduced-motion:reduce){body:not(.motion-on) .hero-copy{animation:none}body:not(.motion-on) .hero-window{animation:none}body:not(.motion-on) .scroll-paint .word{transition:none}body:not(.motion-on) .fx-float{animation:none}}
@media(prefers-reduced-motion:reduce){body.motion-on .hero-copy{animation:heroArrive .8s cubic-bezier(.16,1,.3,1) both!important}body.motion-on .hero-window-front{animation:floatFront 8s ease-in-out infinite!important}body.motion-on .hero-window-back{animation:floatBack 9s ease-in-out infinite!important}body.motion-on .contact-button:before{animation:buttonShine 7s ease-in-out infinite!important}body.motion-on .reveal.is-ready{transition:opacity .8s var(--ease),filter .8s var(--ease),transform .8s var(--ease)!important}body.motion-on .fx-float{animation:navFloat 4.8s ease-in-out infinite!important;animation-delay:var(--float-delay,0s)!important}}
