:root {
  --navy:#123f7a;
  --navy-dark:#0d315f;
  --blue-soft:#eef4fb;
  --cyan:#21779b;
  --orange:#f4773c;
  --orange-dark:#d95a20;
  --ink:#172b3f;
  --muted:#5d7183;
  --line:rgba(18,63,122,.13);
  --paper:#f7f9f7;
  --white:#fff;
  --shadow:0 20px 65px rgba(18,63,122,.09);
  --max:1050px;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0;
  color:var(--ink);
  background:var(--paper);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.72;
  -webkit-font-smoothing:antialiased;
}
a { color:var(--cyan); text-decoration:none; }
a:hover { text-decoration:underline; }
:focus-visible { outline:3px solid rgba(244,119,60,.45); outline-offset:3px; }
.container { width:min(var(--max),calc(100% - 40px)); margin-inline:auto; }
.skip-link { position:fixed; z-index:1000; top:-80px; left:20px; padding:12px 18px; border-radius:0 0 12px 12px; background:var(--orange); color:#fff; font-weight:800; }
.skip-link:focus { top:0; }

.top-note { color:#dce8f2; background:var(--navy); font-size:.78rem; }
.top-note .container { min-height:34px; display:flex; justify-content:space-between; align-items:center; gap:20px; }
.top-note strong,.top-note a { color:#fff; }

.header { position:sticky; top:0; z-index:100; background:rgba(255,255,255,.95); border-bottom:1px solid var(--line); backdrop-filter:blur(14px); }
.header-inner { min-height:76px; display:flex; align-items:center; gap:28px; }
.brand { margin-right:auto; display:flex; align-items:center; gap:14px; }
.brand img { width:142px; padding:8px 12px; border-radius:12px; background:var(--navy); }
.brand span { padding-left:14px; border-left:1px solid var(--line); color:var(--muted); font-size:.72rem; }
.back-link { padding:10px 15px; border-radius:999px; color:var(--navy); background:var(--blue-soft); font-size:.8rem; font-weight:800; }
.back-link:hover { text-decoration:none; background:#e1edf9; }

.legal-hero { position:relative; overflow:hidden; padding:78px 0 70px; background:linear-gradient(145deg,#fff,#f0f7fa 56%,#edf3fa); }
.legal-hero::before { content:""; position:absolute; width:440px; height:440px; right:-160px; top:-210px; border-radius:50%; background:rgba(33,119,155,.12); }
.legal-hero::after { content:""; position:absolute; width:260px; height:260px; left:-120px; bottom:-160px; border-radius:50%; background:rgba(244,119,60,.1); }
.legal-hero .container { position:relative; z-index:1; }
.eyebrow { display:inline-flex; padding:7px 12px; border:1px solid var(--line); border-radius:999px; color:var(--navy); background:rgba(255,255,255,.72); font-size:.7rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.legal-hero h1 { max-width:820px; margin:18px 0 12px; font-size:clamp(2.7rem,6vw,5rem); line-height:.98; letter-spacing:-.05em; }
.legal-hero p { max-width:720px; margin:0; color:var(--muted); font-size:1.05rem; }

.legal-nav { position:sticky; top:76px; z-index:90; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(255,255,255,.94); backdrop-filter:blur(12px); }
.legal-nav .container { display:flex; gap:8px; padding-top:10px; padding-bottom:10px; overflow:auto; }
.legal-nav a { flex:0 0 auto; padding:9px 14px; border-radius:999px; color:#53697b; font-size:.78rem; font-weight:800; }
.legal-nav a:hover { text-decoration:none; color:var(--navy); background:var(--blue-soft); }
.legal-nav a.active { color:#fff; background:var(--navy); }

.legal-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:38px; align-items:start; padding:64px 0 90px; }
.legal-aside { position:sticky; top:150px; padding:22px; border:1px solid var(--line); border-radius:18px; color:var(--muted); background:#fff; box-shadow:0 10px 35px rgba(18,63,122,.055); font-size:.78rem; }
.legal-aside strong { display:block; margin-bottom:7px; color:var(--navy); }
.legal-aside a { display:inline-block; margin-top:12px; font-weight:800; }
.print-button { display:block; margin-top:12px; padding:0; border:0; color:var(--cyan); background:transparent; font:inherit; font-weight:800; cursor:pointer; }
.print-button:hover { text-decoration:underline; }
.legal-content { min-width:0; padding:clamp(28px,5vw,58px); border:1px solid var(--line); border-radius:28px; background:#fff; box-shadow:var(--shadow); }
.legal-content h2 { margin:0 0 24px; color:var(--navy); font-size:clamp(2rem,4vw,3rem); line-height:1.05; letter-spacing:-.035em; }
.legal-content h3 { margin:38px 0 10px; padding-top:8px; color:var(--navy); font-size:1.15rem; line-height:1.35; }
.legal-content p { margin:0 0 16px; color:#40566a; }
.legal-content ul,.legal-content ol { margin:0 0 20px; padding-left:24px; color:#40566a; }
.legal-content li { margin-bottom:7px; }
.legal-content strong { color:var(--ink); }
.legal-content a { overflow-wrap:anywhere; }

.legal-note { margin-top:28px; padding:18px 20px; border-left:4px solid var(--orange); border-radius:0 14px 14px 0; color:#6c4b39; background:#fff2eb; font-size:.8rem; }

footer { padding:42px 0 22px; color:#b9c8d5; background:var(--navy-dark); }
.footer-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:36px; }
.footer-logo { width:132px; margin-bottom:14px; }
footer h3 { margin:0 0 13px; color:#fff; font-size:.82rem; }
footer p,footer li { font-size:.76rem; }
footer ul { list-style:none; padding:0; margin:0; display:grid; gap:7px; }
footer a { color:#d7e2eb; }
footer a:hover { color:#fff; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; margin-top:32px; padding-top:18px; border-top:1px solid rgba(255,255,255,.1); font-size:.7rem; }

@media (max-width:820px) {
  .brand span { display:none; }
  .legal-layout { grid-template-columns:1fr; }
  .legal-aside { position:static; }
  .footer-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:560px) {
  .container { width:min(var(--max),calc(100% - 28px)); }
  .top-note .container { justify-content:center; }
  .top-note span:last-child { display:none; }
  .header-inner { min-height:68px; }
  .brand img { width:122px; }
  .back-link { font-size:0; }
  .back-link::after { content:"← Start"; font-size:.76rem; }
  .legal-hero { padding:58px 0 54px; }
  .legal-nav { top:68px; }
  .legal-layout { padding:42px 0 66px; }
  .legal-content { padding:24px 20px; border-radius:20px; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; }
}
@media print {
  .top-note,.header,.legal-nav,.legal-aside,footer { display:none!important; }
  .legal-hero { padding:0 0 24px; background:#fff; }
  .legal-layout { display:block; padding:0; }
  .legal-content { padding:0; border:0; box-shadow:none; }
  a { color:inherit; text-decoration:none; }
}
