@font-face{font-family:"CIRP Condensed";src:url("fonts/roboto-condensed-400.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"CIRP Condensed";src:url("fonts/roboto-condensed-700.ttf") format("truetype");font-style:normal;font-weight:700;font-display:swap}
/* Full-width layout confined to the directory component; the site header is unchanged. */
.astroid-component-section:has(.cirp-directory){padding:0!important;margin:0!important}
.astroid-component-section:has(.cirp-directory)>.container{max-width:none;padding:0;width:100%}
.astroid-component-section:has(.cirp-directory)>.container>.astroid-row{margin:0;--bs-gutter-x:0}
.astroid-component-section:has(.cirp-directory) .astroid-column:has(.cirp-directory){padding:0}
.cirp-directory{--cirp-burgundy:#681a30;--cirp-ink:#211e20;--cirp-line:#b5a0a9;margin:0;padding:0 0 44px;color:var(--cirp-ink);background:linear-gradient(180deg,#e1dce5 180px,#eeebe5 1100px);font-family:"CIRP Condensed","Arial Narrow",Arial,sans-serif;font-size:21px;line-height:1.35}
.cirp-directory *{box-sizing:border-box}
.cirp-directory-inner{width:78%;max-width:1200px;margin-inline:auto}
.cirp-directory-header{background:linear-gradient(105deg,#651329 0%,#684052 43%,#576a78 100%);padding:14px 0 38px;margin:0}
.cirp-directory h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(38px,5.7vw,76px);font-weight:400;letter-spacing:-.025em;line-height:1.15;color:#fffaf3;margin:0 0 6px}
.cirp-directory-header p{font-size:clamp(21px,2.55vw,30px);line-height:1.3;margin:0;color:#eee0d8}
.cirp-directory-content{padding-top:40px}
.cirp-directory-filters{display:grid;grid-template-columns:minmax(220px,34.5%) minmax(0,1fr);gap:10px 22px;margin:0;padding:0;border:0;background:none;align-items:start}
.cirp-country-filter label,.cirp-status-filter legend{display:block;font:700 21px/1.3 "CIRP Condensed","Arial Narrow",Arial,sans-serif;margin:0 0 5px;color:var(--cirp-ink)}
.cirp-country-filter select{width:100%;height:42px;border:1px solid var(--cirp-burgundy);border-radius:4px;background-color:#fcfafb;color:var(--cirp-ink);font:inherit;padding:5px 30px 5px 11px}
.cirp-status-filter{min-width:0;padding:0;margin:0;border:0}
.cirp-status-filter legend{float:none;width:auto;padding:0}
.cirp-status-options{display:grid;grid-template-columns:max-content max-content;gap:3px 27px}
.cirp-status-options label{display:flex;align-items:center;gap:8px;cursor:pointer;margin:0;font:inherit}
.cirp-status-options input{width:20px;height:20px;margin:0;accent-color:var(--cirp-burgundy);flex-shrink:0}
.cirp-filter-actions{grid-column:1/-1;display:flex;align-items:center;gap:18px;margin-top:0}
.cirp-filter-actions button{background:var(--cirp-burgundy);color:#fffaf4;border:1px solid var(--cirp-burgundy);border-radius:4px;font:700 21px/1.3 "CIRP Condensed","Arial Narrow",Arial,sans-serif;padding:9px 19px;cursor:pointer}
.cirp-filter-actions button:hover{background:#4d1122}
.cirp-filter-actions a,.cirp-empty a{color:var(--cirp-burgundy);text-decoration:underline;text-underline-offset:3px}
.cirp-directory :is(a,button,select,input):focus-visible{outline:3px solid #205d7e;outline-offset:4px}
.cirp-directory-total{display:flex;gap:7px;align-items:baseline;flex-wrap:wrap;margin:24px 0;color:#5d505a;font-size:19px}
.cirp-page-info{margin-left:auto}
.cirp-country-group{display:grid;grid-template-columns:20.4% minmax(0,1fr);gap:30px;margin:0}
.cirp-country-group h2{align-self:stretch;background:linear-gradient(90deg,transparent,#d7c8d2);font:400 18px/1.4 "CIRP Condensed","Arial Narrow",Arial,sans-serif;text-transform:uppercase;letter-spacing:.14em;color:var(--cirp-burgundy);margin:0;padding:14px 12px 25px 0;overflow-wrap:anywhere}
.cirp-organisation-list{min-width:0}
.cirp-organisation{padding:11px 0 10px;margin:0;border:0;border-top:1px solid var(--cirp-line);background:transparent;box-shadow:none}
.cirp-organisation-heading,.cirp-person-line{display:flex;align-items:baseline;justify-content:space-between;gap:6px 18px}
.cirp-organisation h3{font:700 25px/1.2 "CIRP Condensed","Arial Narrow",Arial,sans-serif;color:var(--cirp-ink);margin:0;overflow-wrap:anywhere;min-width:0}
.cirp-organisation-detail{margin:3px 0;color:#5d505a;font-size:20px;overflow-wrap:anywhere}
.cirp-people{list-style:none!important;margin:0!important;padding:0!important}
.cirp-people li{list-style:none!important;padding:0;margin:0!important}
.cirp-people li+li{padding-top:3px}
.cirp-person-name{overflow-wrap:anywhere;min-width:0}
.cirp-person-statuses{display:flex;flex-direction:column;flex-shrink:0;align-items:flex-end;max-width:44%;gap:2px}
.cirp-status{font-size:20px;font-weight:400;line-height:1.3;color:var(--cirp-burgundy);background:none;border:0;border-radius:0;padding:0;text-align:right}
.cirp-directory .cirp-website{display:inline-block;max-width:100%;font-size:16px;color:#604355;text-decoration:underline;text-decoration-color:#ad94a0;text-underline-offset:3px;overflow-wrap:anywhere;margin-top:2px}
.cirp-directory a:hover{color:#461020}
.cirp-directory-footer{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-top:0;padding-top:16px;border-top:1px solid var(--cirp-line)}
.cirp-directory-note{font-size:18px;margin:0}
.cirp-pagination{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:4px;margin:0}
.cirp-pagination a,.cirp-pagination>span{display:inline-flex;align-items:center;justify-content:center;min-width:30px;min-height:44px;padding:4px 6px;color:var(--cirp-ink);background:none;border:0;text-decoration:none;font-size:19px}
.cirp-pagination a:hover,.cirp-pagination .cirp-current-page{color:var(--cirp-burgundy);text-decoration:underline;text-underline-offset:6px}
.cirp-empty{border-block:1px solid var(--cirp-line);padding:24px 0;margin:0 0 24px}
.cirp-empty h2{font:700 26px/1.3 "CIRP Condensed",Arial,sans-serif;color:var(--cirp-burgundy)}
.cirp-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(min-width:1500px){.cirp-directory-inner{width:80%}.cirp-directory-header{padding-block:24px 42px}}
@media(max-width:1000px){.cirp-directory-inner{width:86%}.cirp-status-options{gap:5px 18px}.cirp-country-group{gap:22px}.cirp-organisation h3{font-size:23px}.cirp-status{font-size:18px}}
@media(min-width:701px) and (max-width:900px){.cirp-directory-filters{grid-template-columns:1fr;gap:16px}.cirp-country-filter{max-width:320px}}
@media(max-width:700px){.cirp-directory-inner{width:auto;margin-inline:24px}.cirp-directory{font-size:20px;padding-bottom:30px}.cirp-directory-header{padding:24px 0 28px}.cirp-directory h1{font-size:clamp(36px,7.5vw,50px);margin-bottom:12px}.cirp-directory-header p{font-size:22px}.cirp-directory-content{padding-top:27px}.cirp-directory-filters{grid-template-columns:1fr;gap:18px}.cirp-status-options{grid-template-columns:max-content max-content;gap:8px 18px;font-size:18px}.cirp-filter-actions{margin-top:0}.cirp-directory-total{font-size:17px;margin:24px 0 18px}.cirp-country-group{display:block;margin-top:20px}.cirp-country-group h2{font-size:18px;padding:9px 12px;background:linear-gradient(90deg,#d7c8d2,transparent);margin:0 0 9px}.cirp-organisation{padding:13px 0}.cirp-organisation-heading,.cirp-person-line{flex-wrap:wrap;gap:3px 10px}.cirp-organisation-heading .cirp-person-statuses{order:2}.cirp-person-statuses{max-width:100%;align-items:flex-start}.cirp-status{text-align:left;font-size:17px}.cirp-organisation h3{font-size:23px}.cirp-person-name{font-size:20px}.cirp-directory-footer{display:block;padding-top:20px}.cirp-pagination{justify-content:flex-start;margin-top:12px}.cirp-directory-note{font-size:17px}}
@media(max-width:380px){.cirp-directory-inner{margin-inline:18px}.cirp-status-options{grid-template-columns:1fr}.cirp-page-info{margin-left:0;width:100%}}

/* Clear country boundaries, distinct from the fine organisation dividers. */
.cirp-country-group{border-top:2px solid var(--cirp-burgundy)}
.cirp-country-group+.cirp-country-group{margin-top:32px}
.cirp-country-group h2{font-weight:700;font-size:20px;padding-top:15px}
.cirp-organisation-list>.cirp-organisation:first-child{border-top:0;padding-top:15px}
@media(max-width:700px){.cirp-country-group+.cirp-country-group{margin-top:28px}.cirp-country-group h2{padding-top:11px;padding-bottom:11px}.cirp-organisation-list>.cirp-organisation:first-child{padding-top:8px}}
