*,*:before,*:after{box-sizing:border-box}:root{--color-bg: #0a0a0a;--color-text: #ffffff;--color-muted: rgba(255, 255, 255, .68);--color-accent: #e8c547;--font-brand: "Libre Franklin", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-body: "Libre Franklin", "Helvetica Neue", Helvetica, Arial, sans-serif;--space-page: clamp(1.5rem, 4vw, 3.5rem);--nav-size-hero: clamp(3rem, 8.5vw, 6.25rem);--header-height: 4rem;--transition: .2s ease;--frame-size: min(100vw, 100dvh)}html{scroll-behavior:smooth}body{margin:0;min-height:100dvh;display:flex;justify-content:center;font-family:var(--font-body);font-weight:400;color:var(--color-text);background:var(--color-bg);line-height:1.55;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page-shell{position:relative;width:var(--frame-size);min-height:var(--frame-size);max-width:100vw;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.layout-home .page-shell{height:var(--frame-size);overflow:hidden}.page-shell:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,#0000008c,#0000002e 42%,#00000014),var(--hero-image, none) center / cover no-repeat;z-index:-2;pointer-events:none}.layout-home .page-shell:before{background:linear-gradient(105deg,#00000094,#00000038 45%,#0000001a);z-index:-1}.hero-bg{position:absolute;inset:0;z-index:-2;overflow:hidden;pointer-events:none}.hero-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.1s ease-in-out;will-change:opacity}.hero-bg img.is-active{opacity:1}@media(prefers-reduced-motion:reduce){.hero-bg img{transition:none}}.page-shell:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.25) 100%);z-index:-1;pointer-events:none}.layout-inner .page-shell{width:100%;max-width:none;min-height:100dvh;background:var(--color-bg)}.layout-inner .page-shell:before,.layout-inner .page-shell:after{content:none;display:none}.layout-inner .site-header{position:sticky;top:0;z-index:30;background:#0a0a0aeb;backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.06)}.layout-inner .site-main{padding:0;background:var(--color-bg)}.layout-inner .site-footer{position:static;padding:2.5rem var(--space-page) 2rem;margin-top:0;border-top:1px solid rgba(255,255,255,.08)}.inner-page{display:flex;flex-direction:column}.inner-body{padding:3rem var(--space-page) 4rem;max-width:76rem;margin:0 auto;width:100%}.inner-hero{position:relative;min-height:clamp(16rem,48vh,28rem);display:flex;align-items:flex-end;background:var(--hero-image, none) center / cover no-repeat}.inner-hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,#00000040,#0000008c 55%,#0a0a0a),linear-gradient(90deg,rgba(0,0,0,.5) 0%,transparent 45%);pointer-events:none}.inner-hero__content{position:relative;width:100%;padding:2rem var(--space-page) 2.5rem;max-width:76rem;margin:0 auto}.inner-hero__label{margin:0 0 .85rem;font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent)}.inner-hero__label:before{content:"●";display:inline-block;margin-right:.5em;font-size:.55rem;vertical-align:middle;color:#e05252;animation:rec-pulse 2s ease-in-out infinite}@keyframes rec-pulse{0%,to{opacity:1}50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.inner-hero__label:before{animation:none}}.inner-hero__title{margin:0;max-width:14ch;font-size:clamp(2.5rem,7vw,4.5rem);font-weight:700;line-height:.95;letter-spacing:-.03em}.inner-hero__lead{margin:1rem 0 0;max-width:36rem;font-size:clamp(.95rem,2vw,1.08rem);line-height:1.6;color:var(--color-muted)}.inner-hero__tags{display:flex;flex-wrap:wrap;gap:.45rem;margin:1.35rem 0 0;padding:0;list-style:none}.inner-hero__tags li{padding:.35rem .7rem;border:1px solid rgba(255,255,255,.14);font-size:.72rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:#fffc;background:#00000059}.category-nav--inner{display:flex;flex-wrap:nowrap;gap:0;overflow-x:auto;scrollbar-width:none;padding:0 var(--space-page);background:var(--color-bg);border-bottom:1px solid rgba(255,255,255,.08);-webkit-overflow-scrolling:touch}.category-nav--inner::-webkit-scrollbar{display:none}.category-nav--inner a{flex-shrink:0;padding:1rem 1.1rem;font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#ffffff73;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--transition),border-color var(--transition)}.category-nav--inner a:hover,.category-nav--inner a:focus-visible{color:var(--color-text)}.category-nav--inner a.is-active,.category-nav--inner a[aria-current=page]{color:var(--color-accent);border-bottom-color:var(--color-accent)}.section-heading{display:flex;align-items:baseline;gap:1rem;margin-bottom:1.25rem;padding-bottom:.85rem;border-bottom:1px solid rgba(255,255,255,.08)}.section-heading__index{font-size:.72rem;font-weight:600;letter-spacing:.12em;color:var(--color-accent)}.section-heading__title{margin:0;font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#ffffff8c}.work-section{margin-bottom:1rem}.studio-section{margin-bottom:2rem}.cine-frame{position:relative;background:#000;box-shadow:0 0 0 1px #ffffff14,0 24px 48px #00000073}.cine-frame--wide{aspect-ratio:16 / 9}.cine-frame--vertical{aspect-ratio:9 / 16}.cine-frame .video-embed{margin:0;height:100%}.cine-frame iframe{display:block;width:100%;height:100%;border:0}.site-header{position:sticky;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:1.35rem var(--space-page);background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,transparent 100%)}.brand{display:inline-flex;align-items:center;gap:.9rem}.brand__logo{display:block;height:clamp(2.25rem,6vw,3.25rem);width:auto}.menu-toggle{width:1.5rem;height:1.5rem;display:grid;place-content:center;opacity:.92}.menu-toggle span,.menu-toggle span:before,.menu-toggle span:after{display:block;width:1.25rem;height:1.5px;background:currentColor}.menu-toggle span{position:relative}.menu-toggle span:before,.menu-toggle span:after{content:"";position:absolute;left:0}.menu-toggle span:before{top:-5px}.menu-toggle span:after{top:5px}.social-links{display:flex;align-items:center;gap:.5rem}.social-links a{display:grid;place-items:center;width:1.75rem;height:1.75rem;border:1px solid rgba(255,255,255,.45);border-radius:999px;color:#ffffffeb;transition:border-color var(--transition),color var(--transition)}.social-links a:hover,.social-links a:focus-visible{border-color:var(--color-accent);color:var(--color-accent)}.social-links__icon{display:grid;place-items:center;line-height:0}.site-main{padding:1.5rem var(--space-page) 5rem}.layout-home .site-main{display:flex;flex-direction:column;justify-content:center;min-height:calc(var(--frame-size) - var(--header-height));padding-top:0;padding-bottom:5rem}.category-nav--hero{display:flex;flex-direction:column;gap:.05em;max-width:14ch}.category-nav--hero a{font-family:var(--font-brand);font-size:var(--nav-size-hero);font-weight:700;line-height:.92;letter-spacing:-.025em;color:var(--color-text);transition:color var(--transition)}.category-nav--hero a.is-active,.category-nav--hero a[aria-current=page]{color:var(--color-accent)}.category-nav--hero a:hover,.category-nav--hero a:focus-visible{color:var(--color-accent)}.category-nav--hero:has(a:hover) a.is-active:not(:hover),.category-nav--hero:has(a:focus-visible) a.is-active:not(:focus-visible){color:var(--color-text)}.category-nav--compact{display:flex;flex-wrap:wrap;gap:.35rem 1.25rem;margin-bottom:2.5rem;padding-bottom:1.25rem;border-bottom:1px solid rgba(255,255,255,.12)}.category-nav--compact a{font-size:.92rem;font-weight:500;letter-spacing:.02em;color:var(--color-muted);transition:color var(--transition)}.category-nav--compact a:hover,.category-nav--compact a:focus-visible,.category-nav--compact a.is-active,.category-nav--compact a[aria-current=page]{color:var(--color-text)}.category-nav--compact a.is-active,.category-nav--compact a[aria-current=page]{color:var(--color-accent)}.page-intro{max-width:40rem;margin-bottom:2.5rem}.page-intro h1{margin:0 0 .65rem;font-size:clamp(1.75rem,4vw,2.75rem);font-weight:600;line-height:1.05;letter-spacing:-.02em}.page-intro p{margin:0;max-width:34rem;color:var(--color-muted);font-size:1rem}.focus-areas{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.25rem 0 0;padding:0;list-style:none}.focus-areas li{padding:.35rem .75rem;border:1px solid rgba(255,255,255,.18);font-size:.78rem;font-weight:500;letter-spacing:.04em;color:#ffffffd9}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr));gap:1px;background:#ffffff0f}.project-card{position:relative;min-height:20rem;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:linear-gradient(180deg,#0000001a,#000000eb),var(--card-image, none) var(--card-image-position, center) / cover no-repeat;background-color:#111;transition:filter var(--transition)}.project-card:hover{filter:brightness(1.08)}.project-card--featured{min-height:24rem}.project-card__index{position:absolute;top:1rem;left:1rem;font-size:.68rem;font-weight:600;letter-spacing:.14em;color:#fff6}.project-card__play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:3rem;height:3rem;border:1px solid rgba(255,255,255,.5);border-radius:999px;color:#fff;background:#00000073;opacity:0;transition:opacity var(--transition)}.project-card:hover .project-card__play,.project-card:focus-visible .project-card__play{opacity:1}.project-card__body{padding:1.35rem;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.65) 100%)}.project-card__meta{margin-bottom:.4rem;font-size:.68rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#ffffff80}.project-card h3{margin:0;font-size:1.25rem;font-weight:600;line-height:1.1;letter-spacing:-.015em}.project-card p{margin:.35rem 0 0;color:var(--color-muted);font-size:.88rem}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:2rem 2.5rem}.info-block h3{margin:0 0 .75rem;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#ffffff73}.info-block p,.info-block li,.info-block a{color:var(--color-muted);font-size:.98rem;line-height:1.65}.info-block__tagline{margin-top:1rem!important;color:var(--color-text)!important;font-size:1.05rem!important;line-height:1.5!important}.info-block__services{list-style:none;margin:0;padding:0}.info-block__services li{position:relative;padding-left:1rem;margin-bottom:.5rem}.info-block__services li:before{content:"—";position:absolute;left:0;color:var(--color-accent)}.info-block ul:not(.info-block__services):not(.contact-list){margin:0;padding-left:1.1rem}.info-block a:hover,.info-block a:focus-visible{color:var(--color-accent)}.contact-list{list-style:none;padding:0;margin:0}.contact-list li+li{margin-top:.45rem}.site-footer{position:absolute;right:var(--space-page);bottom:var(--space-page);z-index:10;pointer-events:none}.site-footer__logo{display:block;height:clamp(1rem,2.5vw,1.35rem);width:auto;opacity:.95}.mobile-drawer{position:fixed;top:max(0px,calc((100dvh - var(--frame-size)) / 2));left:max(0px,calc((100vw - var(--frame-size)) / 2));width:var(--frame-size);height:var(--frame-size);z-index:30;padding:calc(var(--header-height) + 1.5rem) var(--space-page) 2rem;background:#000000f0;backdrop-filter:blur(12px);transform:translate(-100%);transition:transform .26s ease}.mobile-drawer.is-open{transform:translate(0)}.mobile-drawer nav{display:flex;flex-direction:column;gap:.75rem}.mobile-drawer a{font-size:clamp(1.75rem,7vw,2.5rem);font-weight:700;line-height:1;letter-spacing:-.02em}.project-detail{max-width:none}.project-detail__layout{display:grid;grid-template-columns:1fr;gap:2.5rem}.project-detail__brief h2{margin:0 0 .75rem;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#ffffff73}.project-detail__brief p{margin:0;max-width:40rem;color:var(--color-muted);font-size:1.02rem;line-height:1.65}.credits-panel{padding:1.5rem;border:1px solid rgba(255,255,255,.1);background:#ffffff05}.credits-panel h2{margin:0 0 1rem;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent)}.credits-panel h3{margin:1.5rem 0 .65rem;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#ffffff73}.credits-panel dl{margin:0;display:grid;gap:.85rem}.credits-panel dt{font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#fff6;margin-bottom:.15rem}.credits-panel dd{margin:0;font-size:.95rem;color:var(--color-text)}.credits-panel dd a:hover{color:var(--color-accent)}.credits-panel ul{margin:0;padding:0;list-style:none}.credits-panel li{position:relative;padding-left:1rem;margin-bottom:.4rem;font-size:.92rem;color:var(--color-muted)}.credits-panel li:before{content:"—";position:absolute;left:0;color:var(--color-accent)}.video-embed{position:relative;margin:2rem 0;aspect-ratio:16 / 9;background:#000}.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.discipline-video,.discipline-shorts{margin-bottom:3.5rem}.shorts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,11rem),1fr));gap:1px;background:#ffffff0f;max-width:40rem}.shorts-embed{background:#000;overflow:hidden}.project-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:1px;margin:2.5rem 0;background:#ffffff0f}.project-gallery__item{margin:0;background:#111}.project-gallery img{width:100%;height:100%;object-fit:cover;aspect-ratio:4 / 3}.project-detail__back{margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.08)}.project-detail__back a{color:var(--color-accent);font-size:.82rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.contact-form-section{margin-top:2rem;padding-top:0;border-top:0;max-width:none}.contact-form-section__lead{margin:0 0 1.35rem;color:var(--color-muted);font-size:.95rem;max-width:32rem}.contact-form{display:grid;gap:.9rem;max-width:32rem}.contact-form label{display:grid;gap:.3rem}.contact-form label span{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#ffffff80}.contact-form label small{text-transform:none;font-weight:400;letter-spacing:0;opacity:.75}.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:.7rem .8rem;border:1px solid rgba(255,255,255,.18);border-radius:2px;background:#00000040;color:var(--color-text);font-family:inherit;font-size:.95rem}.contact-form input:focus-visible,.contact-form select:focus-visible,.contact-form textarea:focus-visible{border-color:var(--color-accent);outline:none}.btn-primary{justify-self:start;margin-top:.35rem;padding:.75rem 1.35rem;background:var(--color-accent);border:0;border-radius:2px;color:#151515;font-family:inherit;font-size:.82rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:opacity var(--transition)}.btn-primary:hover{opacity:.88}.form-notice{padding:.8rem .95rem;margin-bottom:1rem;border:1px solid transparent;font-size:.92rem}.form-notice--success{background:#27ae601f;border-color:#27ae604d}.form-notice--error{background:#e74c3c1f;border-color:#e74c3c4d}.contact-form__direct{margin-top:1rem;font-size:.92rem;color:var(--color-muted)}.contact-form__direct a{color:var(--color-accent)}@media(min-width:900px){.project-card--featured{grid-column:span 2}.project-detail__layout{grid-template-columns:1fr min(18rem,30%);align-items:start}}@media(max-width:720px){.social-links{display:none}.layout-home .page-shell{width:100vw;height:100dvh;min-height:100dvh}.layout-home .site-main{justify-content:flex-start;padding-top:clamp(5.5rem,26vh,10rem);min-height:calc(100dvh - var(--header-height))}.layout-home .site-footer{position:absolute;right:var(--space-page);bottom:var(--space-page);padding:0;margin-top:0}.mobile-drawer{top:0;left:0;width:100vw;height:100dvh;padding-top:calc(var(--header-height) + 4.5rem)}.site-footer{position:static;padding:0 var(--space-page) 2rem;margin-top:0}.layout-inner .inner-body{padding-top:2rem;padding-bottom:3rem}}@media(min-width:721px){.menu-toggle,.mobile-drawer{display:none}}
