/* Shared closing composition, media cues and Studio editorial refinement. */
.media-direction { display:inline-block; flex:none; font: 10px/1 Arial,sans-serif; letter-spacing:-3px; padding-right:3px; vertical-align:middle; }
.cinematic-footer--compact { margin-top:0; --footer-feather:0px; }
.cinematic-footer--compact .film-card { min-height:520px; padding-block:64px; gap:0; }
.cinematic-footer--compact .film-title { font-size:clamp(24px,3.2vw,46px); margin-block:25px; }
.cinematic-footer--compact .film-founder strong { font-size:clamp(23px,2.6vw,36px); }
.cinematic-footer--compact .film-mark img { width:clamp(135px,14vw,200px); }
.cinematic-footer--compact .film-nav { flex-wrap:wrap; justify-content:center; }
.studio-hero--vhs { max-width:none; background:var(--ink) url('footer-vhs-credits-v20.webp') center/cover; color:var(--frost); overflow:hidden; }
.studio-hero--vhs::after { content:''; position:absolute; inset:0; pointer-events:none; z-index:-1; opacity:.1; background:repeating-linear-gradient(0deg,transparent 0 3px,var(--mist) 4px,transparent 5px); }
.studio-hero--vhs p { color:var(--text-muted-dark); }
.studio-hero--vhs h1 { color:var(--frost); }
.studio-hero--vhs h1 em { color:var(--coral); }
.studio-hero--vhs .studio-hero__portrait img { filter:drop-shadow(0 0 28px color-mix(in srgb,var(--mist) 12%,transparent)); }
.studio-art .studio-desk-pair { display:block; }
.studio-artwork { margin:0; }
.studio-artwork img { width:100%; height:auto; aspect-ratio:1.4; object-fit:cover; object-position:right center; border-radius:6px; }
.studio-artwork figcaption { color:var(--text-muted-dark); line-height:1.5; }
.studio-client-grid > a { overflow:hidden; }
.studio-client-grid > a > img { display:block; width:100%; height:auto; aspect-ratio:2; object-fit:cover; object-position:top; border-radius:4px; margin-bottom:24px; }
.studio-client-grid > a > span { text-decoration:none; }
.studio-principles .studio-service-links { flex-wrap:wrap; }
/* The homepage keeps its three curated case cards inside the restored player. */
.selected-player .portfolio-grid { display:flex; gap:24px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding:4px 4px 12px; scroll-padding:4px; }
.selected-player .portfolio-grid::-webkit-scrollbar { display:none; }
.selected-player .portfolio-card { flex:0 0 40%; scroll-snap-align:start; }
.selected-player .portfolio-card__link { height:100%; }
.selected-player .portfolio-card__copy { flex:1; }
@media(max-width:1000px) { .selected-player .portfolio-card { flex-basis:calc(50% - 12px); max-width:none!important; } }
@media(max-width:600px) { .selected-player .portfolio-card { flex-basis:90%; } .cinematic-footer--compact .film-card { min-height:500px; } }
.studio-inner .studio-hero--vhs h1 em { color:var(--coral); }
.studio-inner .studio-hero--vhs .shiny-button--outline { color:var(--frost); border-color:color-mix(in srgb,var(--mist) 55%,transparent); }
.studio-inner #contact { background:#111720; }
.studio-inner #contact .contact__title { color:var(--frost); }
.studio-inner #contact .contact__title em { color:var(--coral); }
.studio-art .studio-desk-pair .studio-artwork { display:block; }
.case-nav__sequence .media-direction { display:inline-block; }
.media-direction { margin-inline:5px; }
@media(max-width:1000px) { .studio-hero--vhs { padding-top:112px; } }
/* V42: quiet link cues, secondary icon controls and a truly compact footer. */
.link-play { display:inline-flex; align-items:center; justify-content:center; flex:none; width:16px; height:16px; margin-inline-start:8px; vertical-align:middle; line-height:0; opacity:0; transform:translateX(-3px); transition:opacity .25s ease,transform .3s ease; pointer-events:none; }
/* Inline flex boxes otherwise sit on the text baseline, lifting the triangle.
   Center the label and cue together, including the nested Studio card labels. */
