/* Current home footer, scoped to avoid legacy page-wide utility rules. */
footer.rx18-footer, footer.rx18-footer * { box-sizing: border-box; }
footer.rx18-footer { display: block; width: 100%; margin: 0; border-top: 1px solid rgba(255,255,255,.13); padding: 80px 0 30px; background: #07101e; color: #fff; text-align: left; font-family: "Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif; line-height: 1.7; }
.rx18-footer .rx18-container { width: min(100%,1440px); margin: 0 auto; padding: 0 clamp(20px,4vw,64px); }
.rx18-footer .rx18-footer__top { display: grid; grid-template-columns: minmax(200px,.55fr) minmax(0,1.45fr); gap: clamp(30px,5vw,80px); }
.rx18-footer .rx18-footer__top > div > p { margin: 28px 0 0; color: #aeb5c0; font-size: 12px; line-height: 1.9; }
.rx18-footer a { text-decoration: none; border: 0; background: none; box-shadow: none; }
.rx18-footer .rx18-brand { display: inline-flex; flex-direction: column; gap: 5px; line-height: 1; color: #fff; }
.rx18-footer .rx18-brand__name { font-size: 24px; font-weight: 700; letter-spacing: -.055em; }
.rx18-footer .rx18-brand__tm { position: relative; top: -.52em; margin-left: 2px; font-size: 8px; letter-spacing: 0; }
.rx18-footer .rx18-brand__descriptor { color: #aeb5c0; font-size: 8px; font-weight: 700; letter-spacing: .18em; }
.rx18-footer .rx18-footer__nav { display: grid; grid-template-columns: 1.15fr .85fr 1.05fr .95fr; gap: 24px; margin: 0; }
.rx18-footer .rx18-footer__nav h3 { margin: 0 0 20px; padding: 0; border: 0; color: #8fb0ff; font-size: 11px; font-weight: 700; line-height: 1.5; letter-spacing: .13em; text-transform: uppercase; }
.rx18-footer .rx18-footer__nav ul { margin: 0; padding: 0; list-style: none; }
.rx18-footer .rx18-footer__nav li { margin: 0; padding: 0; border: 0; }
.rx18-footer .rx18-footer__nav li + li { margin-top: 9px; }
.rx18-footer .rx18-footer__nav a { display: inline-block; color: #bac1cd; font-size: 12px; font-weight: 400; line-height: 1.8; overflow-wrap: anywhere; }
.rx18-footer .rx18-footer__nav a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.rx18-footer a:focus-visible { outline: 2px solid #8fb0ff; outline-offset: 4px; border-radius: 3px; }
.rx18-footer .rx18-footer__variant-link span { display: block; }
.rx18-footer .rx18-footer__bottom { display: flex; justify-content: space-between; gap: 20px; margin: 30px 0 0; border-top: 1px solid rgba(255,255,255,.12); padding: 24px 0 0; color: #a0aabb; font-size: 10px; letter-spacing: .04em; }
.rx18-footer .rx18-footer__bottom p { margin: 0; font: inherit; color: inherit; }
@media(max-width:1100px) { .rx18-footer .rx18-footer__top { grid-template-columns: 1fr; gap: 38px; } }
@media(max-width:600px) { footer.rx18-footer { padding: 48px 0 28px; } .rx18-footer .rx18-footer__nav { grid-template-columns: 1fr 1fr; gap: 32px 20px; } .rx18-footer .rx18-footer__nav a { padding-block: 4px; } .rx18-footer .rx18-footer__bottom { flex-direction: column; gap: 8px; } }
