/* Selected footer, shared by the site and its visual reference. */
.ape-footer-signature { position:relative; isolation:isolate; overflow:hidden; background:var(--ape-ink); color:var(--ape-on-dark); border-radius:0; }
.ape-footer-signature .ape-shell { width:min(var(--ape-content-width),calc(100% - var(--ape-shell-gutter))); margin-inline:auto; }
.ape-footer-signature .ape-footer-inner { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--ape-space-6); padding-block:28px; }
.ape-footer-brand { display:flex; align-items:center; gap:var(--ape-space-4); min-width:0; }
.ape-footer-logo { display:flex; flex-shrink:0; align-items:center; justify-content:center; width:66px; height:72px; background:var(--ape-surface); border-radius:22px 22px 28px 28px; }
.ape-footer-logo img { display:block; width:49px; height:58px; object-fit:contain; }
.ape-footer-brand strong { display:block; color:var(--ape-sky); font-size:var(--ape-type-lg); letter-spacing:-.02em; line-height:1.25; }
.ape-footer-brand p { margin:6px 0 0; color:var(--ape-line-strong); font-size:var(--ape-type-sm); }
.ape-footer-actions { display:flex; align-items:center; gap:var(--ape-space-3); }
.ape-footer-social { display:inline-flex; flex-shrink:0; align-items:center; justify-content:center; width:var(--ape-button-size); height:var(--ape-button-size); border-radius:var(--ape-radius-pill); background:var(--ape-sky); color:var(--ape-ink); text-decoration:none; }
.ape-footer-social-facebook { background:#0866ff; color:#fff; }
.ape-footer-social-instagram { background:linear-gradient(135deg,#6e2db8 0%,#a22d99 52%,#c13584 100%); color:#fff; }
.ape-footer-social svg { display:block; width:20px; height:20px; }
.ape-footer-social:hover,.ape-footer-social:focus-visible { background:var(--ape-peach-soft); }
.ape-footer-social-facebook:hover,.ape-footer-social-facebook:focus-visible { background:#0758d9; color:#fff; }
.ape-footer-social-instagram:hover,.ape-footer-social-instagram:focus-visible { background:linear-gradient(135deg,#5e239f 0%,#8e2187 52%,#a62870 100%); color:#fff; }
@media(prefers-reduced-motion:no-preference) {
  .ape-footer-contact { transition:transform 180ms ease-out,background-color 160ms ease-out,box-shadow 180ms ease-out; }
  .ape-footer-contact:focus-visible { transform:translateY(-2px); }
  @media(hover:hover) and (pointer:fine) {
    .ape-footer-contact:hover { transform:translateY(-2px); }
  }
  .ape-footer-social { transition:transform 180ms ease-out,background-color 160ms ease-out; }
  .ape-footer-social:focus-visible { transform:translateY(-2px); }
  .ape-footer-social:focus-visible svg { animation:ape-social-wave 360ms ease-out; }
  @media(hover:hover) and (pointer:fine) {
    .ape-footer-social:hover { transform:translateY(-2px); }
    .ape-footer-social:hover svg { animation:ape-social-wave 360ms ease-out; }
  }
  .ape-footer-social:active { transform:scale(.96); }
}
@keyframes ape-social-wave {
  0%,100% { transform:rotate(0); }
  35% { transform:rotate(-10deg); }
  65% { transform:rotate(5deg); }
}
.ape-footer-contact { display:inline-flex; align-items:center; justify-content:center; gap:10px; flex-shrink:0; min-height:var(--ape-button-size); padding:11px var(--ape-space-5); background:var(--ape-peach); color:var(--ape-ink); border-radius:var(--ape-radius-pill); font-size:var(--ape-type-sm); font-weight:800; text-decoration:none; }
.ape-footer-contact svg { width:18px; height:18px; flex-shrink:0; }
.ape-footer-contact:hover,.ape-footer-contact:focus-visible { background:var(--ape-peach-hover); box-shadow:0 8px 18px rgba(193,112,51,.2),0 0 0 4px rgba(247,178,112,.24); }
.ape-footer-signature .ape-footer-group { display:flex; align-items:flex-end; justify-content:center; gap:0; width:min(480px,calc(100% - var(--ape-shell-gutter))); height:96px; padding-top:16px; pointer-events:none; user-select:none; }
.ape-footer-mascot { display:block; flex:1 1 0; min-width:0; max-width:80px; aspect-ratio:9 / 8; overflow:hidden; }
.ape-footer-mascot img,.ape-footer-mascot .ape-mascot-art { display:block; width:100%; height:100%; transform:translateY(6px); transform-origin:50% 95%; animation:ape-footer-breathe var(--portrait-duration,9s) ease-in-out infinite; animation-delay:var(--portrait-delay,0s); }
.ape-footer-mascot .ape-mascot-eyes { animation:ape-footer-blink 11s linear infinite; animation-delay:var(--portrait-delay,0s); }
.ape-footer-mascot:nth-child(2) { --portrait-delay:-2.4s; --portrait-duration:10s; }
.ape-footer-mascot:nth-child(3) { --portrait-delay:-5.1s; --portrait-duration:8.5s; }
.ape-footer-mascot:nth-child(4) { --portrait-delay:-1.3s; --portrait-duration:9.5s; }
.ape-footer-mascot:nth-child(5) { --portrait-delay:-6.2s; --portrait-duration:10.5s; }
.ape-footer-mascot:nth-child(6) { --portrait-delay:-3.8s; --portrait-duration:8.8s; }
@keyframes ape-footer-breathe { 0%,100% { transform:translateY(6px) rotate(0); } 35% { transform:translateY(4.8px) rotate(.5deg); } 70% { transform:translateY(5.4px) rotate(-.35deg); } }
@keyframes ape-footer-blink { 0%,93%,97%,100% { transform:scaleY(1); } 95% { transform:scaleY(.12); } }
.ape-footer-bottom { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px var(--ape-space-5); border-top:1px solid #ffffff21; padding-block:var(--ape-space-2); }
.ape-footer-bottom small { color:var(--ape-line); font-size:var(--ape-type-xs); }
.ape-footer-signature .ape-footer-links { display:flex; flex-wrap:wrap; align-items:center; gap:4px var(--ape-space-6); color:var(--ape-on-ink); font-size:var(--ape-type-sm); font-weight:600; }
.ape-footer-signature .ape-footer-links a { display:inline-flex; align-items:center; min-height:var(--ape-action-min-size); text-decoration-line:underline; text-decoration-style:dotted; text-decoration-color:var(--ape-line-strong); text-decoration-thickness:1px; text-underline-offset:6px; }
.ape-footer-signature .ape-footer-links a:hover { color:var(--ape-on-dark); text-decoration-style:solid; }
.ape-footer-signature a:focus-visible { outline:var(--ape-focus-width) solid var(--ape-peach); outline-offset:var(--ape-focus-offset); border-radius:4px; }
.ape-footer-signature .ape-footer-social:focus-visible { border-radius:var(--ape-radius-pill); }
@media(max-width:720px) {
  .ape-footer-signature { border-radius:var(--ape-radius-card) var(--ape-radius-card) 0 0; }
  .ape-footer-signature .ape-shell { width:calc(100% - 32px); }
  .ape-footer-signature .ape-footer-inner { flex-direction:column; align-items:flex-start; gap:var(--ape-space-5); padding-block:var(--ape-space-6); }
  .ape-footer-brand strong { font-size:var(--ape-type-body); }
  .ape-footer-brand p { font-size:var(--ape-type-sm); }
  .ape-footer-actions { width:100%; }
  .ape-footer-actions .ape-footer-contact { flex:1; min-width:0; }
  .ape-footer-contact { width:100%; }
  .ape-footer-bottom { flex-direction:column; align-items:flex-start; gap:4px; }
  .ape-footer-signature .ape-footer-group { width:calc(100% - 32px); height:72px; }
}
@media(prefers-reduced-motion:reduce) {
  .ape-footer-mascot img,.ape-footer-mascot .ape-mascot-art,.ape-footer-mascot .ape-mascot-eyes { animation:none!important; }
}
