/* Site footer: heading with the traced H emblem, oversized wordmark ticker, dark closing panel over a perspective grid floor. */
.site-footer{position:relative;isolation:isolate;background:#181914;color:var(--ink);padding:0 2.7vw;overflow:hidden}
/* Grid floor canvas (footer-floor.mjs) under the whole footer; the paper heading and ticker cover all but the closing panel. */
.site-footer .sf-floor{position:absolute;inset:0;z-index:-1;display:block;width:100%;height:100%;pointer-events:none}
.site-footer .sf-heading{display:flex;align-items:center;gap:56px;margin:0 -2.7vw;padding:64px 2.7vw 44px;background:var(--paper)}
.site-footer .sf-emblem{width:clamp(120px,12vw,180px);height:clamp(120px,12vw,180px);flex:none}
.site-footer .sf-emblem svg{width:100%;height:100%;display:block}
.site-footer h2{font:var(--display-weight) clamp(44px,5vw,72px)/1.02 var(--font-display);letter-spacing:var(--display-track);margin:0}
/* Wordmark ticker: two identical tracks each slide one track width left every 50 s, so the loop has no seam.
   Stars between the words turn once counter-clockwise every 3 s. Both pause with the rest of the footer motion. */
.site-footer .sf-ticker{display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--ink);margin:0 -2.7vw;padding:0 2.7vw;height:clamp(170px,20vw,290px);background:var(--paper)}
.site-footer .sf-track{display:flex;align-items:center;gap:20px;flex-shrink:0;animation:sf-ticker 50s linear infinite paused}
.site-footer .sf-word{display:flex;align-items:center;gap:20px;white-space:nowrap;font:var(--display-weight) 15.27vw/1 var(--font-display);letter-spacing:var(--display-track);padding-right:20px}
.site-footer .sf-sep{display:block;width:3.26vw;height:3.26vw;margin:0 20px;flex:none;animation:sf-spin 3s linear infinite paused}
.site-footer .sf-sep svg{display:block;width:100%;height:100%;fill:#030303}
.site-footer[data-motion="playing"] :is(.sf-track,.sf-sep){animation-play-state:running}
@keyframes sf-ticker{to{transform:translateX(-100%)}}
@keyframes sf-spin{to{transform:rotate(-360deg)}}
.site-footer .sf-closing{display:grid;grid-template-columns:1.4fr 1fr auto;gap:40px;padding:64px 0 92px;color:var(--paper)}
.site-footer .sf-intro p:first-child{font-size:14px;margin:0 0 24px;text-transform:uppercase;letter-spacing:.06em}
.site-footer .sf-intro p:nth-child(2){font-size:clamp(20px,2.1vw,30px);line-height:1.25;margin:0 0 36px;letter-spacing:-.025em}
.site-footer a{font-size:16px;line-height:1.5;text-decoration:none}
.site-footer a:hover{text-decoration:underline;text-underline-offset:5px}
.site-footer nav{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.site-footer .sf-top{display:flex;align-items:flex-start;gap:32px}
.site-footer .sf-top span{font-size:34px;line-height:1}
.site-footer .sf-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;border-top:1px solid #f3f3ec33;font-size:14px;color:var(--paper)}
/* H emblem: a short green dash runs inside the solid H outline while the footer is visible. */
.site-footer .sf-h-highlight{fill:none;stroke:#53db76;stroke-width:10;stroke-linejoin:round;stroke-dasharray:12 88;animation:sf-h-trace 3.5s linear infinite;animation-play-state:paused}
.site-footer[data-motion="playing"] .sf-h-highlight{animation-play-state:running}
@keyframes sf-h-trace{from{stroke-dashoffset:0}to{stroke-dashoffset:-100}}
@media(max-width:767px){
 .site-footer{padding:0 20px}
 .site-footer .sf-heading{gap:20px;margin:0 -20px;padding:44px 20px 32px}
 .site-footer .sf-emblem{width:72px;height:72px}
 .site-footer h2{font-size:36px}
 .site-footer .sf-ticker{height:170px;margin:0 -20px;padding:0 20px}
 .site-footer .sf-word{font-size:160px}
 .site-footer .sf-sep{width:47px;height:47px}
 .site-footer .sf-closing{grid-template-columns:1fr;gap:40px;padding:40px 0 48px}
 .site-footer .sf-top{justify-content:space-between}
 .site-footer .sf-bottom{align-items:flex-start;flex-direction:column;gap:16px}
}
@media(prefers-reduced-motion:reduce){.site-footer .sf-h-highlight{display:none;animation:none}.site-footer :is(.sf-track,.sf-sep){animation:none}}
