/* Shared footer: the directory expands in its existing columns. */
body footer.filer-footer{display:block;position:relative;background:#9fd8d4;color:#102a36;padding:64px 6% 26px;margin:0;border:0;font-family:'Hiragino Sans','Yu Gothic',sans-serif;letter-spacing:normal;font-size:14px}
.filer-footer *{box-sizing:border-box}.filer-footer a{color:inherit;text-decoration:none}.filer-footer a:hover{text-decoration:none}.filer-footer button{font:inherit;color:inherit}.filer-footer :is(a,button):focus-visible{outline:2px solid #102a36;outline-offset:5px}
.filer-footer .ff-footer-main{max-width:1440px;margin:auto;display:grid;grid-template-columns:.9fr 1.65fr;gap:10%;align-items:start}
.filer-footer .ff-identity img{display:block;width:264px;max-width:90%;height:auto}.filer-footer .ff-identity p{font-size:13px;line-height:1.8;letter-spacing:.015em;margin:24px 0}
.filer-footer .ff-socials{display:flex;gap:18px}.filer-footer .ff-socials button{border:0;border-radius:0;background:none;width:28px;height:32px;padding:5px 3px;opacity:1;cursor:default}.filer-footer .ff-socials svg{display:block;width:20px;height:20px}
.filer-footer .ff-navigation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px;padding-top:5px}
.filer-footer .ff-group h2{margin:0;font-size:17px;font-weight:500;line-height:1.6;letter-spacing:.015em}.filer-footer .ff-group h2 a{display:flex;align-items:center;gap:16px;padding:0 0 23px;font-size:17px;line-height:1.6;white-space:nowrap}.filer-footer .ff-contact-arrow{font:21px Arial}
.filer-footer .ff-more{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .42s cubic-bezier(.22,1,.36,1),visibility .42s}.filer-footer .ff-more>div{min-height:0;overflow:hidden}.filer-footer .expanded .ff-more{grid-template-rows:1fr;visibility:visible}.filer-footer .ff-more a{display:block;width:fit-content;font-size:13px;line-height:1.7;padding:9px 0;color:#345c64}.filer-footer .ff-external{font:13px Arial;margin-left:7px}
.filer-footer .ff-nav-controls{grid-column:1/-1;border-top:1px solid rgba(16,42,54,.25);margin-top:13px;padding-top:16px;display:flex;justify-content:flex-end}.filer-footer .ff-expand{display:flex;align-items:center;gap:28px;border:0;background:none;padding:7px 0;font-size:12px;letter-spacing:.02em;cursor:pointer}.filer-footer .ff-icon{font:18px Arial;width:16px;text-align:center}.filer-footer .ff-expand:hover{opacity:.65}
.filer-footer .ff-colophon{max-width:1440px;margin:40px auto 0;border-top:1px solid rgba(16,42,54,.25);padding-top:22px;display:flex;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:.02em}.filer-footer .ff-company{display:flex;gap:24px;align-items:center}.filer-footer .ff-copyright{opacity:.65;font:10px Arial}.filer-footer .ff-top{font:10px Arial;letter-spacing:.08em}
@media(min-width:1500px){body footer.filer-footer{padding-top:72px}.filer-footer .ff-identity img{width:280px}.filer-footer .ff-group h2 a{font-size:19px}.filer-footer .ff-more a{font-size:14px}}
@media(max-width:1000px){.filer-footer .ff-footer-main{gap:6%;grid-template-columns:.8fr 1.7fr}.filer-footer .ff-navigation{column-gap:18px}.filer-footer .ff-group h2 a{font-size:14px;gap:8px}.filer-footer .ff-identity img{width:225px}.filer-footer .ff-identity p{font-size:11px}}
@media(max-width:700px){body footer.filer-footer{padding:36px 7% 24px}.filer-footer .ff-footer-main{grid-template-columns:1fr;gap:36px}.filer-footer .ff-identity img{width:220px}.filer-footer .ff-identity p{font-size:12px;margin:20px 0 16px}.filer-footer .ff-navigation{padding:0;column-gap:18px}.filer-footer .ff-group h2 a{font-size:13px;gap:6px;padding-bottom:18px}.filer-footer .ff-contact-arrow{font-size:17px}.filer-footer .ff-more a{font-size:12px}.filer-footer .ff-nav-controls{margin-top:10px;padding-top:14px}.filer-footer .ff-expand{font-size:11px;gap:15px}.filer-footer .ff-colophon{margin-top:28px;padding-top:18px;font-size:9px}.filer-footer .ff-company{display:block;line-height:1.9}.filer-footer .ff-copyright{display:block;font-size:9px}.filer-footer .ff-top{font-size:9px}}
@media(max-width:360px){.filer-footer .ff-navigation{grid-template-columns:1fr 1fr;row-gap:20px}.filer-footer .ff-group:last-of-type{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.filer-footer .ff-more{transition:none}}
body.page-home .footer-arrival footer.filer-footer{background:var(--accent);border:0}
body .filer-footer nav.ff-navigation{grid-column:auto;border:0;padding-left:0}

/* Footer navigation responds with colour only. */
body .filer-footer a:hover,body .filer-footer a:focus-visible{text-decoration:none;color:#155b60;opacity:1}

/* Four clear primary destinations; keep equal rhythm without stretching gaps. */
.filer-footer .ff-footer-main{grid-template-columns:.8fr 1.85fr;gap:7%}
.filer-footer .ff-navigation{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:24px}
.filer-footer .ff-group h2 a{font-size:16px}
@media(min-width:1500px){.filer-footer .ff-group h2 a{font-size:18px}}
@media(min-width:701px) and (max-width:1100px){.filer-footer .ff-navigation{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}.filer-footer .ff-group h2 a{font-size:15px}}
@media(max-width:700px){.filer-footer .ff-footer-main{grid-template-columns:1fr;gap:36px}.filer-footer .ff-navigation{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}.filer-footer .ff-group h2 a{font-size:14px}.filer-footer .ff-group:last-of-type{grid-column:auto}}

/* Equal optical gaps between labels, with the last label meeting the rule edge. */
@media(min-width:1101px){.filer-footer .ff-navigation{grid-template-columns:repeat(4,max-content);justify-content:space-between;column-gap:20px}}

/* Keep the directory together instead of distributing it across unused space. */
@media(min-width:1101px){
.filer-footer .ff-navigation{width:100%;max-width:560px;justify-self:end;column-gap:28px}
.filer-footer .ff-group h2 a{padding-bottom:18px}
.filer-footer .ff-nav-controls{margin-top:6px;padding-top:12px}
}
