/* Policy component only. Typography reuses the installed Atlantic Hall system. */
.ah-policy-library{--pl-blue:#125383;--pl-card-pad:20px;color:#123d60;background:#fff;padding:48px 0 56px;font-family:var(--ahds-font-body,'DM Sans',Arial,sans-serif);font-size:14px;line-height:1.6}
.ah-policy-library *{box-sizing:border-box}
.ah-policy-library [hidden]{display:none!important}
.ah-policy-library .pl-shell{width:min(1160px,calc(100% - 72px));margin:auto}
.ah-policy-library .library-layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:55px;align-items:start}
.ah-policy-library .index-sidebar{position:sticky;top:110px;align-self:start}
.ah-policy-library .overline{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--pl-blue)}
.ah-policy-library h2{font:600 28px/1.25 var(--ahds-font-body,'DM Sans',Arial,sans-serif);letter-spacing:0;color:#123d60;margin:9px 0 15px}
.ah-policy-library .index-sidebar p{font-size:14px;color:#485b6b;line-height:1.65;margin:0 0 22px}
.ah-policy-library .filter-group{border-top:1px solid #dbe4eb}
.ah-policy-library button,.ah-policy-library input{font-family:inherit;letter-spacing:normal;text-transform:none}
.ah-policy-library .filter{--pl-category:var(--pl-blue);display:flex;align-items:center;gap:10px;text-align:left;width:100%;border:0;border-bottom:1px solid #dbe4eb;background:transparent;color:#304b61;padding:15px 10px;font-size:14px;font-weight:600;border-radius:0;line-height:1.4;cursor:pointer;box-shadow:none}
.ah-policy-library .filter:hover{background:#f2f7fb}
.ah-policy-library .filter.active{background:var(--pl-category);border-color:var(--pl-category);color:#fff}
.ah-policy-library .swatch{width:5px;height:15px;flex:0 0 5px;background:var(--pl-category)}
.ah-policy-library .filter.active .swatch{background:#8bcae9}
.ah-policy-library .count{font-size:12px;margin-left:auto;color:#526779}
.ah-policy-library .filter.active .count{color:#fff}
.ah-policy-library .library-main{min-width:0}
.ah-policy-library .editorial-line{font-size:10px;letter-spacing:.16em;color:#526f82;border-bottom:1px solid #dde7e9;padding-bottom:13px;margin:0 0 12px}
.ah-policy-library .searchbar{display:flex;align-items:center;gap:12px;border:1px solid #97adbd;background:#fff;height:56px;padding:0 17px;margin:0;color:var(--pl-blue)}
.ah-policy-library .searchbar svg{flex:0 0 auto}
.ah-policy-library .searchbar input{flex:1;width:100%;min-width:0;border:0!important;background:transparent!important;padding:0!important;border-radius:0;box-shadow:none!important;outline:none;color:#173b52;font-size:14px;height:100%}
.ah-policy-library .searchbar input::placeholder{color:#657d8d;opacity:1}
.ah-policy-library .searchbar:focus-within{outline:2px solid #125383;outline-offset:2px}
.ah-policy-library .library-title{display:flex;justify-content:space-between;align-items:end;gap:15px;padding:23px 0 20px}
.ah-policy-library .library-title h2{margin:6px 0 0}
.ah-policy-library .result-count{color:#526779;font-size:12px;line-height:1.5;text-align:right}
.ah-policy-library .policy-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;align-items:stretch}
.ah-policy-library .document-card{--pl-category:var(--pl-blue);display:flex;flex-direction:column;min-width:0;min-height:216px;background:#fff;border:1px solid #cbd9e3;border-top:3px solid var(--pl-category);border-radius:0;transition:transform .18s,border-color .18s}
.ah-policy-library .document-card:hover{border-color:var(--pl-category);transform:translateY(-2px)}
.ah-policy-library .document-card-head{display:flex;align-items:start;justify-content:space-between;padding:18px var(--pl-card-pad) 0}
.ah-policy-library .row-glyph{display:flex;align-items:center;justify-content:center;width:54px;height:54px;flex:0 0 54px;color:var(--pl-category);background:transparent}
.ah-policy-library .row-glyph svg{width:50px;height:50px;stroke-width:1.9}
.ah-policy-library .row-glyph svg>circle:first-child[opacity]{display:none}
.ah-policy-library .row-glyph i{font-size:44px}
.ah-policy-library .policy-number{font-size:12px;font-weight:600;line-height:1.4;color:#576d7e;padding-top:5px}
.ah-policy-library .policy-body{flex:1;padding:13px var(--pl-card-pad) 19px}
.ah-policy-library .policy-heading{font:600 19px/1.35 var(--ahds-font-body,'DM Sans',Arial,sans-serif);letter-spacing:0;margin:0 0 9px;color:#123d60}
.ah-policy-library .policy-sub{font-size:14px;font-weight:400;line-height:1.6;color:#465c6c;margin:0;max-width:45ch}
.ah-policy-library .document-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 0 15px;margin:0 var(--pl-card-pad);border-top:1px solid #dce5ed;background:#fff}
.ah-policy-library .row-meta{display:flex;align-items:center;flex-wrap:wrap;gap:5px;font-size:11px;line-height:1.5;color:#4a6375;min-width:0}
.ah-policy-library .category-mark{width:4px;height:11px;flex:0 0 4px;background:var(--pl-category)}
.ah-policy-library .dot-sep{color:#728895}
.ah-policy-library .read-action{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;min-height:44px;background:transparent;color:var(--pl-blue);border:0;border-radius:0;box-shadow:none;padding:10px 0 10px 8px;white-space:nowrap;text-decoration:none;font-size:12px;font-weight:700;line-height:1.4;cursor:pointer}
.ah-policy-library .read-action:hover{color:#082d4c;text-decoration:underline;background:transparent}
.ah-policy-library .show-more,.ah-policy-library .reset-policies{display:block;min-height:44px;border:1px solid var(--pl-blue);border-radius:0;background:var(--pl-blue);color:#fff;font-size:14px;font-weight:600;line-height:1.4;padding:14px 20px;margin:20px auto 0;box-shadow:none;cursor:pointer}
.ah-policy-library .show-more:hover,.ah-policy-library .reset-policies:hover{background:#0d3d62;color:#fff}
.ah-policy-library .empty{text-align:center;padding:45px 15px;color:#526779}
.ah-policy-library .empty strong{font-size:22px;color:#123d60}
.ah-policy-library :is(button,a):focus-visible{outline:2px solid #125383;outline-offset:4px}
/* The surrounding introduction/closing remain native Elementor widgets. */
.ah-policies-intro{background:#fbfaf6}
.ah-policies-intro .ah-policies-portrait img{display:block;width:100%;height:208px;object-fit:cover;object-position:center 27%;border-radius:4px 4px 38px 4px}
.ah-policies-intro .ah-policies-portrait figure{margin:0}
.ah-policies-intro .ah-policies-portrait .widget-image-caption{padding:9px 13px;background:#e8f2f5;color:#235375;font:400 12px/1.5 var(--ahds-font-body,'DM Sans',Arial,sans-serif);text-align:left}
@media(max-width:950px){.ah-policy-library .library-layout{grid-template-columns:210px minmax(0,1fr);gap:30px}.ah-policy-library .policy-list{gap:13px}.ah-policy-library .policy-heading{font-size:18px}.ah-policy-library .document-card-footer{flex-wrap:wrap}.ah-policy-library .read-action{padding-left:0}}
@media(max-width:700px){.ah-policy-library{padding:35px 0 45px}.ah-policy-library .pl-shell{width:calc(100% - 36px)}.ah-policy-library .library-layout{grid-template-columns:1fr;gap:27px}.ah-policy-library .index-sidebar{position:static}.ah-policy-library .index-sidebar p{margin-bottom:15px}.ah-policy-library h2{font-size:25px}.ah-policy-library .filter-group{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:8px;border:0;padding:4px 2px 10px}.ah-policy-library .filter{flex:0 0 auto;width:auto;border:1px solid #c7d6e2;padding:12px;font-size:13px}.ah-policy-library .count{margin-left:4px}.ah-policy-library .library-title{padding-top:20px}.ah-policies-intro .ah-policies-portrait img{height:220px}}
@media(max-width:650px){.ah-policy-library .policy-list{grid-template-columns:1fr}.ah-policy-library .document-card{min-height:190px}.ah-policy-library .document-card-footer{flex-wrap:nowrap}.ah-policy-library .result-count{font-size:11px}}
@media(max-width:360px){.ah-policy-library .document-card-footer{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.ah-policy-library .document-card{transition:none;transform:none!important}}
@keyframes ah-policy-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){.ah-policy-library .document-card{animation:ah-policy-enter .28s ease-out}}
/* Native Elementor wrappers keep each title, description, image and button editable. */
.elementor .ah-policy-native{width:100%;gap:0;--container-widget-width:100%}
.elementor .ah-policy-native .e-con{--container-widget-width:100%;min-width:0}
.elementor .ah-policy-native .library-layout.e-con{display:grid;grid-template-columns:235px minmax(0,1fr);gap:55px;width:min(1160px,calc(100% - 72px));max-width:none;margin-inline:auto}
.elementor .ah-policy-native .policy-list.e-con{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;align-items:stretch}
.elementor .ah-policy-native .document-card.e-con{width:100%;padding:0;gap:0}
.elementor .ah-policy-native .index-sidebar.e-con{width:100%;gap:0}
.elementor .ah-policy-native .library-main.e-con{width:100%;gap:0}
.elementor .ah-policy-native .filter-group.e-con{gap:0}
.elementor .ah-policy-native .filter{padding:0;border:0;display:block;background:transparent}
.elementor .ah-policy-native .filter .elementor-button{display:flex;width:100%;align-items:center;gap:10px;justify-content:start;text-align:left;background:transparent;color:#304b61;border:0;border-bottom:1px solid #dbe4eb;padding:15px 10px;box-shadow:none;border-radius:0;font:600 14px/1.4 var(--ahds-font-body,'DM Sans',Arial,sans-serif)}
.elementor .ah-policy-native .filter .elementor-button:before{content:'';display:block;width:5px;height:15px;flex:0 0 5px;background:var(--pl-blue)}
.elementor .ah-policy-native .filter .elementor-button-content-wrapper{display:block}
.elementor .ah-policy-native .filter.active .elementor-button{background:var(--pl-blue);color:#fff}
.elementor .ah-policy-native .filter.active .elementor-button:before{background:#8bcae9}
.elementor .ah-policy-native .pl-filter-count{margin-left:auto;font-size:12px;font-weight:400}
.elementor .ah-policy-native .policy-heading .elementor-heading-title{font:inherit;letter-spacing:inherit;color:inherit}
.elementor .ah-policy-native .overline .elementor-heading-title,.elementor .ah-policy-native .editorial-line .elementor-heading-title,.elementor .ah-policy-native .policy-number .elementor-heading-title{font:inherit;color:inherit;letter-spacing:inherit}
.elementor .ah-policy-native .policy-sub p{margin:0;font:inherit;color:inherit}
.elementor .ah-policy-native .row-glyph{min-width:54px;max-width:54px}
.elementor .ah-policy-native .row-glyph img{display:block;width:50px;height:50px}
.elementor .ah-policy-native .document-card-head{flex-direction:row;width:100%;padding:18px var(--pl-card-pad) 0}
.elementor .ah-policy-native .document-card .policy-body{padding:13px var(--pl-card-pad) 19px;flex:1}
.elementor .ah-policy-native .document-card-footer{width:calc(100% - 2 * var(--pl-card-pad));flex-direction:row;padding:13px 0 15px;gap:10px}
.elementor .ah-policy-native .row-meta.e-con{flex:1;flex-direction:row;gap:5px;align-items:center;width:auto}
.elementor .ah-policy-native .policy-category,.elementor .ah-policy-native .policy-year{width:auto;max-width:100%}
.elementor .ah-policy-native .policy-category:before{content:'';display:inline-block;background:var(--pl-blue);width:4px;height:11px;margin-right:5px}
.elementor .ah-policy-native .policy-category .elementor-heading-title,.elementor .ah-policy-native .policy-year .elementor-heading-title{display:inline;font:inherit;color:inherit}
.elementor .ah-policy-native .read-action{width:auto;padding:0}
.elementor .ah-policy-native .read-action .elementor-button{background:transparent;color:var(--pl-blue);padding:10px 0 10px 8px;border:0;border-radius:0;font-size:12px;font-weight:700;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}
.elementor .ah-policy-native .show-more{background:transparent;border:0;padding:0;width:auto;margin:20px auto 0}
.elementor .ah-policy-native .show-more .elementor-button,.elementor .ah-policy-native .reset-policies .elementor-button{background:var(--pl-blue);color:#fff;border-radius:0;border:1px solid var(--pl-blue);padding:14px 20px;font-size:14px;line-height:1.4;font-weight:600;min-height:44px}
.elementor .ah-policy-native .reset-policies{background:transparent;border:0;padding:0}
.elementor .ah-policy-native .library-title{flex-direction:row;gap:15px;padding:23px 0 20px;width:100%}
.elementor .ah-policy-native .library-title>div:first-child{width:auto;flex:1}
.elementor .ah-policy-native .result-count{width:auto;max-width:40%}
.elementor .ah-policy-native .result-count .elementor-heading-title{font:inherit;color:inherit}
.elementor .ah-policy-native .pl-editor-settings,.elementor .ah-policy-native .empty{display:none}
.elementor .ah-policy-native[data-policy-ready] .empty{display:flex}
.elementor .ah-policy-native[data-policy-ready] .policy-filename,.elementor .ah-policy-native[data-policy-ready] .policy-original-title{display:none}
.elementor-editor-active .ah-policy-native .pl-editor-settings{display:flex!important;padding:12px;border:1px dashed #7f9cae;gap:8px;background:#f4f8fb}
.elementor .ah-policy-native .pl-search h5,.elementor .ah-policy-native .pl-search h2,.elementor .ah-policy-native .pl-search .widgettitle{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.elementor .ah-policy-native .pl-search form{display:flex;align-items:center;border:1px solid #97adbd;background:white;min-height:56px;gap:8px;padding:0 12px;margin:0}
.elementor .ah-policy-native .pl-search .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.elementor .ah-policy-native .pl-search label{flex:1;min-width:0;margin:0}
.elementor .ah-policy-native .pl-search input[type=search]{border:0;box-shadow:none;background:transparent;width:100%;font:400 14px/1.5 var(--ahds-font-body,'DM Sans',Arial,sans-serif);padding:12px 0;color:#173b52}
.elementor .ah-policy-native .pl-search input[type=submit],.elementor .ah-policy-native .pl-search button{padding:10px;border:0;border-radius:0;background:var(--pl-blue);color:#fff;font-size:12px;min-height:44px}
.elementor .ah-policy-native .pl-search form:focus-within{outline:2px solid var(--pl-blue);outline-offset:2px}
.elementor .ah-policy-native [hidden]{display:none!important}
@media(max-width:950px){.elementor .ah-policy-native .library-layout.e-con{grid-template-columns:210px minmax(0,1fr);gap:30px}.elementor .ah-policy-native .policy-list.e-con{gap:13px}.elementor .ah-policy-native .document-card-footer{flex-wrap:wrap}}
@media(max-width:700px){.elementor .ah-policy-native .library-layout.e-con{grid-template-columns:1fr;gap:27px;width:calc(100% - 36px)}.elementor .ah-policy-native .filter-group.e-con{display:flex;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;gap:8px;padding:4px 2px 10px;border:0}.elementor .ah-policy-native .filter{flex:0 0 auto;width:auto}.elementor .ah-policy-native .filter .elementor-button{white-space:nowrap;border:1px solid #c7d6e2;padding:12px;font-size:13px}.elementor .ah-policy-native .index-sidebar{position:static}.elementor .ah-policy-native .row-meta{flex-wrap:wrap}}
@media(max-width:650px){.elementor .ah-policy-native .policy-list.e-con{grid-template-columns:1fr}.elementor .ah-policy-native .document-card-footer{flex-wrap:nowrap}}
@media(max-width:700px){.elementor .ah-policy-native .library-title{flex-direction:column;align-items:flex-start;gap:12px}.elementor .ah-policy-native .library-title>div:first-child{width:100%}.elementor .ah-policy-native .result-count{max-width:100%;text-align:left}}
.elementor .ah-policy-native .policy-year:before{content:'·';margin-right:5px;color:#728895}
/* Keep the theme's full-width input rule from stretching the search submit button. */
.elementor .ah-policy-native .pl-search form.search-form{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap}
.elementor .ah-policy-native .pl-search form.search-form>label{flex:1 1 0%;width:auto;min-width:0;max-width:none}
.elementor .ah-policy-native .pl-search form.search-form input.search-field{display:block;width:100%;min-width:0;max-width:none}
.elementor .ah-policy-native .pl-search form.search-form input.search-submit{flex:0 0 auto;width:auto;min-width:68px;max-width:none}
/* Avoid generated separator text from filtered Elementor containers. */
.elementor .ah-policy-native .policy-year:before{content:none}
.elementor .ah-policy-native .policy-year{margin-left:5px}

.elementor .ah-policy-native .read-action .policy-link-unavailable{opacity:.55;cursor:default;text-decoration:none}
