/* Footer, every page (2026-10-30, HOME-NEKO-SPEC.md section 12). A tall pale panel with one line and one button, then the links; its
   rounded bottom corners sit over the navy base. Newsreader and Plex live here because this is the one piece every page shares. */
@font-face{font-family:"Newsreader";src:url("/fonts/newsreader-display-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("/fonts/ibm-plex-sans-latin-300-normal.woff2") format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("/fonts/ibm-plex-sans-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("/fonts/ibm-plex-sans-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
.ft{--ft-ink:#20282E;--ft-blue:#2B4898;padding:0;background:#0F1A38;color:var(--ft-ink);font:400 17px/1.5 "IBM Plex Sans",system-ui,sans-serif;letter-spacing:0}
.site-footer.ft a{color:inherit}
.ft__wrap{width:min(100% - 2*clamp(20px,5vw,72px),1296px);margin-inline:auto}
.ft__panel{padding-bottom:clamp(56px,7vw,96px);border-radius:0 0 clamp(32px,4vw,56px) clamp(32px,4vw,56px);background:linear-gradient(180deg,#F7FAFE 0%,#EAF1FB 26%,#DCE8F8 62%,#C9DCF5 100%)}
.ft__cta{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:34px;min-height:min(72svh,720px);padding-block:clamp(96px,14vw,180px) clamp(64px,9vw,120px);text-align:center}
.ft__cta p{max-width:18ch;font:400 clamp(44px,5.6vw,80px)/1.08 "Newsreader",Georgia,serif;letter-spacing:-.012em;color:var(--ft-ink);text-wrap:balance}
.inner-page .ft__cta{min-height:0;padding-block:clamp(72px,9vw,120px) clamp(48px,6vw,72px)}
.inner-page .ft__cta p{font-size:clamp(36px,4.2vw,60px)}
.site-footer.ft a.ft__btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:60px;padding:0 24px 0 26px;border-radius:14px;background:var(--ft-blue);color:#fff;font:500 17px/1 "IBM Plex Sans",system-ui,sans-serif;text-decoration:none;transition:background-color .2s cubic-bezier(.4,0,.2,1),transform .12s cubic-bezier(.4,0,.2,1)}
.site-footer.ft a.ft__btn:hover{background:#223C82;text-decoration:none}
.site-footer.ft a.ft__btn:active{transform:scale(.97)}
.ft__arrow{width:20px;height:20px}
.ft__rule{display:flex;align-items:center;gap:18px;margin-bottom:clamp(40px,5vw,64px);font:500 13px/1.3 "IBM Plex Sans",system-ui,sans-serif;letter-spacing:.09em;text-transform:uppercase}
.ft__rule:after{content:"";flex:1;height:1px;background:rgba(32,40,46,.28)}
.ft__cols{display:grid;grid-template-columns:1.25fr repeat(4,minmax(0,1fr));gap:40px clamp(24px,3vw,44px)}
.ft__tag{max-width:24ch;font:400 clamp(22px,1.9vw,27px)/1.25 "Newsreader",Georgia,serif;color:var(--ft-ink)}
.site-footer.ft h2{margin:0 0 14px;font:500 13px/1.3 "IBM Plex Sans",system-ui,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:var(--ft-ink)}
.site-footer.ft ul{display:grid;gap:2px;list-style:none;margin:0;padding:0}
.site-footer.ft li a{display:inline-flex;align-items:center;min-height:36px;font-size:16px;line-height:1.3;color:#3B454D;text-decoration:none}
.site-footer.ft li a:hover{color:var(--ft-blue);text-decoration:underline}
.site-footer.ft a:focus-visible{outline:2px solid var(--ft-blue);outline-offset:3px}
.ft__base{color:#fff;padding-block:clamp(40px,5vw,60px) calc(clamp(32px,4vw,44px) + 0px)}
.ft__base-in{display:grid;grid-template-columns:auto auto auto;justify-content:start;gap:28px clamp(32px,5vw,72px);align-items:center}
.ft__logo img{width:auto;height:50px}
.ft__where{display:grid;gap:2px;font:400 15.5px/1.45 "IBM Plex Sans",system-ui,sans-serif;font-style:normal;color:#C5CEE2}
.site-footer.ft a.ft__speak{display:grid;gap:1px;min-width:280px;padding:16px 22px;border-radius:14px;background:#1B2A55;color:#fff;font-size:15px;line-height:1.35;text-decoration:none;transition:background-color .2s cubic-bezier(.4,0,.2,1)}
.site-footer.ft a.ft__speak:hover{background:#243668;text-decoration:none}
.ft__speak b{font-weight:500;font-size:21px;letter-spacing:.005em}
.ft__ext{color:#C5CEE2;font-size:14.5px}
.site-footer.ft .ft__base a:focus-visible{outline-color:#fff}
.ft__legal{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px 40px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);font-size:14.5px;color:#C5CEE2}
.ft__credit a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(197,206,226,.5)}
@media(max-width:1040px){.ft__cols{grid-template-columns:repeat(2,minmax(0,1fr))}.ft__tag{grid-column:1/-1;max-width:none}.ft__base-in{grid-template-columns:auto auto;justify-content:space-between}.ft__where{grid-column:1/-1;grid-row:2}}
@media(max-width:640px){.site-footer.ft li a{min-height:44px}.ft__cta{gap:26px;min-height:0}.site-footer.ft a.ft__btn{width:100%}.ft__cols{grid-template-columns:minmax(0,1fr)}.ft__base-in{grid-template-columns:minmax(0,1fr);justify-content:stretch}.site-footer.ft a.ft__speak{min-width:0}.ft__where{grid-row:auto}.ft__base{padding-bottom:calc(clamp(32px,4vw,44px) + 84px)}}
@media(prefers-reduced-motion:reduce){.ft *{transition:none!important}}
