:root { --ink:#132d4a; --blue:#2477ae; --sky:#dceffa; --muted:#60758a; --line:#d7e1e9; --paper:#f7fafc; --navy:#0a2540; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Arial,Helvetica,sans-serif; line-height:1.62; }
a { color:var(--blue); }
.skip-link { position:absolute; left:-999px; top:0; z-index:10; padding:.65rem 1rem; background:#fff; color:var(--navy); }
.skip-link:focus { left:.75rem; top:.75rem; }
.site-header { background:#fff; border-bottom:1px solid var(--line); }
.header-inner,.content,.footer-inner { width:min(1120px,calc(100% - 2.5rem)); margin:0 auto; }
.header-inner { min-height:100px; display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.brand-logo { display:block; width:248px; height:auto; }
.primary-nav { display:flex; align-self:stretch; }
.primary-nav a { display:flex; align-items:center; padding:0 1.35rem; border-left:1px solid var(--line); color:var(--ink); font-size:.92rem; font-weight:700; letter-spacing:.055em; text-decoration:none; text-transform:uppercase; }
.primary-nav a:hover,.primary-nav a:focus-visible { background:var(--sky); }
.primary-nav a[aria-current="page"] { color:#fff; background:var(--blue); }
h1,h2,h3,p { margin-top:0; }
.content { padding:4.75rem 0; }
.sewp-page > .content { padding:2.25rem 0; }
.sewp-page > .content:first-child { padding-top:3.25rem; }
.sewp-page > .content:last-child { padding-bottom:3.25rem; }
.two-column { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(270px,.8fr); gap:4.5rem; align-items:start; }
.intro { font-size:1.18rem; line-height:1.76; }
h2 { margin-bottom:1.1rem; font-size:1.85rem; line-height:1.2; letter-spacing:-.02em; }
.section-label { margin:0 0 .65rem; color:var(--blue); font-size:.75rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.action-link { display:inline-flex; align-items:center; gap:.55rem; margin-top:1.5rem; padding:.85rem 1.15rem; border:2px solid var(--blue); color:var(--blue); font-weight:700; text-decoration:none; }
.action-link:hover,.action-link:focus-visible { color:#fff; background:var(--blue); }
.contact-card,.details-card,.guide-card { padding:2rem; background:#fff; border-top:5px solid var(--blue); box-shadow:0 10px 28px rgba(10,37,64,.08); }
.contact-card h2,.details-card h2,.guide-card h2 { font-size:1.35rem; }
.contact + .contact { margin-top:1.5rem; padding-top:1.5rem; border-top:1px solid var(--line); }
.contact strong { display:block; }
.contact a { overflow-wrap:anywhere; }
.sewp-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.4rem; }
.details-card dt { margin-top:1rem; color:var(--muted); font-size:.77rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.details-card dt:first-child { margin-top:0; }
.details-card dd { margin:.2rem 0 0; font-size:1.08rem; font-weight:700; }
.guide-download { margin-top:2.5rem; }
.guide-download .action-link { margin-top:0; }
.fair-opportunity-notice { text-align:center; }
.document-page { max-width:820px; }
.document-page h1 { margin-bottom:2rem; font-size:2.15rem; line-height:1.2; }
.document-page h2 { margin:2.75rem 0 1rem; font-size:1.35rem; }
.document-page .contact { max-width:440px; }
.document-page .contact + .contact { margin-top:1.5rem; }
.document-details { margin:0; }
.document-details dt { margin-top:1rem; color:var(--muted); font-weight:700; }
.document-details dt:first-child { margin-top:0; }
.document-details dd { margin:.1rem 0 0; }
.site-footer { color:#dceaf4; background:var(--navy); }
.footer-inner { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:2.25rem 0; }
.footer-logo { width:220px; max-width:100%; height:auto; padding:.45rem; background:#fff; }
.footer-address { margin:0; font-style:normal; font-size:.92rem; line-height:1.65; }
@media (max-width:720px) { .header-inner { min-height:auto; padding:1.1rem 0 0; flex-direction:column; gap:1rem; } .brand-logo { width:220px; } .primary-nav { width:100%; } .primary-nav a { flex:1; justify-content:center; padding:.95rem .7rem; } .content { padding:3.25rem 0; } .two-column,.sewp-grid { grid-template-columns:1fr; gap:2rem; } .footer-inner { align-items:flex-start; flex-direction:column; } }
