/* Remint footer (every page). Owner: builder A2. Uses base.css tokens. */
.footer{position:relative;padding-top:clamp(56px,7vw,100px);overflow:hidden}
.footer__top{display:grid;gap:clamp(34px,5vw,60px)}
.footer .wordmark{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:24px;font-weight:800;font-stretch:112%;letter-spacing:-.03em;line-height:1;color:#fff;text-decoration:none}
.footer .wordmark img{width:34px;height:34px}
.footer__about{max-width:38ch;margin-top:18px;color:var(--fg-muted)}
.footer__contact{display:grid;gap:2px;margin:20px 0 0;padding:0;list-style:none}
.footer__c{display:flex;align-items:center;gap:12px;min-height:44px;color:var(--fg-muted)}
.footer__c .ico{color:var(--mint)}
.footer__c a{display:inline-flex;align-items:center;min-height:44px;color:#fff;text-decoration:none;overflow-wrap:anywhere}
.footer__c a:hover{text-decoration:underline}
.footer__nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 20px}
.footer__h{margin:0 0 8px;color:var(--fg-muted)}
.footer__col ul{margin:0;padding:0;list-style:none}
.footer__col a{display:flex;align-items:center;min-height:44px;color:#fff;font-weight:520;text-decoration:none;transition:color .2s}
.footer__col a:hover{color:var(--mint)}
.footer__bottom{display:flex;flex-wrap:wrap;gap:6px 28px;margin-top:clamp(36px,5vw,68px);padding-top:22px;border-top:1px solid var(--line);font-size:var(--step--1);color:var(--fg-muted)}
.footer__bottom p{margin:0}
.footer__legal{flex:1 1 100%}

/* giant wordmark, cropped by the bottom edge */
.footer__giant{container-type:inline-size;margin-top:clamp(26px,4vw,54px);padding-inline:var(--gutter);overflow:hidden;user-select:none}
.footer__giant-in{display:flex;justify-content:center;font-size:28vw;font-size:30.4cqi;font-weight:800;font-stretch:112%;letter-spacing:-.03em;line-height:.8;height:.66em;overflow:hidden;color:var(--ink-3)}
.footer__giant-in span{display:block;transition:color .3s,transform .5s var(--ease-out)}
html.motion .footer__giant.reveal{opacity:1;transform:none}
html.motion .footer__giant.reveal:not(.in) span{transform:translateY(105%)}
html.motion .footer__giant.reveal.in span{transition:color .3s,transform .9s var(--ease-out) calc(var(--i)*70ms)}
@media (hover:hover) and (pointer:fine){
  .footer__giant-in span:hover{color:var(--mint)}
}
@media (min-width:560px){.footer__nav{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:900px){
  .footer__top{grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(40px,6vw,120px)}
  .footer .wordmark{font-size:28px}
  .footer__legal{flex:0 1 auto;margin-left:auto}
}
