:root{
  --navy:#0a2a3e;
  --navy-dark:#061923;
  --green:#a8c94a;
  --ink:#11191d;
  --muted:#5e6c71;
  --paper:#f3f0e9;
  --paper-2:#e7e3da;
  --line:#c6cac6;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
a{color:inherit}

.legal-header{
  min-height:86px;
  padding:14px 5vw;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  background:var(--navy);
  color:#fff;
}

.legal-logo img{width:190px;display:block}
.legal-back{font-size:11px;font-weight:900;letter-spacing:.7px;text-decoration:none}
.legal-back:hover{color:var(--green)}

.legal-hero{
  padding:70px max(5vw,calc((100vw - 1180px)/2));
  border-bottom:1px solid var(--line);
  background:linear-gradient(120deg,var(--navy) 0 43%,#103d53 43% 100%);
  color:#fff;
}

.legal-hero small{
  display:block;
  margin-bottom:13px;
  color:var(--green);
  font-size:10px;
  font-weight:900;
  letter-spacing:1.2px;
}

.legal-hero h1{
  max-width:850px;
  margin:0;
  font-size:clamp(40px,7vw,78px);
  line-height:.92;
  letter-spacing:-2.5px;
  text-transform:uppercase;
}

.legal-hero p{
  max-width:730px;
  margin:22px 0 0;
  color:#d9e1e4;
  font-size:15px;
  line-height:1.6;
}

.legal-layout{
  width:min(1180px,90vw);
  margin:0 auto;
  padding:52px 0 80px;
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:48px;
  align-items:start;
}

.legal-toc{
  position:sticky;
  top:24px;
  padding:20px;
  border-top:4px solid var(--green);
  background:var(--navy);
  color:#fff;
}

.legal-toc strong{
  display:block;
  margin-bottom:12px;
  color:var(--green);
  font-size:10px;
  letter-spacing:.9px;
}

.legal-toc a{
  padding:8px 0;
  display:block;
  border-top:1px solid rgba(255,255,255,.13);
  color:#d9e1e4;
  font-size:11px;
  line-height:1.4;
  text-decoration:none;
}

.legal-toc a:hover{color:#fff}

.legal-content{min-width:0}

.legal-notice{
  margin:0 0 32px;
  padding:18px 20px;
  border-left:5px solid var(--green);
  background:#fff;
  color:#3e4c51;
  font-size:13px;
  line-height:1.6;
}

.legal-content section{
  padding:4px 0 34px;
  border-bottom:1px solid var(--line);
}

.legal-content section+section{padding-top:34px}

.legal-content h2{
  margin:0 0 14px;
  color:var(--navy);
  font-size:27px;
  line-height:1.05;
}

.legal-content h3{
  margin:23px 0 9px;
  color:var(--navy);
  font-size:16px;
}

.legal-content p,
.legal-content li{
  color:#415156;
  font-size:14px;
  line-height:1.72;
}

.legal-content p{margin:0 0 13px}
.legal-content ul,.legal-content ol{margin:12px 0 14px;padding-left:22px}
.legal-content li+li{margin-top:7px}
.legal-content a{color:var(--navy);font-weight:700;text-underline-offset:3px}

.legal-text-button{
  padding:0;
  border:0;
  background:transparent;
  color:var(--navy);
  font:inherit;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
}

.legal-table-wrap{overflow-x:auto}
.legal-table{width:100%;border-collapse:collapse;background:#fff}
.legal-table th,.legal-table td{padding:13px;border:1px solid var(--line);font-size:12px;line-height:1.5;text-align:left;vertical-align:top}
.legal-table th{background:var(--navy);color:#fff;font-size:10px;letter-spacing:.5px}

.legal-address{
  padding:18px;
  border:1px solid var(--line);
  background:#fff;
  font-style:normal;
  color:#415156;
  font-size:13px;
  line-height:1.7;
}

.legal-page-footer{
  padding:40px 5vw;
  display:grid;
  grid-template-columns:minmax(180px,230px) minmax(0,1fr);
  gap:30px 55px;
  background:var(--navy-dark);
  color:#fff;
}

.legal-page-footer img{width:210px;max-width:100%}
.legal-page-footer p{margin:0;color:#ccd6d9;font-size:11px;line-height:1.7}
.legal-page-footer nav{grid-column:1/-1;padding-top:18px;display:flex;flex-wrap:wrap;gap:12px 24px;border-top:1px solid rgba(255,255,255,.18)}
.legal-page-footer a,.legal-page-footer button{padding:0;border:0;background:transparent;color:#fff;font:700 11px/1.4 Arial,sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.legal-page-footer a:hover,.legal-page-footer button:hover{color:var(--green)}

@media(max-width:760px){
  .legal-header{min-height:74px;padding:12px 5vw}
  .legal-logo img{width:155px}
  .legal-back{font-size:9px}
  .legal-hero{padding:48px 5vw}
  .legal-hero h1{font-size:43px;letter-spacing:-1.5px}
  .legal-layout{width:90vw;padding:34px 0 60px;grid-template-columns:1fr;gap:28px}
  .legal-toc{position:static}
  .legal-content h2{font-size:24px}
  .legal-page-footer{grid-template-columns:1fr}
  .legal-page-footer nav{grid-column:1;display:grid}
}
