.atelier-footer { margin-top:44px; background:#293e31; color:#f4f3e8; padding:64px 0 24px; }
.atelier-footer .eyebrow { color:#bdc9ae; font-size:9px; }
.footer-invitation { display:flex; justify-content:space-between; align-items:flex-end; gap:28px; padding-bottom:52px; border-bottom:1px solid #ffffff26; }
.footer-invitation h2 { font-size:clamp(32px,3.8vw,52px); margin-top:18px; line-height:1.14; color:#f4f3e8; }
.footer-invitation em { color:#c4cfb5; font-weight:400; }
.footer-shop-link { display:flex; align-items:center; gap:38px; font-size:12px; padding:16px 0; border-bottom:1px solid #a6b697; white-space:nowrap; }
.footer-shop-link span { font-size:22px; }
.footer-directory { display:grid; grid-template-columns:1.35fr .7fr .7fr 1.2fr; gap:42px; padding:48px 0; }
.footer-directory> * { min-width:0; }
.footer-wordmark { font-family:var(--font-heading); font-size:34px; letter-spacing:-.045em; line-height:1.2; }
.footer-wordmark span { display:block; font-family:var(--font-body); font-size:8px; letter-spacing:.23em; margin-top:10px; }
.footer-intro p { font-size:12px; line-height:1.9; color:#c7d0bd; margin:22px 0; }
.footer-socials { display:flex; gap:10px; }
.footer-socials a { display:grid; place-items:center; width:40px; height:40px; border:1px solid #ffffff36; border-radius:50%; transition:background .2s; }
.footer-socials a:hover { background:#ffffff18; }
.footer-directory h3 { color:#c5cfb8; font-size:10px; text-transform:uppercase; letter-spacing:.12em; font-weight:500; margin:8px 0 22px; }
.footer-menu { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.footer-menu h3 { margin-bottom:8px; }
.footer-menu a,.footer-connect a,.footer-connect address { font-size:12px; line-height:1.8; color:#e3e7db; }
.footer-connect a { display:block; margin-bottom:12px; overflow-wrap:anywhere; }
.footer-connect address { font-style:normal; color:#bfcbb4; margin-top:24px; }
.footer-menu a:hover,.footer-connect a:hover { color:white; text-decoration:underline; text-underline-offset:5px; }
.footer-colophon { display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px; border-top:1px solid #ffffff26; padding-top:24px; color:#c2cdb7; font-size:10px; }
.footer-colophon button { font:inherit; color:inherit; border:0; background:transparent; padding:0; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }

@media(max-width:1000px) {
    .footer-directory { grid-template-columns:1.3fr 1fr; gap:36px; }
}

@media(max-width:700px) {
    .atelier-footer { margin-top:32px; padding-top:38px; padding-bottom:calc(115px + env(safe-area-inset-bottom)); }
    .footer-invitation { flex-direction:column; align-items:flex-start; padding-bottom:32px; gap:20px; }
    .footer-invitation h2 { font-size:35px; }
    .footer-directory { grid-template-columns:1fr 1fr; gap:30px 22px; padding-block:34px; }
    .footer-intro,.footer-connect { grid-column:1/-1; }
    .footer-intro { padding-bottom:22px; border-bottom:1px solid #ffffff26; }
    .footer-menu a { min-height:32px; display:flex; align-items:center; }
    .footer-connect a { min-height:32px; }
    .footer-colophon { flex-direction:column; font-size:9px; line-height:1.8; }
}

.atelier-footer .serif { font-weight:500; letter-spacing:-.035em; }
.atelier-footer a:focus-visible, .atelier-footer button:focus-visible { outline:2px solid #d6dfc6; outline-offset:4px; }
