/* Site footer (MyRunTime Website V1). Scoped to .footer so it renders the same on
   every page; generic rules use :where(.footer) to keep their original specificity. */
:where(.footer){--text:#2b2f33;--nav-x:clamp(20px,10vw,400px);--orange:#FC6B25;--teal:#052941;--border:#dfe4e8;font-family:"DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;font-size:16px;line-height:1.5;color:rgb(255, 255, 255);letter-spacing:normal;font-weight:400;font-style:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-feature-settings:normal}
:where(.footer) *,:where(.footer) *::before,:where(.footer) *::after{box-sizing:border-box}
:where(.footer) *,*:where(.footer),:where(.footer) ::before,:where(.footer) ::after{box-sizing: border-box;}
:where(.footer) img{max-width: 100%; display: block;}
:where(.footer) a{color: inherit; text-decoration: none;}
.footer{background: rgb(255, 255, 255); color: var(--text); border-top: 1px solid rgba(5, 41, 65, 0.08); box-shadow: rgba(5, 41, 65, 0.07) 0px -4px 14px; position: relative;}
.footer__inner{margin: 0px; padding: 40px var(--nav-x) 24px; display: flex; flex-direction: column; align-items: center; text-align: center;}
.footer__logo{display: block; line-height: 0; text-decoration: none;}
.footer__logo img{width: 150px; height: auto; aspect-ratio: 560 / 143;}
.footer__logo img{display: block;}
.footer__tagline{margin: 4px 0px 0px; max-width: 420px; font-size: 14px; line-height: 1.55; font-weight: 400; color: rgba(43, 47, 51, 0.85);}
.footer__links{display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 32px; margin-top: 24px;}
.footer__links a{font-size: 14px; font-weight: 700; text-transform: uppercase; color: var(--text); transition: color 0.15s;}
.footer__links a:hover{color: var(--orange);}
.footer__socials{display: flex; justify-content: center; gap: 16px; margin-top: 20px;}
.footer__social{display: inline-flex; text-decoration: none; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: rgb(255, 255, 255); border: 1px solid rgba(5, 41, 65, 0.12); color: var(--teal); transition: color 0.15s, border-color 0.15s;}
.footer__social:hover{color: var(--orange); border-color: rgba(5, 41, 65, 0.22);}
.footer__social svg{width: 16px; height: 16px; fill: currentcolor;}
.footer__bottom{width: 100%; margin-top: 32px; padding-top: 18px; border-top: 1px solid var(--border); font-size: 11.17px; line-height: 1.6; text-align: center; color: rgba(43, 47, 51, 0.85);}
.footer__bottom p{margin: 0px auto; max-width: 960px;}
.footer__bottom a{text-decoration: underline; transition: color 0.15s;}
.footer__bottom a:hover{color: var(--orange);}
@media (max-width: 640px){.footer__links{gap: 24px 40px;}
}
:where(.footer) a,:where(.footer) [role="button"]{touch-action: manipulation; -webkit-tap-highlight-color: rgba(5, 41, 65, 0.12);}
@media (max-width: 768px), (pointer: coarse){.footer__logo{min-height: 44px; display: flex; align-items: center; justify-content: center;}
.footer__links a{display: inline-flex; align-items: center; min-height: 44px;}
.footer__social{width: 44px; height: 44px;}
}
@media (max-width: 768px){.footer__links{gap: 0px 28px;}
}
@media (prefers-reduced-motion: reduce){.footer a.is-disabled{pointer-events: none; cursor: default; opacity: 0.45;}
}
.ft2__seals{display: flex; align-items: center; flex-wrap: wrap; gap: 14px; margin-top: 22px;}
.ft2__seal{display: block; width: auto;}
.ft2__seal--bir{height: 56px;}
.ft2__seal--npc{height: 84px;}
.ft2__seal{cursor: zoom-in; transition: transform 0.15s;}
.ft2__seal:hover{transform: scale(1.04);}
.ft2__seal:focus-visible{outline: rgb(252, 107, 37) solid 2px; outline-offset: 3px; border-radius: 6px;}
.seal-lb{position: fixed; inset: 0px; z-index: 3000; display: flex; align-items: center; justify-content: center; padding: 24px; background: rgba(5, 41, 65, 0.88); cursor: zoom-out; animation: 0.18s ease 0s 1 normal none running sealfade;}
.seal-lb[hidden]{display: none;}
.seal-lb img{display: block; max-width: min(92vw, 900px); max-height: 88vh; width: auto; height: auto; border-radius: 10px; box-shadow: rgba(0, 0, 0, 0.45) 0px 12px 48px;}
.seal-lb__x{position: absolute; top: 16px; right: 16px; width: 44px; height: 44px; border: 0px; border-radius: 50%; background: rgb(255, 255, 255); color: rgb(5, 41, 65); font: 700 26px / 1 sans-serif; cursor: pointer;}
html.seal-open,html.seal-open body{overflow: hidden;}
@media (prefers-reduced-motion: reduce){.seal-lb{animation: auto ease 0s 1 normal none running none;}
.ft2__seal{transition: none;}
}
.footer{background: rgb(5, 41, 65); color: rgb(255, 255, 255); border-top: 0px; box-shadow: none;}
.ft2{padding: 56px var(--nav-x) 28px;}
.ft2__top{display: grid; grid-template-columns: 1.2fr 1fr; gap: 48px;}
.ft2__brand{display: flex; flex-direction: column; align-items: flex-start;}
.ft2__brand .footer__logo{justify-content: flex-start;}
.ft2__brand .footer__logo img{filter: brightness(0) invert(1); margin-left: -8px;}
.ft2__tag{margin: 12px 0px 0px; max-width: 340px; font-size: 15px; line-height: 1.6; color: rgba(255, 255, 255, 0.82);}
.ft2__mail{margin-top: 14px; font-size: 15px; font-weight: 700; color: rgb(255, 255, 255); text-decoration: underline;}
.ft2__mail:hover{color: var(--orange);}
.ft2__brand .footer__socials{justify-content: flex-start; margin-top: 20px; gap: 10px;}
.ft2 .footer__social{background: transparent; border-color: rgba(255, 255, 255, 0.3); color: rgb(255, 255, 255);}
.ft2 .footer__social:hover{color: var(--orange); border-color: var(--orange);}
.ft2 .footer__social--logo img{filter: invert(1);}
.ft2__nav{display: grid; grid-template-columns: 0.8fr 1.6fr; gap: 32px;}
.ft2__nav h5{margin: 0px 0px 16px; font-size: 13px; font-weight: 700; color: rgb(255, 255, 255);}
.ft2__nav ul{list-style: none; margin: 0px; padding: 0px;}
.ft2__nav li{margin: 0px 0px 6px;}
.ft2__nav a{display: inline-flex; align-items: center; min-height: 36px; text-decoration: none; font-size: 15px; font-weight: 400; color: rgba(255, 255, 255, 0.85); text-transform: none; white-space: nowrap;}
.ft2__nav a:hover,.ft2__legal a:hover{color: var(--orange);}
.ft2__legal{display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; margin-top: 44px; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, 0.18); font-size: 13px; color: rgba(255, 255, 255, 0.85);}
.ft2__legal p{margin: 0px;}
.ft2__end{display: flex; gap: 24px;}
.ft2__legal a{color: inherit; text-decoration: none;}
.ft2__note{width: 100%; font-size: 12.5px; color: rgba(255, 255, 255, 0.65);}
@media (max-width: 860px){.ft2{padding: 36px 20px 24px;}
.ft2__top{grid-template-columns: 1fr; gap: 32px;}
.ft2__nav{grid-template-columns: 1fr 1fr; gap: 24px;}
.ft2__nav a{white-space: normal;}
.ft2__end{gap: 16px;}
}
@media (max-width: 480px){.ft2__nav{grid-template-columns: 1fr;}
}
@keyframes sealfade { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}