a:has(> .link-play), .content-link-menu .content-link--menu:has(> .link-play),
.studio-use-case__copy > span:has(> .link-play) {
 display:inline-flex; align-items:center;
}
.link-play svg { display:block; width:14px; height:14px; }
a:is(:hover,:focus-visible) .link-play { opacity:1; transform:none; }
.portfolio-card__action .link-play { margin-inline-start:auto; }
:is(#inquiryDialog .dialog__close,.portfolio-lightbox .lightbox__close,.portfolio-more__toggle).secondary-icon-control {
 display:inline-grid; place-items:center; flex:none; width:48px; height:48px; min-width:48px; min-height:48px;
 padding:0; border-radius:50%; border:1px solid color-mix(in srgb,var(--storm) 28%,transparent);
 color:var(--reading); background:var(--secondary-surface); font-size:0;
 box-shadow:inset 0 2px 2px color-mix(in srgb,var(--white) 72%,transparent),inset 0 -2px 3px color-mix(in srgb,var(--ink) 16%,transparent),0 2px 5px color-mix(in srgb,var(--ink) 10%,transparent);
 transition:background .25s ease,box-shadow .25s ease,transform .3s ease;
}
.portfolio-more__toggle,.portfolio-lightbox .lightbox__close { position:relative; }
.secondary-icon-control::before,.secondary-icon-control::after { content:''; position:absolute; top:50%; left:50%; width:16px; height:1.5px; margin:0; background:currentColor; border:0; border-radius:2px; transform:translate(-50%,-50%); }
.secondary-icon-control::after { transform:translate(-50%,-50%) rotate(90deg); }
.dialog__close.secondary-icon-control::before,.lightbox__close.secondary-icon-control::before { transform:translate(-50%,-50%) rotate(45deg); }
.dialog__close.secondary-icon-control::after,.lightbox__close.secondary-icon-control::after { transform:translate(-50%,-50%) rotate(135deg); }
:is(#inquiryDialog .dialog__close,.portfolio-lightbox .lightbox__close).secondary-icon-control:is(:hover,:focus-visible),
.portfolio-more > summary:is(:hover,:focus-visible) .secondary-icon-control { background:var(--secondary-surface); box-shadow:inset 0 2px 4px color-mix(in srgb,var(--ink) 15%,transparent),inset 0 -1px 1px color-mix(in srgb,var(--white) 55%,transparent); }
:is(#inquiryDialog .dialog__close,.portfolio-lightbox .lightbox__close).secondary-icon-control:active,
.portfolio-more > summary:active .secondary-icon-control { background:var(--secondary-pressed); box-shadow:inset 0 3px 7px color-mix(in srgb,var(--ink) 25%,transparent); }
.secondary-icon-control:focus-visible { outline:2px solid var(--focus); outline-offset:4px; }
.portfolio-more > summary { border-radius:8px; }
.portfolio-more > summary:focus-visible { outline:2px solid var(--focus); outline-offset:6px; }
.portfolio-lightbox .lightbox__close.secondary-icon-control { color:var(--frost); border-color:var(--mist); }
.cinematic-footer.cinematic-footer--compact { min-height:0; padding:0; }
.cinematic-footer--compact .film-card { min-height:0; padding:48px var(--page-edge) 40px; }
.cinematic-footer--compact .film-mark img { width:120px; }
.cinematic-footer--compact .film-title { margin:24px 0 0; font-size:clamp(25px,3vw,40px); }
.cinematic-footer--compact .film-founder { margin-top:24px; }
.cinematic-footer--compact .film-founder strong { font-size:clamp(24px,2.5vw,34px); margin-top:8px; text-shadow:none; }
.cinematic-footer--compact .film-nav { margin-top:28px; }
.cinematic-footer--compact .film-nav a { font-size:14px; }
.cinematic-footer--compact .film-copyright { margin-top:20px; }
@media(prefers-reduced-motion:reduce) { .link-play,.secondary-icon-control { transition:none!important; } .link-play { transform:none; } }
/* Brushed silver with soft reflections around the inquiry form. */
#inquiryDialog {
 color-scheme:light; color:var(--ink); background:var(--frost);
 border:0; border-radius:16px;
 box-shadow:0 24px 70px color-mix(in srgb,var(--ink) 55%,transparent),
  0 8px 24px color-mix(in srgb,var(--storm) 42%,transparent);
}
#inquiryDialog::backdrop { background:color-mix(in srgb,var(--ink) 76%,transparent); backdrop-filter:blur(9px) saturate(.7); }
#inquiryDialog .dialog__inside {
 border-radius:inherit;
 background:
  repeating-linear-gradient(0deg,color-mix(in srgb,var(--storm) 3%,transparent) 0 1px,transparent 1px 3px),
  radial-gradient(ellipse at 10% 0%,color-mix(in srgb,var(--white) 82%,transparent),transparent 58%),
  linear-gradient(125deg,transparent 21%,color-mix(in srgb,var(--white) 74%,transparent) 41%,transparent 63%),
  linear-gradient(150deg,var(--frost),color-mix(in srgb,var(--mist) 57%,var(--frost)) 63%,var(--frost));
 box-shadow:inset 0 2px 6px color-mix(in srgb,var(--white) 88%,transparent),
  inset 0 -8px 20px color-mix(in srgb,var(--storm) 13%,transparent);
}
#inquiryDialog .dialog__title { color:var(--ink); text-shadow:none; }
#inquiryDialog :is(.dialog__copy,.dialog__hint,.inquiry-privacy,.inquiry-status) { color:var(--reading); }
#inquiryDialog .dialog__inside a { color:var(--reading); }
#inquiryDialog .dialog__inside a:is(:hover,:focus-visible) { color:var(--lacquer); }
#inquiryDialog .dialog__inside a.inquiry-email { color:var(--coral); }
#inquiryDialog .inquiry-privacy a { text-decoration:underline; }
#inquiryDialog .inquiry-form label { color:var(--ink); }
#inquiryDialog :is(input,textarea) {
 color:var(--ink); background:color-mix(in srgb,var(--white) 76%,var(--frost));
 border:0; border-radius:8px;
 padding:12px 14px; box-shadow:inset 0 2px 5px color-mix(in srgb,var(--storm) 12%,transparent),0 1px 0 var(--white);
 caret-color:var(--lacquer); accent-color:var(--storm);
}
#inquiryDialog :is(input,textarea)::placeholder { color:var(--storm); opacity:1; }
#inquiryDialog :is(input,textarea):focus {
 outline:2px solid color-mix(in srgb,var(--coral) 50%,transparent); outline-offset:1px;
}
#inquiryDialog input:autofill { -webkit-text-fill-color:var(--ink); box-shadow:inset 0 0 0 1000px var(--frost); }
#inquiryDialog .dialog__close.secondary-icon-control {
 width:44px; height:44px; min-width:44px; min-height:44px; padding:6px; border:0;
}
#inquiryDialog .dialog__close.secondary-icon-control::before,
#inquiryDialog .dialog__close.secondary-icon-control::after { width:13px; }
#inquiryDialog .dialog__close.secondary-icon-control:is(:hover,:focus-visible) {
 transform:translateY(1px);
}
#inquiryDialog .dialog__close.secondary-icon-control:is(:active,.is-fully-pressed) {
 background:var(--secondary-pressed); transform:translateY(2px) scale(.97);
}
#inquiryDialog .dialog__close.secondary-icon-control,
#inquiryDialog .dialog__close.secondary-icon-control:is(:hover,:focus-visible,:active,.is-fully-pressed) {
 background-clip:content-box; box-shadow:none;
}
#inquiryDialog .dialog__close.secondary-icon-control:focus-visible { outline-offset:-4px; }
#inquiryDialog .inquiry-output .shiny-button--outline {
 color:var(--ink); border-color:color-mix(in srgb,var(--storm) 55%,transparent);
}
