:root { --ink:#17242d; --muted:#5e6b73; --blue:#176eac; --blue-dark:#0c4f7d; --ice:#eef7fc; --line:#d9e4ea; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--white); font-family:Poppins,Arial,sans-serif; font-size:17px; line-height:1.75; }
a { color:var(--blue-dark); }
a:focus-visible { outline:3px solid #f0a736; outline-offset:3px; }
.policy-shell { width:min(1160px,calc(100% - 40px)); margin-inline:auto; }
.policy-header { min-height:92px; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:14px max(20px,calc((100% - 1160px)/2)); border-bottom:1px solid var(--line); background:#fff; }
.brand img { display:block; width:190px; height:auto; }
.header-contact { padding:11px 20px; border-radius:999px; background:var(--blue); color:#fff; font-weight:700; text-decoration:none; }
.policy-hero { padding:82px 0 72px; color:#fff; background:linear-gradient(125deg,#0b4164,#176eac 66%,#258bbd); }
.eyebrow { margin:0 0 10px; color:#bfe8ff; font-size:.82rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
h1,h2 { font-family:Jost,Poppins,sans-serif; line-height:1.18; }
h1 { max-width:820px; margin:0; font-size:clamp(2.4rem,6vw,4.7rem); font-weight:600; letter-spacing:-.025em; }
.lede { max-width:760px; margin:24px 0 0; color:#e9f6fd; font-size:clamp(1.05rem,2vw,1.3rem); }
.updated { margin:24px 0 0; color:#bfe8ff; font-size:.9rem; }
.policy-layout { display:grid; grid-template-columns:245px minmax(0,760px); gap:72px; align-items:start; padding-top:72px; padding-bottom:88px; }
.policy-nav { position:sticky; top:24px; display:grid; gap:6px; padding:22px; border:1px solid var(--line); border-radius:16px; background:#fafcfd; }
.policy-nav strong { margin-bottom:7px; font-family:Jost,sans-serif; font-size:1.05rem; }
.policy-nav a { padding:5px 0; color:var(--muted); font-size:.88rem; text-decoration:none; }
.policy-nav a:hover { color:var(--blue); }
.policy-content section { scroll-margin-top:24px; margin-bottom:52px; }
.policy-content h2 { margin:0 0 16px; font-size:clamp(1.55rem,3vw,2.1rem); font-weight:600; }
.policy-content p { margin:0 0 18px; color:#35444d; }
.summary-card,.contact-card { padding:30px; border:1px solid #c9e2ef; border-radius:18px; background:var(--ice); }
.summary-card { border-left:5px solid var(--blue); }
.policy-footer { padding:26px 0; background:#102c3d; color:#dcebf3; font-size:.9rem; }
.policy-footer .policy-shell { display:flex; justify-content:space-between; gap:20px; }
.policy-footer a { color:#fff; }
@media (max-width:800px) {
  .policy-header { min-height:76px; }
  .brand img { width:145px; }
  .header-contact { padding:9px 14px; font-size:.9rem; }
  .policy-hero { padding:58px 0 52px; }
  .policy-layout { grid-template-columns:1fr; gap:42px; padding-top:48px; padding-bottom:60px; }
  .policy-nav { position:static; grid-template-columns:1fr 1fr; }
  .policy-nav strong { grid-column:1/-1; }
}
@media (max-width:480px) {
  body { font-size:16px; }
  .policy-shell { width:min(100% - 28px,1160px); }
  .policy-nav { grid-template-columns:1fr; }
  .summary-card,.contact-card { padding:23px; }
  .policy-footer .policy-shell { flex-direction:column; }
}
