* {
  box-sizing: border-box;
}
body {
  margin: 0;
  background: #f4f8fe;
  color: #18334f;
  font:
    16px/1.8 ui-sans-serif,
    system-ui,
    sans-serif;
}
header {
  background: #071a35;
  color: #eef6ff;
  padding: 24px max(24px, calc((100vw - 900px) / 2));
}
header a {
  color: inherit;
  text-decoration: none;
  font-weight: 700;
}
main,
footer {
  max-width: 900px;
  padding: 48px 24px;
  margin: auto;
}
h1 {
  font-size: clamp(32px, 5vw, 48px);
  line-height: 1.15;
  letter-spacing: -1.5px;
  margin: 12px 0 24px;
}
h2 {
  font-size: 21px;
  margin-top: 35px;
  line-height: 1.4;
}
p {
  color: #4e637c;
}
a {
  color: #145ea9;
}
a:focus-visible {
  outline: 3px solid #1676d2;
  outline-offset: 5px;
}
.kicker {
  font-size: 11px;
  text-transform: uppercase;
  color: #2971b4;
  letter-spacing: 1.5px;
}
.note {
  padding: 18px 22px;
  border-left: 3px solid #337ccc;
  background: #e7f0fc;
  margin: 28px 0;
}
footer {
  padding-top: 20px;
  padding-bottom: 35px;
  border-top: 1px solid #d5e2f0;
  font-size: 13px;
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
}
.skip {
  position: absolute;
  top: -100px;
  left: 20px;
  padding: 10px 20px;
  background: white;
}
.skip:focus {
  top: 5px;
}

[hidden] { display: none !important; }
.cta { display: inline-flex; padding: 12px 18px; border-radius: 6px; background: #146bd6; color: #fff; font-weight: 600; text-decoration: none; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); }
li { margin: 10px 0; color: #4e637c; }
code { overflow-wrap: anywhere; }

.contact-actions {display:flex;gap:12px;flex-wrap:wrap;margin:18px 0;}
.contact-actions button {font:inherit;font-size:15px;padding:10px 16px;border:1px solid #a9c3df;border-radius:6px;background:#fff;color:#145ea9;cursor:pointer;}
.contact-actions button:hover {background:#e7f0fc;}
.contact-actions button:focus-visible {outline:3px solid #1676d2;outline-offset:4px;}

/* Policy documents share the public homepage identity, with a readable document body. */
.policy-page {background:#f7f9fd;color:#142c49;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
.policy-page .policy-nav {max-width:none;height:132px;background:#071326;padding:0 max(48px,calc((100vw - 1184px)/2));display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #ffffff14;}
.policy-page .policy-brand {display:block;line-height:0;}
.policy-page .policy-brand img {display:block;width:220px;height:62px;object-fit:cover;border-radius:0;}
.policy-page .policy-nav nav {display:flex;align-items:center;gap:28px;}
.policy-page .policy-nav nav a {font-size:13px;font-weight:500;color:#c8dcf3;min-height:44px;display:inline-flex;align-items:center;}
.policy-page .policy-nav nav a[aria-current="page"] {color:#92cdff;}
.policy-page .policy-nav .policy-demo {border:1px solid #6383a8;border-radius:9px;padding:9px 16px;}
.policy-page .policy-hero {background:radial-gradient(ellipse at 80% 20%,#174b7b55,transparent 58%),#071326;padding:46px 48px 68px;}
.policy-page .policy-hero>div {max-width:980px;margin:auto;}
.policy-page .policy-hero .kicker {font-size:10px;letter-spacing:1.6px;color:#a7d5ff;margin:0 0 22px;}
.policy-page .policy-hero h1 {font-size:clamp(36px,4vw,52px);line-height:1.12;font-weight:700;letter-spacing:-1.8px;color:#eef5ff;max-width:850px;margin:0 0 20px;}
.policy-page .policy-intro {font-size:15px;line-height:1.8;color:#bdd0e8;max-width:750px;margin:0;}
.policy-page main {max-width:1040px;margin:-25px auto 45px;position:relative;background:#fff;border:1px solid #d8e3f0;border-radius:15px;padding:34px 40px;box-shadow:0 15px 45px #153c6809;}
.policy-page main h2 {font-size:22px;font-weight:650;letter-spacing:-.5px;margin-top:35px;padding-top:24px;border-top:1px solid #e2eaf5;color:#142c49;}
.policy-page main p,.policy-page main li {font-size:14px;line-height:1.9;color:#52657c;}
.policy-page main a {color:#175eaf;text-underline-offset:4px;}
.policy-page main code {background:#edf3fc;border:1px solid #d8e3f0;border-radius:4px;padding:1px 5px;font-size:12px;color:#244c7a;}
.policy-page .note {padding:22px 24px;border:1px solid #e1cc9e;border-left:3px solid #b57c27;border-radius:10px;background:#fff8ea;margin:0 0 30px;color:#725017;}
.policy-page .note p {font-size:13px;line-height:1.8;color:#725017;margin-bottom:0;}
.policy-page footer {max-width:1040px;padding:15px 0 30px;font-size:11px;gap:24px;}
.policy-page footer a {min-height:40px;display:inline-flex;align-items:center;text-decoration:none;color:#416386;}
.policy-page footer a:hover {color:#125cb4;text-decoration:underline;}
.policy-page a:focus-visible {outline:3px solid #1576d2;outline-offset:5px;}
.policy-page .policy-nav a:focus-visible {outline-color:#91d1ff;}
.policy-page .skip:focus {z-index:10;}
@media(max-width:1100px){.policy-page main,.policy-page footer{margin-left:32px;margin-right:32px;}.policy-page .policy-nav{padding-left:32px;padding-right:32px;}.policy-page .policy-hero{padding-left:48px;padding-right:48px;}}
@media(max-width:600px){.policy-page .policy-nav{height:108px;padding:0 24px;gap:15px;}.policy-page .policy-brand img{width:165px;height:48px;}.policy-page .policy-nav nav{gap:12px;}.policy-page .policy-nav nav a{font-size:10px;}.policy-page .policy-nav .policy-demo{padding:6px 9px;}.policy-page .policy-hero{padding:32px 24px 54px;}.policy-page .policy-hero .kicker{font-size:9px;line-height:1.8;}.policy-page .policy-hero h1{font-size:36px;letter-spacing:-1.3px;}.policy-page .policy-intro{font-size:14px;}.policy-page main{margin-left:16px;margin-right:16px;padding:25px 22px;border-radius:12px;}.policy-page main h2{font-size:20px;}.policy-page main p,.policy-page main li{font-size:13px;}.policy-page .note{padding:18px;}.policy-page footer{margin:0 24px;gap:4px 22px;}}
@media(max-width:360px){.policy-page .policy-nav{padding:0 16px;gap:10px;}.policy-page .policy-nav nav{gap:9px;}.policy-page .policy-nav nav a{font-size:9px;}}
@media print{.policy-page .policy-nav,.policy-page footer{display:none;}.policy-page .policy-hero{background:#fff;padding:0 0 20px;}.policy-page .policy-hero h1,.policy-page .policy-hero p{color:#142c49!important;}.policy-page main{margin:0;padding:0;box-shadow:none;border:0;max-width:none;}.policy-page h2{break-after:avoid;}}

@media(max-width:600px){.policy-page .policy-nav nav a[aria-current="page"]{display:none;}}

