:root{
  --legal-navy:#083D6A;
  --legal-blue:#0B5F8A;
  --legal-teal:#0E8BA7;
  --legal-cyan:#17A2B3;
  --legal-violet:#8860AC;
  --legal-ink:#0B2438;
  --legal-slate:#5B7186;
  --legal-paper:#FCFCFA;
  --legal-mist:#F1F8F9;
  --legal-line:#DDE8EB;
  --legal-white:#FFFFFF;
  --legal-shadow:0 18px 50px rgba(8,61,106,.1);
  --legal-ease:cubic-bezier(.22,1,.36,1);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background:
    radial-gradient(circle at 90% 7%,rgba(23,162,179,.13),transparent 28rem),
    linear-gradient(180deg,#F8FCFC 0%,var(--legal-paper) 34rem);
  color:var(--legal-ink);
  font-family:'Inter',Arial,sans-serif;
  line-height:1.7;
}
a{ color:inherit; text-decoration:none; }
img,svg{ display:block; }

.skip-link{
  position:fixed; top:8px; left:8px; z-index:1100; padding:10px 14px; border-radius:10px;
  background:var(--legal-navy); color:#fff; font-weight:700; transform:translateY(-150%);
}
.skip-link:focus{ transform:translateY(0); }

.legal-header{ position:fixed; inset:0 0 auto; z-index:1000; padding:20px 20px 0; }
.legal-header-shell{
  display:flex; align-items:center; justify-content:space-between; gap:18px; width:min(1180px,100%); min-height:70px;
  margin:0 auto; padding:10px 12px 10px 20px; border:1px solid rgba(255,255,255,.72); border-radius:999px;
  background:rgba(255,255,255,.78); box-shadow:0 10px 34px rgba(8,61,106,.09);
  backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
}
.legal-brand{ display:inline-flex; align-items:center; gap:10px; min-width:max-content; font-weight:800; letter-spacing:-.025em; }
.legal-brand-logo{ width:auto; height:26px; }
.legal-brand-mark{
  display:grid; place-items:center; width:34px; height:34px; border-radius:11px;
  background:linear-gradient(135deg,rgba(11,95,138,.12),rgba(23,162,179,.16)); color:var(--legal-teal);
}
.legal-brand-mark svg{ width:23px; height:23px; }
.legal-brand-word{ font-size:1.08rem; color:var(--legal-navy); }
.legal-brand-word b{ color:var(--legal-cyan); }
.legal-header-actions{ display:flex; align-items:center; gap:10px; }
.legal-home,.legal-cta{
  display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:44px; padding:0 17px;
  border-radius:999px; font-size:.84rem; font-weight:750; white-space:nowrap; transition:transform .3s var(--legal-ease),box-shadow .3s var(--legal-ease);
}
.legal-home{ border:1px solid rgba(8,61,106,.12); background:#fff; color:var(--legal-navy); }
.legal-home svg{ width:16px; height:16px; }
.legal-cta{ background:linear-gradient(110deg,var(--legal-blue),var(--legal-cyan)); color:#fff; box-shadow:0 9px 22px rgba(11,95,138,.23); }
.legal-home:hover,.legal-cta:hover{ transform:translateY(-2px); }

.legal-main{ min-height:calc(100vh - 90px); padding:148px 22px 84px; }
.legal-wrap{ width:min(1080px,100%); margin:0 auto; }
.legal-hero{ max-width:860px; margin-bottom:38px; }
.legal-eyebrow{ margin:0 0 10px; color:var(--legal-teal); font-size:.76rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.legal-hero h1{ margin:0 0 18px; font-size:clamp(2.55rem,6vw,5rem); line-height:.98; letter-spacing:-.055em; text-wrap:balance; }
.legal-lead{ max-width:780px; margin:0; color:var(--legal-slate); font-size:clamp(1rem,1.8vw,1.18rem); line-height:1.72; }
.legal-updated{
  display:inline-flex; align-items:center; gap:8px; margin-top:22px; padding:8px 12px; border:1px solid rgba(14,139,167,.15);
  border-radius:999px; background:rgba(255,255,255,.7); color:#49677e; font-size:.76rem; font-weight:700;
}
.legal-updated::before{ width:7px; height:7px; border-radius:50%; background:var(--legal-cyan); content:''; }

.legal-layout{ display:grid; grid-template-columns:230px minmax(0,1fr); align-items:start; gap:28px; }
.legal-toc{
  position:sticky; top:116px; padding:20px; border:1px solid rgba(8,61,106,.09); border-radius:22px;
  background:rgba(255,255,255,.74); box-shadow:0 10px 30px rgba(8,61,106,.05); backdrop-filter:blur(12px);
}
.legal-toc h2{ margin:0 0 12px; color:var(--legal-navy); font-size:.75rem; letter-spacing:.11em; text-transform:uppercase; }
.legal-toc nav{ display:flex; flex-direction:column; gap:3px; }
.legal-toc a{ padding:7px 9px; border-radius:9px; color:#587086; font-size:.78rem; font-weight:600; line-height:1.35; transition:background .2s ease,color .2s ease; }
.legal-toc a:hover,.legal-toc a:focus-visible{ background:#EAF7F8; color:var(--legal-teal); outline:none; }

.legal-content{
  min-width:0; padding:clamp(26px,5vw,54px); border:1px solid rgba(8,61,106,.08); border-radius:30px;
  background:rgba(255,255,255,.93); box-shadow:var(--legal-shadow);
}
.policy-section{ scroll-margin-top:128px; }
.policy-section + .policy-section{ margin-top:34px; padding-top:34px; border-top:1px solid var(--legal-line); }
.policy-section h2{ margin:0 0 12px; color:var(--legal-navy); font-size:clamp(1.3rem,2.5vw,1.75rem); line-height:1.24; letter-spacing:-.025em; }
.policy-section h3{ margin:24px 0 8px; color:#173A53; font-size:1.02rem; line-height:1.4; }
.policy-section p{ margin:0 0 14px; color:#4E657A; }
.policy-section p:last-child{ margin-bottom:0; }
.policy-section ul,.policy-section ol{ margin:12px 0 0; padding-left:21px; color:#4E657A; }
.policy-section li{ margin:8px 0; padding-left:4px; }
.policy-section strong{ color:#203E55; }
.policy-section a:not(.contact-link){ color:var(--legal-teal); font-weight:700; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
.legal-note{
  margin:20px 0 0; padding:18px 20px; border:1px solid rgba(23,162,179,.18); border-left:4px solid var(--legal-cyan);
  border-radius:4px 16px 16px 4px; background:#F0FAFB; color:#46657A;
}
.legal-note strong{ color:var(--legal-navy); }
.table-wrap{ margin-top:18px; overflow-x:auto; border:1px solid var(--legal-line); border-radius:16px; }
.legal-table{ width:100%; min-width:610px; border-collapse:collapse; font-size:.85rem; }
.legal-table th,.legal-table td{ padding:13px 15px; border-bottom:1px solid var(--legal-line); text-align:left; vertical-align:top; }
.legal-table tr:last-child td{ border-bottom:0; }
.legal-table th{ background:#F0F8F9; color:var(--legal-navy); font-size:.74rem; letter-spacing:.04em; text-transform:uppercase; }
.legal-table td{ color:#50687C; }
.status-none{ display:inline-flex; padding:3px 8px; border-radius:999px; background:#E7F7EE; color:#167248; font-size:.7rem; font-weight:800; white-space:nowrap; }
.contact-card{
  display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:18px; padding:20px;
  border-radius:18px; background:linear-gradient(135deg,#082C4B,#087E99); color:#fff;
}
.contact-card p{ margin:0; color:rgba(255,255,255,.72); font-size:.86rem; }
.contact-link{ display:inline-flex; flex:0 0 auto; padding:10px 14px; border-radius:999px; background:#fff; color:var(--legal-blue); font-size:.78rem; font-weight:800; }

.legal-footer{ padding:0 22px; background:#06182A; color:rgba(255,255,255,.48); }
.legal-footer-inner{
  display:flex; align-items:center; justify-content:space-between; gap:18px; width:min(1080px,100%); min-height:86px; margin:0 auto;
  font-size:.78rem;
}
.legal-footer-links{ display:flex; align-items:center; gap:8px; white-space:nowrap; }
.legal-footer-links a{ transition:color .2s ease; }
.legal-footer-links a:hover,.legal-footer-links a[aria-current='page']{ color:#75D7E2; }
.legal-footer-links span{ color:rgba(255,255,255,.2); }

@media (max-width:820px){
  .legal-layout{ grid-template-columns:1fr; }
  .legal-toc{ position:static; }
  .legal-toc nav{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 10px; }
}

@media (max-width:620px){
  .legal-header{ padding:12px 12px 0; }
  .legal-header-shell{ min-height:60px; padding:8px 9px 8px 13px; }
  .legal-brand{ gap:7px; }
  .legal-brand-mark{ width:30px; height:30px; border-radius:9px; }
  .legal-brand-word{ font-size:.95rem; }
  .legal-home{ width:40px; min-height:40px; padding:0; }
  .legal-home span{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
  .legal-cta{ min-height:40px; padding:0 13px; font-size:.72rem; }
  .legal-main{ padding:112px 16px 58px; }
  .legal-hero{ margin-bottom:28px; }
  .legal-hero h1{ font-size:clamp(2.5rem,13vw,3.6rem); }
  .legal-lead{ font-size:.96rem; }
  .legal-content{ padding:25px 20px; border-radius:24px; }
  .policy-section + .policy-section{ margin-top:28px; padding-top:28px; }
  .legal-toc{ padding:17px; border-radius:18px; }
  .legal-toc nav{ grid-template-columns:1fr 1fr; }
  .contact-card{ align-items:flex-start; flex-direction:column; }
  .legal-footer{ padding:0 16px; }
  .legal-footer-inner{ align-items:flex-start; flex-direction:column; justify-content:center; min-height:94px; gap:5px; }
  .legal-footer-links{ width:100%; gap:6px; overflow-x:auto; font-size:.67rem; scrollbar-width:none; }
  .legal-footer-links::-webkit-scrollbar{ display:none; }
}

@media (max-width:390px){
  .legal-brand-word{ display:none; }
  .legal-toc nav{ grid-template-columns:1fr; }
}

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ transition-duration:.01ms !important; }
}

@media print{
  .legal-header,.legal-toc,.legal-footer{ display:none; }
  body{ background:#fff; }
  .legal-main{ padding:20px 0; }
  .legal-layout{ display:block; }
  .legal-content{ padding:0; border:0; box-shadow:none; }
}
