:root { --navy:#10213d; --blue:#17355f; --ivory:#f7f5f0; --stone:#d9d4ca; }
* { box-sizing:border-box; }
html { background:var(--ivory); color:var(--navy); }
body { margin:0; font-family:Arial,Helvetica,sans-serif; font-size:16px; line-height:1.75; }
a { color:var(--blue); text-underline-offset:3px; }
:where(a,button):focus-visible { outline:3px solid var(--blue); outline-offset:3px; }
.skip-link { position:fixed; top:12px; left:12px; z-index:10; transform:translateY(-160%); background:var(--navy); color:var(--ivory); padding:10px 14px; font-weight:700; }
.skip-link:focus { transform:translateY(0); }
.site-header { display:flex; align-items:center; justify-content:space-between; gap:24px; max-width:1120px; margin:auto; padding:24px clamp(20px,5vw,56px); border-bottom:1px solid var(--stone); }
.site-header img { display:block; width:150px; height:auto; mix-blend-mode:multiply; }
.site-header a:last-child { font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
main { width:min(760px,calc(100% - 40px)); margin:0 auto; padding:clamp(54px,8vw,100px) 0; }
.eyebrow { margin:0 0 8px; color:var(--blue); font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
h1,h2 { font-family:Georgia,"Times New Roman",serif; font-weight:400; line-height:1.15; }
h1 { margin:0; font-size:clamp(48px,8vw,76px); letter-spacing:-.035em; }
.intro { max-width:62ch; margin:20px 0 0; color:#394555; font-size:18px; }
.effective { margin:10px 0 48px; color:#394555; font-size:14px; }
section + section { margin-top:38px; }
h2 { margin:0 0 10px; font-size:30px; }
p,ul { margin:0; }
p + p, ul + p { margin-top:12px; }
ul { padding-inline-start:23px; }
li + li { margin-top:7px; }
.table-wrap { margin:16px 0; overflow:auto; }
table { width:100%; min-width:560px; border-collapse:collapse; }
th,td { padding:12px; border:1px solid var(--stone); text-align:left; vertical-align:top; }
th { background:#eeeae3; }
.contact { margin-top:48px; padding-top:28px; border-top:1px solid var(--stone); }
.site-footer { padding:28px 20px; border-top:1px solid var(--stone); text-align:center; color:#394555; font-size:12px; }
.site-footer nav { display:flex; flex-wrap:wrap; justify-content:center; gap:18px; margin-bottom:10px; }
@media(max-width:520px){ .site-header img{width:125px}.site-header{padding-inline:20px} body{font-size:15px}.intro{font-size:17px} }
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
