:root { color-scheme: light; --ink:#1e2d47; --soft:#50617b; --paper:#f5f3ed; --white:#fdfcf8; --blue:#244c92; --brass:#b9a27a; --line:#e2e0d7; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:28px; }
body { margin:0; color:var(--ink); background:var(--paper); font:15px/1.8 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; }
a { color:var(--blue); text-underline-offset:4px; overflow-wrap:anywhere; }
a:focus-visible { outline:3px solid var(--brass); outline-offset:5px; }
.skip-link { position:absolute; left:16px; top:-100px; padding:8px 14px; background:var(--white); z-index:5; }
.skip-link:focus { top:12px; }
.site-header { display:flex; align-items:center; justify-content:space-between; gap:24px; max-width:1220px; margin:auto; padding:25px 32px; }
.brand { display:inline-flex; align-items:center; gap:11px; color:var(--ink); text-decoration:none; font-size:13px; font-weight:800; letter-spacing:.14em; white-space:nowrap; }
.brand img { width:36px; height:36px; }
.back-link { font-size:12px; text-decoration:none; }
.policy-hero { color:var(--white); background:linear-gradient(120deg,#173465,#244c92); border-bottom:3px solid var(--brass); }
.policy-hero > div { max-width:1220px; margin:auto; padding:55px 60px 52px; }
.eyebrow { margin:0 0 14px; color:var(--brass); font-size:10px; font-weight:800; letter-spacing:.19em; text-transform:uppercase; }
h1 { margin:0; font:400 clamp(42px,6vw,67px)/1.1 Georgia,"Times New Roman",serif; letter-spacing:-.045em; }
.hero-copy { max-width:670px; margin:17px 0 0; color:#d9e1ef; font-size:15px; line-height:1.7; }
.effective { margin:20px 0 0; color:#d9e1ef; font-size:11px; }
.policy-layout { display:grid; grid-template-columns:215px minmax(0,1fr); gap:58px; max-width:1140px; margin:50px auto 65px; padding:0 32px; }
.policy-nav { align-self:start; position:sticky; top:28px; }
.policy-nav strong { display:block; margin-bottom:13px; font-size:10px; letter-spacing:.15em; text-transform:uppercase; }
.policy-nav a { display:block; padding:8px 0; color:var(--soft); border-bottom:1px solid var(--line); font-size:12px; text-decoration:none; }
.policy-nav a:hover { color:var(--blue); }
article { min-width:0; padding:32px 42px 38px; background:var(--white); border:1px solid var(--line); border-radius:4px; }
article > section + section { margin-top:34px; padding-top:26px; border-top:1px solid var(--line); }
h2 { margin:0 0 12px; font:400 27px/1.3 Georgia,"Times New Roman",serif; letter-spacing:-.025em; }
h3 { margin:20px 0 6px; font-size:15px; }
p { margin:10px 0; }
ul { margin:12px 0; padding-left:22px; }
li + li { margin-top:10px; }
.policy-summary { margin:0 0 30px; padding:20px 22px; background:#e9edf5; border-left:3px solid var(--brass); color:var(--soft); }
.policy-summary strong { color:var(--ink); }
.contact-card { padding:20px 22px; margin-top:20px; color:var(--soft); background:#e9edf5; border-radius:3px; }
.site-footer { display:flex; align-items:center; justify-content:space-between; gap:24px; max-width:1140px; margin:0 auto 30px; padding:25px 32px; border-top:1px solid var(--line); color:var(--soft); font-size:11px; }
.site-footer nav { display:flex; gap:20px; }
.site-footer a { text-decoration:none; }
@media(max-width:800px) { .policy-layout { grid-template-columns:1fr; gap:25px; margin-top:30px; } .policy-nav { position:static; display:flex; gap:8px 20px; flex-wrap:wrap; } .policy-nav strong { flex-basis:100%; margin:0; } .policy-nav a { padding:2px 0; } .policy-hero > div { padding:40px 32px; } article { padding:28px; } }
@media(max-width:480px) { .site-header { padding:20px; gap:15px; } .back-link { font-size:11px; } .policy-layout { padding:0 16px; } .policy-hero > div { padding:38px 22px; } article { padding:24px 21px; } .site-footer { flex-direction:column; align-items:flex-start; padding:20px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media print { .site-header,.policy-nav,.site-footer,.skip-link { display:none; } .policy-hero { color:#000; background:none; } .hero-copy,.effective,.eyebrow { color:#333; } .policy-layout { display:block; margin:0; padding:0; } article { padding:20px 0; border:0; } }
