/* Detail pass: tighter editorial rhythm, continuous scene overlap, and readable first-party review presentation. */
:root{--control-line:#424242;--control-hover:#f5f5f2;--ease-out:cubic-bezier(.16,1,.3,1)}
::selection{background:#d7ff00;color:#090909}
button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #d7ff00;outline-offset:5px}
.work-section .section-head{display:flex;justify-content:space-between;align-items:flex-end;max-width:none;gap:40px;margin-bottom:28px}
.work-section .section-head h2{font-size:clamp(34px,3.4vw,48px);line-height:1.28;letter-spacing:-.025em;flex:none}
.work-section .section-head>p{max-width:34ch;font-size:14px;line-height:1.85;margin:0 0 3px}
.work-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:16px;border-bottom:1px solid #303030}
.work-toolbar .filters{margin:0;padding:0;gap:8px}
.work-toolbar .work-view-bar{margin:0;flex-shrink:0}
.filters button{background:transparent;border-color:transparent;color:#b5b5b5;border-radius:6px;min-height:44px;padding:9px 16px;font-size:13px;transition:color .2s,background .2s}
.filters button[aria-pressed=true]{background:#d7ff00;color:#090909;border-color:#d7ff00}
.filters button:hover:not([aria-pressed=true]){background:#1c1c1c;color:#fff}
.work-view-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:0;border-bottom:1px solid #696969;border-radius:0;color:#ddd;padding:8px 2px;font-size:12px}
.work-view-toggle:hover{border-color:#d7ff00}
.work-theatre.is-cinematic{height:calc(100svh - 104px);min-height:460px;max-height:760px;padding:12px 0 0}
.is-cinematic .projects{height:calc(100% - 66px);perspective:none}
.is-cinematic .project,.is-cinematic .project:nth-child(-n+2){grid-template-columns:.65fr 1.35fr;gap:48px;padding:8px 0 18px;transform-origin:center}
.is-cinematic .project-line h3,.is-cinematic .project:nth-child(-n+2) .project-line h3{font-size:clamp(30px,3vw,43px);line-height:1.3}
.is-cinematic .work-format{font-size:12px;margin-bottom:20px}
.is-cinematic .work-format span{color:#aaa;font-size:11px}
.is-cinematic .project-line>span{margin-top:12px;font-size:14px;color:#ddd}
.is-cinematic .project-copy>p:not(.work-format){font-size:13px;margin-top:12px;color:#aaa}
.is-cinematic .work-visual{align-items:center}
.is-cinematic .project-image{border-radius:10px}
.is-cinematic .project-image img{display:block}
.is-cinematic .project-feature .project-image{height:auto}
.is-cinematic .theatre-controls{min-height:66px;padding-top:0;gap:20px}
.theatre-status{font-variant-numeric:tabular-nums;font-size:12px;color:#c4c4c4}
.theatre-controls>div{gap:12px}
.theatre-prev,.theatre-next,.service-tray-controls button{width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--control-line);border-radius:50%;background:transparent;color:#f5f5f2;transition:background .2s,color .2s,border-color .2s,transform .25s var(--ease-out)}
.theatre-prev svg,.theatre-next svg,.service-tray-controls svg{width:21px;height:21px}
.theatre-prev:hover:not(:disabled),.theatre-next:hover:not(:disabled),.service-tray-controls button:hover{background:#f5f5f2;color:#090909;border-color:#f5f5f2}
.theatre-prev:disabled,.theatre-next:disabled{opacity:.3}
.is-cinematic>.work-close{inset:12px 0 66px;padding:24px}
.is-cinematic>.work-close p{font-size:clamp(30px,3vw,46px);line-height:1.5}
/* No second animation layer competing with ScrollTrigger on a project. */
.motion-runtime .project.in-view .project-image{animation:none}
.motion-runtime .project-long .project-image img{animation:none!important}
.motion-runtime .project,.motion-runtime .project-copy{will-change:transform,opacity}
.review-carousel{max-width:1100px}
.review-stage{background:#151515;border-radius:14px;overflow:hidden}
.review-slide.is-visible,.review-slide.is-active{display:flex;align-items:stretch;flex-direction:column;gap:0;padding:42px 52px 30px;min-height:330px;grid-template-columns:none}
.review-slide:not(.is-active):not(.is-visible){display:none}
.review-identity{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:28px;border-bottom:1px solid #333}
.review-identity>div:first-child{display:flex;align-items:baseline;gap:16px}
.review-identity strong{font-size:17px;font-weight:600;letter-spacing:-.015em}
.review-identity>div>span{font-size:13px;color:#aaa}
.review-rating{display:flex;align-items:center;gap:4px;color:#d7ff00;flex-shrink:0}
.review-rating svg{width:14px;height:14px}
.review-rating>span{font-size:13px!important;color:#e5e5e5!important;margin-left:8px;font-variant-numeric:tabular-nums}
.review-slide figcaption{flex:1;padding:28px 0 22px;min-width:0}
.review-quote{font-size:clamp(20px,2vw,27px);font-weight:450;line-height:1.85;letter-spacing:-.02em;margin:0;max-width:54ch;white-space:pre-line;word-break:keep-all;overflow-wrap:anywhere;color:#f0f0ed}
.review-full{margin-top:16px}
.review-full summary{display:inline-flex;align-items:center;min-height:44px;gap:20px;font-size:13px;color:#bbb;font-weight:400}
.review-full summary svg{width:17px;height:17px;transform:rotate(90deg);margin:0}
.review-full[open] summary svg{transform:rotate(-90deg)}
.review-full p{font-size:17px;color:#ccc;line-height:1.9;white-space:pre-line;margin:12px 0 0;max-width:70ch}
.review-excerpt{font-size:12px;color:#aaa;margin-top:14px}
.review-slide>a.review-original{display:inline-flex;align-items:center;justify-content:flex-start;gap:16px;background:transparent;width:max-content;height:auto;min-height:44px;max-width:100%;padding:0;border-radius:0;font-size:13px;color:#aaa;align-self:flex-end;aspect-ratio:auto;cursor:pointer;transition:color .2s}
.review-original svg{width:17px;height:17px}
.review-original:hover{color:#d7ff00}
.review-carousel-controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding-top:22px}
.review-navigation{display:contents}
.review-navigation button{display:inline-flex;align-items:center;justify-content:center;gap:14px;width:auto;min-width:108px;height:48px;padding:0 19px;border:1px solid #424242;border-radius:30px;font-size:13px;color:#e5e5e5;background:transparent;transition:color .2s,background .2s,border-color .2s}
.review-navigation svg{display:block;width:20px;height:20px;flex-shrink:0}
.review-navigation .review-prev{grid-column:1;grid-row:1;justify-self:start}
.review-navigation .review-next{grid-column:3;grid-row:1;justify-self:end}
.review-navigation button:hover{background:#f5f5f2;border-color:#f5f5f2;color:#090909}
.review-carousel-status{grid-column:2;grid-row:1;position:static;font-size:13px;font-variant-numeric:tabular-nums;letter-spacing:.14em;color:#ddd;margin:0;text-align:center;flex-basis:auto}
.review-dots{display:flex;justify-content:center;grid-column:1/-1;grid-row:2;gap:4px}
.review-dot{width:26px;height:28px;min-height:28px;position:relative}
.review-dot>span{width:16px;height:2px;border-radius:0;background:#4b4b4b;transition:background .2s,transform .3s}
.review-dot[aria-pressed=true]>span{background:#d7ff00;transform:scaleX(1.25)}
.reviews-section .section-head{align-items:flex-end;max-width:none}
.reviews-section .section-head>p{max-width:34ch;font-size:14px}
.main-service{gap:56px}
.service-detail dl{margin-top:25px}
.service-detail dl>div{padding-block:15px}
.service-detail .scope-note{line-height:1.85}
.process-section .section-head{top:112px}
.faq summary svg{flex-shrink:0}
@media(min-width:768px){.cinema-opening+#about+.work-section{padding-top:32px}.story-runway{height:400px}.opening-runway{height:calc(var(--scene-height) + 220px)}.work-section .section-head h2{max-width:18ch}.work-section .section-head>p{flex:0 1 34ch}.service-section{padding-block:80px}.process-section{padding-block:85px}.reviews-section,#main>.reviews-section{padding-block:80px}.faq-section{padding-bottom:80px}}
@media(min-width:768px) and (max-width:1023px){.work-section .section-head{gap:25px}.work-section .section-head>p{max-width:26ch;font-size:13px}.review-slide.is-visible,.review-slide.is-active{padding:32px;min-height:350px}}
@media(max-width:767px){
 .work-section .section-head{display:block;margin-bottom:22px}.work-section .section-head h2{font-size:32px}.work-section .section-head>p{font-size:13px;line-height:1.85;margin-top:16px;max-width:40ch}
 .work-toolbar{gap:8px;align-items:center;padding-bottom:10px}.work-toolbar .filters{gap:0;flex:1;min-width:0}.filters button{font-size:11px;padding:8px 9px}.work-toolbar .work-view-toggle{font-size:11px}.work-view-bar{display:flex}
 .work-theatre.is-cinematic{height:calc(100svh - 72px);min-height:525px;max-height:900px;padding-top:14px}
 .is-cinematic .project,.is-cinematic .project:nth-child(-n+2){grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:18px;padding:4px 0 12px}
 .is-cinematic .projects{height:calc(100% - 65px)}.is-cinematic .project-copy{align-self:start}
 .is-cinematic .project-line h3,.is-cinematic .project:nth-child(-n+2) .project-line h3{font-size:28px;line-height:1.3}
 .is-cinematic .project-line>span{font-size:12px;margin-top:6px}.is-cinematic .project-copy>p:not(.work-format){font-size:11px;margin-top:6px}
 .is-cinematic .project-feature .project-image{height:100%}.is-cinematic .project-image{border-radius:10px}.is-cinematic .work-format{display:none}
 .theatre-controls>div{gap:8px}.theatre-status{font-size:11px;max-width:43%}.theatre-prev,.theatre-next{width:44px;height:44px}.theatre-controls .work-view-toggle{font-size:10px;min-height:44px}
 .is-cinematic>.work-close{inset:14px 0 65px;padding:10px 0}.is-cinematic>.work-close p{font-size:28px}
 .review-slide.is-visible,.review-slide.is-active{padding:25px 23px 18px;min-height:345px;gap:0}
 .review-identity{gap:10px;padding-bottom:20px;align-items:flex-start}.review-identity>div:first-child{display:flex;flex-direction:column;gap:6px}.review-identity strong{font-size:15px}.review-identity>div>span{font-size:12px}
 .review-rating{gap:2px;margin-top:3px}.review-rating svg{width:11px;height:11px}.review-rating>span{font-size:11px!important;margin-left:4px}
 .review-slide figcaption{padding:23px 0 18px}.review-quote{font-size:19px;line-height:1.85;letter-spacing:-.015em}.review-full p{font-size:16px}.review-original{font-size:12px!important}
 .review-carousel-controls{padding-top:18px;gap:8px 16px}.review-navigation button{min-width:98px;height:46px;font-size:12px;padding:0 15px;gap:12px}.review-carousel-status{font-size:12px}.review-dots{gap:2px}.review-dot{width:28px;min-height:44px;height:44px}
 .reviews-section .section-head{margin-bottom:24px}.reviews-section .section-head>p{font-size:13px;margin-top:16px}.reviews-section h2{font-size:30px;line-height:1.4}
 .service-tray-controls{font-size:12px}.service-tray-controls button{width:44px;height:44px}.main-service{gap:24px}.service-lead{font-size:27px}
}
@media(prefers-reduced-motion:reduce){.opening-runway,.story-runway{height:auto}.motion-runtime .project,.motion-runtime .project-copy{will-change:auto}}
@media(min-width:768px){.work-theatre.is-cinematic{height:clamp(460px,calc(100svh - 300px),650px)}.is-cinematic .work-visual{align-items:flex-start;padding-top:8px}.is-cinematic .project-deck .project-image{align-self:flex-start}.reviews-section .section-head{display:flex;justify-content:space-between;gap:40px}.reviews-section .section-head>p{margin:0;flex:0 1 34ch}.review-carousel-controls{grid-template-columns:1fr 1fr 1fr}.review-carousel-status{justify-self:center}}
