* { 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; }
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,.34); display:flex; align-items:center; justify-content:center; cursor:pointer; }
.hc-ctrl:hover { background:rgba(0,0,0,.55); }
.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,.45); color:#fff; font-size:.78rem; padding:5px 11px; cursor:pointer; }
.hc-pause:hover { background:rgba(0,0,0,.62); }
.hc-dots { position:absolute; left:0; right:0; bottom:10px; display:flex; gap:8px; justify-content:center; z-index:3; }
.hc-dot { width:9px; height:9px; padding:0; border:0; border-radius:50%; background:rgba(255,255,255,.5); cursor:pointer; }
.hc-dot.is-active { background:#fff; }
@media(max-width:640px){ .hc-caption { max-width:100%; padding:14px 16px; } .hc-ctrl { width:38px; height:38px; } .hc-dots { bottom:6px; } }
.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 center/cover no-repeat; }
.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%; outline-offset:2px; }
.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:22px 12px 8px; font-size:.8rem; color:#fff; background:linear-gradient(transparent,rgba(0,0,0,.72)); opacity:0; transition:opacity .25s; pointer-events:none; }
.gallery-item:hover figcaption, .gallery-item:focus-within figcaption { opacity:1; }
.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; }
.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 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; }
