.home-page{overflow-x:hidden}.home-page .topbar{position:relative;z-index:5;border-color:#ffffff20}.home-page .home-hero{min-height:690px;height:min(91vh,900px);padding:140px 9vw 42px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;background:radial-gradient(ellipse at 75% 35%,#272a23 0%,#171815 33%,#111 68%)}.home-page .home-hero:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.14;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='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E")}.home-kicker{position:relative;z-index:1;font:10px 'DM Mono',monospace;letter-spacing:.1em;color:#a5a59f}.home-kicker>span:last-child{float:right;color:#686863}.home-title-wrap{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between}.home-title-wrap h1{font-size:clamp(90px,13.1vw,190px);line-height:.78;letter-spacing:-.1em;font-weight:600;margin:35px auto 50px}.home-title-wrap h1 em{font-style:normal;color:var(--accent)}.home-side-note,.home-index{font:9px/1.6 'DM Mono',monospace;letter-spacing:.12em;color:#777;align-self:center}.home-index{color:#aaa}.home-index span{color:var(--accent)}.home-intro-row{z-index:1;display:flex;align-items:flex-end;justify-content:space-between}.home-intro-row p{margin:0;color:#b6b6b0;font-size:14px;line-height:1.8}.home-intro-row strong{color:#fff}.home-works-link{font:10px 'DM Mono',monospace;letter-spacing:.08em;color:var(--accent);border-bottom:1px solid #e7dfd280;padding-bottom:11px}.home-works-link span{font-size:16px;margin-left:24px}.home-scroll{font:8px 'DM Mono',monospace;letter-spacing:.09em;color:#777}.moving-showcase{padding:25px 0 28px;overflow:hidden;border-bottom:1px solid var(--line)}.showcase-head,.showcase-foot{display:flex;justify-content:space-between;padding:0 9vw;font:8px 'DM Mono',monospace;letter-spacing:.1em;color:#82827c}.marquee-window{overflow:hidden;margin:24px 0 23px}.marquee-track{display:flex;gap:15px;width:max-content;animation:project-flow 44s linear infinite}.marquee-window:hover .marquee-track{animation-play-state:paused}.show-card{width:clamp(245px,29vw,430px);height:clamp(185px,23vw,310px);flex:none;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;transition:transform .4s}.show-card:hover{transform:scale(.98)}.card-label{position:absolute;left:16px;top:14px;z-index:2;font:8px 'DM Mono',monospace;letter-spacing:.12em;opacity:.65}.card-caption{position:absolute;bottom:15px;left:16px;font:7px 'DM Mono',monospace;letter-spacing:.16em}.card-serein{background:linear-gradient(135deg,#d6d0c1,#bcb3a3);color:#26352d}.card-serein-name{font:clamp(47px,7vw,90px) Georgia,serif;letter-spacing:-.09em}.card-serein-name sup{font:10px Manrope;vertical-align:top;margin-left:5px}.card-nova{background:radial-gradient(ellipse at 55% 48%,#6a73c8,#282b60 48%,#171833);color:#fff}.card-nova-orbit{position:absolute;width:57%;height:83%;border:1px solid #ffffff55;border-radius:50%;transform:rotate(33deg)}.card-nova-core{width:58px;height:58px;border-radius:50%;background:linear-gradient(140deg,#e9f8ff,#9cafff 55%,#5d65c5);color:#292d65;display:grid;place-items:center;font-weight:700;font-size:26px;box-shadow:0 0 55px #b6c3ff88}.card-nova-name{position:absolute;right:18px;bottom:16px;font:8px/1.4 'DM Mono',monospace;letter-spacing:.1em}.card-after{background:linear-gradient(145deg,#e3b39e,#c8786e 54%,#733d48);color:#4a2634}.card-after-sun{position:absolute;width:45%;aspect-ratio:1;border-radius:50%;background:linear-gradient(140deg,#f8d6a0,#e89370);top:8%;right:13%;mix-blend-mode:screen}.card-after-title{z-index:1;font:clamp(44px,6vw,78px)/.75 Georgia,serif;letter-spacing:-.08em;margin-right:auto;margin-left:11%}.card-morrow{background:#c3d4a8;color:#253426}.card-morrow-mark{position:absolute;left:13%;top:16%;width:50px;height:50px;border:1px solid #253426;border-radius:50%;display:grid;place-items:center;font:22px Georgia}.card-morrow-name{font:clamp(49px,7vw,82px)/.7 Georgia,serif;letter-spacing:-.1em;transform:rotate(-8deg)}.card-morrow-name i{font-size:.58em;margin-left:30%}.showcase-foot{align-items:center}.showcase-foot>a{color:var(--accent)}.motion-indicator{color:#aaa}.motion-indicator i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:7px;box-shadow:0 0 9px var(--accent)}@keyframes project-flow{from{transform:translateX(0)}to{transform:translateX(calc(-50% + 7.5px))}}.home-about{padding:105px 9vw 105px;border-bottom:1px solid var(--line)}.home-about>div{display:flex;justify-content:space-between;align-items:flex-end;margin-top:35px}.home-about h2{font-size:clamp(52px,8vw,100px);line-height:1.07;letter-spacing:-.09em;font-weight:500;margin:0}.home-about h2 em{font-style:normal;color:var(--accent)}.home-about .text-link{margin-bottom:10px}.home-page footer{margin:0}@media(prefers-reduced-motion:reduce){.marquee-track{animation:none}.show-card{transition:none}}@media(max-width:700px){.home-page .home-hero{height:auto;min-height:560px;padding:80px 7vw 34px}.home-kicker{font-size:7px}.home-title-wrap{margin:auto 0;display:block}.home-title-wrap h1{font-size:clamp(66px,14.7vw,105px);margin:62px 0 58px;white-space:nowrap}.home-side-note{position:absolute;right:0;top:14px;text-align:right;font-size:7px}.home-index{position:absolute;right:0;bottom:3px}.home-intro-row{display:grid;grid-template-columns:1fr auto;gap:20px}.home-intro-row p{font-size:11px}.home-works-link{font-size:8px;grid-column:1;grid-row:2;width:max-content}.home-works-link span{margin-left:12px}.home-scroll{font-size:7px;grid-column:2;grid-row:2}.showcase-head,.showcase-foot{padding:0 7vw;font-size:7px}.marquee-track{gap:10px;animation-duration:34s}.show-card{width:72vw;height:55vw;max-height:270px}.card-label{font-size:7px;left:12px;top:11px}.showcase-foot{gap:12px}.showcase-foot>span:first-child{display:none}.home-about{padding:75px 7vw}.home-about>div{display:block;margin-top:28px}.home-about h2{font-size:55px}.home-about .text-link{display:inline-block;margin-top:27px}.home-page .footer-bottom{font-size:7px}}@media(max-width:390px){.home-page .home-title-wrap h1{font-size:14.4vw}.home-scroll{font-size:6px}.showcase-foot{font-size:6px}}

/* Vertical project reel: cards travel from the top edge toward the bottom. */
.marquee-window{height:clamp(430px,62vh,680px);display:flex;justify-content:center;align-items:flex-start}
.marquee-track{width:100%;flex-direction:column;align-items:center;gap:15px;animation:project-flow-down 44s linear infinite}
.show-card{width:clamp(250px,38vw,460px);height:clamp(175px,24vh,250px)}
@keyframes project-flow-down{from{transform:translateY(calc(-50% - 7.5px))}to{transform:translateY(0)}}
@media(max-width:700px){.marquee-window{height:clamp(430px,62vh,600px)}.marquee-track{gap:10px;animation-duration:38s}.show-card{width:80vw;height:clamp(175px,25vh,230px)}}
@media(prefers-reduced-motion:reduce){.marquee-track{animation:none}}

/* Full-screen portfolio stills, with four image slots ready for replacement. */
.home-page{overflow-x:hidden}
.home-page .topbar{position:relative;inset:auto;height:82px;z-index:10;border-bottom-color:#ffffff30;background:#111}
.home-showreel{height:calc(100svh - 82px);min-height:528px;position:relative;isolation:isolate;overflow:hidden;background:#181916;color:#fff}
.still-slides,.still-slide{position:absolute;inset:0}
.still-slide{opacity:0;visibility:hidden;transition:opacity 1s ease,visibility 1s ease;overflow:hidden;background-color:#282923}
.still-slide.is-active{opacity:1;visibility:visible;z-index:1}
/* Drop four photographs into images/still-01.jpg through images/still-04.jpg. */
.still-one{background-image:url('images/evnne-hour.jpg');background-position:center;background-size:cover}
.still-two{background-image:url('images/eightest-izna.jpg');background-position:center;background-size:cover}
.still-three{background-image:url('images/eightest-team.jpg');background-position:center;background-size:cover}
.still-four{background-image:url('images/move-to-performance-poster.webp');background-position:center;background-size:cover}
.still-art{position:absolute;inset:0;overflow:hidden;pointer-events:none;opacity:.85;mix-blend-mode:soft-light}
.art-sphere{position:absolute;width:min(42vw,620px);aspect-ratio:1;border-radius:50%;right:12%;top:14%;background:radial-gradient(circle at 33% 28%,#fff9e4,#d6c6a2 38%,#5c6757 75%,#1c3026);box-shadow:0 45px 120px #080e0c80}
.art-pedestal{position:absolute;width:min(34vw,500px);height:22%;right:16%;bottom:13%;border-radius:50% 50% 0 0;background:linear-gradient(90deg,#283b32,#aa9b79 50%,#374439);filter:blur(1px)}
.art-orbit{position:absolute;width:min(53vw,720px);height:min(72vh,700px);right:12%;top:12%;border:1px solid #e5e6ffbd;border-radius:50%;transform:rotate(34deg);box-shadow:0 0 80px #a7adff52}
.art-orbit.orbit-small{width:min(42vw,590px);height:min(54vh,540px);right:16%;top:22%;transform:rotate(-33deg);border-color:#e8d8ff95}
.art-glow{position:absolute;width:22vw;aspect-ratio:1;right:29%;top:32%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f1f4ff,#989fe6 50%,#434a9c);box-shadow:0 0 130px #a3aeff9c}
.art-sun{position:absolute;width:min(34vw,500px);aspect-ratio:1;right:18%;top:11%;border-radius:50%;background:radial-gradient(circle at 32% 29%,#fff0c2,#f0ad78 50%,#d8756c);box-shadow:0 0 130px #f3a37c80}
.art-horizon{position:absolute;inset:65% 0 0;background:linear-gradient(180deg,#4d323b00,#241922a8 55%,#181018e6);clip-path:polygon(0 27%,15% 10%,28% 35%,46% 0,63% 28%,77% 7%,100% 32%,100% 100%,0 100%)}
.art-coffee{position:absolute;width:min(32vw,440px);height:min(23vw,310px);right:18%;top:28%;border-radius:48% 48% 42% 42%;background:radial-gradient(ellipse at 40% 25%,#e8dfc4 0 4%,#574531 5% 12%,#30281d 13% 49%,#171711 72%);transform:rotate(-10deg);box-shadow:20px 35px 65px #1119}
.art-coffee-shadow{position:absolute;width:min(43vw,580px);height:11%;right:10%;bottom:21%;border-radius:50%;background:#080c08aa;filter:blur(24px)}
.art-label{position:absolute;right:43%;top:16%;width:70px;height:70px;border:1px solid #ebebd8;border-radius:50%;display:grid;place-content:center;text-align:center;font:24px Georgia;color:#f4f0dd}.art-label small{font:5px 'DM Mono',monospace;max-width:54px;line-height:1.3}
.still-shade{display:none}
.still-copy{position:absolute;z-index:2;left:9vw;top:50%;transform:translateY(-50%);max-width:min(760px,75vw)}
.still-kicker{font:10px 'DM Mono',monospace;letter-spacing:.14em;color:#ffffffb0}
.still-copy h1,.still-copy h2{font-size:clamp(25px,3.7vw,52px);white-space:nowrap;line-height:1.05;letter-spacing:-.09em;font-weight:600;margin:25px 0 24px;text-shadow:0 2px 30px #0002}
.still-copy h1 em,.still-copy h2 em{font-style:normal;color:var(--accent)}
.still-copy p{margin:0;color:#e5e4df;font-size:14px;letter-spacing:-.02em}
.still-caption{position:absolute;z-index:2;left:9vw;right:9vw;bottom:47px;display:flex;align-items:center;gap:17px;font:9px 'DM Mono',monospace;letter-spacing:.1em;color:#ffffffa8}
.still-caption strong{color:#fff;font-size:10px;font-weight:500}
.still-topline{position:absolute;z-index:4;top:104px;left:9vw;right:9vw;display:flex;justify-content:space-between;align-items:center;font:9px 'DM Mono',monospace;letter-spacing:.1em;color:#ffffffb8}
.still-topline .live-dot{width:6px;height:6px}
.still-topline a{color:#fff}.still-topline b{color:var(--accent);font-size:14px;margin-left:10px}
.still-controls{position:absolute;z-index:4;right:9vw;bottom:43px;display:flex;align-items:center;gap:25px}
.still-count{display:flex;align-items:center;gap:8px;color:#ffffff8a;font:9px 'DM Mono',monospace}.still-count .current-slide{color:#fff;font-size:12px}.still-count i{width:24px;height:1px;background:#ffffff66}
.still-dots{display:flex;gap:7px}.still-dots button{width:20px;height:2px;background:#ffffff65;border:0;padding:0;cursor:pointer;transition:width .25s,background .25s}.still-dots button.is-active{width:37px;background:var(--accent)}
.still-arrows{display:flex;gap:7px}.still-arrows button{width:34px;height:34px;border:1px solid #ffffff65;border-radius:50%;background:#10110f30;color:#fff;font-size:15px;cursor:pointer;transition:background .2s,color .2s}.still-arrows button:hover{background:var(--accent);color:#111;border-color:var(--accent)}
.still-scroll{position:absolute;z-index:4;right:9vw;top:50%;writing-mode:vertical-rl;transform:translateY(-50%);font:8px 'DM Mono',monospace;letter-spacing:.12em;color:#ffffffb0}.still-scroll span{color:var(--accent);margin-top:10px;font-size:13px}
.home-page .home-about{position:relative;z-index:2;background:#111}
@media(prefers-reduced-motion:reduce){.still-slide{transition:none}}
@media(max-width:700px){.home-page .topbar{height:66px}.home-showreel{min-height:554px;height:calc(100svh - 66px)}.still-one,.still-two,.still-three,.still-four{background-position:center;background-size:cover}.still-copy{left:7vw;top:46%;max-width:85vw}.still-copy h1,.still-copy h2{font-size:clamp(22px,5.4vw,32px);margin:20px 0}.still-copy p{font-size:12px}.still-kicker{font-size:8px}.still-topline{left:7vw;right:7vw;top:84px;font-size:7px}.still-caption{left:7vw;right:auto;bottom:35px;display:flex;flex-direction:column;align-items:flex-start;gap:7px;font-size:7px}.still-caption strong{font-size:8px}.still-controls{right:7vw;bottom:27px;gap:12px}.still-count{font-size:7px}.still-count .current-slide{font-size:10px}.still-count i{width:13px}.still-dots{gap:4px}.still-dots button{width:12px}.still-dots button.is-active{width:22px}.still-arrows{gap:4px}.still-arrows button{width:28px;height:28px;font-size:12px}.still-scroll{right:7vw;font-size:6px}.art-sphere{width:72vw;right:0;top:18%}.art-pedestal{width:62vw;right:6%;bottom:18%}.art-orbit{width:80vw;height:55vh;right:-3%;top:25%}.art-orbit.orbit-small{width:66vw;height:43vh;right:3%;top:31%}.art-glow{width:36vw;right:20%;top:38%}.art-sun{width:60vw;right:5%;top:20%}.art-coffee{width:57vw;height:39vw;right:8%;top:35%}.art-coffee-shadow{width:68vw;right:0;bottom:26%}.art-label{right:58%;top:23%;width:52px;height:52px;font-size:18px}.home-page .home-about{padding:75px 7vw}}

.still-art{display:none}
.still-copy p{color:#e7dfd2}
.still-copy h1,.still-copy h2{font-weight:800}
.still-count .current-slide{color:var(--accent);font-family:Manrope,sans-serif;font-weight:900;-webkit-text-stroke:.45px currentColor}
.still-dots button{height:3px}
.still-dots button.is-active{height:5px;box-shadow:0 0 8px #e7dfd280}
.still-arrows button{font-weight:800;-webkit-text-stroke:.35px currentColor}

/* Blend the slideshow into the black header without placing imagery behind navigation. */
.home-page .topbar{border-bottom:0;background:#111}
.home-showreel::after{content:"";position:absolute;inset:0 0 auto;height:260px;z-index:2;pointer-events:none;background:linear-gradient(to bottom,#111 0%,rgba(17,17,17,.96) 8%,rgba(17,17,17,.84) 20%,rgba(17,17,17,.65) 35%,rgba(17,17,17,.4) 52%,rgba(17,17,17,.18) 70%,rgba(17,17,17,.05) 86%,rgba(17,17,17,0) 100%)}
.still-copy{max-width:82vw;z-index:3}
.still-copy h1,.still-copy h2{font-size:clamp(28px,3.6vw,50px);line-height:1.08;letter-spacing:-.055em;margin:0 0 26px}
.still-copy p{font-size:clamp(12px,1.1vw,16px);line-height:1.65;letter-spacing:-.035em}
.still-controls{gap:16px;font:12px 'DM Mono',monospace;color:#fff9}
.still-controls>.current-slide{color:var(--accent);font-weight:500;-webkit-text-stroke:0}
.still-controls>.still-prev,.still-controls>.still-next{display:grid;place-items:center;width:30px;height:36px;padding:0;border:0;background:transparent;color:#fff;font:300 32px/1 Manrope,sans-serif;cursor:pointer}
.still-controls>.still-prev:hover,.still-controls>.still-next:hover{color:var(--accent)}
.still-dots{gap:6px;align-items:center}
.still-dots button{position:relative;width:24px;height:1px;box-shadow:none}
.still-dots button::after{content:"";position:absolute;inset:-10px 0}
.still-dots button.is-active{width:36px;height:2px;box-shadow:none}
@media(max-width:700px){
 .home-showreel::after{height:180px}
 .still-copy h1,.still-copy h2{font-size:clamp(23px,5vw,32px);margin-bottom:17px}
 .still-copy p{font-size:12px;line-height:1.65}
 .still-controls{gap:10px;font-size:10px}
 .still-dots button{width:16px}.still-dots button.is-active{width:24px}
}

.still-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}

/* Preview a 1920 x 1080 composition, scaled to the available width. */
.home-showreel{width:min(100%,1920px);height:auto;min-height:0;aspect-ratio:16/9;margin-inline:auto;container-type:inline-size}
.home-showreel .still-slide{background-size:contain;background-repeat:no-repeat;background-position:center}
.home-showreel .still-video{object-fit:contain}
.home-showreel .still-copy{left:9%;max-width:82%;top:50%}
.home-showreel .still-controls{right:9%;bottom:5%}
.home-showreel::after{height:26%}
@media(max-width:700px){
 .home-showreel .still-copy h1,.home-showreel .still-copy h2{font-size:5cqw;margin-bottom:2cqw}
 .home-showreel .still-copy p{font-size:2cqw;line-height:1.5}
 .home-showreel .still-controls{gap:6px;font-size:9px;bottom:3%}
 .home-showreel .still-prev,.home-showreel .still-next{width:22px;height:24px;font-size:24px}
 .home-showreel .still-dots button{width:12px}.home-showreel .still-dots button.is-active{width:20px}
}

/* Center the video at 80% of the slide, with black space around it. */
.home-showreel .still-slide:has(.still-video){background:#000}
.home-showreel .still-video{inset:10%;width:80%;height:80%;object-fit:contain}

/* Compact slideshow, with its copy below the media and controls above. */
.home-page .topbar{background:#000}
.home-page main{background:#000;padding:36px 0 60px}
.home-showreel{width:min(50vw,960px);height:auto;min-height:0;aspect-ratio:auto;margin:auto;overflow:visible;background:#000;container-type:inline-size}
.home-showreel::after{display:none}
.home-showreel .still-controls{position:static;display:flex;align-items:center;gap:16px;margin:0 0 20px;font-size:11px}
.home-showreel .still-dots{display:flex;flex:1;gap:5px}
.home-showreel .still-dots button,.home-showreel .still-dots button.is-active{flex:1;width:auto;height:1px;box-shadow:none}
.home-showreel .still-dots button.is-active{height:2px}
.slideshow-stage{position:relative}
.home-showreel .still-slides{position:relative;inset:auto;display:grid}
.home-showreel .still-slide{position:relative;inset:auto;grid-area:1/1;overflow:visible;background:none;align-self:start}
.home-showreel .still-media{position:relative;width:100%;aspect-ratio:16/9;background-size:contain;background-position:center;background-repeat:no-repeat;background-color:#000;overflow:hidden}
.home-showreel .still-video{inset:0;width:100%;height:100%;object-fit:contain}
.home-showreel .still-copy{position:relative;left:auto;top:auto;transform:none;max-width:none;padding:26px 0 0}
.home-showreel .still-copy h1,.home-showreel .still-copy h2{font-size:clamp(24px,3.8cqw,38px);line-height:1.1;margin:0 0 18px;white-space:nowrap}
.home-showreel .still-copy p{font-size:clamp(12px,1.55cqw,15px);line-height:1.7;margin:0}
.slideshow-stage>.still-prev,.slideshow-stage>.still-next{position:absolute;top:28.125cqw;transform:translateY(-50%);width:40px;height:50px;border:0;background:transparent;color:var(--accent);font:300 38px/1 Manrope,sans-serif;cursor:pointer}
.slideshow-stage>.still-prev{left:-58px}.slideshow-stage>.still-next{right:-58px}
@media(max-width:700px){
 .home-page main{padding:24px 0 40px}
 .home-showreel{width:82vw}
 .slideshow-stage>.still-prev{left:-30px}.slideshow-stage>.still-next{right:-30px}
 .slideshow-stage>.still-prev,.slideshow-stage>.still-next{width:26px;font-size:30px}
 .home-showreel .still-copy{padding-top:22px}
 .home-showreel .still-copy h1,.home-showreel .still-copy h2{font-size:25px;margin-bottom:14px}
 .home-showreel .still-copy p{font-size:12px}
}

/* Video slides stay black while their first frame loads. */
.home-showreel .still-media:has(.still-video){background:#000}
.home-showreel .still-video{background:#000}

.home-showreel .still-controls{padding-top:18px}
.home-showreel .still-dots button .slide-category{position:absolute;bottom:9px;left:0;white-space:nowrap;font:7px/1.2 'DM Mono',monospace;letter-spacing:.08em;color:#aaa;opacity:0;visibility:hidden;pointer-events:none}
.home-showreel .still-dots button.is-active .slide-category{opacity:1;visibility:visible}
.home-showreel .still-dots button .slide-category{left:50%;transform:translateX(-50%)}
