/* Shared interactions: transform never affects the layout around a CTA. */
:is(a.btn,button.btn,button[type=submit],.lead-foot button){position:relative;transform-origin:center;transition:transform .24s cubic-bezier(.2,.75,.3,1),box-shadow .24s ease,filter .24s ease;backface-visibility:hidden;-webkit-tap-highlight-color:rgba(133,233,105,.25);touch-action:manipulation}
@media(hover:hover) and (pointer:fine){:is(a.btn,button.btn,button[type=submit],.lead-foot button):hover{transform:perspective(700px) translateY(-3px) rotateX(3deg) scale(1.025);box-shadow:0 12px 24px -10px rgba(5,32,15,.35),0 3px 7px rgba(5,32,15,.09);filter:brightness(1.025)}}
:is(a.btn,button.btn,button[type=submit],.lead-foot button):active{transform:translateY(1px) scale(.98);box-shadow:0 2px 5px #08220f22;filter:brightness(.95)}
:is(a.btn,button.btn,button[type=submit],.lead-foot button):focus-visible{outline:3px solid #205909;outline-offset:5px;box-shadow:0 0 0 6px #e5ffd9}
:is(.dark,.home-hero,.sr-training,.gs-cta,.premium-footer) .btn:focus-visible{outline-color:#85e969;box-shadow:0 0 0 6px #102318}
button:disabled,button[aria-disabled=true]{transform:none!important;filter:none;cursor:not-allowed}
/* An integrated, shared footer across all routes. */
.footer.premium-footer{position:relative;padding:68px 0 0;color:#d3e1d7;background:radial-gradient(ellipse at 95% 0%,#23552d55 0%,transparent 55%),linear-gradient(135deg,#10271b,#08170f 75%);border-top:1px solid #44664b;overflow:hidden}
.premium-footer>.wrap{display:block}.premium-footer .footer-top{display:flex;justify-content:space-between;align-items:center;gap:40px;padding-bottom:40px;border-bottom:1px solid #ffffff24}.premium-footer .footer-signature img{width:174px;height:auto;display:block;padding:9px 11px;background:#fff;border-radius:5px}.premium-footer .footer-signature p{font-size:1rem;line-height:1.7;margin:18px 0 0;color:#b6ccbc}.premium-footer .footer-email{font-size:clamp(1.4rem,2.6vw,2.3rem);font-weight:500;letter-spacing:-.02em;color:#fff;line-height:1.4}.premium-footer .footer-email span{display:block;font-size:.8rem;letter-spacing:.14em;font-weight:700;color:#85e969;margin-bottom:12px}.premium-footer .footer-columns{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:60px;padding:44px 0 48px}.premium-footer h2{font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;line-height:1.5;margin:0 0 22px;color:#85e969}.premium-footer nav{display:grid;gap:13px;margin:0}.premium-footer nav a{font-size:1rem;font-weight:400;line-height:1.5;width:fit-content}.premium-footer address,.premium-footer .footer-countries{font-size:1rem;font-style:normal;line-height:1.85;margin:0;color:#d3e1d7}.premium-footer .footer-link{display:inline-block;font-size:.9rem;line-height:1.5;margin-top:22px;border-bottom:1px solid #85e96977;padding-bottom:5px}.premium-footer .footer-purpose{font-size:1.2rem;color:#fff;line-height:1.6;margin:28px 0 0}.premium-footer .footer-bottom{border-top:1px solid #ffffff24;display:flex;justify-content:space-between;align-items:center;gap:25px;padding:22px 0}.premium-footer .footer-bottom p,.premium-footer .footer-top-link{font-size:.875rem;line-height:1.6;margin:0;color:#aec4b5}.premium-footer a{transition:color .2s ease,text-decoration-color .2s ease}.premium-footer a:hover{color:#a5f28e;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}.premium-footer a:focus-visible{outline:2px solid #85e969;outline-offset:6px;border-radius:2px}
@media(max-width:850px){.premium-footer .footer-columns{gap:30px;grid-template-columns:1fr 1fr}.premium-footer .footer-columns>div:last-child{grid-column:1/-1;max-width:620px}.premium-footer .footer-purpose{margin-top:18px}}@media(max-width:600px){.footer.premium-footer{padding-top:46px}.premium-footer .footer-top{display:block;padding-bottom:30px}.premium-footer .footer-email{display:inline-block;margin-top:28px;font-size:1.7rem}.premium-footer .footer-columns{grid-template-columns:1fr;gap:35px;padding:35px 0}.premium-footer .footer-columns>div:last-child{grid-column:auto}.premium-footer nav{grid-template-columns:1fr 1fr;gap:14px 20px}.premium-footer .footer-bottom{align-items:flex-start;gap:18px}.premium-footer .footer-top-link{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){:is(a.btn,button.btn,button[type=submit],.lead-foot button),.premium-footer a{transition:none!important}:is(a.btn,button.btn,button[type=submit],.lead-foot button):hover,:is(a.btn,button.btn,button[type=submit],.lead-foot button):active{transform:none!important}}
