/* ============================================================
   FOOTER
============================================================ */

.site-footer {
background-color: var(--color-dark);
color: var(--color-cream);
padding-top: clamp(4rem, 8vw, 8rem);
position: relative;
overflow: hidden;
}

.footer__top {
max-width: var(--container-max);
margin-inline: auto;
padding-inline: var(--container-px);
display: grid;
grid-template-columns: 1fr 2fr;
gap: clamp(3rem, 6vw, 8rem);
padding-bottom: clamp(3rem, 6vw, 6rem);
border-bottom: 1px solid rgba(234,229,224,.1);
}

.footer__brand {
display: flex;
flex-direction: column;
gap: 1.75rem;
}

.footer__logo svg {
height: 44px;
width: auto;
}

.footer__tagline {
font-size: 0.95rem;
font-weight: 300;
line-height: 1.6;
color: rgba(234,229,224,.6);
max-width: 28ch;
}

.footer__socials {
display: flex;
gap: 1rem;
}

.footer__social-link {
display: flex;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
border-radius: 50%;
border: 1px solid rgba(234,229,224,.15);
color: rgba(234,229,224,.5);
transition: border-radius var(--transition-slow), border-color var(--transition-base), color var(--transition-base), background-color var(--transition-base);
}

.footer__social-link svg {
width: 17px;
height: 17px;
}

.footer__social-link:hover {
background-color: var(--color-olive);
border-color: var(--color-olive);
color: var(--color-white);
border-radius: var(--radius-organic);
}

.footer__nav-cols {
display: grid;
grid-template-columns: 1fr 1fr 1.25fr;
gap: clamp(1.5rem, 3vw, 3rem);
}

.footer__col-title {
font-family: var(--font-ui);
font-size: 0.7rem;
font-weight: 700;
letter-spacing: 0.15em;
text-transform: uppercase;
color: rgba(234,229,224,.35);
margin-bottom: 1.5rem;
}

.footer__nav-list {
display: flex;
flex-direction: column;
gap: 0.75rem;
}

.footer__nav-list .menu-item a {
font-size: 0.9rem;
font-weight: 400;
color: rgba(234,229,224,.65);
transition: color var(--transition-fast), padding-left var(--transition-base);
display: inline-block;
}

.footer__nav-list .menu-item a:hover {
color: var(--color-cream);
padding-left: 0.375rem;
}

.footer__address {
font-style: normal;
font-size: 0.9rem;
line-height: 1.7;
color: rgba(234,229,224,.65);
margin-bottom: 1rem;
}

.footer__email,
.footer__phone {
display: block;
font-size: 0.9rem;
color: rgba(234,229,224,.65);
transition: color var(--transition-fast);
margin-bottom: 0.25rem;
}

.footer__email:hover,
.footer__phone:hover {
color: var(--color-olive);
}

.footer__bottom {
max-width: var(--container-max);
margin-inline: auto;
padding-inline: var(--container-px);
padding-block: 1.75rem;
display: flex;
align-items: center;
justify-content: space-between;
gap: 1rem;
flex-wrap: wrap;
}

.footer__copy {
font-size: 0.8rem;
color: rgba(234,229,224,.35);
}

.footer__copy a {
color: rgba(234,229,224,.5);
text-decoration: underline;
text-underline-offset: 2px;
transition: color var(--transition-fast);
}

.footer__copy a:hover {
color: var(--color-olive);
}

.footer__made {
font-size: 0.8rem;
color: rgba(234,229,224,.25);
}

.footer__blob {
position: absolute;
bottom: -20%;
right: -10%;
width: 500px;
height: 500px;
border-radius: var(--radius-organic);
background: radial-gradient(circle at center, rgba(155,172,109,.08) 0%, transparent 70%);
pointer-events: none;
animation: blob-drift 12s ease-in-out infinite alternate;
}

@keyframes blob-drift {
0% { border-radius: var(--radius-organic); transform: translate(0,0) scale(1); }
50% { border-radius: var(--radius-organic-2); transform: translate(-3%,2%) scale(1.04); }
100% { border-radius: var(--radius-organic-3); transform: translate(2%,-3%) scale(0.97); }
}

/* ============================================================
   RESPONSIVE FOOTER
============================================================ */

@media (max-width: 900px) {
.footer__top {
grid-template-columns: 1fr;
}
.footer__nav-cols {
grid-template-columns: repeat(2, 1fr);
}
}

@media (max-width: 600px) {
.footer__nav-cols {
grid-template-columns: 1fr;
}
.footer__bottom {
flex-direction: column;
align-items: flex-start;
gap: 0.5rem;
}
}
