:root {
  --bone: #F6F8F6;
  --lume: #8CFF4F;
  --ocean: #0E3A5C;
  --ink: #000;
  --hairline: rgba(233, 237, 234, .24);
  --mono: "Courier New", Courier, monospace;
  --serif: "Times New Roman", Times, serif;
  --left-rail: 20px;
}

* { box-sizing: border-box; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
html { scroll-behavior: auto; background: #000; }
body { margin: 0; color: var(--bone); background: var(--ocean); font-family: Arial, Helvetica, sans-serif; overflow-x: hidden; transition: background-color .08s linear; }
body.is-loading { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
.color-filters { position: absolute; width: 0; height: 0; overflow: hidden; }

.preloader { position: fixed; inset: 0; z-index: 1000; background: linear-gradient(rgba(3,12,20,.7), rgba(3,12,20,.76)), url("assets/chair-color-reference-no-green.png") center/cover no-repeat #050f18; display: grid; place-items: center; transition: opacity .8s ease, visibility .8s; }
.preloader.is-done { opacity: 0; visibility: hidden; pointer-events: none; }
.preloader__top { position: absolute; inset: 28px 32px auto; display: flex; justify-content: space-between; font: 11px/1 var(--mono); letter-spacing: .16em; color: rgba(233,237,234,.62); }
.preloader__center { width: min(440px, calc(100vw - 64px)); text-align: center; }
.preloader__number { font: 300 clamp(6rem, 18vw, 13rem)/.75 var(--serif); letter-spacing: -.08em; }
.preloader__unit { vertical-align: top; color: var(--lume); font: 12px var(--mono); }
.preloader__line { height: 1px; margin: 42px 0 17px; background: rgba(255,255,255,.16); }
.preloader__line i { display: block; width: 0; height: 100%; background: var(--lume); box-shadow: 0 0 12px var(--lume); transition: width .15s linear; }
.preloader p { margin: 0; font: 10px var(--mono); letter-spacing: .22em; color: rgba(233,237,234,.5); }

.site-header { position: fixed; z-index: 50; top: 0; left: 0; width: 100%; padding: 24px 30px; display: grid; grid-template-columns: 1fr 1fr; align-items: start; pointer-events: none; transition: opacity .25s ease, visibility .25s ease; }
.is-collaborating .site-header { opacity: 0; visibility: hidden; pointer-events: none; }
.site-header a { pointer-events: auto; }
.wordmark { display: grid; justify-self: start; justify-items: start; gap: 7px; color: #fff; white-space: nowrap; text-align: left; text-shadow: 0 2px 18px rgba(0,0,0,.8); transform: translateX(-10px); }
.wordmark strong { display: inline-block; padding-bottom: 4px; border-bottom: 1px solid rgba(255,255,255,.9); color: #fff; font: 400 21px/.95 var(--serif); letter-spacing: .055em; }
.wordmark span { color: #B9FF72; font: 400 13px/1.2 var(--serif); letter-spacing: .08em; text-shadow: 0 0 14px rgba(143,255,83,.62), 0 2px 12px rgba(0,0,0,.9); }
.edition, .reserve-link { margin: 0; font: 9px/1.3 var(--mono); letter-spacing: .18em; }
.reserve-link { justify-self: end; border-bottom: 1px solid #fff; padding-bottom: 6px; color: #fff; text-shadow: 0 1px 2px #000, 0 2px 14px rgba(0,0,0,1), 0 0 8px rgba(255,255,255,.28); opacity: 1; }

.scrub-chapter { position: relative; height: 340vh; background: transparent; }
.scrub-chapter.descent { height: 520vh; }
.scrub-chapter.lume { height: 470vh; }
.chapter-sticky { position: sticky; top: 0; height: 100vh; min-height: 600px; overflow: hidden; background: #071b30; isolation: isolate; }
.sequence-canvas, .mobile-film, .hero-poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sequence-canvas { will-change: transform; transform-origin: center center; }
.hero-poster { z-index: 0; }
.hero .sequence-canvas { z-index: 0; filter: saturate(1.07) contrast(1.03) brightness(1.01); }
.descent .sequence-canvas { filter: saturate(1.22) contrast(1.07) brightness(1.04); animation: water-drift 7s ease-in-out infinite alternate; }
.hero-descent-handoff { display: none; }
.hero-descent-handoff img { width: 100%; height: 100%; object-fit: cover; filter: saturate(1.15) contrast(1.05) brightness(1.03); }
.mobile-film { display: none; }
.descent .mobile-film { display: block; z-index: 0; opacity: 1; object-fit: cover; object-position: center; transition: opacity .18s linear; will-change: opacity; }
.hero-idle-film { display: block; z-index: 0; opacity: 1; pointer-events: none; transition: opacity .16s linear; will-change: opacity; }
.film-wash { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.film-wash--hero { background: linear-gradient(180deg, rgba(5,28,42,.08), rgba(3,13,23,.34)), linear-gradient(90deg, rgba(0,0,0,.28), transparent 48%, rgba(0,0,0,.1)); }
.film-wash--descent { z-index: 2; background: linear-gradient(90deg, rgba(0,7,13,.3), transparent 31%, transparent 68%, rgba(0,7,13,.3)); }
.film-wash--lume { background: radial-gradient(circle at 48% 48%, transparent 40%, rgba(0,0,0,.28) 100%); }
.chapter-index { position: absolute; z-index: 4; top: 92px; left: var(--left-rail); display: flex; gap: 20px; font: 10px var(--mono); letter-spacing: .15em; color: rgba(233,237,234,.6); }
.chapter-index span { color: var(--bone); }
.studio-chapter-title { width: max-content; padding-bottom: 7px; border-bottom: 1px solid rgba(255,255,255,.82); color: #fff; font: 700 13px/1 var(--mono); letter-spacing: .18em; text-shadow: 0 2px 14px rgba(0,0,0,.9); }

.hero-copy { position: absolute; z-index: 3; inset: 0 0 0 auto; width: 42vw; display: grid; place-content: center; text-align: center; padding: 24px 2vw; transform: translate(2vw, -9vh); pointer-events: none; }
.overline { margin: 0 0 18px; font: 10px var(--mono); letter-spacing: .26em; text-transform: uppercase; }
.hero h1 { margin: 0; font: 300 clamp(3.3rem, 4.4vw, 4.9rem)/.78 var(--serif); letter-spacing: -.05em; text-align: center; text-shadow: 0 4px 40px rgba(0,0,0,.32); }
.hero h1 span { display: block; white-space: nowrap; }
.hero h1 small { display: block; margin-top: .22em; font: 300 .46em/.95 var(--serif); letter-spacing: .24em; }
.scroll-cue { position: absolute; z-index: 4; left: var(--left-rail); bottom: 54px; display: flex; gap: 14px; align-items: center; color: #fff; font: 700 11px/1 var(--mono); letter-spacing: .18em; text-shadow: 0 2px 14px rgba(0,0,0,.9); }
.scroll-cue i { display: block; width: 64px; height: 1px; background: currentColor; animation: breathe 1.8s ease-in-out infinite; transform-origin: left; }
@keyframes breathe { 50% { transform: scaleX(.35); opacity: .35; } }

.descent .chapter-sticky { background: #0E3A5C; }
.descent { margin-top: -100vh; }
.lume { margin-top: -1px; }
.interior-showcase { position: absolute; inset: 0; z-index: 1; overflow: hidden; background: transparent; pointer-events: none; }
.interior-shot { position: absolute; inset: 0; margin: 0; opacity: 0; overflow: hidden; background: #020303; will-change: opacity, transform; transform: scale(1.035); }
.interior-shot::before { content: ""; position: absolute; inset: -4%; z-index: 0; background-position: center; background-size: cover; filter: blur(24px) brightness(.48) saturate(.85); transform: scale(1.08); animation: interior-backdrop-drift 10s ease-in-out infinite alternate; }
.interior-shot--commercial::before { background-image: url("assets/interiors/commercial-design.jpg"); }
.interior-shot--residential::before { background-image: url("assets/interiors/residential-design.jpg"); }
.interior-shot--mural::before { background-image: url("assets/interiors/custom-wall-mural.jpg"); }
.interior-shot--chairs::before { background-image: url("assets/interiors/reupholstery-chairs.jpg"); }
.interior-shot--bench::before { background-image: url("assets/interiors/reupholstery-bench.jpg"); }
.interior-shot img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: cover; filter: saturate(1.04) contrast(1.035) brightness(1.015); animation: interior-image-drift 8s ease-in-out infinite alternate; }
@keyframes interior-backdrop-drift { from { transform: scale(1.08) translate3d(-.35%, -.2%, 0); } to { transform: scale(1.12) translate3d(.35%, .25%, 0); } }
@keyframes interior-image-drift { from { transform: scale(1.01) translate3d(0, .25%, 0); filter: saturate(1.02) contrast(1.03) brightness(1); } to { transform: scale(1.03) translate3d(0, -.15%, 0); filter: saturate(1.07) contrast(1.04) brightness(1.025); } }
.interior-shot--commercial img { object-position: center 52%; }
.interior-shot--residential img { object-position: center 48%; }
.interior-shot--mural img { object-position: center; }
.interior-shot--chairs img { object-position: center 48%; }
.interior-shot--bench img { object-position: center 46%; }
.reupholstery-consultation { position: absolute; z-index: 2; right: 30px; bottom: 82px; display: grid; justify-items: end; gap: 9px; width: min(430px, calc(100vw - 60px)); padding: 0 0 0 24px; color: #fff; text-align: right; text-shadow: 0 2px 14px rgba(0,0,0,.95); }
.reupholstery-consultation span { max-width: none; white-space: nowrap; font-size: 13px; line-height: 1.55; }
.reupholstery-consultation a { margin-top: 9px; padding-bottom: 6px; border-bottom: 2px solid #A8FF72; color: #fff; font: 700 10px/1 var(--mono); letter-spacing: .13em; pointer-events: auto; }
.interior-shot--workshop { display: grid; place-items: center; background: url("assets/interiors/art-workshop-ocean.png") center/cover no-repeat #071b24; }
.interior-shot--workshop::before { content: ""; position: absolute; z-index: 0; inset: -4%; background: url("assets/interiors/art-workshop-ocean.png") center/cover no-repeat; animation: ocean-current 9s ease-in-out infinite alternate; will-change: transform, filter; }
.interior-shot--workshop::after { content: ""; position: absolute; z-index: 0; inset: 0; background: linear-gradient(180deg, rgba(0,12,20,.12), rgba(0,10,18,.3)), radial-gradient(circle at center, transparent 28%, rgba(0,7,13,.24) 100%); }
.interior-shot--workshop p { position: relative; z-index: 1; top: -9vh; width: 100%; margin: 0; padding: 0 20px; color: #fff; font: 300 clamp(1.9rem, 3.8vw, 4rem)/.9 var(--serif); letter-spacing: -.03em; text-align: center; text-shadow: 0 5px 36px rgba(0,0,0,.72); will-change: opacity, transform; }
.interior-shot--workshop p span { display: block; margin-bottom: 18px; color: var(--lume); font: 700 clamp(.72rem, .85vw, .88rem)/1 var(--mono); letter-spacing: .25em; text-shadow: 0 0 14px rgba(140,255,79,.4); }
.residency-credit { position: absolute; z-index: 6; right: 30px; bottom: 96px; display: grid; justify-items: end; gap: 3px; width: clamp(400px, 36vw, 560px); max-width: calc(100vw - 60px); padding: 12px 0 0 24px; border-top: 1px solid rgba(255,255,255,.48); color: #fff; text-align: right; opacity: 0; transform: translateY(18px); pointer-events: none; will-change: opacity, transform; }
.residency-credit span, .residency-credit a { font: 700 clamp(9.5px, .9vw, 13px)/1.25 var(--mono); letter-spacing: .09em; text-shadow: 0 2px 12px rgba(0,0,0,.9); }
.residency-credit__place { color: var(--lume); line-height: 1.35 !important; letter-spacing: .12em !important; white-space: nowrap; }
.residency-credit strong { font: 300 clamp(1.15rem, 2vw, 2.1rem)/.95 var(--serif); letter-spacing: -.02em; }
.residency-credit a { margin-top: 3px; padding-bottom: 4px; border-bottom: 1px solid var(--lume); color: var(--lume); text-decoration: none; pointer-events: auto; }
.residency-credit a b { font-weight: 400; }
.depth-meter { position: absolute; z-index: 5; right: 30px; top: 50%; transform: translateY(-50%); width: min(340px, calc(100vw - 60px)); font-family: var(--mono); color: var(--lume); text-align: right; text-shadow: 0 0 16px rgba(184,255,158,.35); }
.depth-label { display: inline-block; margin-bottom: 12px; padding-bottom: 6px; border-bottom: 1px solid rgba(255,255,255,.82); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .18em; text-shadow: 0 2px 14px rgba(0,0,0,.9); }
.depth-meter strong { display: block; font-size: clamp(1.2rem, 2.1vw, 2.05rem); line-height: 1.02; letter-spacing: .035em; font-weight: 700; text-transform: uppercase; text-wrap: balance; }
.depth-meter strong.is-wall-mural { color: #A8FF72; text-shadow: 0 0 18px rgba(140,255,79,.62), 0 2px 14px rgba(0,0,0,.9); }
.depth-meter strong.is-consultation { color: #A8FF72; text-shadow: 0 0 18px rgba(140,255,79,.62), 0 2px 14px rgba(0,0,0,.9); }
.depth-meter.is-art-workshop-phase .depth-track { opacity: 0; }
.depth-unit { margin-left: 8px; font-size: 12px; }
.depth-track { width: 100%; height: 1px; margin: 18px 0 9px; background: rgba(184,255,158,.25); }
.depth-track i { display: block; width: 0; height: 1px; background: var(--lume); box-shadow: 0 0 8px var(--lume); }
.pressure { font-size: 9px; letter-spacing: .12em; }
.still-ticking { position: absolute; z-index: 3; left: var(--left-rail); top: 77%; opacity: 0; transform: translateY(30px); }
.still-ticking p { margin: 0; font: 300 clamp(2.7rem, 6vw, 6.5rem)/.78 var(--serif); letter-spacing: -.055em; }
.still-ticking em { color: var(--lume); font-weight: 400; }
.film-studio-cue { display: flex; align-items: center; gap: 14px; margin-top: 28px; color: #fff; font: 700 10px/1 var(--mono); letter-spacing: .18em; text-shadow: 0 2px 14px rgba(0,0,0,.9); }
.film-studio-cue i { display: block; width: 68px; height: 1px; background: var(--lume); box-shadow: 0 0 8px rgba(184,255,158,.45); }
.still-ticking .film-studio-cue { margin-top: 16px; font-size: 11px; transform: translateY(-10px); }

.lume { background: #000; color: #fff; }
.lume .chapter-sticky { background: #000; }
.lume .sequence-canvas { opacity: 0; }
.lume .studio-chapter-title { z-index: 7; color: #fff; }
.lume .chapter-sticky::before { content: none; }
.lume-glow { display: none; }
.film-chair-motion { position: absolute; z-index: 1; inset: -1.2vh 0 0; overflow: hidden; animation: chair-descent-drift 6.5s ease-in-out infinite alternate; will-change: transform; }
.film-chair-clean { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 36% center; filter: saturate(1.04) contrast(1.04) brightness(.94); transform: scale(1.01); transform-origin: 43% 54%; will-change: opacity, transform; }
@keyframes water-drift { from { transform: scale(1.008) translate3d(-.18%, -.12%, 0); } to { transform: scale(1.018) translate3d(.18%, .28%, 0); } }
@keyframes chair-descent-drift { from { transform: translate3d(0, -.35vh, 0); } to { transform: translate3d(0, .8vh, 0); } }
@keyframes ocean-current { from { transform: scale(1.035) translate3d(-.45%, -.25%, 0); filter: saturate(1.02) brightness(.98); } to { transform: scale(1.075) translate3d(.55%, .42%, 0); filter: saturate(1.1) brightness(1.04); } }
.lume-copy { position: absolute; z-index: 4; left: var(--left-rail); top: calc(71% - 28px); bottom: auto; }
.lume-copy h2, .specs-head h2, .reserve h2 { margin: 0; font: 300 clamp(3.8rem, 8.5vw, 9.5rem)/.82 var(--serif); letter-spacing: -.055em; }
.lume-copy h2 { color: #fff; font: 300 clamp(2.9rem, 6.25vw, 6.8rem)/.78 var(--serif); }
.lume-copy h2 em { color: var(--lume); font-weight: 400; text-shadow: 0 0 20px rgba(140,255,79,.25); }
.lume-copy > .overline { margin-bottom: 16px; color: #fff; font: 700 clamp(.76rem, .95vw, .9rem)/1.25 Arial, Helvetica, sans-serif; letter-spacing: .2em; text-shadow: 0 2px 14px rgba(0,0,0,.95); }
.lume-copy .film-studio-cue { margin-top: 14px; }
.lume-copy h2 em, .specs-head h2 em, .reserve h2 em { color: var(--lume); font-weight: 400; }
.lume .film-studio-cue { color: #fff; font-size: 11px; line-height: 1.25; }
.lume-detail { margin: 30px 0 0; max-width: 620px; font: 10px/1.65 var(--mono); letter-spacing: .13em; color: rgba(255,255,255,.92); }
.signal-dot { display: inline-block; width: 6px; height: 6px; margin-right: 8px; border-radius: 50%; background: var(--lume); box-shadow: 0 0 15px var(--lume); }

.film-projects-scrub { position: absolute; z-index: 5; inset: 0; pointer-events: none; }
.film-project { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; padding: 118px 4vw 7vh; overflow: hidden; isolation: isolate; opacity: 0; transform: scale(1.02); will-change: opacity, transform; }
.film-project::before { content: ""; position: absolute; z-index: -3; inset: 0; background: #020405; }
.film-project::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.3) 0 18%, rgba(0,0,0,.04) 40% 66%, rgba(0,0,0,.65) 100%); }
.film-project__art { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(var(--project-zoom, 1.02)); transform-origin: center; will-change: transform; }
.film-project--calle .film-project__art { object-position: center 52%; }
.film-project--plato .film-project__art { left: 0; right: auto; width: 100vw; min-width: 100vw; max-width: none; object-fit: cover; object-position: center 58%; background: #050403; transform: none !important; }
.film-project--plato { width: 100vw; max-width: none; align-items: flex-end; text-align: right; }
.film-project__top { position: absolute; top: 136px; left: var(--left-rail); right: 30px; display: flex; justify-content: space-between; gap: 28px; align-items: flex-start; }
.project-type { color: var(--lume); font: 700 13px/1.2 var(--mono); letter-spacing: .16em; text-shadow: 0 2px 13px rgba(0,0,0,.95); }
.project-format { display: grid; gap: 6px; justify-items: start; color: #fff; text-shadow: 0 2px 13px rgba(0,0,0,.95); }
.film-project--calle .project-type { color: #fff; }
.project-funding, .project-coming-inline { font: 700 11px/1.2 var(--mono); letter-spacing: .14em; }
.project-funding { color: var(--lume); }
.project-coming-inline { color: #fff; }
.project-status { max-width: 220px; color: #fff; font: 700 10px/1.4 var(--mono); letter-spacing: .13em; text-align: right; text-shadow: 0 2px 13px rgba(0,0,0,.95); }
.film-project--calle .film-project__top { right: 20px; }
.project-status--award { display: grid; justify-items: center; gap: 5px; max-width: none; text-align: center; }
.project-status--award span:first-child { font-size: 13px; }
.project-status--coming { color: #fff; font-size: 13px; letter-spacing: .16em; }
.film-project--plato .project-type { color: #fff; }
.film-project h3 { margin: 0 0 30px; font: 300 clamp(3.8rem, 8vw, 9rem)/.8 var(--serif); letter-spacing: -.055em; text-shadow: 0 4px 30px rgba(0,0,0,.6); }
.film-project p { margin: 0; max-width: 56ch; }
.film-project__credit { color: #fff; font: 700 11px/1.5 var(--mono); letter-spacing: .14em; text-shadow: 0 2px 13px rgba(0,0,0,.98); }
.film-project__note { margin-top: 9px !important; color: var(--lume); font: 700 10px/1.5 var(--mono); letter-spacing: .1em; text-transform: uppercase; text-shadow: 0 2px 13px rgba(0,0,0,.98); }
.film-project__meta--calle { position: absolute; left: 4vw; bottom: 88px; text-align: left; }
.film-project--calle .film-project__credit { font: 400 clamp(.84rem, 1vw, 1rem)/1.08 var(--serif); letter-spacing: .055em; }
.film-project--calle .film-project__note { color: #fff; }
.film-project--calle .film-project__note > span { display: block; }
.film-project__festival { margin-top: 7px !important; font: 700 clamp(.82rem, 1.02vw, 1rem)/1.25 var(--serif); letter-spacing: .055em; }
.film-project__festival b, .film-project__festival em { color: #fff; font-style: normal; font-weight: 700; }
.film-project__festival em { color: #FF2E24; font-weight: 900; }
.film-project--plato .film-project__meta { position: absolute; right: 4vw; bottom: 34px; display: grid; justify-items: end; width: max-content; max-width: calc(100vw - 8vw); padding: 14px 0 0 28px; text-align: right; text-shadow: 0 3px 18px rgba(0,0,0,1); }
.film-project--plato .film-project__credit { max-width: none; color: #fff; white-space: nowrap; font: 400 clamp(.84rem, 1vw, 1rem)/1.08 var(--serif); letter-spacing: .055em; }
.film-project--plato .film-project__debut { margin-top: 7px; color: #fff; font: 400 clamp(.78rem, 1.02vw, 1rem)/1.1 var(--serif); letter-spacing: .065em; }
.film-project--plato .film-project__note { margin-top: 7px !important; color: #fff; font: 400 clamp(.78rem, 1.02vw, 1rem)/1.2 var(--serif); letter-spacing: .045em; }
.film-project__laurel { position: absolute; right: 4vw; bottom: 6vh; width: clamp(105px, 12vw, 170px); height: auto; background: #fff; box-shadow: 0 12px 40px rgba(0,0,0,.42); }
.film-studio-end { position: absolute; z-index: 6; left: var(--left-rail); bottom: 82px; opacity: 0; transform: translateY(26px); will-change: opacity, transform; }
.film-studio-end .film-studio-cue { margin-top: 0; }
.film-studio-end .film-studio-cue i { width: 160px; }

.film-studio { position: relative; background: #03070a; color: var(--bone); }
.film-studio__hero { position: relative; height: 100vh; min-height: 600px; overflow: hidden; isolation: isolate; background: #071522; }
.film-studio__hero > img { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(1.06) contrast(1.04) brightness(.93); transform: scale(1.015); }
.film-studio__wash { position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(1,7,12,.12) 0%, rgba(1,7,12,.04) 48%, rgba(1,7,12,.4) 100%), linear-gradient(180deg, rgba(1,7,12,.05), rgba(1,7,12,.22)); }
.film-studio__copy { position: absolute; z-index: 3; right: 3vw; bottom: 11vh; width: 42vw; max-width: 780px; text-align: center; text-shadow: 0 3px 24px rgba(0,0,0,.72); }
.film-studio__copy .overline { color: #fff; font-weight: 700; }
.film-studio__copy h2, .film-slate__head h2, .film-opportunities h2 { margin: 0; font: 300 clamp(3.8rem, 8.5vw, 9.5rem)/.82 var(--serif); letter-spacing: -.055em; }
.film-studio__copy h2 em, .film-slate__head h2 em, .film-opportunities h2 em { color: var(--lume); font-weight: 400; }
.film-studio__scroll { position: absolute; z-index: 3; right: 30px; bottom: 30px; display: flex; align-items: center; gap: 14px; color: #fff; font: 700 10px/1 var(--mono); letter-spacing: .18em; }
.film-studio__scroll i { display: block; width: 68px; height: 1px; background: #fff; }

.film-opportunities { padding: 14vh 4vw 10vh; background: #010303; }
.film-opportunities > .overline { color: var(--lume); }
.opportunity-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 12vh; border-top: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); }
.opportunity-grid article { min-height: 300px; padding: 28px; border-right: 1px solid var(--hairline); }
.opportunity-grid article:last-child { border-right: 0; }
.opportunity-grid span { color: var(--lume); font: 700 9px/1 var(--mono); letter-spacing: .17em; }
.opportunity-grid h3 { margin: 80px 0 18px; font: 300 clamp(2.3rem, 4vw, 4.5rem)/.9 var(--serif); }
.opportunity-grid p { margin: 0; max-width: 38ch; color: rgba(233,237,234,.62); line-height: 1.6; }
.film-form { width: min(980px, 100%); margin: 13vh auto 0; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.film-form label { display: grid; gap: 11px; margin-bottom: 30px; color: rgba(233,237,234,.62); font: 700 9px/1.2 var(--mono); letter-spacing: .15em; }
.film-form input, .film-form select, .film-form textarea { width: 100%; padding: 15px 0; border: 0; border-bottom: 1px solid rgba(233,237,234,.4); border-radius: 0; outline: 0; background: transparent; color: #fff; font: 300 1.3rem/1.2 var(--serif); }
.film-form select { color-scheme: dark; }
.film-form textarea { resize: vertical; }
.film-form input:focus, .film-form select:focus, .film-form textarea:focus { border-color: var(--lume); }
.film-form button { margin-top: 18px; padding: 18px 0; border: 0; border-bottom: 1px solid var(--lume); background: transparent; color: var(--lume); cursor: pointer; font: 700 11px/1 var(--mono); letter-spacing: .14em; }
.film-footer { display: flex; justify-content: space-between; padding: 30px 4vw; border-top: 1px solid var(--hairline); background: #010303; color: rgba(233,237,234,.48); font: 9px/1 var(--mono); letter-spacing: .12em; }

.section-label { display: flex; gap: 24px; font: 9px var(--mono); letter-spacing: .15em; color: rgba(233,237,234,.56); }
.real-estate { position: relative; background: #020303; color: #fff; border-top: 1px solid rgba(255,255,255,.08); }
.real-estate > .section-label { position: absolute; z-index: 4; top: 92px; left: var(--left-rail); width: max-content; padding-bottom: 7px; border-bottom: 1px solid rgba(255,255,255,.82); color: #fff; font: 700 13px/1 var(--mono); letter-spacing: .18em; text-shadow: 0 2px 14px rgba(0,0,0,.8); }
.real-estate-hero { position: relative; min-height: 100vh; overflow: hidden; isolation: isolate; }
.real-estate-hero > img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 48%; filter: saturate(1.03) contrast(1.02); }
.real-estate-shade { position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(2,4,4,.76) 0%, rgba(2,4,4,.24) 44%, rgba(2,4,4,.04) 72%), linear-gradient(180deg, rgba(0,0,0,.18), transparent 40%, rgba(0,0,0,.5)); }
.real-estate-copy { position: absolute; left: 4vw; bottom: 8vh; width: min(840px, 56vw); text-align: left; text-shadow: 0 3px 22px rgba(0,0,0,.9); }
.real-estate-copy .overline, .partnership-copy .overline, .collaborate > .overline { color: var(--lume); font-weight: 700; }
.real-estate-copy h2, .collaborate h2 { margin: 0; font: 300 clamp(3.8rem, 8.5vw, 9rem)/.82 var(--serif); letter-spacing: -.055em; }
.real-estate-copy h2 { font-size: clamp(3.8rem, 7vw, 8rem); }
.real-estate-copy h2 em, .collaborate h2 em, .partnership-copy h3 em { color: var(--lume); font-weight: 400; }
.real-estate-copy > p:last-child { margin: 28px 0 0; max-width: 53ch; color: rgba(255,255,255,.88); font-size: 14px; line-height: 1.65; }
.partnership-feature { display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(420px, .94fr); min-height: 100vh; background: #020303; border-top: 1px solid var(--hairline); }
.partnership-feature figure { position: relative; min-height: 720px; margin: 0; overflow: hidden; }
.partnership-feature figure img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(1.04) contrast(1.03); }
.partnership-feature figcaption { position: absolute; left: 24px; bottom: 22px; color: #fff; font: 700 9px/1 var(--mono); letter-spacing: .15em; text-shadow: 0 2px 12px rgba(0,0,0,.88); }
.real-estate-bridge { display: none; }
.partnership-copy { align-self: center; padding: 10vh 6vw; }
.partnership-copy h3 { margin: 0; font: 300 clamp(3.3rem, 6.4vw, 7.2rem)/.82 var(--serif); letter-spacing: -.05em; }
.partnership-copy > p:not(.overline) { margin: 30px 0 0; max-width: 50ch; color: rgba(255,255,255,.7); line-height: 1.65; }
.partnership-paths { display: grid; grid-template-columns: 1fr 1fr; margin-top: 8vh; border-top: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); }
.partnership-paths article { padding: 22px 22px 28px 0; }
.partnership-paths article + article { padding-left: 22px; border-left: 1px solid var(--hairline); }
.partnership-paths span { color: var(--lume); font: 700 9px/1 var(--mono); }
.partnership-paths h4 { margin: 48px 0 14px; color: #fff; font: 700 12px/1.2 var(--mono); letter-spacing: .11em; }
.partnership-paths p { margin: 0; color: rgba(255,255,255,.58); font-size: 12px; line-height: 1.6; }
.partnership-link { display: inline-flex; gap: 16px; margin-top: 38px; padding-bottom: 7px; border-bottom: 1px solid var(--lume); color: var(--lume); font: 700 10px/1 var(--mono); letter-spacing: .15em; }

.collaborate { position: relative; min-height: 100vh; padding: 15vh 4vw 6vh; background: #000; overflow: hidden; text-align: left; }
.collaborate-portrait { position: absolute; z-index: 0; top: 9vh; right: 4vw; width: clamp(290px, 31vw, 520px); height: clamp(390px, 54vh, 610px); margin: 0; overflow: hidden; border: 1px solid rgba(233,237,234,.16); background: #090909; }
.collaborate-portrait img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 18%; filter: saturate(.92) contrast(1.04) brightness(.88); }
.collaborate-portrait::before, .collaborate-portrait::after { content: ""; position: absolute; z-index: 1; pointer-events: none; }
.collaborate-portrait::before { inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.88) 0, rgba(0,0,0,.18) 24%, transparent 48%); }
.collaborate-portrait::after { inset: 48% 0 0; background: linear-gradient(180deg, transparent, #000 100%); }
.collaborate > .overline, .collaborate > h2, .collaborate > .collaborate-intro, .collaborate > .collaboration-form, .collaborate > .small-print, .collaborate > .submission-contact { position: relative; z-index: 2; }
.collaborate > .collaborate-network { max-width: min(760px, 66vw); font-size: clamp(10px, .9vw, 12px); line-height: 1.7; letter-spacing: .1em; }
.collaborate-network span { display: block; white-space: nowrap; }
.collaborate h2 { width: min(760px, 58vw); font-size: clamp(4.8rem, 11vw, 12rem); }
.collaborate-intro { width: min(620px, 48vw); margin: 36px 0 0; color: rgba(255,255,255,.7); font-size: 15px; line-height: 1.65; }
.collaboration-form { width: min(1040px, 100%); margin: 10vh 0 0; }
.collaboration-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 34px; }
.collaboration-form label, .custom-select-field { display: grid; gap: 10px; margin-bottom: 30px; color: #fff; font: 400 15px/1.35 Arial, Helvetica, sans-serif; letter-spacing: .035em; }
.collaboration-form input, .collaboration-form select, .collaboration-form textarea { width: 100%; padding: 15px 0; border: 0; border-bottom: 1px solid rgba(255,255,255,.38); border-radius: 0; outline: 0; background: transparent; color: #fff; font: 300 1.25rem/1.25 var(--serif); }
.custom-select { position: relative; }
.custom-select > input[type="hidden"] { display: none; }
.custom-select__trigger { width: 100%; min-height: 52px; padding: 15px 4px; border: 0; border-bottom: 1px solid rgba(255,255,255,.38); border-radius: 0; background: #090909; color: #fff; display: flex; align-items: center; justify-content: space-between; cursor: pointer; font: 10px/1.3 var(--mono); letter-spacing: .18em; text-align: left; }
.custom-select__trigger i { color: var(--lume); font-style: normal; transition: transform .2s ease; }
.custom-select.is-open .custom-select__trigger { border-color: var(--lume); }
.custom-select.is-open .custom-select__trigger i { transform: rotate(180deg); }
.custom-select__menu { position: absolute; z-index: 20; top: calc(100% + 6px); left: 0; right: 0; padding: 6px; border: 1px solid rgba(255,255,255,.18); background: #111; box-shadow: 0 18px 46px rgba(0,0,0,.72); }
.custom-select__menu[hidden] { display: none; }
.custom-select__menu button { width: 100%; padding: 13px 12px; border: 0; background: transparent; color: #fff; cursor: pointer; font: 9px/1.3 var(--mono); letter-spacing: .18em; text-align: left; }
.custom-select__menu button:hover, .custom-select__menu button:focus-visible, .custom-select__menu button[aria-selected="true"] { outline: 0; background: rgba(255,255,255,.08); color: #fff; box-shadow: inset 3px 0 var(--lume); }
.collaboration-form textarea { resize: vertical; }
.collaboration-form input:focus, .collaboration-form select:focus, .collaboration-form textarea:focus { border-color: var(--lume); }
.collaboration-form > button { margin-top: 8px; padding: 18px 0 8px; border: 0; border-bottom: 1px solid var(--lume); background: transparent; color: var(--lume); cursor: pointer; font: 700 15px/1.15 Arial, Helvetica, sans-serif; letter-spacing: .08em; }
.form-status { min-height: 24px; margin: 16px 0 0; color: var(--lume); font: 10px var(--mono); letter-spacing: .08em; }
.small-print { width: min(820px, 92vw); margin: 28px 0 0; font: 400 clamp(16px, 1.25vw, 20px)/1.55 var(--serif); letter-spacing: .025em; color: rgba(255,255,255,.92); }
.submission-contact { display: grid; gap: 10px; width: max-content; margin-top: 24px; color: rgba(255,255,255,.98); font: 400 clamp(16px, 1.25vw, 20px)/1.55 var(--serif); letter-spacing: .025em; }
.submission-contact a { transition: color .2s ease; }
.submission-contact a:hover, .submission-contact a:focus-visible { color: var(--lume); }
.collaborate footer { position: relative; left: auto; right: auto; bottom: auto; z-index: 2; display: grid; justify-items: start; gap: 11px; margin-top: 48px; padding-bottom: 12px; font: 11px/1.25 var(--mono); letter-spacing: .11em; color: rgba(255,255,255,.94); }
.collaborate footer > a:first-child { margin-bottom: 8px; color: #fff; font-size: 15px; font-weight: 700; }
.footer-studio-line { color: #fff; white-space: nowrap; font: 400 clamp(14px, 1.25vw, 20px)/1.55 var(--serif); letter-spacing: .025em; }
.collaborate footer a { color: rgba(255,255,255,.96); transition: color .2s ease; }
.collaborate footer a:hover, .collaborate footer a:focus-visible { color: var(--lume); }
.noscript { position: fixed; z-index: 2000; inset: auto 20px 20px; padding: 16px; background: #000; color: white; font: 14px var(--mono); }

@media (max-width: 1200px) {
  .partnership-copy { padding-bottom: 0; }
  .collaborate { padding-top: 10vh; }
}

@media (max-width: 800px) {
  :root { --left-rail: 10px; }
  .lume-copy { top: calc(77% - 28px); }
  .site-header { padding: 20px; grid-template-columns: 1fr 1fr; }
  .wordmark { gap: 6px; }
  .wordmark strong { font-size: 18px; }
  .wordmark span { font-size: 11px; letter-spacing: .08em; }
  .edition { display: none; }
  .chapter-index { top: 82px; left: var(--left-rail); }
  .descent .studio-chapter-title { top: 66px; }
  .hero-copy { inset: 0 8px 0 auto; width: 38vw; padding: 20px 0; transform: translateY(-15vh); }
  .hero .chapter-sticky { background: #0E3A5C; }
  .hero-poster, .hero-idle-film { object-fit: cover; object-position: center center; background: transparent; }
  .hero h1 { font-size: clamp(1rem, 4.2vw, 1.55rem); }
  .scroll-cue { left: var(--left-rail); right: 16px; bottom: 34px; gap: 8px; font-size: 8.5px; letter-spacing: .12em; white-space: nowrap; }
  .scroll-cue i { width: 34px; }
  .depth-meter { right: 14px; top: 13%; transform: none; width: min(218px, calc(100vw - 28px)); }
  .depth-meter.is-commercial-phase { top: 44%; }
  .depth-meter.is-wide-service { width: min(342px, calc(100vw - 28px)); }
  .depth-meter strong { font-size: clamp(.82rem, 3.45vw, 1.02rem); line-height: 1.08; }
  .depth-meter strong.is-wall-mural, .depth-meter strong.is-consultation { width: 100%; max-width: none; margin-left: auto; font-size: clamp(.68rem, 2.8vw, .88rem); white-space: nowrap; }
  .depth-track { margin-top: 13px; }
  .depth-meter .depth-track { margin-left: auto; }
  .depth-meter.is-commercial-phase .depth-track { width: 184px; }
  .depth-meter.is-wall-mural-phase .depth-track { width: 225px; }
  .depth-meter.is-consultation-phase { top: 17%; }
  .depth-meter.is-consultation-phase .depth-track { width: 208px; }
  .still-ticking { left: var(--left-rail); top: 77%; }
  .interior-shot::before { display: none; }
  .interior-shot img { object-fit: cover; }
  .interior-shot--commercial img, .interior-shot--residential img, .interior-shot--chairs img { object-position: center; }
  .interior-shot--residential img { object-fit: cover; object-position: center; background: transparent; }
  .interior-shot--mural { transform: none !important; }
  .interior-shot--mural img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% center; background: #0f3152; }
  .interior-shot--bench img { object-position: 54% center; }
  .reupholstery-consultation { right: 20px; left: 20px; bottom: 112px; justify-items: end; width: auto; padding: 0; text-align: right; }
  .reupholstery-consultation span { max-width: 31ch; white-space: normal; color: #fff; font: 400 clamp(.78rem, 3.1vw, .94rem)/1.3 var(--serif); }
  .reupholstery-consultation a { margin-top: 14px; color: #A8FF72; font-size: 11px; }
  .interior-shot--workshop p { top: -3vh; font-size: clamp(1.42rem, 5.45vw, 2.2rem); }
  .interior-shot--workshop p span { font-size: clamp(.68rem, 2.5vw, .8rem); }
  .residency-credit { right: 20px; bottom: clamp(72px, 11vh, 96px); width: min(440px, calc(100vw - 40px)); }
  .residency-credit span, .residency-credit a { color: #fff; font-size: clamp(9.5px, 2.25vw, 11px); }
  .residency-credit__place { color: #A8FF72 !important; font-size: clamp(9.5px, 2.25vw, 11px) !important; }
  .residency-credit strong { font-size: clamp(1.1rem, 3.2vw, 1.45rem); }
  .chapter-sticky, .film-studio__hero { height: 100svh; min-height: 100svh; }
  .lume-copy { left: var(--left-rail); right: 20px; top: calc(77% - 28px); bottom: auto; }
  .film-studio__copy { left: auto; right: 3vw; bottom: 11vh; width: 40vw; }
  .film-studio__scroll { display: none; }
  .film-studio__hero > img { object-position: center; }
  .film-project { padding: 106px 20px 8vh; }
  .film-project__top { top: 126px; left: var(--left-rail); right: 20px; gap: 18px; }
  .film-project--calle::before { background: linear-gradient(180deg, #21130e, #0d0907 72%, #1a100c); }
  .film-project--calle .film-project__art { object-fit: cover; object-position: center; background: transparent; transform: none !important; }
  .film-project--plato::before { background: linear-gradient(180deg, #dfd4c4, #cbbba5 72%, #7b6652); }
  .film-project--plato .film-project__art { inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center center; background: transparent; transform: none !important; }
  .film-project h3 { font-size: clamp(3rem, 16vw, 5.3rem); }
  .film-project__laurel { right: 20px; bottom: 66px; width: 96px; }
  .film-project__meta--calle { left: 20px; bottom: 72px; width: calc(100vw - 154px); }
  .film-project--calle .film-project__credit { white-space: normal; font-size: clamp(.7rem, 2.6vw, .82rem); line-height: 1.18; }
  .film-project__festival { font-size: clamp(.67rem, 2.45vw, .8rem); }
  .film-project--plato .film-project__meta { right: 20px; bottom: 74px; max-width: calc(100vw - 40px); padding: 8px 0; text-shadow: 0 2px 15px #000; }
  .film-project--plato .film-project__credit { font-size: clamp(.68rem, 1.8vw, .8rem); }
  .film-project--plato .film-project__debut { font-size: clamp(.66rem, 1.7vw, .78rem); }
  .film-project--plato .film-project__note { font-size: clamp(.66rem, 1.65vw, .76rem); }
  .film-studio-end { bottom: 42px; }
  .film-studio-end .film-studio-cue i { width: 92px; }
  .opportunity-grid { grid-template-columns: 1fr; }
  .opportunity-grid article { min-height: 240px; border-right: 0; border-bottom: 1px solid var(--hairline); }
  .opportunity-grid article:last-child { border-bottom: 0; }
  .field-row { grid-template-columns: 1fr; gap: 0; }
  .film-footer { gap: 18px; flex-direction: column; }
  .real-estate > .section-label { top: 82px; }
  .real-estate-hero { min-height: 0; padding: 100vw 0 54px; background: #020303; }
  .real-estate-hero > img { top: 0; bottom: auto; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: contain; object-position: center; background: transparent; }
  .real-estate-shade { bottom: auto; height: 100vw; background: linear-gradient(180deg, rgba(0,0,0,.1), transparent 58%, rgba(0,0,0,.28)); }
  .real-estate-copy { position: absolute; top: 69vw; right: auto; bottom: auto; left: 20px; width: min(82vw, 380px); padding: 0; text-align: left; }
  .real-estate-copy h2 { font-size: clamp(2.2rem, 8vw, 3.6rem); }
  .real-estate-copy > p:last-child { display: none; }
  .partnership-feature { grid-template-columns: 1fr; }
  .partnership-feature figure { min-height: 70svh; }
  .partnership-feature figure::after { content: ""; position: absolute; inset: 48% 0 0; background: linear-gradient(180deg, transparent, rgba(0,0,0,.78)); pointer-events: none; }
  .partnership-feature figcaption { z-index: 2; bottom: 22px; }
  .real-estate-bridge { position: absolute; z-index: 2; right: 20px; bottom: 64px; display: block; width: min(42ch, calc(100% - 40px)); margin: 0; color: rgba(255,255,255,.94); font-size: 13px; line-height: 1.6; text-align: right; text-shadow: 0 2px 16px rgba(0,0,0,.95); }
  .partnership-copy { padding: 10vh 20px 0; }
  .partnership-copy h3 { font-size: clamp(3.2rem, 12vw, 6rem); }
  .collaborate { padding: 10vh 20px 6vh; }
  .collaborate > .collaborate-network { max-width: min(52vw, 520px); font-size: clamp(8px, 1.7vw, 10px); line-height: 1.65; letter-spacing: .07em; }
  .collaborate-network span { white-space: normal; }
  .collaborate-portrait { top: 24vh; right: 20px; width: 42vw; height: 43vh; opacity: .82; }
  .collaborate-portrait::before { background: linear-gradient(90deg, rgba(0,0,0,.78) 0, rgba(0,0,0,.26) 28%, transparent 72%); }
  .collaborate-portrait::after { inset: 40% 0 0; }
  .collaborate h2 { width: 52vw; font-size: clamp(3.1rem, 11vw, 5.8rem); }
  .collaborate-intro { width: min(50vw, 420px); }
  .collaboration-grid { grid-template-columns: 1fr; }
  .small-print { width: 100%; font-size: 16px; }
  .submission-contact { margin-top: 20px; font-size: 16px; }
  .collaborate footer { margin-top: 42px; padding-bottom: 16px; gap: 12px; font-size: 10px; letter-spacing: .075em; }
  .collaborate footer > a:first-child { margin-bottom: 10px; font-size: 15px; }
  .footer-studio-line { max-width: 100%; font-size: clamp(9px, 2.45vw, 11px); letter-spacing: .015em; }
}

@media (max-width: 560px) {
  .film-project--calle .project-type { font-size: 11px; }
  .project-funding, .project-coming-inline { font-size: 9px; }
  .project-status--award { max-width: 142px; }
  .project-status--award span:first-child { font-size: 10px; }
  .partnership-paths { grid-template-columns: 1fr; }
  .partnership-paths article + article { padding-left: 0; border-top: 1px solid var(--hairline); border-left: 0; }
}

@media (max-width: 760px), (prefers-reduced-motion: reduce) {
  .scrub-chapter { height: 160vh; }
  .scrub-chapter.descent { height: 430vh; }
  .scrub-chapter.lume { height: 380vh; }
  .descent { margin-top: 0; }
  .sequence-canvas { display: block; }
  .mobile-film { display: none; }
  .hero-idle-film { display: block; }
  .film-wash--descent { background: linear-gradient(90deg, rgba(0,7,13,.25), transparent 45%, rgba(0,7,13,.22)); }
  .preloader__line i { transition: none; }
  .scroll-cue i { animation: none; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-idle-film { display: none; }
  .descent .sequence-canvas, .film-chair-motion, .interior-shot::before, .interior-shot img, .interior-shot--workshop::before { animation: none; }
}

body.frames-pending .sequence-canvas { display: none; }
body.frames-pending .mobile-film { display: block; }
