/* Shared public-information links; other page layouts keep their own styles. */
.public-info-links{display:flex;flex-wrap:wrap;align-items:center;gap:0 20px;min-width:0;font-size:12px;line-height:1.6;letter-spacing:0}
.public-info-links a{display:inline-flex;align-items:center;min-height:44px;color:inherit;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.public-info-links a:hover{text-decoration-thickness:2px}
.public-info-links a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.closing .public-site-footer{flex-wrap:wrap;gap:12px 24px}
.closing .footer-public-info{min-width:0;max-width:100%}
.closing .public-info-links{justify-content:flex-end;color:#24301f}
.account-public-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px}
.account-public-footer .public-info-links{color:#b5b5b5}

/* Standalone public pages require no script or authenticated workspace. */
.legal-page{color-scheme:dark;margin:0;background:#0b0b0b;color:#ededed;font-family:Inter,-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;line-height:1.85;font-synthesis:none}
.legal-page *{box-sizing:border-box}
.legal-page a{color:inherit;text-underline-offset:4px;overflow-wrap:anywhere}
.legal-page a:focus-visible{outline:2px solid #fff;outline-offset:5px}
.legal-skip{position:absolute;left:20px;top:12px;transform:translateY(-160%);padding:10px 16px;background:#ededed;color:#111!important;z-index:10}
.legal-skip:focus{transform:translateY(0)}
.legal-header,.legal-footer{width:min(1080px,100%);margin:auto;padding:24px 32px;display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid #292929}
.legal-brand{font-size:21px;font-weight:700;letter-spacing:.14em;text-decoration:none}
.legal-back{font-size:12px;min-height:44px;display:inline-flex;align-items:center}
.legal-main{width:min(760px,calc(100% - 64px));margin:64px auto 80px;overflow-wrap:anywhere}
.legal-kicker{font-size:11px;letter-spacing:.18em;color:#aaa;margin:0 0 12px}
.legal-main h1{font-size:clamp(29px,5vw,40px);line-height:1.45;font-weight:600;letter-spacing:-.03em;margin:0 0 18px}
.legal-lead{font-size:15px;color:#c1c1c1;margin:0 0 20px}
.legal-date{font-size:12px;color:#aaa;margin:0}
.legal-section{border-top:1px solid #292929;padding-top:28px;margin-top:32px}
.legal-section h2{font-size:19px;font-weight:600;line-height:1.6;margin:0 0 14px}
.legal-section p,.legal-section li,.legal-section dd{font-size:14px;color:#c7c7c7}
.legal-section p{margin:10px 0}
.legal-section ul,.legal-section ol{padding-left:23px;margin:12px 0}
.legal-section li+li{margin-top:10px}
.legal-facts{margin:0}
.legal-facts>div{display:grid;grid-template-columns:135px minmax(0,1fr);gap:12px;padding:13px 0;border-bottom:1px solid #222}
.legal-facts dt{font-size:13px;color:#aaa}
.legal-facts dd{margin:0;min-width:0}
.legal-note{border-left:2px solid #777;padding:4px 0 4px 16px;color:#b8b8b8}
.legal-email{font-size:clamp(16px,3vw,21px);font-weight:500;letter-spacing:.01em;display:inline-block;margin:10px 0;max-width:100%}
.legal-action{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:11px 18px;border:1px solid #dedede;border-radius:5px;background:#ededed;color:#111!important;font-size:13px;font-weight:600;text-decoration:none;margin:10px 0;max-width:100%}
.legal-action:hover{background:#d6d6d6}
.legal-footer{border-top:1px solid #292929;border-bottom:0;flex-wrap:wrap;font-size:12px;color:#aaa}
.legal-footer p{margin:0}
@media(max-width:600px){
 .legal-header,.legal-footer{padding:18px 20px}
 .legal-brand{font-size:18px}
 .legal-main{width:calc(100% - 40px);margin:40px auto 56px}
 .legal-main h1{font-size:29px}
 .legal-section{padding-top:23px;margin-top:26px}
 .legal-facts>div{grid-template-columns:minmax(0,1fr);gap:3px}
 .legal-action{width:100%}
 .public-info-links{gap:0 16px}
 .closing .public-info-links{justify-content:flex-start;font-size:11px}
}
