.site-footer { background: var(--clr-dark); color: rgba(255,255,255,.72); padding-top: var(--space-xl); }
.footer-cta { display:flex; align-items:center; justify-content:space-between; gap:var(--space-lg); padding:clamp(24px,4vw,42px); margin-bottom:var(--space-xl); border:1px solid rgba(255,255,255,.15); border-radius:var(--radius-lg); }
.footer-eyebrow { margin:0 0 8px; color:var(--clr-accent); font-size:.75rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.footer-cta h2 { color:#fff; margin:0 0 8px; font-size:clamp(1.35rem,2.4vw,2rem); }
.footer-cta p:not(.footer-eyebrow) { margin:0; max-width:620px; }
.footer-cta .btn { flex:0 0 auto; white-space:nowrap; }
.footer-inner { display:grid; grid-template-columns:minmax(220px,1.6fr) repeat(4,minmax(130px,1fr)); gap:clamp(24px,4vw,54px); padding-bottom:var(--space-xl); }
.footer-brand .logo { display:inline-flex; width:min(100%,var(--footer-logo-width,260px)); margin-bottom:var(--space-sm); }
.footer-brand .logo img { display:block; width:100%; height:auto; max-width:none; max-height:none; aspect-ratio:2545 / 1638; object-fit:contain; }
.footer-brand-text { max-width:340px; line-height:1.75; margin:0 0 var(--space-md); font-size:var(--footer-text-font-size,16px); }
.footer-brand-text > :first-child { margin-top:0; }
.footer-brand-text > :last-child { margin-bottom:0; }
.footer-col h2 { color:#fff; font-size:.88rem; letter-spacing:.03em; margin:0 0 14px; }
.footer-col ul { display:grid; gap:9px; margin:0; padding:0; list-style:none; }
.footer-col a { color:rgba(255,255,255,.68); font-size:.9rem; line-height:1.45; text-decoration:none; transition:color var(--transition); }
.footer-col a:hover, .footer-col a:focus-visible { color:#fff; text-decoration:underline; text-underline-offset:3px; }
.footer-contact { font-style:normal; }
.footer-contact a { display:block; margin-bottom:9px; }
.footer-contact p { margin:2px 0 0; font-size:.9rem; line-height:1.6; }
.social-links { display:flex; flex-wrap:wrap; gap:9px; }
.social-links a { display:grid; place-items:center; width:36px; height:36px; border:1px solid rgba(255,255,255,.18); border-radius:50%; color:#fff; transition:background var(--transition),border-color var(--transition),transform var(--transition); }
.social-links a:hover, .social-links a:focus-visible { background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.45); transform:translateY(-2px); text-decoration:none; }
.social-links svg { width:17px; height:17px; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.12); font-size:.8rem; color:rgba(255,255,255,.5); }
.footer-bottom-inner { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:68px; }
.footer-bottom p { margin:0; }
.footer-bottom nav ul { display:flex; flex-wrap:wrap; gap:14px; margin:0; padding:0; list-style:none; }
.footer-bottom a, .footer-back-to-top { color:rgba(255,255,255,.62); font:inherit; text-decoration:none; }
.footer-bottom a:hover, .footer-bottom a:focus-visible { color:#fff; text-decoration:underline; text-underline-offset:3px; }
.footer-back-to-top { border:0; background:transparent; padding:7px 0; cursor:pointer; white-space:nowrap; }
.footer-back-to-top:hover, .footer-back-to-top:focus-visible { color:#fff; text-decoration:underline; text-underline-offset:3px; }
.site-footer a:focus-visible, .site-footer button:focus-visible { outline:2px solid var(--clr-accent); outline-offset:3px; }
@media (max-width:1100px) { .footer-inner { grid-template-columns:repeat(3,minmax(160px,1fr)); } .footer-brand { grid-column:span 3; } }
@media (max-width:700px) { .footer-cta { align-items:flex-start; flex-direction:column; } .footer-inner { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 24px; } .footer-brand { grid-column:span 2; } .footer-bottom-inner { align-items:flex-start; flex-direction:column; justify-content:center; padding:16px 0; } }
@media (max-width:420px) { .footer-inner { grid-template-columns:1fr; } .footer-brand { grid-column:auto; } .footer-cta .btn { width:100%; text-align:center; } }
