/* Reference-style Home footer: generous brand space, navigation to the right,
   copyright/social row, then existing SPA information below one fine rule. */
.contact-footer-scene>footer.home-footer-layout{
  background:rgba(5,5,5,var(--footer-glass-alpha,1));color:#fff;border-top:0;text-shadow:none;
  -webkit-backdrop-filter:none;backdrop-filter:none;
  padding:clamp(64px,6vw,100px) var(--section-right) 48px var(--page-left);
}
.home-footer-layout .footer-main{
  display:grid;grid-template-columns:minmax(160px,.85fr) minmax(0,1.5fr);
  gap:clamp(40px,6vw,110px);min-height:0;padding:0;border:0;align-items:start;
}
.home-footer-layout .footer-identity{grid-column:auto;display:block}
.home-footer-layout .footer-identity .brand{width:var(--spa-footer-logo-width,100px);max-width:100%;margin:0;transform:none}
.home-footer-layout .footer-identity .brand img{display:block;width:100%;height:auto;filter:brightness(0) invert(1)}
.home-footer-layout .footer-nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,2.5vw,48px);font-size:14px;line-height:1.5}
.home-footer-layout .footer-nav>div{gap:10px}
.contact-footer-scene .home-footer-layout .footer-nav .footer-nav-title{margin-bottom:10px;color:#999;font-size:12px;font-weight:400;line-height:1.5}
.contact-footer-scene .home-footer-layout .footer-nav a{color:#f5f5f5}
.home-footer-layout .footer-meta{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:64px;padding-bottom:36px;color:#aaa;font-size:12px;line-height:1.5}
.contact-footer-scene .home-footer-layout .social-links{margin:0;color:#aaa}
.home-footer-layout .social-links a{display:grid;place-items:center;width:28px;height:28px;border:1px solid #777;border-radius:50%;font-size:16px}
.home-footer-layout .footer-information{display:grid;grid-template-columns:1.2fr 1.2fr 1fr;gap:24px 48px;border-top:1px solid #424242;padding-top:32px;color:#aaa;font-size:12px;line-height:1.8}
.contact-footer-scene .home-footer-layout .footer-address{width:var(--spa-footer-text-width,100%);max-width:100%;color:inherit;font-size:inherit;line-height:inherit}
.home-footer-layout .footer-information p{margin:0}
.contact-footer-scene .home-footer-layout .footer-legal{margin:0!important;color:inherit;font-size:inherit;line-height:inherit!important}
.home-footer-layout .footer-information a{color:inherit;text-decoration:none}
/* Match navigation: sweep in from the left and retreat to the right.
   Size each rule to its label without changing the column or moving text. */
.home-footer-layout :is(.footer-nav,.footer-information) a{
  position:relative;display:inline-block;align-self:flex-start;width:fit-content;max-width:100%;text-decoration:none;
}
.home-footer-layout :is(.footer-nav,.footer-information) a::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:currentColor;pointer-events:none;
  transform:scaleX(0);transform-origin:right center;transition:transform .38s cubic-bezier(.22,1,.36,1);
}
.home-footer-layout :is(.footer-nav,.footer-information) a:is(:hover,:focus-visible)::after{
  transform:scaleX(1);transform-origin:left center;
}
@media(prefers-reduced-motion:reduce){
  .home-footer-layout :is(.footer-nav,.footer-information) a::after{transition:none}
}
.home-footer-layout a:focus-visible{outline:2px solid #fff;outline-offset:5px}
@media(max-width:1100px){
  .home-footer-layout .footer-main{grid-template-columns:minmax(130px,.6fr) minmax(0,1.5fr);gap:36px}
  .home-footer-layout .footer-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
}
@media(max-width:600px){
  .contact-footer-scene>footer.home-footer-layout{padding:56px 24px 36px}
  .home-footer-layout .footer-main{grid-template-columns:1fr;gap:40px}
  .home-footer-layout .footer-identity .brand{width:var(--spa-footer-logo-width,100px)}
  .home-footer-layout .footer-meta{margin-top:40px;padding-bottom:28px}
  .home-footer-layout .footer-information{grid-template-columns:1fr;gap:24px;padding-top:28px}
}
