.footer{background:var(--color-ink);color:#ffffffb3;position:relative;overflow:hidden}.footer:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 0%,rgba(0,90,100,.6),transparent 50%),radial-gradient(circle at 90% 100%,rgba(224,146,47,.18),transparent 45%);pointer-events:none}.footer__inner{position:relative;z-index:1}.footer__newsletter{display:grid;grid-template-columns:1fr minmax(0,480px);gap:var(--space-6);align-items:center;margin-top:clamp(3.5rem,6vw,5rem);padding:clamp(1.5rem,3vw,2.25rem) clamp(1.5rem,3vw,2.5rem);background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg)}@media(max-width:900px){.footer__newsletter{grid-template-columns:1fr;gap:var(--space-5)}}.footer__newsletter-title{color:var(--color-white);font-family:var(--font-display);font-size:clamp(1.375rem,1vw + 1rem,var(--fs-28));line-height:var(--lh-snug);margin:0 0 var(--space-2)}.footer__newsletter-text{font-size:var(--fs-14);color:#ffffffb3;margin:0;max-width:460px}.footer__newsletter-form.form{display:flex;flex-wrap:wrap;gap:var(--space-2)}.footer__newsletter-form input[type=email]{flex:1 1 220px;min-width:0;background:#ffffff12;border:1px solid rgba(255,255,255,.15);color:var(--color-white);padding:.85rem 1rem;border-radius:var(--radius-md);font-size:var(--fs-14)}.footer__newsletter-form input[type=email]::placeholder{color:#ffffff73}.footer__newsletter-form input[type=email]:focus{outline:2px solid var(--color-accent);outline-offset:1px;background:#ffffff1a}.footer__newsletter-form .form__submit{flex:0 0 auto}.footer__newsletter-form .form__message{flex:1 0 100%;margin-top:var(--space-2);padding:var(--space-3) var(--space-4)}.footer__newsletter-form .form__message--success{background:#1c8b5a2e;border-color:#1c8b5a73;color:#bdebd3}.footer__newsletter-form .form__message--error{background:#c8362e2e;border-color:#c8362e73;color:#f6c7c3}.footer__top{padding:clamp(3rem,5vw,4.5rem) 0 clamp(2.5rem,4vw,3.5rem);display:grid;grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,1fr)) minmax(0,1.3fr);gap:var(--space-8) var(--space-7)}@media(max-width:1024px){.footer__top{grid-template-columns:repeat(3,minmax(0,1fr))}.footer__brand-block{grid-column:1 / -1}}@media(max-width:600px){.footer__top{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-7) var(--space-5)}.footer__col--contact{grid-column:1 / -1}}.footer__brand-block .footer__logo{display:inline-flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);color:var(--color-white);font-family:var(--font-display);font-size:var(--fs-24);font-weight:var(--fw-semibold)}.footer__brand-block .footer__logo img{max-height:48px;width:auto}.footer__brand-block .header__logo-mark{background:var(--color-accent);color:var(--color-ink)}.footer__tagline{color:#ffffffb3;max-width:360px;margin-bottom:0;line-height:var(--lh-relaxed);font-size:var(--fs-15, .95rem)}.footer__widget-title,.footer__col-title{color:var(--color-white);font-size:var(--fs-12);font-weight:var(--fw-semibold);letter-spacing:var(--ls-eyebrow);line-height:var(--lh-normal);text-transform:uppercase;margin:0 0 var(--space-5);font-family:var(--font-sans)}.footer__menu{list-style:none;padding:0;margin:0}.footer__menu li{margin-bottom:var(--space-3)}.footer__menu li:last-child{margin-bottom:0}.footer__menu a{color:#ffffffb8;font-size:var(--fs-14);transition:color var(--dur-200) var(--ease-out);display:inline-flex;align-items:center}.footer__menu a:before{content:"";width:0;height:1px;margin-right:0;background:var(--color-accent);transition:width var(--dur-200),margin-right var(--dur-200)}.footer__menu a:hover,.footer__menu a:focus-visible{color:var(--color-white)}.footer__menu a:hover:before,.footer__menu a:focus-visible:before{width:16px;margin-right:var(--space-2)}.footer__contact-list{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-4)}.footer__contact-list li{display:flex;align-items:flex-start;gap:var(--space-3);font-size:var(--fs-14);line-height:var(--lh-normal);color:#fffc}.footer__contact-list .icon{color:var(--color-accent);margin-top:2px;flex-shrink:0;width:18px;height:18px}.footer__contact-list a{color:inherit;overflow-wrap:anywhere}.footer__contact-list a:hover{color:var(--color-white)}.footer__bottom{border-top:1px solid rgba(255,255,255,.08);padding:var(--space-5) 0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3) var(--space-5);flex-wrap:wrap}.footer__copyright{font-size:var(--fs-13, .8125rem);color:#fff9;margin:0}.footer__legal-menu{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:var(--space-5)}.footer__legal-menu a{color:#fff9;font-size:var(--fs-13, .8125rem)}.footer__legal-menu a:hover{color:var(--color-white)}.footer__socials{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-5)}.footer__socials:empty{display:none}.footer__socials a{width:38px;height:38px;border-radius:50%;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);color:var(--color-white);display:inline-flex;align-items:center;justify-content:center;transition:background var(--dur-200),transform var(--dur-200),color var(--dur-200)}.footer__socials a:hover,.footer__socials a:focus-visible{background:var(--color-accent);color:var(--color-ink);transform:translateY(-2px)}@media(max-width:600px){.footer__bottom{flex-direction:column;align-items:flex-start}}.back-to-top{position:fixed;right:1.5rem;bottom:1.5rem;width:44px;height:44px;border-radius:50%;background:var(--color-primary);color:var(--color-white);display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity var(--dur-200),transform var(--dur-200),background var(--dur-200);z-index:var(--z-sticky)}.back-to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.back-to-top:hover{background:var(--color-accent);color:var(--color-ink)}
