/* Shared publication navigation. The theme retains header positioning and size. */
#gm-site-footer {
 --gm-paper:#fff;--gm-ink:#171a1d;--gm-line:#e0e4e8;--gm-muted:#5e666d;--gm-blue:#2453cc;
 display:block;box-sizing:border-box;width:calc(100% - 60px);max-width:1140px;
 margin:8px auto 0;border:0;border-top:3px solid var(--gm-ink);padding:28px 0 20px;
 background:var(--gm-paper);color:var(--gm-ink);text-align:left;
 font-family:-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;
 font-size:14px;font-weight:400;line-height:1.75;letter-spacing:normal;color-scheme:light;
}
#gm-site-footer *,#gm-site-footer *::before,#gm-site-footer *::after {box-sizing:border-box;}
#gm-site-footer :is(h1,h2,h3,p,figure,ul,ol,li) {margin:0;padding:0;}
#gm-site-footer :is(ul,ol) {list-style:none;}
#gm-site-footer a {color:inherit;text-decoration:none;background:none;box-shadow:none;}
#gm-site-footer a:focus-visible {outline:3px solid var(--gm-blue);outline-offset:5px;}
#gm-site-footer :is(h1,h2,h3) {border:0;background:none;color:inherit;box-shadow:none;}
#gm-site-footer :is(h1,h2,h3)::before,#gm-site-footer :is(h1,h2,h3)::after {display:none;}
#gm-site-footer .gm-footer-main {
 display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr) minmax(0,1fr);gap:26px;
}
#gm-site-footer .gm-footer-brand {
 display:inline-block;font-family:'Barlow Condensed',sans-serif;font-size:44px;
 line-height:1.1;font-weight:700;letter-spacing:.015em;
}
#gm-site-footer .gm-publication p {color:var(--gm-muted);font-size:12px;line-height:1.9;margin-top:13px;}
#gm-site-footer h2 {
 font-family:'Noto Sans JP',sans-serif;font-size:12px;line-height:1.5;
 font-weight:700;margin:2px 0 11px;
}
#gm-site-footer nav {display:flex;flex-direction:column;align-items:flex-start;color:var(--gm-muted);font-size:12px;}
#gm-site-footer nav a {padding:5px 0;}
#gm-site-footer nav a:hover {color:var(--gm-ink);text-decoration:underline;text-underline-offset:4px;}
#gm-site-footer .gm-footer-bottom {
 display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;
 border-top:1px solid var(--gm-line);margin-top:25px;padding-top:12px;
}
#gm-site-footer .gm-footer-bottom nav {flex-direction:row;flex-wrap:wrap;gap:8px 23px;}
#gm-site-footer small {color:var(--gm-muted);font-size:11px;}
/* Suppress the old theme footer only when the replacement exists in this page. */
body:has(#gm-site-footer) #footer {display:none;}
@media (max-width:500px) {
 #gm-site-footer {width:calc(100% - 36px);margin-top:7px;padding:24px 0 16px;}
 #gm-site-footer .gm-footer-main {grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px;}
 #gm-site-footer .gm-publication {grid-column:1/-1;}
 #gm-site-footer .gm-footer-brand {font-size:39px;}
 #gm-site-footer .gm-publication p {font-size:11px;margin-top:9px;}
 #gm-site-footer h2 {margin-bottom:6px;}
 #gm-site-footer nav {font-size:11px;}
 #gm-site-footer nav a {display:inline-flex;align-items:center;min-height:44px;padding:8px 0;}
 #gm-site-footer .gm-footer-bottom {margin-top:19px;padding-top:6px;gap:0 15px;}
 #gm-site-footer .gm-footer-bottom nav {gap:0 18px;}
 #gm-site-footer .gm-footer-bottom nav a {min-width:44px;justify-content:center;}
 #gm-site-footer small {font-size:11px;}
}
@media (prefers-reduced-motion:no-preference) {
 #gm-site-footer a {transition:color .14s ease;}
}

/* Only typography and horizontal spacing are shared with the magazine masthead.
 * SWELL keeps its normal and compact follow-header heights and logo geometry. */
@media (min-width:960px) {
 :is(#gnav,.l-fixHeader__gnav) .c-gnav {
  column-gap:25px;row-gap:5px;
  font-family:-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;
  font-size:12px;font-weight:700;line-height:1.75;letter-spacing:normal;
 }
 :is(#gnav,.l-fixHeader__gnav) .c-gnav > li {margin-left:0;margin-right:0;}
 :is(#gnav,.l-fixHeader__gnav) .c-gnav > li > a {padding:7px 0;font:inherit;letter-spacing:normal;}
 :is(#gnav,.l-fixHeader__gnav) .c-gnav > li > a > .ttl {font:inherit;letter-spacing:normal;}
}
