footer.site-footer{background:#f5f5f5;padding:30px max(24px,calc((100vw - 1440px)/2));color:#535853;font-size:14px}
.site-footer .footer-panel{background:#fff;border:1px solid #e1e4e1;border-radius:14px;padding:32px 40px 34px;box-shadow:0 3px 16px #263b2805}
.site-footer .footer-signup{display:grid;grid-template-columns:1.1fr 1.3fr .85fr;gap:30px;align-items:center;padding-bottom:26px;border-bottom:1px solid #d9ddda}
.site-footer h2{font-size:22px;color:#0fb259;line-height:1.3;font-weight:550;margin:0 0 6px;letter-spacing:0}
.site-footer p{margin:0;font-size:14px;line-height:1.5}
.site-footer .brand img{width:160px;max-width:100%;height:auto}
.site-footer .brand{justify-self:center}
.site-footer .newsletter-input{display:flex;align-items:center;border:1px solid #d4d8d5;border-radius:40px;padding:5px;background:#fff}
.site-footer .newsletter-input:focus-within{outline:2px solid #9019ff;outline-offset:2px}
.site-footer input{min-width:0;width:100%;border:0;outline:0;background:none;padding:10px 14px;font:inherit;font-size:17px;box-shadow:none}
.site-footer input::placeholder{color:#111;opacity:1}
.site-footer button{display:flex;align-items:center;gap:8px;border:0;border-radius:30px;background:#9019ff;color:#fff;padding:12px 16px;font-size:16px;white-space:nowrap;cursor:pointer}
.site-footer button:hover{background:#7411d0}
.site-footer button svg{width:20px;height:20px}
.site-footer #newsletter-status{font-size:12px;margin-top:10px}
.site-footer .footer-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;padding-top:22px}
.site-footer h3{font-size:16px;font-weight:650;color:#363c38;margin:0 0 10px;letter-spacing:0}
.site-footer .footer-columns a{display:block;font-size:14px;line-height:1.5;margin-bottom:6px;color:inherit;text-decoration:none}
.site-footer a:hover{color:#9019ff}
.site-footer address{font-style:normal;font-size:14px;line-height:1.5;padding-top:0}
.site-footer address a{margin-top:12px;text-decoration:underline!important;font-size:14px!important}
.site-footer .footer-legal{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:18px 10px 0}
.site-footer .footer-legal p{font-size:13px}
.site-footer .footer-legal a{text-decoration:underline;color:inherit}
.site-footer .footer-legal img{width:180px;height:auto}
@media(max-width:1000px){.site-footer .footer-panel{padding:32px}.site-footer .footer-signup{grid-template-columns:1fr 1.3fr;gap:24px}.site-footer .footer-signup>.brand{grid-column:1/-1;justify-self:start}.site-footer .footer-columns{grid-template-columns:1fr 1fr;gap:28px}}
@media(max-width:600px){footer.site-footer{padding:28px 18px}.site-footer .footer-panel{padding:26px 20px}.site-footer .footer-signup{grid-template-columns:1fr;padding-bottom:28px}.site-footer .footer-signup>.brand{grid-column:auto}.site-footer .footer-columns{gap:24px 18px}.site-footer .footer-columns address{grid-column:1/-1}.site-footer h2{font-size:22px}.site-footer .newsletter-input input{font-size:16px;padding-left:10px}.site-footer button{font-size:14px;padding:11px}.site-footer .footer-legal{flex-direction:column;align-items:flex-start;padding-top:22px}.site-footer .footer-legal p{line-height:1.7}}

.site-footer .footer-columns a:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.site-footer address a{text-underline-offset:3px;text-decoration-thickness:1px}
.site-footer a:focus-visible,.site-footer button:focus-visible{outline:2px solid #9019ff;outline-offset:4px}

/* Float the email label on focus and retain it above entered text. */
.site-footer .newsletter-field{position:relative;flex:1;min-width:0}
.site-footer .newsletter-field input{display:block;box-sizing:border-box;height:48px;padding:19px 14px 3px;font-size:16px}
.site-footer .newsletter-field label{position:absolute;left:14px;top:50%;transform:translateY(-50%);transform-origin:left top;color:#111;font-size:16px;line-height:1.2;pointer-events:none;transition:top .18s ease,transform .18s ease,color .18s ease}
.site-footer .newsletter-field input:focus+label,.site-footer .newsletter-field input:not(:placeholder-shown)+label{top:5px;transform:translateY(0) scale(.75);color:#797e79}
@media(max-width:600px){.site-footer .newsletter-field input{padding-left:10px}.site-footer .newsletter-field label{left:10px}.site-footer .footer-panel{padding:24px 20px}.site-footer .footer-signup{padding-bottom:22px;gap:20px}}
@media(prefers-reduced-motion:reduce){.site-footer .newsletter-field label{transition:none}}
