/* Film-lit contact and a softly feathered closing card. */
:is(.studio-home,.service-page) .contact {
  position: relative; isolation: isolate;
  background: var(--ink) url('footer-film-texture-v11.webp') center / cover no-repeat;
  padding-top: clamp(80px,9vw,145px);
  padding-bottom: clamp(210px,22vw,310px);
}
:is(.studio-home,.service-page) .contact::before {
  content: ''; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(180deg,color-mix(in srgb,var(--ink) 25.098%,transparent),color-mix(in srgb,var(--ink) 21.9608%,transparent) 55%,var(--ink));
}
:is(.studio-home,.service-page) .contact__bottom { border-color: color-mix(in srgb,var(--mist) 21.1765%,transparent); }
:is(.studio-home,.service-page) .contact__bottom p { color: color-mix(in srgb,var(--mist) 50%,var(--frost)); }
.cinematic-footer {
  position: relative; z-index: 5; isolation: isolate; margin-top: -70px;
  padding: 0 clamp(12px,3vw,50px) 24px; color: var(--frost);
  background: var(--ink);
}
.film-card {
  position: relative; isolation: isolate; overflow: hidden;
  min-height: clamp(540px,45vw,750px); max-width: 1740px; margin: 0 auto;
  padding: clamp(65px,6.5vw,108px) 30px 70px;
  display: flex; align-items: center; flex-direction: column; justify-content: center;
  text-align: center; background: var(--ink) url('footer-film-texture-v11.webp') center / cover no-repeat;
  transform: translate3d(0,var(--footer-pull,0px),0);
  mask-image: linear-gradient(90deg,transparent,var(--black) 5%,var(--black) 95%,transparent),linear-gradient(180deg,transparent,var(--black) 8%,var(--black) 92%,transparent);
  mask-composite: intersect;
}
.film-card::before {
  content: ''; position: absolute; inset: -5%; z-index: -1; pointer-events: none; opacity: .06;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23g)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");
  animation: film-grain 1.1s steps(1,end) infinite; animation-play-state: paused;
}
.film-card.ending-visible::before { animation-play-state: running; }
.film-mark { color: var(--frost); font: 600 clamp(13px,1.3vw,19px)/1.5 var(--body),sans-serif; letter-spacing: .34em; text-decoration: none; }
.film-title { margin: clamp(32px,4.2vw,70px) 0 0; max-width: 25ch; color: var(--frost); font: 700 clamp(26px,3.8vw,62px)/1.25 var(--display),sans-serif; letter-spacing: .075em; text-transform: uppercase; text-wrap: balance; }
.film-founder { margin: clamp(26px,3vw,48px) 0 0; font: 500 13px/1.6 var(--body),sans-serif; text-transform: uppercase; letter-spacing: .24em; color: color-mix(in srgb,var(--mist) 50%,var(--frost)); }
.film-founder strong { display: block; margin-top: 13px; font: 600 clamp(20px,2.4vw,38px)/1.35 var(--display),sans-serif; letter-spacing: .12em; color: var(--frost); }
.film-nav { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px clamp(20px,4vw,66px); margin-top: clamp(40px,4.8vw,78px); }
.film-nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 3px; color: color-mix(in srgb,var(--mist) 15%,var(--frost)); font: 600 clamp(12px,1.1vw,16px)/1.4 var(--body),sans-serif; letter-spacing: .2em; text-transform: uppercase; text-decoration: none; transition: color .3s ease,text-shadow .3s ease; }
.film-nav a:is(:hover,:focus-visible) { color: var(--mist); text-shadow: 0 0 15px color-mix(in srgb,var(--mist) 33.3333%,transparent); }
.film-copyright { margin: 35px 0 0; font: 500 11px/1.6 var(--body),sans-serif; letter-spacing: .16em; color: color-mix(in srgb,var(--mist) 85%,var(--frost)); }
.film-bottom { display: flex; justify-content: space-between; gap: 20px; max-width: 1740px; margin: -35px auto 0; position: relative; }
.film-bottom a { min-height: 44px; display: inline-flex; align-items: center; color: color-mix(in srgb,var(--mist) 85%,var(--frost)); font: 500 12px/1.5 var(--body),sans-serif; text-underline-offset: 5px; }
@keyframes film-grain {
  0%,100% { transform: translate(0,0); }
  20% { transform: translate(-1.2%,.8%); }
  40% { transform: translate(.8%,-1%); }
  60% { transform: translate(-.6%,-.4%); }
  80% { transform: translate(1%,.6%); }
}
@media(max-width:720px) {
  :is(.studio-home,.service-page) .contact { padding-bottom: 220px; background-size: 100% 100%; }
  .film-card { min-height: 600px; padding-inline: 25px; padding-block: 70px; background-size: 100% 100%; }
  .film-mark { letter-spacing: .22em; }
  .film-title { letter-spacing: .04em; }
  .film-founder strong { letter-spacing: .06em; }
  .film-nav { gap: 10px 24px; }
  .film-bottom { margin-top: -10px; }
}
@media(prefers-reduced-motion:reduce) {
  .film-card { transform: none!important; }
  .film-card::before { animation: none!important; }
  .film-nav a { transition: none; }
}

/* Shared social profile link: same quiet navigation interaction. */
.cinematic-footer .film-nav > .film-linkedin { justify-content:center; width:44px; min-height:44px; padding:10px; letter-spacing:0; flex:none; }
.film-linkedin svg { display:block; width:22px; height:22px; flex:none; }
.cinematic-footer .film-nav > .film-linkedin:focus-visible { outline:2px solid var(--coral); outline-offset:4px; }
