* { box-sizing:border-box; }
body { margin:0; font-family:Inter,Arial,sans-serif; color:#1f2933; background:#f7f9fb; line-height:1.6; }
a { color:#145ea8; }
.skip-nav { position:absolute; left:16px; top:-80px; background:#0f2f4f; color:#fff; padding:8px 12px; z-index:20; text-decoration:none; }
.skip-nav:focus { top:16px; }
header { background:#fff; border-bottom:1px solid #d8e1ea; }
.topbar { background:#0f2f4f; color:#d9ecff; font-size:.88rem; padding:9px 24px; }
.topbar-inner,.header-inner,.nav-inner,.footer-inner { max-width:1160px; margin:0 auto; }
.header-inner { padding:24px; display:flex; align-items:center; gap:22px; }
.logo-img { max-height:78px; max-width:280px; object-fit:contain; }
.logo-placeholder { width:74px; height:74px; border-radius:8px; background:#e7f1fb; color:#0f2f4f; display:flex; align-items:center; justify-content:center; text-align:center; font-weight:800; font-size:.72rem; padding:8px; }
h1 { margin:0; font-family:Merriweather,Georgia,serif; color:#0f2f4f; font-size:2rem; line-height:1.15; }
.subtitle { color:#64748b; font-weight:700; text-transform:uppercase; letter-spacing:.06em; margin-top:6px; }
nav { background:#fff; border-bottom:1px solid #d8e1ea; }
.nav-inner { display:flex; flex-wrap:wrap; padding:0 16px; list-style:none; align-items:center; }
.nav-item { position:relative; }
.nav-item > a { text-decoration:none; color:#304457; font-weight:700; padding:14px 12px; border-bottom:3px solid transparent; display:inline-block; white-space:nowrap; }
.nav-item > a:hover,.nav-item > a:focus { color:#0f2f4f; border-color:#d99a2b; outline:none; }
.nav-item > a[aria-current] { color:#0f2f4f; border-color:#d99a2b; }
.nav-item > a:focus-visible { outline:3px solid #d99a2b; outline-offset:2px; }
.card-link:focus-visible, .action-btn:focus-visible { outline:3px solid #d99a2b; outline-offset:2px; }
.nav-dropdown { display:none; position:absolute; top:100%; left:0; background:#fff; border:1px solid #d8e1ea; border-top:2px solid #d99a2b; list-style:none; padding:6px 0; margin:0; min-width:200px; z-index:100; box-shadow:0 4px 12px rgba(0,0,0,.08); }
.has-dropdown:hover .nav-dropdown,.has-dropdown:focus-within .nav-dropdown { display:block; }
.nav-dropdown li a { display:block; color:#304457; text-decoration:none; font-size:.9rem; font-weight:700; padding:9px 16px; white-space:nowrap; }
.nav-dropdown li a:hover,.nav-dropdown li a:focus { background:#f7f9fb; color:#0f2f4f; outline:none; }
.nav-dropdown li:empty,.prr-nav-item:empty { display:none; }
.nav-dropdown:not(:has(li:not(:empty))) { display:none !important; }
.nav-translate { margin-left:auto; display:flex; align-items:center; padding:6px 10px; }
.goog-te-gadget { font-size:0 !important; }
.goog-te-gadget select { font-size:.82rem; padding:4px 6px; border:1px solid #d8e1ea; border-radius:3px; background:#fff; color:#304457; cursor:pointer; }
.page-hero { background:linear-gradient(120deg,#e8f2fb 0%,#f7f9fb 100%); border-bottom:1px solid #d8e1ea; padding:36px 24px; }
.page-hero h2 { margin:0 auto; font-family:Merriweather,Georgia,serif; color:#0f2f4f; font-size:1.6rem; max-width:1160px; }
.section-label { margin:0 0 18px; font-family:Merriweather,Georgia,serif; color:#0f2f4f; font-size:1.35rem; }
.info-card { background:#fff; border:1px solid #d8e1ea; border-radius:8px; padding:20px; }
.info-card h3 { margin:0 0 12px; color:#0f2f4f; }
.section-nav { list-style:none; margin:0; padding:0; }
.section-nav li { border-bottom:1px solid #d8e1ea; }
.section-nav li:last-child { border-bottom:none; }
.section-nav a { display:block; padding:7px 0; font-size:0.95rem; color:#0f2f4f; text-decoration:none; }
.section-nav a:hover { color:#2a6ab5; }
.section-nav-current a { font-weight:700; }
.info-row { display:flex; gap:10px; margin:0 0 12px; color:#40566b; }
.info-row svg { width:18px; height:18px; fill:none; stroke:#0f2f4f; stroke-width:1.8; flex:0 0 auto; margin-top:3px; }
.card-link { display:block; margin-top:14px; background:#0f2f4f; color:#fff; text-align:center; padding:10px; text-decoration:none; border-radius:6px; font-weight:800; }
.compliance { background:#fff8eb; border-top:1px solid #ead6aa; border-bottom:1px solid #ead6aa; padding:20px 24px; color:#4c3b18; }
.compliance-inner { max-width:1160px; margin:0 auto; }
footer { background:#0f2f4f; color:#d9ecff; padding:28px 24px; text-align:center; }
footer a { color:#ffd58a; text-decoration:none; }
footer a:hover { text-decoration:underline; }
.footer-links { margin-top:12px; display:flex; justify-content:center; flex-wrap:wrap; gap:18px; }
@media(max-width:800px) { h1 { font-size:1.55rem; } }
.ql-align-center { text-align:center; }
.ql-align-right { text-align:right; }
.ql-align-justify { text-align:justify; }
.ql-indent-1 { padding-left:3em; }
.ql-indent-2 { padding-left:6em; }
.ql-indent-3 { padding-left:9em; }
.ql-indent-4 { padding-left:12em; }
.ql-indent-5 { padding-left:15em; }
.ql-indent-6 { padding-left:18em; }
.ql-indent-7 { padding-left:21em; }
.ql-indent-8 { padding-left:24em; }
li[data-list] { list-style:none; padding-left:1.5em; position:relative; }
li[data-list]:before { position:absolute; left:0; display:inline-block; width:1.2em; text-align:right; margin-right:.3em; }
li[data-list=bullet]:before { content:'\2022'; }
li[data-list=checked]:before { content:'\2611'; color:#777; }
li[data-list=unchecked]:before { content:'\2610'; color:#777; }
ol { counter-reset:list-0; }
li[data-list=ordered] { counter-increment:list-0; }
li[data-list=ordered]:before { content:counter(list-0, decimal) '. '; }
.ql-syntax { display:block; background:#f4f5f6; border:1px solid #d8e1ea; border-radius:6px; padding:12px 14px; overflow-x:auto; font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace; font-size:.85em; line-height:1.5; white-space:pre-wrap; word-break:break-word; }
/* News images: featured image on cards / post page, inline images in post bodies. */
.news-card-img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:4px; margin:0 0 12px; background:#eef2f6; }
.news-post-image { display:block; max-width:100%; height:auto; border-radius:6px; margin:0 0 24px; }
.post-body img, .news-body img { max-width:100%; height:auto; border-radius:4px; }
/* Featured image size/alignment (data-size 25|50|75, data-align center|right; default full width, left). */
.news-card-img[data-size="25"], .news-post-image[data-size="25"] { width:25%; } .news-card-img[data-size="50"], .news-post-image[data-size="50"] { width:50%; } .news-card-img[data-size="75"], .news-post-image[data-size="75"] { width:75%; }
.news-card-img[data-align="center"], .news-post-image[data-align="center"] { margin-left:auto; margin-right:auto; }
.news-card-img[data-align="right"], .news-post-image[data-align="right"] { margin-left:auto; margin-right:0; }
@media(max-width:600px) { .news-card-img[data-size="25"], .news-post-image[data-size="25"] { width:50%; } .news-card-img[data-size="50"], .news-post-image[data-size="50"] { width:75%; } }
img[data-size] { height:auto; }
img[data-size="25"] { width:25%; } img[data-size="50"] { width:50%; } img[data-size="75"] { width:75%; } img[data-size="100"] { width:100%; }
@media(max-width:600px) { img[data-size="25"] { width:50%; } img[data-size="50"] { width:75%; } }
/* News image text wrapping: data-wrap (square|tight|through|topbottom), data-float, --ni-m{t,b,l,r} spacing.
   Keep in sync with the editor copy in assets/js/news-images.js. Tight/Through get their shape-outside inline (sanitizer). */
.post-body, .news-body, .pb-prose { display:flow-root; }
img[data-wrap="square"], img[data-wrap="tight"], img[data-wrap="through"] { float:left; max-width:50%; height:auto; margin:var(--ni-mt,4px) var(--ni-mr,16px) var(--ni-mb,8px) var(--ni-ml,0); }
img[data-wrap="square"][data-float="right"], img[data-wrap="tight"][data-float="right"], img[data-wrap="through"][data-float="right"] { float:right; margin:var(--ni-mt,4px) var(--ni-mr,0) var(--ni-mb,8px) var(--ni-ml,16px); }
img[data-wrap="topbottom"] { display:block; clear:both; max-width:100%; height:auto; margin:var(--ni-mt,8px) auto var(--ni-mb,8px) var(--ni-ml,0); }
img[data-wrap="topbottom"][data-float="center"] { margin-left:auto; margin-right:auto; }
img[data-wrap="topbottom"][data-float="right"] { margin-left:auto; margin-right:var(--ni-mr,0); }
img[data-wrap][data-size] { max-width:100%; }
@media(max-width:600px) { img[data-wrap="square"], img[data-wrap="tight"], img[data-wrap="through"] { float:none !important; display:block !important; max-width:100% !important; margin:var(--ni-mt,8px) auto var(--ni-mb,8px) !important; shape-outside:none !important; } }
blockquote { border-left:4px solid #ccc; margin:5px 0; padding-left:16px; }
.ql-code-block-container { background:#23241f; color:#f8f8f2; border-radius:3px; margin:5px 0; padding:5px 10px; font-family:monospace; overflow-x:auto; }
.hero-carousel { position:relative; width:100%; overflow:hidden; background:#0b1b2b; }
.hero-carousel + .hero-carousel { margin-top:10px; }
.hero-carousel .hc-track { position:relative; }
.hc-slide { display:none; position:relative; }
.hc-slide.is-active { display:block; }
.hc-slide--text.is-active { display:grid; }
.hc-slide--text .hc-image { grid-area:1/1; }
.hc-slide--text .hc-caption { grid-area:1/1; position:relative; z-index:1; align-self:center; justify-self:center; background:transparent; max-width:820px; width:100%; text-align:center; }
.hc-slide--text .hc-image { height:auto; min-height:0; }
.hc-image { position:relative; width:100%; height:clamp(300px,42vw,520px); background-color:#0b1b2b; overflow:hidden; }
.hc-image::before,.hc-image::after { content:''; position:absolute; inset:0; background-image:var(--hc-bg); background-position:center; background-repeat:no-repeat; }
.hc-image::before { background-size:cover; filter:blur(30px) brightness(.55) saturate(1.2); transform:scale(1.15); }
.hc-image::after { background-size:contain; }
.hc-image--text { background:linear-gradient(120deg,#0f2f4f,#22557f); }
.hc-caption { position:absolute; left:0; bottom:0; max-width:min(700px,94%); background:rgba(10,20,30,.72); color:#fff; padding:18px 22px; }
.hc-caption a { color:#fff; text-decoration:none; display:block; }
.hc-caption a:hover h2 { text-decoration:underline; }
.hc-caption h2 { margin:0; font-size:clamp(1.2rem,2.4vw,1.8rem); line-height:1.2; }
.hc-desc { margin-top:6px; font-size:.98rem; line-height:1.5; color:rgba(255,255,255,.92); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.hc-ctrl { position:absolute; top:50%; transform:translateY(-50%); z-index:3; width:46px; height:46px; border:0; border-radius:50%; background:rgba(0,0,0,.6); display:flex; align-items:center; justify-content:center; cursor:pointer; }
.hc-ctrl:hover { background:rgba(0,0,0,.8); }
.hc-ctrl svg { filter:drop-shadow(0 1px 2px rgba(0,0,0,.6)); }
.hc-ctrl:focus-visible { outline:3px solid #fff; outline-offset:2px; }
.hc-prev { left:12px; } .hc-next { right:12px; }
.hc-pause { position:absolute; top:12px; right:12px; z-index:3; border:0; border-radius:4px; background:rgba(0,0,0,.72); color:#fff; font-size:.78rem; padding:6px 12px; cursor:pointer; }
.hc-pause:hover { background:rgba(0,0,0,.88); }
.hc-pause:focus-visible { outline:3px solid #fff; outline-offset:2px; }
.hc-dots { position:absolute; left:0; right:0; bottom:6px; display:flex; gap:0; justify-content:center; z-index:3; }
.hc-dot { width:24px; height:24px; padding:0; border:0; background:transparent; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.hc-dot::after { content:''; display:block; width:10px; height:10px; border-radius:50%; background:rgba(255,255,255,.7); box-shadow:0 0 0 1px rgba(0,0,0,.6); }
.hc-dot.is-active::after { background:#fff; width:12px; height:12px; }
.hc-dot:focus-visible { outline:3px solid #fff; outline-offset:0; border-radius:50%; box-shadow:0 0 0 5px rgba(0,0,0,.6); }
.hc-image-link { position:absolute; inset:0; z-index:2; }
.hc-image-link:focus-visible, .hc-caption a:focus-visible { outline:3px solid #fff; outline-offset:-3px; }
@media(max-width:640px){ .hc-caption { max-width:100%; padding:14px 16px; } .hc-ctrl { width:38px; height:38px; } .hc-dots { bottom:2px; } }
.gallery-wrap { max-width:1160px; margin:0 auto; padding:44px 24px; }
.gallery-index { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:20px; }
.gallery-card { display:flex; flex-direction:column; border:1px solid #d8e1ea; border-radius:10px; overflow:hidden; background:#fff; text-decoration:none; color:inherit; transition:transform .15s,box-shadow .15s; }
.gallery-card:hover { transform:translateY(-2px); box-shadow:0 10px 26px rgba(15,47,79,.12); }
.gallery-card-img { display:block; width:100%; aspect-ratio:4/3; background:#e8eef4; object-fit:cover; }
.gallery-card-body { padding:14px 16px; }
.gallery-card-title { display:block; font-weight:700; color:#0f2f4f; }
.gallery-card-meta { display:block; margin-top:3px; font-size:.85rem; color:#64748b; }
.gallery-album-desc { color:#475569; max-width:760px; margin:0 0 24px; }
.gallery-grid { display:flex; flex-wrap:wrap; gap:8px; }
.gallery-grid::after { content:""; flex-grow:100000; }
.gallery-item { position:relative; margin:0; overflow:hidden; border-radius:10px; background:#e8eef4; height:230px; flex:1 1 auto; flex-grow:calc(var(--ar,1.5) * 100); flex-basis:calc(var(--ar,1.5) * 230px); }
.gallery-item > a { display:block; width:100%; height:100%; }
.gallery-item > a:focus-visible, .gallery-card:focus-visible, .gallery-back:focus-visible { outline:3px solid #145ea8; outline-offset:3px; }
.gallery-item img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.gallery-item:hover img, .gallery-item:focus-within img { transform:scale(1.05); }
.gallery-item figcaption { position:absolute; left:0; right:0; bottom:0; padding:7px 12px; font-size:.8rem; line-height:1.35; color:#fff; background:rgba(15,23,42,.86); pointer-events:none; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.gallery-item.is-hidden { display:none; }
@media(max-width:640px){ .gallery-item { height:160px; flex-basis:calc(var(--ar,1.5) * 160px); } }
.gallery-pager { display:flex; flex-wrap:wrap; gap:6px; justify-content:center; margin-top:28px; }
.gallery-pager button { min-width:38px; padding:7px 11px; border:1px solid #d8e1ea; background:#fff; color:#334155; border-radius:7px; font:inherit; font-size:.9rem; cursor:pointer; }
.gallery-pager button[disabled] { opacity:.4; cursor:default; }
.gallery-pager button.is-current { background:#0f2f4f; border-color:#0f2f4f; color:#fff; font-weight:700; }
.gallery-back { display:inline-block; margin-bottom:16px; font-size:.9rem; font-weight:700; color:#145ea8; text-decoration:none; }
.lightbox { position:fixed; inset:0; z-index:9999; display:none; background:rgba(9,14,20,.94); align-items:center; justify-content:center; }
.lightbox.is-open { display:flex; }
/* Site custom CSS (site.css) loads after this file and may restyle .lightbox with its own display; keep it hidden until opened. */
.lightbox:not(.is-open) { display:none !important; }
.lightbox figure { margin:0; max-width:94vw; max-height:92vh; display:flex; flex-direction:column; align-items:center; }
.lightbox img { max-width:94vw; max-height:84vh; object-fit:contain; border-radius:4px; box-shadow:0 12px 60px rgba(0,0,0,.55); }
.lightbox img.is-loading { filter:blur(6px); }
.lightbox figcaption { color:#e2e8f0; font-size:.9rem; margin-top:12px; text-align:center; max-width:70ch; }
.lightbox-btn { position:absolute; top:50%; transform:translateY(-50%); width:48px; height:48px; border:0; border-radius:50%; background:rgba(255,255,255,.12); color:#fff; font-size:1.7rem; line-height:1; cursor:pointer; }
.lightbox-btn:hover { background:rgba(255,255,255,.24); }
.lightbox-prev { left:16px; } .lightbox-next { right:16px; }
.lightbox-close { position:absolute; top:14px; right:18px; width:44px; height:44px; border:0; background:none; color:#fff; font-size:2rem; line-height:1; cursor:pointer; }
.lightbox-count { position:absolute; top:20px; left:20px; color:#cbd5e1; font-size:.85rem; letter-spacing:.5px; }
@media(max-width:600px){ .lightbox-btn { width:40px; height:40px; font-size:1.4rem; } .lightbox-prev{ left:6px; } .lightbox-next{ right:6px; } }

.documents-empty { color:#64748b; }
.visually-hidden { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0; }
.lightbox-btn:focus-visible, .lightbox-close:focus-visible { outline:3px solid #fff; outline-offset:2px; }
.gallery-pager button:focus-visible { outline:3px solid #145ea8; outline-offset:2px; }
@media (prefers-reduced-motion: reduce) {
  .gallery-card, .gallery-item img { transition:none; }
  .gallery-card:hover { transform:none; }
  .gallery-item:hover img, .gallery-item:focus-within img { transform:none; }
}
