:root {
  --navy:#16395f;
  --navy-dark:#09233f;
  --blue:#1e7f9a;
  --aqua:#63c4d4;
  --paper:#f4f7f8;
  --white:#fff;
  --text:#53677a;
  --line:#dce7eb;
  --shadow:0 24px 70px rgba(9,35,63,.12);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  color:var(--navy-dark);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
}
a { color:inherit; }
img { display:block; max-width:100%; }
.container { width:min(1120px,calc(100% - 44px)); margin-inline:auto; }
.skip { position:absolute; left:-9999px; }
.skip:focus { left:16px; top:16px; z-index:20; padding:10px 14px; border-radius:10px; background:#fff; }
.site-header { background:rgba(250,252,253,.96); border-bottom:1px solid rgba(9,35,63,.09); }
.header-inner { min-height:92px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { width:238px; height:76px; flex:0 0 238px; }
.brand img { width:238px; height:76px; object-fit:contain; }
.header-nav { display:flex; align-items:center; gap:24px; color:#344b64; font-size:14px; font-weight:750; }
.header-nav a { text-decoration:none; white-space:nowrap; }
.header-nav a:hover { color:var(--blue); }
.back-link { display:inline-flex; align-items:center; gap:8px; padding:11px 17px; border-radius:999px; color:#fff!important; background:linear-gradient(135deg,var(--navy),#20577f); box-shadow:0 12px 26px rgba(16,45,77,.17); }
.legal-hero { position:relative; overflow:hidden; padding:88px 0 92px; color:#fff; background:linear-gradient(135deg,#092a49 0%,#163f65 64%,#17667a 100%); }
.legal-hero::after { content:""; position:absolute; width:440px; height:440px; right:-100px; top:-210px; border-radius:50%; background:radial-gradient(circle,rgba(99,196,212,.4),transparent 68%); }
.legal-hero .container { position:relative; z-index:1; }
.eyebrow { display:flex; align-items:center; gap:10px; margin-bottom:16px; color:#a7e5ee; font-size:11px; font-weight:900; letter-spacing:.2em; text-transform:uppercase; }
.eyebrow::before { content:""; width:28px; height:1px; background:currentColor; }
.legal-hero h1 { max-width:850px; margin:0 0 18px; font-size:clamp(42px,5vw,66px); line-height:1.02; letter-spacing:-.045em; }
.legal-hero p { max-width:720px; margin:0; color:#dcecf1; font-size:18px; line-height:1.7; }
.legal-main { padding:76px 0 104px; }
.legal-layout { display:grid; grid-template-columns:250px minmax(0,1fr); gap:48px; align-items:start; }
.legal-index { position:sticky; top:24px; padding:24px; border:1px solid var(--line); border-radius:20px; background:#fff; box-shadow:0 14px 38px rgba(9,35,63,.06); }
.legal-index strong { display:block; margin-bottom:14px; color:var(--navy); font-size:13px; letter-spacing:.12em; text-transform:uppercase; }
.legal-index a { display:block; padding:8px 0; color:var(--text); text-decoration:none; font-size:14px; line-height:1.4; }
.legal-index a:hover { color:var(--blue); }
.legal-document { padding:50px 56px; border:1px solid var(--line); border-radius:28px; background:#fff; box-shadow:var(--shadow); }
.legal-meta { margin:0 0 34px; padding:16px 18px; border-left:3px solid var(--aqua); border-radius:0 12px 12px 0; background:#eef8fa; color:#476375; font-size:14px; }
.legal-document section { scroll-margin-top:24px; padding:0 0 30px; margin:0 0 30px; border-bottom:1px solid var(--line); }
.legal-document section:last-child { padding-bottom:0; margin-bottom:0; border-bottom:0; }
.legal-document h2 { margin:0 0 16px; color:var(--navy-dark); font-size:25px; line-height:1.25; letter-spacing:-.02em; }
.legal-document p,.legal-document li { color:var(--text); font-size:16px; line-height:1.78; }
.legal-document p { margin:0 0 15px; }
.legal-document ul { margin:12px 0 0; padding-left:22px; }
.legal-document li + li { margin-top:8px; }
.identity { display:grid; gap:8px; margin:18px 0 0; padding:22px; border:1px solid var(--line); border-radius:16px; background:#f8fbfc; }
.identity div { color:var(--text); line-height:1.55; }
.identity strong { color:var(--navy); }
.legal-document a { color:var(--blue); font-weight:700; }
.site-footer { padding:48px 0 34px; background:#092a49; color:#fff; }
.footer-grid { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:36px; }
.footer-logo { width:112px; height:108px; object-fit:contain; filter:brightness(0) invert(1); }
.site-footer h3 { margin:0 0 12px; font-size:13px; letter-spacing:.14em; text-transform:uppercase; }
.site-footer p,.site-footer a,.site-footer address { margin:0; color:#dbe7ef; font-size:14px; line-height:1.75; text-decoration:none; font-style:normal; }
.footer-linkedin { display:inline-flex; align-items:center; gap:8px; margin-top:12px; font-weight:750; }
.footer-linkedin:hover { text-decoration:underline; }
.footer-linkedin-icon { display:inline-flex; width:22px; height:22px; flex:0 0 22px; align-items:center; justify-content:center; border-radius:4px; background:#dbe7ef; color:#092a49; }
.footer-linkedin-icon svg { width:14px; height:14px; fill:currentColor; }
.footer-hours { display:inline-flex; align-items:flex-start; gap:.35em; }
.footer-hours-copy { display:inline-block; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; margin-top:32px; padding-top:20px; border-top:1px solid rgba(255,255,255,.16); color:#dbe7ef; font-size:13px; }
@media (max-width:820px) {
  .header-inner { min-height:78px; }
  .brand,.brand img { width:190px; height:64px; flex-basis:190px; }
  .header-nav a:not(.back-link) { display:none; }
  .legal-layout { grid-template-columns:1fr; }
  .legal-index { position:static; display:none; }
  .legal-document { padding:38px 30px; }
  .footer-grid { grid-template-columns:1fr; }
}
@media (max-width:520px) {
  .container { width:calc(100% - 28px); }
  .brand,.brand img { width:165px; height:58px; flex-basis:165px; }
  .back-link { padding:10px 13px; font-size:13px; }
  .legal-hero { padding:64px 0 68px; }
  .legal-hero h1 { font-size:40px; }
  .legal-main { padding:48px 0 72px; }
  .legal-document { padding:30px 21px; border-radius:20px; }
  .footer-bottom { display:block; }
}
