/* Reader-first public documents. All body text is available without JavaScript. */
.legal-page .legal-main{width:min(1000px,calc(100% - 64px));margin:40px auto 96px}
.legal-page .site-header{border-bottom:1px solid var(--line)}
.legal-page .site-header nav{flex-wrap:wrap;gap:12px 28px}
.legal-page [aria-current="page"]{color:var(--brand);font-weight:750}
.legal-page .legal-main h1{font-size:clamp(30px,4vw,46px);margin:30px 0 24px;line-height:1.35}
.legal-page .legal-main h2{margin-top:56px;padding-top:12px;border-top:1px solid var(--line);font-size:25px;line-height:1.5;scroll-margin-top:28px}
.legal-page .legal-main h3{margin-top:34px;font-size:20px;line-height:1.5}
.legal-page .legal-main p,.legal-page .legal-main li{font-size:16px;line-height:1.9;color:#403747}
.legal-page .legal-main p{margin:14px 0}
.legal-page .legal-main ul,.legal-page .legal-main ol{margin:16px 0;padding-left:25px}
.legal-page .legal-main li>ul,.legal-page .legal-main li>ol{margin:12px 0}
.legal-page .legal-main li+li{margin-top:10px}
.legal-page .legal-main strong{font-weight:720;color:var(--ink)}
.legal-page .legal-main code{font-family:inherit;background:#f4f0fa;border-radius:4px;padding:1px 4px;overflow-wrap:anywhere}
.legal-page .legal-main .legal-effective{padding:14px 18px;border-radius:10px;background:#f4effb;margin:24px 0}
.legal-page .legal-main .legal-toc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 34px;padding:24px 24px 24px 46px;background:var(--mist);border-radius:16px;list-style:decimal}
.legal-page .legal-toc li,.legal-page .legal-toc li+li{margin:0;font-size:14px}
.legal-page .legal-toc a{display:inline-block;min-height:36px;padding:4px 0;text-decoration:none;line-height:1.75}
.legal-page .legal-toc a:hover{text-decoration:underline}
.legal-page .legal-main a{overflow-wrap:anywhere}
.legal-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:14px 0 20px}
.legal-actions>a,.legal-actions>button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;font-size:14px;line-height:1.5;border:1px solid var(--line);border-radius:9px;background:#fff;text-decoration:none!important;white-space:normal}
.legal-actions>button:hover{border-color:var(--brand);color:var(--brand)}
.legal-actions .legal-contact-button{background:var(--brand);border-color:var(--brand);color:#fff}
.legal-actions .legal-contact-button:hover{background:var(--brand-dark)}
.support-contents{display:flex;flex-wrap:wrap;gap:8px 20px;margin:20px 0 34px;padding:18px 22px;border-radius:12px;background:var(--mist)}
.support-contents a{font-size:14px;line-height:1.75;min-height:36px;display:flex;align-items:center;text-decoration:none!important}
.legal-table-scroll{max-width:100%;margin:22px 0;overflow-x:auto;overscroll-behavior-x:contain;border:1px solid var(--line);border-radius:12px;scrollbar-color:#9882b6 #f4f0fa}
.legal-table-scroll:focus-visible{outline:3px solid var(--brand);outline-offset:3px}
.legal-table-scroll table{border-collapse:collapse;min-width:660px;width:100%;font-size:14px;line-height:1.8;word-break:keep-all;overflow-wrap:anywhere}
.legal-table-scroll table:has(thead th:nth-child(7)){min-width:1180px}
.legal-table-scroll th,.legal-table-scroll td{padding:16px 18px;vertical-align:top;text-align:left;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.legal-table-scroll th:last-child,.legal-table-scroll td:last-child{border-right:0}
.legal-table-scroll tr:last-child>th,.legal-table-scroll tr:last-child>td{border-bottom:0}
.legal-table-scroll thead th{background:#eee8f7;color:#352746;font-weight:720;white-space:normal}
.legal-table-scroll tbody th{min-width:132px;background:#faf8fd;font-weight:650}
.legal-table-scroll tbody td{min-width:140px;color:#403747}
.legal-page .support-faq{margin:14px 0;border:1px solid var(--line);border-radius:12px;background:#fff}
.legal-page .support-faq summary{cursor:pointer;padding:20px 22px;min-height:58px;font-size:16px;font-weight:680;line-height:1.6;overflow-wrap:anywhere;word-break:keep-all;color:var(--ink)}
.legal-page .support-faq summary::marker{color:var(--brand)}
.legal-page .support-faq[open] summary{background:#f7f4fb;border-radius:12px 12px 0 0;border-bottom:1px solid var(--line)}
.legal-page .faq-answer{padding:6px 22px 16px}
.legal-page .faq-answer p,.legal-page .faq-answer li{font-size:15px}
.legal-page .site-footer{border-top:1px solid var(--line)}
@media(max-width:680px){
  .legal-page .legal-main{width:calc(100% - 40px);margin-top:22px;margin-bottom:60px}
  .legal-page .site-header nav{gap:6px 20px;font-size:13px}
  .legal-page .legal-main h1{font-size:32px;margin:26px 0 22px}
  .legal-page .legal-main h2{font-size:23px;margin-top:44px}
  .legal-page .legal-main p,.legal-page .legal-main li{font-size:15px;line-height:1.9}
  .legal-page .legal-main .legal-toc{grid-template-columns:1fr;padding:20px 20px 20px 40px;gap:4px}
  .legal-page .legal-toc li,.legal-page .legal-toc li+li{font-size:14px}
  .legal-actions{gap:8px}
  .legal-actions>a,.legal-actions>button{font-size:13px;padding:10px 12px}
  .support-contents{gap:4px 18px;padding:16px}
  .support-contents a{font-size:13px}
  .legal-page .support-faq summary{padding:18px 16px;font-size:15px}
  .legal-page .faq-answer{padding:4px 16px 12px}
  .legal-table-scroll th,.legal-table-scroll td{padding:14px}
}
@media print{
  @page{size:A4;margin:16mm}
  :root{scroll-behavior:auto}
  .legal-page .site-header,.legal-page .skip-link,.legal-page .legal-back,.legal-page .legal-actions,.legal-page .support-contents,.legal-page .site-footer{display:none!important}
  .legal-page .legal-main{width:100%;max-width:none;margin:0}
  .legal-page .legal-main h1{font-size:23pt;margin:0 0 16pt}
  .legal-page .legal-main h2{font-size:15pt;margin:22pt 0 9pt;padding-top:9pt;break-after:avoid}
  .legal-page .legal-main h3{font-size:12pt;margin:16pt 0 8pt;break-after:avoid}
  .legal-page .legal-main p,.legal-page .legal-main li,.legal-page .faq-answer p,.legal-page .faq-answer li{font-size:10pt;line-height:1.7;color:#000;orphans:3;widows:3}
  .legal-page .legal-main a{color:#000;text-decoration:none}
  .legal-page .legal-main .legal-effective{padding:0;background:transparent}
  .legal-page .legal-main .legal-toc{display:block;background:transparent;padding:0 0 0 20pt}
  .legal-page .legal-toc li,.legal-page .legal-toc li+li{font-size:9pt;margin:0;line-height:1.55}
  .legal-page .legal-toc a{min-height:0;padding:0;line-height:1.55}
  .legal-table-scroll{overflow:visible;max-width:none;border-radius:0;margin:12pt 0}
  .legal-table-scroll table,.legal-table-scroll table:has(thead th:nth-child(7)){width:100%;min-width:0;table-layout:fixed;font-size:8pt;line-height:1.55;word-break:normal;overflow-wrap:anywhere}
  .legal-table-scroll th,.legal-table-scroll td,.legal-table-scroll tbody th,.legal-table-scroll tbody td{min-width:0;padding:6pt 5pt;color:#000}
  .legal-table-scroll thead{display:table-header-group}
  .legal-table-scroll tr{break-inside:avoid}
  .legal-page .support-faq{border:0;border-radius:0;margin:12pt 0;break-inside:auto}
  .legal-page .support-faq summary,.legal-page .support-faq[open] summary{padding:0 0 5pt;min-height:0;background:transparent;border:0;font-size:11pt;break-after:avoid}
  .legal-page .support-faq summary::marker{content:''}
  .legal-page .support-faq::details-content{display:contents;content-visibility:visible}
  .legal-page .support-faq .faq-answer{display:block!important;content-visibility:visible!important;padding:0}
}
