/* Work-first opening and complete, uncropped film imagery. */
.opening-line{display:block}
.opening h1{font-size:clamp(48px,6.6vw,96px);line-height:1.02;letter-spacing:-.05em}
.opening-line>p{margin-top:24px;max-width:52ch;padding-bottom:0;font-size:18px}
.work-index{font-size:14px}
.film-screen.trailer-screen{aspect-ratio:16/9;min-height:200px;background:#0d1013}
.trailer-player{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;border-radius:inherit}
.trailer-player:focus-visible{outline:3px solid var(--sc-accent);outline-offset:-3px}
.trailer-launch{position:absolute;inset:0;display:block;border-radius:inherit}
.trailer-launch>img{width:100%;height:100%;object-fit:contain}
.trailer-launch:focus-visible{outline:3px solid var(--sc-accent);outline-offset:-5px}
.header .nav-contact{border-color:transparent;transition:border-color .22s ease,background .22s ease}
.header .nav-contact:hover,.header .nav-contact:focus-visible{border-color:#74657d80;background:#74657d0c}
.trailer-play{position:absolute;left:50%;top:50%;display:flex;align-items:center;justify-content:center;min-width:112px;padding:16px 30px;border:1px solid #ffffff85;border-radius:100px;background:linear-gradient(145deg,#ffffff35,#ffffff0d 52%,#ffffff26);color:#fff;font-size:17px;font-weight:500;white-space:nowrap;opacity:1;transform:translate(-50%,-50%);transition:opacity .22s cubic-bezier(.2,.8,.2,1),transform .28s cubic-bezier(.2,.8,.2,1);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);box-shadow:inset 0 1px 1px #ffffff8c,inset 0 -1px 8px #ffffff18,0 12px 32px #0005;text-shadow:0 1px 5px #000b}
.trailer-play svg{width:24px;height:24px}
.trailer-launch:active .trailer-play{transform:translate(-50%,-50%) scale(.97)}
/* Touch visitors tap the full thumbnail; glass labels are reserved for desktop hover. */
@media(max-width:700px),(hover:none),(pointer:coarse){
  .trailer-play{display:none}
}
@media(min-width:701px) and (hover:hover) and (pointer:fine){
  .trailer-play{opacity:0;transform:translate(-50%,-45%)}
  .trailer-launch:hover .trailer-play,.trailer-launch:focus-visible .trailer-play,.local-film-launch:hover .trailer-play,.local-film-launch:focus-visible .trailer-play{opacity:1;transform:translate(-50%,-50%)}
  .project-details>summary{opacity:0;transform:translateY(4px);transition:opacity .2s ease,transform .2s ease,color .2s ease}
  .feature:hover .project-details>summary,.feature:focus-within .project-details>summary,.project-details[open]>summary{opacity:1;transform:none}
}
.feature-label{display:block;padding-top:30px;padding-bottom:64px}
.feature-heading .recognition{margin:14px 0 22px;font-size:16px;line-height:1.5}
.project-details>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;list-style:none;width:fit-content;min-height:46px;padding:10px 0;border:0;background:transparent;color:#d3c4db;font-size:15px;cursor:pointer}
.project-details>summary::-webkit-details-marker{display:none}
.project-details>summary:hover{color:#fff;background:transparent}
.project-details>summary:focus-visible{outline:3px solid var(--sc-accent);outline-offset:5px}
.project-details>summary:active{color:#dda8eb}
.project-details>summary span{font-size:22px;line-height:1;transition:transform .18s ease-out}
.project-details[open]>summary span{transform:rotate(45deg)}
.project-details-copy{max-width:680px;padding-top:26px}
.project-details-copy .project-description{max-width:56ch;margin-top:10px;margin-bottom:23px}
.project-details[open] .project-details-copy{animation:project-copy-in .2s ease-out}
@keyframes project-copy-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.capabilities>h2#capabilities-title{font-size:clamp(36px,4.6vw,66px);max-width:27ch;line-height:1.12}
.contact .contact-line{padding-top:8px}
.contact .brand-invitation{display:block;width:fit-content;max-width:100%;min-height:56px;white-space:normal;text-wrap:balance;border:1px solid #896698;border-radius:100px;background:#ffffff1a;padding:20px 28px;font-size:clamp(19px,2.2vw,30px);line-height:1.35;text-align:left}
.contact .brand-invitation:hover{background:#f1e4f5}
.contact .brand-invitation:focus-visible{outline:3px solid #442050;outline-offset:6px}
.contact .brand-invitation:active{background:#c9a7d7}
.contact .contact-note{font-size:16px}
@media(prefers-reduced-motion:reduce){.trailer-play,.project-details>summary,.project-details>summary span{transition:none}.project-details[open] .project-details-copy{animation:none}}
.portrait-project{align-items:center;grid-template-columns:1fr 1fr}
.supporting-media{display:flex;justify-content:center;min-width:0}
.music-video .trailer-screen{width:100%}
.project-video{display:block;width:min(100%,340px);height:auto;aspect-ratio:480/848;object-fit:contain;border-radius:28px;background:#0d1013;box-shadow:0 22px 65px #05080b55}
.project-video:focus-visible{outline:3px solid var(--sc-accent);outline-offset:6px}
.local-film{position:relative;width:min(100%,340px);border-radius:28px;overflow:hidden}
.local-film .project-video{width:100%}
.local-film-launch{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:inherit;background:transparent;cursor:pointer}
.local-film-launch[hidden]{display:none}
.local-film-launch:focus-visible{outline:3px solid var(--sc-accent);outline-offset:-4px}
.portrait-project .support-copy{padding-top:0}
.portrait-project .project-type{font-size:14px}
@media(max-width:700px){
  .opening h1{font-size:clamp(37px,8.8vw,60px)}
  .opening-line>p{font-size:16px;margin-top:20px;max-width:36ch}
  .portrait-project{grid-template-columns:1fr;gap:28px}
  .project-video{width:min(100%,310px);border-radius:22px}
}
