@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Space+Grotesk:wght@400;500;600&display=swap");
:root{--ink:#080a09;--ink-soft:#111411;--paper:#e8e8e2;--muted:#b8bab3;--acid:#d6ff3f;--line-dark:rgba(8,10,9,.18);--line-light:rgba(232,232,226,.2);--display:"Space Grotesk",Arial,sans-serif;--body:"Inter",Arial,sans-serif;--page:min(1440px,calc(100% - 4rem))}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden;color:var(--paper);background:var(--ink);font-family:var(--body);font-size:1rem;line-height:1.6}a{color:inherit}.skip-link{position:fixed;top:1rem;left:1rem;z-index:100;padding:.75rem 1rem;color:var(--ink);background:var(--acid);transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}
.site-header{position:fixed;top:0;left:50%;z-index:20;width:100%;height:88px;padding-inline:max(2rem,calc((100vw - 1440px)/2));display:flex;align-items:center;justify-content:space-between;transform:translateX(-50%);transition:height .25s ease,background .25s ease,border-color .25s ease}.site-header.scrolled{height:70px;border-bottom:1px solid var(--line-light);background:rgba(8,10,9,.88);backdrop-filter:blur(16px)}
.wordmark{display:flex;align-items:baseline;gap:.7rem;font-family:var(--display);font-size:1rem;font-weight:600;letter-spacing:-.03em;text-decoration:none;text-transform:uppercase}.wordmark small{color:var(--acid);font-size:.68rem;font-weight:500;letter-spacing:.16em}.main-nav{display:flex;gap:2.5rem}.main-nav a,.site-footer a{font-size:.78rem;font-weight:600;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.main-nav a{position:relative}.main-nav a::after{position:absolute;right:0;bottom:-.45rem;left:0;height:1px;content:"";background:var(--acid);transform:scaleX(0);transform-origin:right;transition:transform .2s ease}.main-nav a:hover::after,.main-nav a:focus-visible::after{transform:scaleX(1);transform-origin:left}.menu-toggle{display:none}
.hero{position:relative;min-height:100svh;width:var(--page);margin-inline:auto;padding:8.5rem 0 3rem;display:grid;grid-template-rows:auto 1fr auto;border-right:1px solid var(--line-light);border-left:1px solid var(--line-light);overflow:hidden}.hero::before{position:absolute;inset:0;z-index:-1;content:"";background:linear-gradient(90deg,transparent 49.95%,var(--line-light) 50%,transparent 50.05%),linear-gradient(180deg,transparent 49.95%,rgba(232,232,226,.05) 50%,transparent 50.05%),radial-gradient(circle at 78% 48%,rgba(214,255,63,.09),transparent 24rem)}
.hero-meta{padding:0 2rem 1.6rem;display:flex;justify-content:space-between;border-bottom:1px solid var(--line-light);color:var(--muted);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.hero-heading{align-self:center;padding:clamp(3rem,7vw,7rem) 2rem}.kicker{margin:0 0 1.2rem;color:var(--acid);font-size:.75rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}h1,h2,h3{margin-top:0;font-family:var(--display);font-weight:500}h1{max-width:1280px;margin-bottom:0;font-size:clamp(3.75rem,9.3vw,9rem);letter-spacing:-.075em;line-height:.84;text-transform:uppercase}h1 span{display:block}h1 span:nth-child(2){padding-left:9vw;color:transparent;-webkit-text-stroke:1px rgba(232,232,226,.48)}h1 span:nth-child(3){padding-left:2vw}
.hero-bottom{padding:1.8rem 2rem 0;display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:end;border-top:1px solid var(--line-light)}.hero-bottom p{max-width:36rem;margin:0;color:var(--muted)}.arrow-link{display:inline-flex;gap:2rem;align-items:center;padding-bottom:.35rem;border-bottom:1px solid var(--paper);font-size:.78rem;font-weight:600;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.arrow-link span{color:var(--acid);font-size:1.15rem}.hero-code{position:absolute;right:.5rem;top:50%;color:rgba(232,232,226,.28);font-size:.66rem;letter-spacing:.18em;writing-mode:vertical-rl}
.statement,.principles,.contact{width:var(--page);margin-inline:auto;padding:clamp(6rem,10vw,10rem) 2rem;display:grid;grid-template-columns:minmax(150px,.28fr) 1fr;gap:2rem}.statement,.principles{color:var(--ink);background:var(--paper)}.section-label{display:flex;gap:1.2rem;align-items:baseline;color:#777a74;font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.section-label span{color:var(--ink)}.section-label p{margin:0}.statement-copy h2,.principles-content>h2,.contact h2{margin-bottom:clamp(3rem,7vw,6rem);font-size:clamp(3rem,6.8vw,7rem);letter-spacing:-.07em;line-height:.95}.statement-detail{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(2rem,8vw,8rem);padding-top:2rem;border-top:1px solid var(--line-dark)}.statement-detail p{max-width:34rem;margin:0}
.work{width:var(--page);margin-inline:auto;padding:clamp(6rem,9vw,9rem) 2rem;border-right:1px solid var(--line-light);border-left:1px solid var(--line-light)}.section-label-light{color:var(--muted)}.section-label-light span{color:var(--paper)}.project{position:relative;min-height:720px;margin-top:3rem;padding:2rem;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--line-light);overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.035),transparent 45%),var(--ink-soft)}.project::before{position:absolute;inset:0;content:"";pointer-events:none;opacity:.7;background-image:linear-gradient(var(--line-light) 1px,transparent 1px),linear-gradient(90deg,var(--line-light) 1px,transparent 1px);background-size:11.111% 100%,100% 20%;mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent 74%)}
.project-topline,.project-footer{position:relative;z-index:2;display:flex;justify-content:space-between;gap:2rem;color:var(--muted);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.project h2{position:relative;z-index:2;margin:auto 0;font-size:clamp(4.8rem,14vw,13rem);letter-spacing:-.09em;line-height:.8;text-transform:uppercase}.project-orbit{position:absolute;top:50%;left:72%;width:min(42vw,520px);aspect-ratio:1;display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(214,255,63,.34);border-radius:50%;color:var(--acid);font-family:var(--display);font-size:clamp(2rem,5vw,4.5rem);transform:translate(-50%,-50%) rotate(-22deg)}.project-orbit::after{position:absolute;top:50%;left:-18%;width:136%;height:1px;content:"";background:rgba(214,255,63,.34)}.project-orbit span{padding:1rem;background:var(--ink-soft);transform:rotate(22deg)}.project-footer{align-items:end}.project-footer p{max-width:37rem;margin:0;color:var(--paper);font-size:1rem;letter-spacing:0;line-height:1.6;text-transform:none}
.principles{border-top:1px solid var(--line-dark)}.principles-content ol{margin:0;padding:0;list-style:none;border-top:1px solid var(--line-dark)}.principles-content li{padding:1.8rem 0;display:grid;grid-template-columns:4rem 1fr 1fr;gap:2rem;align-items:baseline;border-bottom:1px solid var(--line-dark)}.principles-content li>span{color:#777a74;font-size:.72rem}.principles-content h3{margin:0;font-size:clamp(1.3rem,2.2vw,2rem)}.principles-content li p{margin:0;color:#5e615c}
.contact{min-height:75vh;align-items:center;border-bottom:1px solid var(--line-light)}.contact-heading{grid-column:1/-1}.contact h2{margin-bottom:0}.contact-info{grid-column:2;padding-top:2rem;border-top:1px solid var(--line-light)}.contact-info p{color:var(--muted)}.contact-info a{display:inline-flex;gap:1rem;margin-top:1.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--acid);font-family:var(--display);font-size:clamp(1.2rem,3vw,2.2rem);text-decoration:none}.contact-info a span{color:var(--acid)}.site-footer{width:var(--page);margin-inline:auto;padding:2rem;display:grid;grid-template-columns:repeat(3,1fr);color:var(--muted);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}.site-footer p{margin:0}.site-footer p:nth-child(2){text-align:center}.site-footer a{text-align:right}:focus-visible{outline:2px solid var(--acid);outline-offset:4px}
@media(prefers-reduced-motion:no-preference){.hero-heading,.hero-bottom{animation:rise .8s cubic-bezier(.2,.7,.2,1) both}.hero-bottom{animation-delay:.12s}@keyframes rise{from{opacity:0;transform:translateY(24px)}}}
@media(max-width:900px){:root{--page:calc(100% - 2rem)}.site-header{padding-inline:1rem}.statement,.principles,.contact{grid-template-columns:1fr}.statement-copy,.principles-content,.contact-info{grid-column:1}.statement-detail{gap:2rem}.project{min-height:620px}.project-orbit{left:70%;width:52vw}.principles-content li{grid-template-columns:3rem 1fr}.principles-content li p{grid-column:2}}
@media(max-width:680px){:root{--page:100%}.site-header{height:70px}.menu-toggle{width:44px;height:44px;padding:0;display:grid;place-content:center;gap:7px;border:0;color:var(--paper);background:transparent}.menu-toggle span{width:24px;height:1px;background:currentColor;transition:transform .2s ease}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.main-nav{position:fixed;inset:69px 0 auto;padding:2rem 1rem 2.5rem;display:grid;gap:1.5rem;border-bottom:1px solid var(--line-light);background:rgba(8,10,9,.98);transform:translateY(-140%);transition:transform .25s ease}.main-nav.open{transform:translateY(0)}.main-nav a{font-family:var(--display);font-size:1.4rem}.hero{padding-top:6.5rem;border-inline:0}.hero-meta{padding-inline:1rem}.hero-meta span:last-child{display:none}.hero-heading{padding:3.5rem 1rem}h1{font-size:clamp(3.3rem,18vw,5.2rem);line-height:.9}h1 span:nth-child(2),h1 span:nth-child(3){padding-left:0}.hero-bottom{padding:1.5rem 1rem 0;grid-template-columns:1fr;gap:2rem;align-items:start}.arrow-link{justify-self:start}.hero-code{display:none}.statement,.principles,.contact,.work{padding:5.5rem 1rem}.statement-copy h2,.principles-content>h2,.contact h2{margin-bottom:3rem;font-size:clamp(2.8rem,14vw,4.2rem)}.statement-detail{grid-template-columns:1fr}.project{min-height:560px;margin-top:2rem;padding:1.25rem}.project h2{font-size:clamp(4rem,20vw,6.5rem)}.project-orbit{left:68%;width:78vw}.project-footer{align-items:flex-start;flex-direction:column}.project-index{display:none}.principles-content li{grid-template-columns:2rem 1fr;gap:1rem}.contact{min-height:70vh}.contact-info a{font-size:1.05rem;overflow-wrap:anywhere}.site-footer{padding:2rem 1rem;grid-template-columns:1fr;gap:.8rem}.site-footer p:nth-child(2),.site-footer a{text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Cinematic media and motion layer */
body::after{position:fixed;inset:0;z-index:60;pointer-events:none;content:"";opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:screen}
.loader{position:fixed;inset:0;z-index:100;display:grid;place-content:center;gap:1.4rem;background:#050706;transition:opacity .6s ease,visibility .6s ease}.loader span{font-family:var(--display);font-size:.75rem;font-weight:600;letter-spacing:.28em;text-align:center;text-transform:uppercase}.loader-track{width:min(280px,60vw);height:1px;overflow:hidden;background:rgba(232,232,226,.16)}.loader-track i{display:block;width:100%;height:100%;background:var(--acid);transform-origin:left;animation:loadbar 1.25s cubic-bezier(.7,0,.2,1) forwards}.loader.is-done{opacity:0;visibility:hidden}.scroll-progress{position:fixed;top:0;left:0;z-index:80;width:100%;height:2px;background:var(--acid);transform:scaleX(0);transform-origin:left;will-change:transform}
.hero-media,.project-media{position:absolute;inset:-8%;z-index:-3;will-change:transform}.hero-media img,.project-media img{width:100%;height:100%;object-fit:cover}.hero-shade,.project-shade{position:absolute;inset:0;z-index:-2;pointer-events:none}.hero-shade{background:linear-gradient(90deg,rgba(5,7,6,.96) 0%,rgba(5,7,6,.68) 42%,rgba(5,7,6,.14) 80%),linear-gradient(0deg,rgba(5,7,6,.86),transparent 55%)}.hero::before{z-index:-1;background:linear-gradient(90deg,transparent 49.95%,rgba(232,232,226,.13) 50%,transparent 50.05%),linear-gradient(180deg,transparent 49.95%,rgba(232,232,226,.05) 50%,transparent 50.05%)}
.hero-logo{position:absolute;top:-4rem;right:2rem;width:clamp(96px,10vw,150px);aspect-ratio:1;overflow:hidden;border:1px solid rgba(232,232,226,.22);border-radius:50%;background:rgba(5,7,6,.5);box-shadow:0 20px 60px rgba(0,0,0,.4);animation:logo-float 6s ease-in-out infinite}.hero-logo img{width:135%;height:135%;max-width:none;margin:-17.5%;object-fit:cover;mix-blend-mode:screen;filter:contrast(1.2)}
.hero-heading{position:relative}.hero-heading h1 span{overflow:hidden;animation:title-in 1s cubic-bezier(.16,1,.3,1) both}.hero-heading h1 span:nth-child(1){animation-delay:.28s}.hero-heading h1 span:nth-child(2){animation-delay:.38s}.hero-heading h1 span:nth-child(3){animation-delay:.48s}.arrow-link,.contact-info a{transition:color .25s ease,border-color .25s ease,transform .18s ease}.arrow-link:hover,.contact-info a:hover{color:var(--acid);border-color:var(--acid)}
.marquee{width:100%;overflow:hidden;border-block:1px solid var(--line-light);background:var(--acid);color:var(--ink)}.marquee-track{width:max-content;padding:.8rem 0;display:flex;align-items:center;gap:2.2rem;animation:marquee 24s linear infinite}.marquee span{font-family:var(--display);font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.marquee i{font-size:.45rem;font-style:normal}
.project{isolation:isolate;transition:border-color .35s ease}.project:hover{border-color:rgba(214,255,63,.55)}.project-media{inset:-6%;z-index:-3;transition:filter .6s ease}.project-media img{transition:transform 1.4s cubic-bezier(.16,1,.3,1);filter:saturate(.72) contrast(1.05)}.project:hover .project-media img{transform:scale(1.045)}.project-shade{z-index:-2;background:linear-gradient(90deg,rgba(6,8,8,.72),rgba(6,8,8,.05) 62%),linear-gradient(0deg,rgba(6,8,8,.92),transparent 60%)}.project::before{z-index:-1;opacity:.28}.project h2{text-shadow:0 10px 45px rgba(0,0,0,.65)}
.js [data-reveal]{opacity:0;transform:translateY(44px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}.js [data-reveal="scale"]{transform:scale(.78) rotate(-8deg)}.js [data-reveal="project"]{transform:translateY(70px) scale(.965)}.js [data-reveal].is-visible{opacity:1;transform:none}.principles-content li:nth-child(2){transition-delay:.1s}.principles-content li:nth-child(3){transition-delay:.2s}
.cursor{position:fixed;top:0;left:0;z-index:90;width:72px;height:72px;display:none;place-items:center;border:1px solid rgba(214,255,63,.65);border-radius:50%;background:rgba(8,10,9,.44);backdrop-filter:blur(8px);pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.5);transition:opacity .2s ease,transform .25s cubic-bezier(.16,1,.3,1)}.cursor span{color:var(--acid);font-size:.64rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.cursor.is-active{opacity:1;transform:translate(-50%,-50%) scale(1)}
@keyframes loadbar{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes title-in{from{opacity:0;transform:translateY(105%);filter:blur(10px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes logo-float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(2deg)}}@keyframes marquee{to{transform:translateX(-50%)}}
@media(pointer:fine){.cursor{display:grid}}
@media(max-width:680px){.hero-media{inset:-2% -45% -2% -25%}.hero-shade{background:linear-gradient(90deg,rgba(5,7,6,.93),rgba(5,7,6,.4)),linear-gradient(0deg,rgba(5,7,6,.9),transparent 65%)}.hero-logo{top:-2rem;right:.5rem;width:86px}.marquee-track{animation-duration:17s}.project-media{inset:-4% -28%}.project-shade{background:linear-gradient(0deg,rgba(6,8,8,.95),rgba(6,8,8,.18) 90%)}}
@media(prefers-reduced-motion:reduce){.loader{display:none}.hero-heading h1 span,.hero-logo,.marquee-track,.loader-track i{animation:none!important}.js [data-reveal]{opacity:1;transform:none}.hero-media,.project-media{transform:none!important}.cursor{display:none!important}}

/* Two independent flying ravens */
.hero-logo{display:none!important}.ravens{position:fixed;inset:0;z-index:14;overflow:hidden;pointer-events:none}.raven{position:absolute;left:-30vw;width:clamp(150px,18vw,310px);aspect-ratio:1;filter:drop-shadow(0 16px 22px rgba(0,0,0,.42));will-change:transform}.raven i{display:block;width:100%;height:100%;background:url("../assets/raven-flight-sprite.png") 0 50%/200% 100% no-repeat;animation:raven-flap .52s steps(1,end) infinite}.raven-one{top:11vh;animation:raven-flight-one 19s linear infinite 1.5s}.raven-two{top:68vh;width:clamp(105px,12vw,210px);opacity:.78;animation:raven-flight-two 24s linear infinite -10s}.raven-two i{animation-duration:.64s}
@keyframes raven-flap{0%,49.99%{background-position:0 50%}50%,100%{background-position:100% 50%}}@keyframes raven-flight-one{0%{transform:translate3d(-15vw,8vh,0) rotate(-5deg) scale(.82)}25%{transform:translate3d(32vw,-4vh,0) rotate(2deg) scale(.9)}52%{transform:translate3d(78vw,7vh,0) rotate(-2deg) scale(1)}78%{transform:translate3d(118vw,-6vh,0) rotate(3deg) scale(.92)}100%{transform:translate3d(155vw,2vh,0) rotate(-2deg) scale(.85)}}@keyframes raven-flight-two{0%{transform:translate3d(-18vw,-2vh,0) rotate(3deg) scale(.72)}28%{transform:translate3d(38vw,8vh,0) rotate(-3deg) scale(.8)}57%{transform:translate3d(86vw,-8vh,0) rotate(2deg) scale(.88)}80%{transform:translate3d(126vw,5vh,0) rotate(-2deg) scale(.8)}100%{transform:translate3d(160vw,-3vh,0) rotate(2deg) scale(.72)}}
@media(max-width:680px){.raven-one{top:16vh;animation-duration:15s}.raven-two{top:72vh;animation-duration:19s}.raven{width:145px}.raven-two{width:105px}}
@media(prefers-reduced-motion:reduce){.ravens{display:none}}

/* Smoother six-frame cycle; routes are generated independently in JavaScript */
.raven{top:0;left:0;width:clamp(125px,15vw,245px);opacity:0;animation:none!important;contain:layout style paint}.raven-two{top:0;width:clamp(90px,10vw,165px);opacity:0;animation:none!important}.raven i,.raven-two i{background-image:url("../assets/raven-flight-sprite-6.png");background-position:0 50%;background-size:600% 100%;animation:raven-flap-six var(--flap-speed,.66s) linear infinite;transform-origin:center;will-change:background-position,transform}
@keyframes raven-flap-six{0%,16.65%{background-position:0 50%}16.66%,33.32%{background-position:20% 50%}33.33%,49.99%{background-position:40% 50%}50%,66.65%{background-position:60% 50%}66.66%,83.32%{background-position:80% 50%}83.33%,100%{background-position:100% 50%}}
@media(max-width:680px){.raven{width:132px}.raven-two{width:92px}}
