/* 1.3.0: larger default type, article reading tools and contextual related cards. */
:root { --reader-scale:1; --reader-offset:0px; --reader-tools-height:64px; }
body { font-size:1.0625rem; }
.topbar { font-size:.875rem; }
.nav-list { overflow-x:auto; scrollbar-width:thin; }
.nav-list>li>a { font-size:clamp(.75rem,.96vw,.875rem); padding-inline:8px; }
.home-lead { grid-template-columns:minmax(0,1.82fr) minmax(0,1fr); }
.hero-slider { aspect-ratio:2.15; }
.hero-copy h2 { font-size:clamp(23px,1.98vw,29px); line-height:1.3; }
.hero-copy .meta { font-size:.875rem; }
.hero-location { font-size:.8125rem; }
.lead-news { aspect-ratio:1.18132; }
.lead-news h2 { font-size:1rem; line-height:1.35; -webkit-line-clamp:2; }
.lead-news .meta { font-size:.8125rem; }
.quick-links>a { font-size:.875rem; min-height:88px; }
.quick-icon { width:52px; height:52px; }
.section-heading h2 { font-size:1.125rem; }
.section-heading>a { font-size:.8125rem; }
.news-card h3 { font-size:1rem; line-height:1.45; }
.news-card .meta,.video-small .meta,.video-main .meta { font-size:.8125rem; }
.notice-list h3 { font-size:.9375rem; line-height:1.45; }
.notice-list article { padding-block:9px; }
.date-tile span { font-size:.75rem; }
.video-main h3 { font-size:1.0625rem; line-height:1.4; }
.video-small h3 { font-size:.9375rem; line-height:1.4; }
.video-small { grid-template-columns:34% minmax(0,1fr); }
.footer-grid h2,.footer-brand strong { font-size:.875rem; }
.footer-grid>div>a,.footer-brand p,.footer-support { font-size:.8125rem; line-height:1.55; }
.footer-brand span,.footer-bottom { font-size:.75rem; }
.page-heading h1 { font-size:1.5rem; }
.breadcrumbs { font-size:.875rem; }
.side-panel>a { font-size:.9375rem; }
.prose { font-size:1.125rem; line-height:1.85; }
.list-news h2 { font-size:1.25rem; line-height:1.45; }
.list-news p,.filter-bar,.filter-row,.result-count,.document-row h2,.procedure-row,.faq-item summary { font-size:1rem; }
.procedure-group summary strong { font-size:1.0625rem; }
.muted,.meta { font-size:.875rem; }
.citizen-form>label,.form-row>label,.contact-info p,.form-hint { font-size:1rem; }
.contact-info h2 { font-size:1.125rem; }
.faq-item .prose { font-size:1.0625rem; }
.button { font-size:1rem; }
.article-layout { grid-template-columns:minmax(0,1fr) 270px; }
.article-main { min-width:0; }
.article-title { color:#202b3c; font-size:clamp(28px,2.45vw,35px); line-height:1.35; }
.article-toolbar { gap:12px 20px; margin-bottom:14px; }
.article-toolbar .meta,.reading-time { font-size:.9375rem; color:#607087; }
.reading-time { display:inline-flex; gap:7px; align-items:center; }
.reading-time .icon { width:19px; height:19px; }
.article-topics { display:flex; gap:8px; flex-wrap:wrap; margin:0 0 18px; }
.article-topics a { color:#a20e17; background:#fff1ee; border:1px solid #f1d9d3; border-radius:18px; padding:5px 12px; font-size:.875rem; }
.article-body { font-size:calc(1.1875rem * var(--reader-scale)); line-height:1.85; max-width:72ch; margin-inline:auto; }
.article-summary { font-size:calc(1.25rem * var(--reader-scale)); line-height:1.7; font-weight:600; color:#435168; margin:0 0 24px; }
.article-body p { margin-bottom:1.1em; }
.article-body :is(h2,h3) { line-height:1.45; scroll-margin-top:calc(var(--reader-offset) + var(--reader-tools-height) + 24px); }
.article-body h2 { font-size:1.35em; }
.article-body h3 { font-size:1.18em; }
.article-body img { border-radius:5px; }
.article-body pre,.article-body table { max-width:100%; overflow-x:auto; }
.article-body table { display:block; }
html.has-reader { scroll-padding-top:0; }
#xls-article-body,#related-articles,#article-title { scroll-margin-top:calc(var(--reader-offset) + var(--reader-tools-height) + 24px); }
.procedure-facts dt,.procedure-facts dd { font-size:1rem; line-height:1.6; }
.document-detail p { font-size:.9375rem; }
.reader-toolbar { position:sticky; top:calc(var(--reader-offset) + 4px); z-index:40; display:flex; flex-wrap:wrap; gap:8px 12px; align-items:center; margin:0 -24px 22px; padding:12px 20px; background:#fffefc; border-block:1px solid #eee2dd; box-shadow:0 3px 10px #45110c07; }
.reader-font-controls,.reader-actions { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.reader-font-controls { padding-right:10px; border-right:1px solid #eadcd6; }
.reader-actions { flex:1; }
.reader-toolbar button,.reader-toc-mobile summary { display:inline-flex; gap:6px; align-items:center; justify-content:center; min-height:44px; padding:8px 11px; border:1px solid #e5d9d4; background:#fff; border-radius:5px; color:#3c414c; font-size:.875rem; line-height:1.3; }
.reader-font-controls button { width:42px; padding-inline:4px; font-size:1rem; font-weight:600; }
.reader-toolbar .icon { width:18px; height:18px; }
.reader-toolbar button:hover,.reader-toc-mobile summary:hover { border-color:#d42b32; color:#b4121c; background:#fff4f1; }
.reader-toolbar button[aria-pressed="true"] { background:#fff0ea; color:#b51218; border-color:#d82b33; }
.reader-message { flex-basis:100%; font-size:.875rem; color:#845047; overflow-wrap:anywhere; line-height:1.5; }
.reader-message:empty { display:none; }
.reader-progress { position:fixed; top:var(--reader-offset); left:0; right:0; height:4px; background:#f4e6e0; z-index:90; }
.reader-progress>span { display:block; width:0; height:100%; background:#e0000b; transition:width .12s linear; }
.reader-aside { position:sticky; top:calc(var(--reader-offset) + 18px); align-self:start; max-height:calc(100dvh - var(--reader-offset) - 36px); overflow-y:auto; scrollbar-width:thin; }
.reader-aside .panel { padding:19px; margin-bottom:16px; }
.reader-aside h2 { font-size:1rem; color:#a30e17; }
.reader-support .text-link { display:block; margin-top:13px; font-size:1rem; }
.reader-toc-list { list-style:none; padding:0; margin:0; }
.reader-toc-list li+li { margin-top:6px; }
.reader-toc-list a { display:block; border-left:3px solid transparent; padding:9px 10px; font-size:.9375rem; line-height:1.5; color:#526078; }
.reader-toc-list .toc-level-3 a { padding-left:22px; font-size:.875rem; }
.reader-toc-list a:hover,.reader-toc-list a[aria-current="location"] { color:#b00e18; border-left-color:#e0000b; background:#fff4ef; }
.reader-toc-mobile { display:none; }
.reader-toc-mobile summary { list-style:none; cursor:pointer; }
.reader-toc-mobile summary::-webkit-details-marker { display:none; }
.reader-toc-mobile>nav { position:absolute; left:10px; right:10px; top:calc(100% + 6px); max-height:min(50vh,340px); overflow:auto; padding:12px; background:#fff; border:1px solid #eddfd8; border-radius:6px; box-shadow:0 10px 25px #36120d20; }
.reader-focused .article-layout { grid-template-columns:minmax(0,1fr); max-width:920px; margin-inline:auto; }
.reader-focused .article-aside { display:none; }
.reader-focused .reader-toc-mobile { display:block; }
.reader-focused .article-main { box-shadow:0 7px 24px #52100c08; }
.related-articles { margin-top:32px; padding-top:25px; border-top:1px solid #ebe5e1; }
.related-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.related-card { display:flex; flex-direction:column; min-width:0; border:1px solid #ece5e1; border-radius:6px; overflow:hidden; background:#fff; }
.related-card:hover { border-color:#e2bdb5; color:inherit; box-shadow:0 5px 16px #52100d0a; }
.related-cover { aspect-ratio:2.15; overflow:hidden; }
.related-cover img { width:100%; height:100%; object-fit:cover; }
.related-copy { padding:16px; }
.related-copy h3 { margin:6px 0 10px; font-size:1.0625rem; line-height:1.5; color:#273448; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.related-copy p { margin:11px 0; font-size:.9375rem; line-height:1.6; color:#687489; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.related-copy .meta { font-size:.8125rem; }
.related-copy .text-link { font-size:.9375rem; }
.related-symbol { margin:18px 18px 0; color:#d1141f; }
.related-symbol .icon { width:35px; height:35px; }
.article-next-prev { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; padding-top:25px; margin-top:25px; border-top:1px solid #ece5e1; }
.article-next-prev a { padding:14px; background:#fff7f2; border:1px solid #f0e4dc; border-radius:5px; min-width:0; }
.article-next-prev span { display:block; font-size:.875rem; color:#a71720; margin-bottom:7px; }
.article-next-prev strong { display:block; font-size:1rem; line-height:1.5; }
.article-back { display:flex; justify-content:space-between; gap:15px; flex-wrap:wrap; font-size:1rem; }
.article-back .icon { width:18px; }
.reader-jump-top { position:fixed; right:20px; bottom:24px; min-width:44px; min-height:44px; display:flex; align-items:center; justify-content:center; color:#bd1019; background:#fff; border:1px solid #e4c9c0; border-radius:50%; box-shadow:0 4px 15px #46150d17; z-index:70; }
.reading-list { margin-top:22px; }
.reading-list h2 { display:flex; gap:10px; align-items:center; font-size:1.3rem; color:#a90c12; }
.reading-list>p { font-size:1rem; }
.saved-article { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:17px 0; border-top:1px solid #eee; }
.saved-article>a { flex:1; min-width:0; }
.saved-article strong { display:block; font-size:1.0625rem; line-height:1.5; }
.saved-article small { display:block; margin-top:5px; color:#6b7688; font-size:.875rem; }
.saved-article button { min-width:44px; min-height:44px; padding:9px; color:#a90d17; background:#fff3ef; border:1px solid #eedad3; border-radius:5px; }
.saved-empty { padding:18px 0; color:#667184; font-size:1rem; }
@media (min-width:768px) {
  .site-header { position:relative; z-index:110; }
}
@media (min-width:1101px) {
  .nav-list { overflow:visible; flex-wrap:wrap; }
  .nav-list>li>a { padding-inline:4px; }
}
@media (min-width:768px) and (max-width:1100px) {
  .nav-list>li>a { font-size:.75rem; padding-inline:7px; }
  .lead-news h2 { font-size:.90625rem; margin-bottom:3px; }
  .lead-news .meta { font-size:.75rem; }
  .quick-links>a { font-size:.8125rem; min-height:82px; }
  .section-heading { flex-wrap:wrap; gap:5px; }
  .section-heading h2 { font-size:1rem; }
  .news-card h3,.notice-list h3,.video-small h3 { font-size:.9375rem; }
  .home-content-grid { gap:15px; }
  .article-layout { grid-template-columns:minmax(0,1fr) 230px; gap:18px; }
  .reader-aside .panel { padding:15px; }
}
@media (max-width:900px) {
  .article-layout { display:block; }
  .reader-aside { position:static; max-height:none; overflow:visible; }
  .article-toc { display:none; }
  .reader-toc-mobile { display:block; }
  .reader-support { margin-top:20px; }
}
@media (max-width:767px) {
  body { font-size:1rem; }
  .masthead,.uses-real-images .masthead { min-height:90px; }
  .brand-overline { font-size:8.4px; }
  .brand-center { font-size:9.3px; }
  .brand-text strong { font-size:18px; }
  .brand-tagline { font-size:7.1px; white-space:normal; max-width:205px; }
  .main-nav.is-open { max-height:calc(100dvh - var(--reader-offset,90px) - 76px - env(safe-area-inset-bottom)); }
  .nav-list>li>a { font-size:1rem; }
  .hero-slider { aspect-ratio:auto; height:clamp(285px,86vw,385px); }
  .hero-copy h2 { font-size:clamp(21px,5.4vw,25px); line-height:1.35; }
  .hero-copy .meta { font-size:.8125rem; }
  .quick-links>a { font-size:.75rem; min-height:0; line-height:1.35; }
  .mobile-label { max-width:95px; }
  .quick-icon { width:44px; height:44px; }
  .section-heading h2 { font-size:1.0625rem; }
  .section-heading>a { font-size:.75rem; }
  .news-card { grid-template-columns:104px minmax(0,1fr); gap:12px; }
  .news-card h3 { font-size:1rem; line-height:1.4; }
  .news-card .meta { font-size:.75rem; }
  .news-image { height:70px; }
  .page-heading h1 { font-size:1.375rem; }
  .side-panel>a { font-size:.9375rem; }
  .list-news { grid-template-columns:108px minmax(0,1fr); }
  .list-news h2 { font-size:1.0625rem; line-height:1.45; }
  .prose { font-size:1.0625rem; }
  .article-main { padding:20px 16px; }
  .article-title { font-size:1.5rem; }
  .article-body { font-size:calc(1.125rem * var(--reader-scale)); }
  .article-summary { font-size:calc(1.1875rem * var(--reader-scale)); }
  .article-toolbar .meta,.reading-time { font-size:.8125rem; }
  .reader-toolbar { margin-inline:-16px; padding:10px; gap:7px; }
  .reader-font-controls { border:0; padding-right:3px; }
  .reader-actions { display:contents; }
  .reader-toolbar button,.reader-toc-mobile summary { font-size:.8125rem; padding-inline:9px; }
  .reader-toolbar :is([data-copy-url],.share-button,.print-button) { min-width:44px; }
  .reader-toolbar :is([data-copy-url],.share-button,.print-button)>span { display:none; }
  .reader-font-controls button { font-size:.9375rem; }
  .article-topics a { font-size:.8125rem; }
  .related-grid { grid-template-columns:minmax(0,1fr); gap:14px; }
  .related-card { display:grid; grid-template-columns:108px minmax(0,1fr); align-items:start; }
  .related-cover { height:84px; aspect-ratio:auto; margin:13px 0 0 13px; border-radius:4px; }
  .related-copy { padding:13px; }
  .related-copy h3 { font-size:1rem; margin:5px 0 8px; }
  .related-copy p { font-size:.875rem; -webkit-line-clamp:2; }
  .related-symbol { margin:20px; }
  .article-next-prev { gap:10px; }
  .article-next-prev a { padding:11px; }
  .article-next-prev strong { font-size:.9375rem; }
  .article-back { font-size:.9375rem; }
  .reader-jump-top { bottom:calc(82px + env(safe-area-inset-bottom)); right:15px; }
  .document-row h2 { font-size:1rem; }
  .contact-info p,.citizen-form>label,.form-row>label,.form-hint { font-size:.9375rem; }
  .procedure-facts dt,.procedure-facts dd { font-size:.9375rem; }
  .mobile-bottom-nav>a>span { font-size:.75rem; }
}
@media (max-width:359px) {
  .brand-center { font-size:8.1px; }
  .brand-overline { font-size:7.5px; }
  .brand-text strong { font-size:16px; }
  .brand-tagline { font-size:6.7px; }
  .news-card { grid-template-columns:92px minmax(0,1fr); gap:10px; }
  .related-card { grid-template-columns:94px minmax(0,1fr); }
  .article-next-prev { grid-template-columns:minmax(0,1fr); }
}
@media (prefers-reduced-motion:reduce) { .reader-progress>span { transition:none; } }
@media print {
  .reader-toolbar,.reader-aside,.reader-progress,.reader-jump-top,.related-articles,.article-next-prev,.article-topics,.reading-list,.article-back { display:none!important; }
  .article-main,.reader-focused .article-layout { max-width:none; box-shadow:none; }
  .article-body { font-size:11pt; line-height:1.6; max-width:none; }
  .article-title { font-size:22pt; color:#000; }
}
