/* Canonical TapSocial marketing footer.
 *
 * Source of truth for the markup is partials/site-footer.html; run
 * scripts/sync-footer.js to stamp it into every page. This file is the only
 * place the footer may be styled — site-pages.css and
 * articles/article-polish.css deliberately no longer carry footer rules,
 * because four competing definitions is how the homepage and the rest of the
 * site drifted apart in the first place.
 *
 * Thirdwave-proportioned: 1200px grid, five columns, divided legal row.
 */
.site-footer,.site-footer *{box-sizing:border-box}
.site-footer{min-height:357px;margin:0;padding:60px 20px 30px;color:#FFFFFF;background:#0A1018;text-align:left;font-family:Inter,sans-serif}
.site-footer .site-footer-inner{width:min(1200px,100%);margin:0 auto}
.site-footer .footer-main{min-height:136px;display:grid;grid-template-columns:minmax(270px,1.7fr) repeat(4,minmax(120px,1fr));gap:48px;align-items:start}
.site-footer .footer-brand{max-width:290px}
.site-footer .footer-brand a{display:block;width:fit-content}
.site-footer .footer-wordmark{display:block;width:230px;height:auto;margin-bottom:18px}
.site-footer .footer-brand p{max-width:270px;margin:0;color:rgba(255,255,255,.56);font-size:1rem;line-height:1.65}
.site-footer .footer-column h3{margin:0 0 19px;color:#FFFFFF;opacity:1;font-family:Inter,sans-serif;font-size:.86rem;font-weight:800;line-height:1;letter-spacing:.14em;text-transform:uppercase}
.site-footer .footer-column a{display:block;width:fit-content;margin:0 0 9px;color:rgba(255,255,255,.55);font-size:.97rem;line-height:1.45;text-decoration:none;transition:color .2s ease,transform .2s ease}
.site-footer .footer-column a:hover,.site-footer .footer-column a:focus-visible{color:#35D0EE;transform:translateX(3px)}
.site-footer .footer-column a:focus-visible,.site-footer .footer-brand a:focus-visible{outline:2px solid #35D0EE;outline-offset:4px}
.site-footer .footer-bottom{min-height:71px;margin-top:60px;padding-top:25px;border-top:1px solid rgba(255,255,255,.12);display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
/* Copyright and patent notice sit on one line at desktop width and wrap as a
   pair on narrow screens. Same tiny grey treatment for both.
   Alpha is .55 (6.2:1 on this background), not the .4 the homepage carried:
   at 11px, .4 measures 3.8:1 and misses the 4.5:1 AA floor. */
/* The copyright sits left and the patent notice right, on one line at desktop.
   flex:1 is what makes that possible — .footer-bottom holds this row as its
   only child, so without it the row is content-width and space-between has
   nothing to distribute. When the two wrap on a narrow screen each ends up
   alone on its line, where space-between leaves it at the start, so the
   mobile layout is unchanged. */
.site-footer .footer-legal-copy{flex:1;display:flex;flex-flow:row wrap;align-items:baseline;justify-content:space-between;gap:4px 14px;color:rgba(255,255,255,.55);font-size:11px;line-height:1.45}
.site-footer .footer-patent-notice{color:inherit;font-size:inherit}
@media(prefers-reduced-motion:reduce){.site-footer .footer-column a{transition:none}.site-footer .footer-column a:hover,.site-footer .footer-column a:focus-visible{transform:none}}
@media(max-width:900px){.site-footer{padding-top:48px}.site-footer .footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 28px}.site-footer .footer-brand{grid-column:1/-1;max-width:360px}.site-footer .footer-bottom{margin-top:48px}}
@media(max-width:520px){.site-footer{padding:44px 20px 24px}.site-footer .footer-wordmark{width:200px}.site-footer .footer-main{gap:34px 22px}.site-footer .footer-column h3{font-size:.72rem}.site-footer .footer-column a{font-size:.9rem}.site-footer .footer-bottom{align-items:center}}
