/* Shared footer: isolated from legacy .footer/.wrapper/.nav_box styles. */
.gv-site-footer {
    box-sizing: border-box;
    display: block;
    width: 100%;
    max-width: none;
    margin: 48px 0 0;
    padding: 0;
    border: 0;
    background: #163627;
    color: #d9e2dd;
    text-align: left;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, Arial, sans-serif;
    font-size: 12px;
    line-height: 1.8;
}
.gv-site-footer *, .gv-site-footer *::before, .gv-site-footer *::after { box-sizing: border-box; }
.gv-site-footer .gv-footer-inner {
    display: grid;
    grid-template-columns: minmax(0,2fr) repeat(3,minmax(0,1fr));
    gap: 24px;
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 34px 22px;
}
.gv-site-footer .gv-footer-inner > * { min-width: 0; }
.gv-site-footer a { color: #cbd6d0; text-decoration: none; }
.gv-site-footer a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.gv-site-footer a:focus-visible { outline: 3px solid #9fdfb9; outline-offset: 4px; border-radius: 2px; }
.gv-site-footer a.gv-footer-brand {
    display: inline-block;
    margin: 0;
    padding: 0;
    color: #fff;
    font-size: 31px;
    font-weight: 900;
    font-style: italic;
    letter-spacing: -1.6px;
    line-height: .86;
    text-decoration: none;
}
.gv-site-footer .gv-footer-brand span {
    display: block;
    margin: 6px 0 0 19px;
    color: #d8e5dd;
    font-style: normal;
    font-size: 9px;
    letter-spacing: 7px;
    font-weight: 800;
}
.gv-site-footer p { margin: 0; padding: 0; color: #cbd6d0; font-size: 12px; line-height: 1.8; }
.gv-site-footer p.gv-footer-tagline { margin-top: 12px; }
.gv-site-footer .gv-footer-nav h2 {
    margin: 0 0 10px;
    padding: 0;
    border: 0;
    background: none;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.55;
    text-align: left;
    letter-spacing: 0;
}
.gv-site-footer .gv-footer-nav h2::before, .gv-site-footer .gv-footer-nav h2::after { content: none; }
.gv-site-footer ul { list-style: none; margin: 0; padding: 0; }
.gv-site-footer li { margin: 0; padding: 0; color: #cbd6d0; font-size: 12px; line-height: 1.8; }
.gv-site-footer li::before { content: none; }
.gv-site-footer .gv-footer-stores a { display: inline-block; }
.gv-site-footer .gv-footer-bottom {
    margin: 0;
    padding: 13px 22px;
    border-top: 1px solid rgba(255,255,255,.12);
    color: #b8c7bf;
    font-size: 11px;
    line-height: 1.8;
    text-align: center;
}
@media (max-width: 920px) {
    .gv-site-footer .gv-footer-inner { grid-template-columns: minmax(0,1fr); }
    body:has(.gv-mobile-ctas) .gv-site-footer { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
}
