/* Hibiki Legal — light cards and typography match the product pages. */
.hibiki-page-legal .hibiki-page-content>*,
.hibiki-page-legal .hibiki-page-content>.hb-legal-document,
.hibiki-page-legal .hibiki-page-content>div:has(>.hb-legal-document){max-width:none!important;width:100%;}
.hb-legal-document{--hb-legal-ink:#191b25;--hb-legal-muted:#646b79;--hb-legal-accent:#674cea;font-family:Montserrat,ui-sans-serif,system-ui,sans-serif;color:var(--hb-legal-ink);width:100%;}
.hb-legal-intro{border-radius:30px;background:#fff;padding:clamp(26px,4vw,60px);margin-bottom:34px;box-shadow:0 12px 32px rgba(33,35,50,.035);}
.hb-legal-eyebrow{display:inline-block;color:#674cea!important;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;}
.hb-legal-intro .hb-legal-title{margin:15px 0 18px!important;font-size:clamp(32px,4.8vw,67px)!important;line-height:1.05!important;letter-spacing:-.055em!important;font-weight:800!important;max-width:900px;}
.hb-legal-summary{margin:0 0 28px!important;color:#626a78!important;font-size:clamp(15px,1.65vw,18px)!important;line-height:1.75!important;max-width:850px;}
.hb-legal-meta{display:flex;gap:12px 25px;flex-wrap:wrap;border-top:1px solid #eeeef1;padding-top:22px;color:#7e8290;font-size:12px;line-height:1.5;}
.hb-legal-meta a{font-size:inherit;}
.hb-legal-layout{display:grid;grid-template-columns:minmax(215px,280px) minmax(0,1fr);align-items:start;gap:clamp(20px,3vw,42px);}
.hb-legal-toc{position:sticky;top:108px;max-height:calc(100vh - 130px);overflow:auto;scrollbar-width:thin;background:#fff;border:1px solid #ebeaf1;border-radius:26px;padding:23px 16px;scroll-margin-top:125px;box-shadow:0 8px 20px rgba(17,17,28,.025);}
.hb-legal-toc-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:0 12px 16px;color:#252734;font-size:11px;font-weight:800;letter-spacing:.1em;}
.hb-legal-toc-head small{color:#a3a5ae;font-weight:600;white-space:nowrap;letter-spacing:0;}
.hb-legal-toc-link{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;color:#595e6d!important;font-size:12px;line-height:1.6;text-decoration:none!important;transition:background .16s,color .16s;}
.hb-legal-toc-link:hover,.hb-legal-toc-link:focus-visible{background:#f3f0ff;color:#6245e9!important;outline-offset:2px;}
.hb-legal-toc-link span:last-child{color:#a59bdf;font-size:13px;flex-shrink:0;}
.hb-legal-sections{display:grid;gap:18px;min-width:0;}
.hb-legal-section{background:#fff;border:1px solid #ededf1;border-radius:26px;padding:clamp(24px,3.3vw,42px);scroll-margin-top:110px;min-width:0;box-shadow:0 10px 24px rgba(22,25,35,.018);}
.hb-legal-section:target{border-color:#baaaff;box-shadow:0 0 0 3px rgba(109,77,234,.08),0 10px 24px rgba(22,25,35,.028);}
.hb-legal-section-head{display:flex;align-items:flex-start;gap:13px;}
.hb-legal-section-permalink,.hb-legal-permalink{display:inline-flex;align-items:center;justify-content:center;flex:0 0 30px;min-width:30px;height:30px;margin-top:1px;border-radius:9px;color:#674cea!important;background:#f3f0ff;text-decoration:none!important;font-size:16px;font-weight:800;line-height:1;outline-offset:3px;}
.hb-legal-permalink:hover,.hb-legal-permalink:focus-visible{background:#e8e2ff;color:#4f31cb!important;}
.hb-legal-section-dot{margin-top:14px;width:9px;height:9px;flex:0 0 9px;border-radius:999px;background:var(--hb-legal-accent);box-shadow:0 0 0 5px rgba(103,76,234,.11);}
.hb-legal-section h2{font-size:clamp(23px,2.8vw,34px)!important;line-height:1.18!important;letter-spacing:-.045em!important;margin:0 0 21px!important;font-weight:800!important;color:#20212a!important;}
.hb-legal-prose{min-width:0;}
.hb-legal-prose p,.hb-legal-prose li{font-size:14px!important;line-height:1.85!important;color:#676d79!important;overflow-wrap:anywhere;}
.hb-legal-prose p{margin:0 0 16px!important;}
.hb-legal-prose ul,.hb-legal-prose ol{margin:6px 0 18px!important;padding-left:22px!important;}
.hb-legal-prose li{margin-bottom:10px;}
.hb-legal-prose strong{color:#262934;font-weight:750;}
.hb-legal-prose a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;color:#5b42ca!important;}
.hb-legal-back{display:inline-block;margin-top:10px;padding:8px 0;font-size:12px;text-decoration:none!important;font-weight:700;color:#6a53d0!important;}
.hb-legal-contact{background:#191b2b;color:#fff;border-radius:30px;padding:clamp(30px,4vw,55px);display:flex;gap:25px;align-items:center;justify-content:space-between;margin-top:36px;}
.hb-legal-contact h2{color:#fff!important;margin:10px 0 12px!important;font-size:clamp(28px,3vw,44px)!important;letter-spacing:-.04em;line-height:1.15;}
.hb-legal-contact p{color:#bfc1d1!important;max-width:540px;font-size:14px;line-height:1.75;}
.hb-legal-cta-actions{display:flex;gap:11px;flex-wrap:wrap;}
.hb-legal-cta-actions a{white-space:nowrap;text-decoration:none!important;border-radius:999px;padding:14px 19px;font-weight:800;font-size:12px;}
.hb-legal-cta-primary{background:#eee9ff;color:#4a31cb!important;}
.hb-legal-cta-secondary{background:#32344a;color:#fff!important;}
.hb-legal-document [id]{scroll-margin-top:110px;}
@media(max-width:900px){.hb-legal-layout{grid-template-columns:1fr}.hb-legal-toc{position:relative;top:auto;max-height:340px;}.hb-legal-contact{flex-direction:column;align-items:flex-start;}}
@media(max-width:560px){.hb-legal-intro,.hb-legal-section,.hb-legal-toc,.hb-legal-contact{border-radius:22px;padding:22px}.hb-legal-layout{gap:18px}.hb-legal-section-head{gap:10px}.hb-legal-section-dot{margin-top:10px}.hb-legal-cta-actions{width:100%}.hb-legal-cta-actions a{white-space:normal}.hb-legal-intro .hb-legal-title{font-size:34px!important;}.hibiki-page-legal .hibiki-page-inner{padding:22px 16px!important;}}
@media(prefers-reduced-motion:reduce){.hb-legal-document *{transition:none!important;scroll-behavior:auto!important;}}

.hb-legal-quicklinks{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.hb-legal-quicklinks a{background:#f2efff;border-radius:999px;padding:12px 16px;text-decoration:none!important;font-size:12px;font-weight:750;color:#6043d5!important;line-height:1.2}.hb-legal-quicklinks a:hover{background:#e6defe}@media(max-width:560px){.hb-legal-quicklinks a{font-size:11px;padding:10px 13px}}
