:root{
--navy:#06284a;--navy-d:#031a33;--red:#ea1a2c;--red-ui:#c8142a;--red-dk:#a50f20;--red-lt:#ff7380;
--cream:#f4f0e6;--paper:#ffffff;--sand:#e9e3d3;--line:#d5d9e0;--line-c:#e4e7ec;
--ink:#14233a;--steel:#4f5a6d;--mist:#bccbdc;
--pad:clamp(20px,4vw,48px);
--serif:'Fraunces',Georgia,'Times New Roman',serif;--sans:'Public Sans',system-ui,-apple-system,'Segoe UI',sans-serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,h5,p,ul,ol,address{margin:0}
address{font-style:normal}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.15;letter-spacing:-.01em;text-wrap:balance;color:var(--navy)}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--red-ui);outline-offset:3px}
.ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.tnum{font-variant-numeric:tabular-nums}
.wrap{max-width:1200px;margin:0 auto;padding-inline:var(--pad)}
.eyebrow{font:700 12px/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--steel)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 22px;border-radius:2px;border:1.5px solid transparent;font:600 15px/1 var(--sans);cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}
.btn-red{background:var(--red-ui);color:#fff}.btn-red:hover{background:var(--red-dk)}
.btn-navy{background:var(--navy);color:#fff}.btn-navy:hover{background:var(--navy-d)}
.btn-line{border-color:var(--navy);color:var(--navy);background:transparent}.btn-line:hover{background:var(--navy);color:#fff}
.btn-white{background:#fff;color:var(--navy)}.btn-white:hover{background:var(--cream)}
.btn .ic{width:18px;height:18px}

/* header */
.topstrip{background:var(--navy-d);color:var(--mist);font-size:12.5px}
.topstrip .in{display:flex;justify-content:space-between;gap:4px 20px;flex-wrap:wrap;padding:8px var(--pad);max-width:1296px;margin:0 auto}
.hdr{background:var(--navy);border-top:3px solid var(--red);position:relative;z-index:60}
.hdr .in{display:flex;align-items:center;gap:22px;height:92px;padding:0 var(--pad);max-width:1296px;margin:0 auto}
.tab{display:block;align-self:flex-start;background:#fff;padding:12px 14px 10px;border-radius:0 0 8px 8px;box-shadow:0 6px 16px rgba(3,26,51,.22);position:relative;z-index:70}
.tab img{display:block;width:83px;height:auto}
.wm{display:block;min-width:0}
.wm b{display:block;font:600 19px/1 var(--serif);letter-spacing:.14em;color:#fff}
.wm span{display:block;font:500 10.5px/1.35 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--mist);margin-top:8px;max-width:250px}
.nav{display:flex;margin-left:auto;gap:2px}
.nav a{position:relative;display:flex;align-items:center;height:92px;padding:0 16px;color:#d3deea;font-weight:600;font-size:14.5px}
.nav a:hover,.nav a.cur{color:#fff}
.nav a.cur::after{content:"";position:absolute;left:16px;right:16px;bottom:0;height:3px;background:var(--red)}
.mbtn{display:none;margin-left:auto;align-items:center;gap:8px;min-height:44px;padding:0 6px;background:none;border:0;color:#fff;font-weight:600;font-size:15px;cursor:pointer}
.mpanel{background:var(--navy-d);padding:8px var(--pad) 14px}
.mpanel a{display:flex;align-items:center;min-height:48px;color:#fff;font-weight:600;font-size:16px;border-top:1px solid rgba(255,255,255,.12)}
.mpanel a:first-child{border-top:0}

/* page heads */
.phead{background:var(--cream);border-bottom:1px solid var(--line)}
.phead .wrap{padding-block:92px 88px}
.phead.tight .wrap{padding-block:92px 36px}
.crumbs{font-size:13.5px;color:var(--steel);display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.crumbs a{color:var(--navy);font-weight:600}
.crumbs a:hover{color:var(--red-dk)}
.phead h1{font-size:clamp(32px,3.8vw,46px);line-height:1.1;margin-top:8px}
.phead .lede{font-size:clamp(16px,1.4vw,18px);line-height:1.6;color:#33415a;max-width:100ch;margin-top:14px}
.phead .eyebrow{display:block}

/* contact cards (landing page) */
.ccards{position:relative;z-index:5;margin-top:-48px}
.cc{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:16px 26px;align-items:center;padding:24px 28px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--navy);border-radius:2px;box-shadow:0 6px 18px rgba(6,40,74,.07);margin-bottom:14px}
.cc .ico{width:56px;height:56px;border-radius:50%;background:var(--cream);color:var(--navy);display:grid;place-items:center}
.cc .ico .ic{width:26px;height:26px}
.cc .k{font:700 12px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--steel);margin-bottom:6px}
.cc .v{display:block;font:700 clamp(26px,3vw,36px)/1.15 var(--sans);letter-spacing:-.01em;color:var(--navy);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.cc .v.md{font-size:clamp(20px,2.3vw,28px);letter-spacing:0}
.cc .v.addr{font-size:clamp(17px,1.7vw,21px);font-weight:600;line-height:1.5;letter-spacing:0}
.cc a.v:hover{color:var(--red-dk);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.cc .s{font-size:15px;color:var(--steel);margin-top:6px}
.cc.main{background:var(--navy);border-color:var(--navy);border-top-color:var(--red)}
.cc.main .ico{background:rgba(255,255,255,.12);color:#fff}
.cc.main .k{color:var(--mist)}
.cc.main .v{color:#fff}
.cc.main .s{color:#cfdbe8}
.ready{padding:56px 0 16px}
.ready h2{font-size:clamp(22px,2.2vw,28px);max-width:30ch}
.ready p.sub{font-size:16px;color:var(--steel);margin-top:8px}
.rgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:24px}
.rtile{border:1px solid var(--line);border-top:3px solid var(--navy);background:#fff;padding:18px 20px}
.rtile .n{font:600 13px/1 var(--sans);letter-spacing:.12em;color:var(--red-dk)}
.rtile b{display:block;font:600 17px/1.3 var(--sans);margin-top:8px;color:var(--navy)}
.also{padding:40px 0 72px}
.also h2{font-size:clamp(22px,2.2vw,28px);margin-bottom:18px}
.agrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.atile{display:flex;align-items:center;gap:18px;padding:22px 24px;background:#fff;border:1px solid var(--line);border-radius:2px;transition:background .15s,border-color .15s}
.atile:hover{background:var(--cream);border-color:var(--navy)}
.atile .ico{width:48px;height:48px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center}
.atile .ico .ic{width:22px;height:22px}
.atile h3{font-size:20px}
.atile p{font-size:15px;color:var(--steel);margin-top:3px}
.atile .go{margin-left:auto;color:var(--red-ui)}
.atile .go .ic{width:22px;height:22px}

/* booklet */
.bgrid{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:56px;padding-block:48px 80px;align-items:start}
.cover{position:relative;background:#fff;border:1px solid var(--line);box-shadow:0 10px 26px rgba(6,40,74,.12);aspect-ratio:8.5/11;padding:20px;display:flex}
.cover .frame{flex:1;border:1px solid var(--navy);display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center;padding:26px 16px 16px}
.cover h3{font:700 15px/1.25 var(--sans);color:#1e3a5f;letter-spacing:0}
.cover img{width:44%;height:auto}
.cover .t{font:700 18px/1.15 var(--sans);color:#1e3a5f}
.cover .d{font:700 14px var(--sans);color:#1e3a5f}
.bdl h2{font-size:clamp(24px,2.5vw,30px);margin-top:8px}
.bdl .meta{display:flex;gap:8px 10px;flex-wrap:wrap;margin:16px 0 20px}
.bdl .meta span{font:600 12px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--navy);background:var(--cream);border:1px solid var(--line);padding:8px 10px;border-radius:2px}
.bdl p.lead{font-size:17px;color:#33415a;max-width:52ch}
.bdl .btn{margin-top:24px;min-height:50px;padding:0 26px;font-size:16px}
.bdl .note{margin-top:16px;font-size:13.5px;color:var(--steel);max-width:60ch}
.toc{margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}
.toc h3{font-size:20px;margin-bottom:12px}
.toc ol{list-style:none;padding:0;columns:2;column-gap:36px;counter-reset:t}
.toc li{counter-increment:t;break-inside:avoid;display:flex;gap:12px;padding:8px 0;border-bottom:1px solid var(--line-c);font-size:15px}
.toc li::before{content:counter(t);min-width:22px;font:600 14px var(--sans);color:var(--red-dk)}
.helpband{background:var(--navy);color:#fff}
.helpband .in{display:flex;align-items:center;justify-content:space-between;gap:16px 32px;flex-wrap:wrap;padding-block:28px}
.helpband h2{color:#fff;font-size:21px}
.helpband p{color:var(--mist);font-size:15px;margin-top:4px}
.helpband a.ph{font:700 26px/1 var(--sans);color:#fff;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.helpband a.ph:hover{text-decoration:underline;text-underline-offset:5px}

/* newsletters */
.cur-nl{display:grid;grid-template-columns:minmax(0,190px) minmax(0,1fr);gap:36px;align-items:center;padding:28px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--navy);border-radius:2px;box-shadow:0 6px 18px rgba(6,40,74,.07)}
.paper{background:#fff;border:1px solid var(--line);box-shadow:0 8px 20px rgba(6,40,74,.12);aspect-ratio:8.5/11;padding:14px;display:flex;flex-direction:column;gap:8px}
.paper .mast{display:flex;align-items:center;gap:8px;padding-bottom:8px;border-bottom:2px solid var(--navy)}
.paper .mast img{width:26px;height:auto}
.paper .mast b{font:600 11px/1.1 var(--serif);letter-spacing:.1em;color:var(--navy)}
.paper .yr{font:600 34px/1 var(--serif);color:var(--navy);margin-top:4px}
.paper i{display:block;height:5px;border-radius:2px;background:var(--sand)}
.paper i.s{width:70%}
.paper .blk{flex:1;background:var(--cream);min-height:30px}
.cur-nl .tag{display:inline-block;font:700 11px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--red-ui);padding:6px 9px;border-radius:2px}
.cur-nl h2{font-size:clamp(24px,2.5vw,30px);margin:12px 0 8px}
.cur-nl p{font-size:16px;color:var(--steel);max-width:52ch}
.cur-nl .btn{margin-top:20px;min-height:50px}
.prev{padding:56px 0 80px}
.prev h2{font-size:clamp(22px,2.2vw,28px);margin-bottom:6px}
.prev p.sub{font-size:16px;color:var(--steel);margin-bottom:22px}
.pgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.pcard{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--navy);border-radius:2px;padding:22px 24px}
.pcard .y{font:600 36px/1 var(--serif);color:var(--navy)}
.pcard h3{font-size:18px;margin-top:6px}
.pcard p{font-size:14.5px;color:var(--steel)}
.pcard .btn{margin-top:16px;align-self:flex-start}
.older{margin-top:24px;font-size:15.5px;color:var(--steel)}
.older a{font-weight:600;color:var(--navy);text-decoration:underline;text-underline-offset:4px}
.older a:hover{color:var(--red-dk)}

/* footer */
.foot{background:var(--navy-d);color:#c4d1e0;font-size:14.5px}
.ftop{display:grid;grid-template-columns:1.5fr 1fr 1.2fr;gap:40px;padding:48px var(--pad) 32px;max-width:1296px;margin:0 auto}
.fbrand{display:flex;gap:12px;align-items:center;margin-bottom:14px}
.fbrand .fl{background:#fff;border-radius:6px;padding:6px}
.fbrand img{display:block;width:40px;height:auto}
.fbrand b{font:600 19px/1.05 var(--serif);letter-spacing:.1em;color:#fff}
.foot h5{font:700 11.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--red-lt);margin-bottom:12px}
.foot .fa{line-height:1.65}
.foot .fl2 a{display:block;padding:4px 0;font-weight:600;color:#e6eef7}
.foot .fl2 a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.foot .big{font:700 22px/1.1 var(--sans);color:#fff}
.fbot{border-top:1px solid rgba(255,255,255,.12)}
.fbot .in{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;padding:16px var(--pad);max-width:1296px;margin:0 auto;font-size:12.5px}

/* responsive */
@media (max-width:1040px){
 .nav{display:none}.mbtn{display:flex}
 .hdr .in{height:76px}
 .tab{padding:10px 12px 8px}.tab img{width:68px}
 .mpanel{padding-top:34px}
 .phead .wrap{padding-block:84px 76px}
 .phead.tight .wrap{padding-block:84px 32px}
 .cc{grid-template-columns:48px minmax(0,1fr);padding:22px}
 .cc .ico{width:48px;height:48px}.cc .ico .ic{width:22px;height:22px}
 .cc .btn{grid-column:1/-1;justify-self:start}
 .rgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .agrid,.pgrid{grid-template-columns:1fr}
 .bgrid{grid-template-columns:1fr;gap:36px;padding-block:40px 64px}
 .cover{max-width:280px}
 .cur-nl{grid-template-columns:1fr;gap:24px;padding:24px}
 .paper{max-width:190px}
 .ftop{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
 .wm span{display:none}.wm b{font-size:17px}
 .cc{grid-template-columns:1fr}
 .cc .btn{width:100%}
 .rgrid{grid-template-columns:1fr}
 .atile{flex-wrap:wrap}
 .toc ol{columns:1}
 .ftop{grid-template-columns:1fr}
 .bdl .btn,.cur-nl .btn{width:100%;white-space:normal;text-align:center}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* WordPress additions */
.mpanel[hidden]{display:none}
.admin-bar .hdr{margin-top:0}
.tp-wpcontent{max-width:1200px;margin:0 auto;padding:40px var(--pad)}

/* Fix: pages where a card overlaps the header band (Newsletters) need room for the 48px overlap */
.phead.tight:has(+ .ccards) .wrap{padding-bottom:96px}
@media (max-width:720px){.phead.tight:has(+ .ccards) .wrap{padding-bottom:88px}}

/* Breathing room above the footer where page content ends right at it */
.ccards + .foot{margin-top:72px}
@media (max-width:720px){.ccards + .foot{margin-top:48px}}

/* Home / Contact BPA header keeps the narrower intro width (more copy) */
.phead:not(.tight) .lede{max-width:58ch}

/* Smooth hover transitions */
:root{--ease:cubic-bezier(.22,.61,.36,1);--t:.3s}
.btn{transition:background-color var(--t) var(--ease),color var(--t) var(--ease),border-color var(--t) var(--ease),box-shadow var(--t) var(--ease),transform var(--t) var(--ease)}
.btn:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(6,40,74,.18)}
.btn:active{transform:translateY(0);box-shadow:none}
.nav a{transition:color var(--t) var(--ease)}
.nav a::after{content:"";position:absolute;left:16px;right:16px;bottom:0;height:3px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform var(--t) var(--ease)}
.nav a:hover::after,.nav a.cur::after{transform:scaleX(1)}
.mpanel a{transition:background-color var(--t) var(--ease),padding-left var(--t) var(--ease)}
.mpanel a:hover{background:rgba(255,255,255,.06);padding-left:8px}
.crumbs a,.older a,.foot .fl2 a,.cc a.v,.helpband a.ph{text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:2px;text-underline-offset:5px;transition:color var(--t) var(--ease),text-decoration-color var(--t) var(--ease)}
.crumbs a:hover,.foot .fl2 a:hover,.cc a.v:hover,.helpband a.ph:hover{text-decoration-color:currentColor}
.older a{text-decoration-color:currentColor;text-decoration-thickness:1px;text-underline-offset:4px}
.older a:hover{text-decoration-thickness:2px}
.atile,.pcard,.rtile{transition:background-color var(--t) var(--ease),border-color var(--t) var(--ease),box-shadow var(--t) var(--ease),transform var(--t) var(--ease)}
.atile:hover,.pcard:hover{box-shadow:0 10px 24px rgba(6,40,74,.10);transform:translateY(-2px)}
.atile .go{transition:transform var(--t) var(--ease)}
.atile:hover .go{transform:translateX(6px)}
@media (prefers-reduced-motion:reduce){.btn:hover,.atile:hover,.pcard:hover{transform:none}.atile:hover .go{transform:none}}

/* Generic pages / privacy policy */
.tp-page{padding-block:48px 24px}
.tp-legal{max-width:none}
.tp-legal h2{font-size:clamp(20px,2vw,25px);margin:40px 0 12px}
.tp-legal h2:first-child{margin-top:0}
.tp-legal p{margin:0 0 16px;line-height:1.7;color:#27364d}
.tp-legal strong{color:var(--navy)}
.tp-legal a{color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.foot .fbot a{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;transition:text-decoration-color var(--t) var(--ease)}
.foot .fbot a:hover{text-decoration-color:currentColor}

/* Align the menu's right edge with the top strip text above it */
@media (min-width:1041px){.nav a:last-child{padding-right:0}.nav a:last-child::after{right:0}}

/* Footer phone / email links */
.foot .big a,.foot .fa a{color:inherit;text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:1px;text-underline-offset:4px;transition:color var(--t) var(--ease),text-decoration-color var(--t) var(--ease)}
.foot .big a:hover,.foot .fa a:hover{color:#fff;text-decoration-color:currentColor}

/* Booklet contents: align numbers with their text on the same baseline, fixed number column */
.toc li{align-items:baseline}
.toc li::before{flex:0 0 28px;min-width:0;line-height:1.6;font-size:15px;font-variant-numeric:tabular-nums}

/* Top strip: use the standard abbreviation "RPP" on small screens */
.topstrip .ts{display:none;text-decoration:none;cursor:help}
@media (max-width:720px){.topstrip .tl{display:none}.topstrip .ts{display:inline}}

/* Top strip: tighter line spacing when the two lines stack on phones */
@media (max-width:720px){.topstrip .in{row-gap:0;padding-block:10px}.topstrip{line-height:1.35}}

/* Mobile menu: smooth slide-down (opened by adding .open) */
.mpanel{overflow:hidden;max-height:0;opacity:0;visibility:hidden;padding-top:0;padding-bottom:0;transition:max-height .32s var(--ease),opacity .25s var(--ease),padding .32s var(--ease),visibility 0s linear .32s}
.mpanel.open{max-height:420px;opacity:1;visibility:visible;padding-top:34px;padding-bottom:14px;transition-delay:0s}
@media (min-width:1041px){.mpanel{display:none}}

/* Top bar breathing room (+3px top/bottom); less space under the menu on phones */
@media (min-width:721px){.topstrip .in{padding-block:11px}}
@media (max-width:720px){.phead .wrap,.phead.tight .wrap{padding-top:56px}}
