:root{
  font-family:'IBM Plex Sans',system-ui,sans-serif;
  color:#213444;background:#eef2f5;
  --ink:#213444;--muted:#586c7b;--line:#ccd7df;--blue:#226581;--gold:#c7983d;
  --surface:#fff;--surface-soft:#f7fafc;--mono:'IBM Plex Mono',ui-monospace,monospace;
  --heading:'Oxanium','Arial Narrow',system-ui,sans-serif
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-width:280px;background:linear-gradient(180deg,#eef3f6 0%,#f4f7f9 55%,#edf2f5 100%);color:var(--ink);line-height:1.7}
a{color:#286e8d;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:#124c67}
a:focus-visible{outline:3px solid #2779ad;outline-offset:3px;border-radius:3px}
button,input,select,textarea{font:inherit}
.shell{width:min(1160px,calc(100% - 40px));margin-inline:auto}
.skip-link{position:absolute;left:12px;top:-160px;background:#fff;border:1px solid var(--line);padding:12px 14px;z-index:100}
.skip-link:focus{top:12px}
.legal-header{margin-top:18px;display:flex;align-items:center;gap:24px;padding:16px 20px;background:#fff;border:1px solid var(--line);border-radius:7px 7px 0 0}
.brand{display:flex;flex-direction:column;text-decoration:none;color:#203643;line-height:1}
.brand strong{font:700 1.55rem/1.05 var(--heading);letter-spacing:.01em}
.brand .domain{color:#27738d}
.brand small{margin-top:5px;color:#607584;font-size:.73rem;letter-spacing:.035em}
.legal-nav{display:flex;gap:7px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}
.legal-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:39px;padding:7px 11px;border:1px solid #cfd9e0;border-radius:4px;background:linear-gradient(#fff,#f8fafb);font-size:.77rem;color:#354b5b;text-decoration:none}
.legal-nav a[aria-current="page"]{background:linear-gradient(#347d96,#245e77);border-color:#215a74;color:#fff}
main{background:#fff;border:1px solid var(--line);border-top:0;border-radius:0 0 7px 7px;margin-bottom:18px}
.hero{padding:44px clamp(22px,5vw,58px) 34px;background:radial-gradient(ellipse at 70% 0,#fffef8,#f9fbfc 52%,#eef4f7);border-bottom:1px solid var(--line)}
.eyebrow{font:600 .7rem/1.5 var(--mono);letter-spacing:.12em;color:#45677a}
.hero h1{font:700 clamp(2rem,5vw,3.5rem)/1.05 var(--heading);margin:9px 0 16px;color:#213e50;letter-spacing:-.025em}
.hero-lead{max-width:820px;font-size:1.02rem;color:#536e7f}
.meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:18px;font-size:.74rem;color:#6b7e8b}
.meta strong{color:#3c596a}
.notice{margin:0 clamp(22px,5vw,58px);transform:translateY(-1px);padding:18px 20px;border:1px solid #d2dde4;border-top:0;background:#f7fafb;color:#526c7c}
.notice strong{color:#2e5367}
.notice p+p{margin-top:8px}
.layout{display:grid;grid-template-columns:minmax(210px,260px) minmax(0,1fr);gap:34px;padding:36px clamp(22px,5vw,58px) 54px}
.toc{align-self:start;position:sticky;top:18px;border:1px solid #d8e2e8;border-radius:6px;background:#f9fbfc;padding:16px}
.toc h2{font:700 .84rem/1.3 var(--heading);margin:0 0 10px;color:#34586c}
.toc ol{list-style:none;padding:0;margin:0}
.toc li+li{border-top:1px solid #e3eaee}
.toc a{display:block;padding:8px 2px;font-size:.73rem;line-height:1.35;text-decoration:none;color:#537181}
.toc a:hover{text-decoration:underline}
.legal-copy{min-width:0}
.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 30px}
.summary-card{border:1px solid #d5e0e6;border-radius:6px;background:#fbfcfd;padding:16px}
.summary-card span{display:block;font:500 .62rem/1.3 var(--mono);letter-spacing:.08em;color:#638092;margin-bottom:6px}
.summary-card strong{display:block;font-size:.9rem;color:#2d5269;line-height:1.45}
section.policy-section{scroll-margin-top:20px;padding:2px 0 27px;border-bottom:1px solid #e0e7eb}
section.policy-section+section.policy-section{padding-top:27px}
.policy-section h2{font:700 1.3rem/1.25 var(--heading);margin:0 0 13px;color:#2f5469}
.policy-section h3{font:600 1rem/1.35 var(--heading);margin:20px 0 8px;color:#3b6073}
.policy-section p{margin:0;color:#506a7b;font-size:.94rem}
.policy-section p+p{margin-top:13px}
.policy-section ul{margin:13px 0 0;padding-left:21px;color:#506a7b}
.policy-section li+li{margin-top:8px}
.risk-box{border-left:4px solid #bb8a35;background:#fffaf0;padding:16px 18px;margin:17px 0;color:#5c543d}
.risk-box strong{color:#7c5c25}
.data-table-wrap{overflow-x:auto;margin-top:16px;border:1px solid #d7e1e7;border-radius:6px}
.data-table{width:100%;border-collapse:collapse;min-width:680px;font-size:.78rem}
.data-table th,.data-table td{padding:11px 12px;border-bottom:1px solid #e0e7eb;text-align:left;vertical-align:top}
.data-table th{background:#f3f7f9;color:#355568;font-weight:600}
.data-table td{color:#586f7e}
.data-table tr:last-child td{border-bottom:0}
.callout{margin:18px 0;padding:16px 18px;border:1px solid #cfe0e8;border-radius:6px;background:#f3f9fb;color:#496b7d}
.callout strong{color:#285d75}
.legal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:9px 14px;border:1px solid #c4d0d9;border-radius:5px;text-decoration:none;font-size:.82rem;font-weight:500}
.button.primary{background:linear-gradient(#307792,#205c76);border-color:#215972;color:#fff}
.button.secondary{background:linear-gradient(#fff,#f2f5f7);color:#294757}
footer{padding:18px 0 34px;color:#617b89;font-size:.72rem}
footer .footer-line{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;border-top:1px solid #cedbe2;padding-top:18px}
footer strong{font-family:var(--heading);color:#35586a}
@media(max-width:840px){
  .legal-header{align-items:flex-start;flex-direction:column;gap:14px}
  .legal-nav{margin-left:0;justify-content:flex-start}
  .layout{grid-template-columns:1fr}
  .toc{position:static}
  .summary-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  .shell{width:min(100% - 20px,1160px)}
  .legal-header{margin-top:10px;padding:14px}
  .brand strong{font-size:1.3rem}
  .legal-nav{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .hero{padding:32px 18px 27px}
  .hero h1{font-size:2rem}
  .hero-lead{font-size:.92rem}
  .notice{margin:0 18px;padding:15px}
  .layout{padding:26px 18px 40px}
  .legal-actions{display:grid;grid-template-columns:1fr}
  .button{width:100%}
}
@media print{
  body{background:#fff}
  .legal-header,.toc,.legal-actions,footer{display:none!important}
  main{border:0}
  .layout{display:block;padding:0}
  .hero,.notice{margin:0;padding-left:0;padding-right:0}
}
