/* Glass reservado para llamadas a contacto y la excepción «Volver al inicio».
   El menú, los enlaces de sección y las listas del footer mantienen su diseño. */
:root { --control-glass-fill:rgba(17,13,29,.5); --control-radius:13px; }
.site-header .project-link,
.audiovisual-page :is(.av-link,.av-format-contact),.contact-cta,
.global-footer :is(.footer-mail,.footer-advice,.footer-back-top) {
 position:relative; isolation:isolate; display:inline-flex; align-items:center; justify-content:center;
 gap:12px; min-height:44px; max-width:100%; padding:11px 16px; box-sizing:border-box;
 border:1px solid rgba(255,246,224,.2); border-radius:var(--control-radius);
 color:var(--cream); background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.015) 65%),var(--control-glass-fill);
 -webkit-backdrop-filter:blur(16px) saturate(1.35); backdrop-filter:blur(16px) saturate(1.35);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 7px 22px rgba(0,0,0,.2);
 text-decoration:none; text-shadow:0 1px 8px rgba(0,0,0,.3);
 transition:border-color .2s,box-shadow .2s,background-color .2s,transform .2s;
}
@supports ((mask-composite:exclude) or (-webkit-mask-composite:xor)) {
 .site-header .project-link::before,
 .audiovisual-page :is(.av-link,.av-format-contact)::before,.contact-cta::before,
 .global-footer :is(.footer-mail,.footer-advice,.footer-back-top)::before {
  content:""; position:absolute; inset:-1px; padding:1px; border-radius:inherit; pointer-events:none;
  background:linear-gradient(110deg,var(--blue),var(--violet) 28%,var(--pink) 55%,var(--orange) 78%,var(--amber)); opacity:.6;
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
 }
}
.site-header .project-link:hover,
.audiovisual-page :is(.av-link,.av-format-contact):hover,.contact-cta:hover,
.global-footer :is(.footer-mail,.footer-advice,.footer-back-top):hover {
 color:var(--cream); border-color:rgba(255,246,224,.4); background-color:rgba(50,26,66,.68);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 10px 30px rgba(106,0,255,.2),0 0 18px rgba(255,46,138,.1);
 transform:translateY(-2px);
}
.site-header .project-link:focus-visible,
.audiovisual-page :is(.av-link,.av-format-contact):focus-visible,.contact-cta:focus-visible,
.global-footer :is(.footer-mail,.footer-advice,.footer-back-top):focus-visible {
 outline:3px solid var(--cream); outline-offset:4px;
}
.site-header .project-link,.audiovisual-page .av-link--primary,.contact-cta--primary,.global-footer .footer-advice {
 --control-glass-fill:rgba(32,20,49,.6); border-color:rgba(255,246,224,.28);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.17),0 8px 27px rgba(106,0,255,.16);
}
.site-header .project-link { letter-spacing:.12em; }
.audiovisual-page .av-link { padding:14px 19px; min-height:54px; }
.audiovisual-page .av-format-contact { width:max-content; margin-top:22px; padding:11px 16px; font-size:12px; font-weight:600; }
.global-footer .footer-mail { padding:12px 17px; letter-spacing:.025em; }
.global-footer .footer-advice { padding:12px 16px; }
.global-footer .footer-back-top { min-height:38px; padding:8px 12px; letter-spacing:.1em; }
@media (max-width:1050px) {
 .site-header .project-link { display:none; }
}
@media (max-width:820px) {
 .global-footer .footer-mail,.global-footer .footer-advice { margin-left:0; }
}
@media (max-width:520px) {
 .audiovisual-page .av-link { min-height:53px; padding:13px 16px; }
 .global-footer .footer-mail { font-size:12px; padding:11px 13px; }
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
 :root { --control-glass-fill:rgba(20,15,32,.94); }
}
@media (prefers-reduced-motion:reduce) {
 .site-header .project-link,
 .audiovisual-page :is(.av-link,.av-format-contact),.contact-cta,
 .global-footer :is(.footer-mail,.footer-advice,.footer-back-top) { transition:none; transform:none; }
}

