/* CSBR Site Manager — accessible global layer and managed content layouts. */
:root{
  --csbr-site-ink:#0b1220;
  --csbr-site-body:#263244;
  --csbr-site-muted:#4b5563;
  --csbr-site-accent:#145e75;
  --csbr-site-accent-dark:#0d4659;
  --csbr-site-line:#c8d1dc;
  --csbr-site-soft:#f1f5f7;
  --csbr-site-white:#fff;
  --csbr-site-focus:#facc15;
  --csbr-site-link-decoration:underline;
  --csbr-site-body-size:1.0625rem;
}

/* Global keyboard, legibility and responsive-content improvements. */
.csbr-accessibility-layer :where(a,button,input,select,textarea,summary):focus-visible{
  outline:3px solid var(--csbr-site-ink)!important;
  outline-offset:3px!important;
  box-shadow:0 0 0 6px var(--csbr-site-focus)!important;
}
.csbr-accessibility-layer :where(p,li,dd){overflow-wrap:anywhere}
.csbr-accessibility-layer :where(img,video,iframe){max-width:100%;height:auto}
.csbr-accessibility-layer :where(button,.wp-element-button,input[type=submit],input[type=button]){min-height:44px}
.csbr-accessibility-layer main :where(a:not(.wp-element-button):not(.csbr-button):not(.csbr-card__image):not(.csbr-person-card__image)){
  text-decoration:var(--csbr-site-link-decoration);
  text-decoration-thickness:.09em;
  text-underline-offset:.18em;
}
.csbr-accessibility-layer main :where(p,li,dd){line-height:1.65}
.csbr-accessibility-layer main :where(input,select,textarea){font:inherit}
.csbr-accessibility-layer main :where(label,legend){font-weight:650}
.csbr-accessibility-layer main :where(table){border-collapse:collapse;width:100%}
.csbr-accessibility-layer main :where(th,td){border:1px solid var(--csbr-site-line);padding:.7rem;text-align:left;vertical-align:top}
.csbr-accessibility-layer main :where(th){background:var(--csbr-site-soft);color:var(--csbr-site-ink)}

/* High contrast is applied to normal internal page content, while preserving explicit block colours. */
body.csbr-high-contrast-pages.page:not(.home) .wp-site-blocks>main,
body.csbr-high-contrast-pages.single-csbr_person .wp-site-blocks>main,
body.csbr-high-contrast-pages.single-csbr_event .wp-site-blocks>main,
body.csbr-high-contrast-pages.single-csbr_research .wp-site-blocks>main{
  background:var(--csbr-site-white)!important;
  color:var(--csbr-site-ink)!important;
}
body.csbr-high-contrast-pages.page:not(.home) .wp-block-post-content,
body.csbr-high-contrast-pages.single-csbr_person .wp-block-post-content,
body.csbr-high-contrast-pages.single-csbr_event .wp-block-post-content,
body.csbr-high-contrast-pages.single-csbr_research .wp-block-post-content{
  color:var(--csbr-site-body)!important;
  opacity:1!important;
}
body.csbr-high-contrast-pages.page:not(.home) .wp-block-post-content :where(h1,h2,h3,h4,h5,h6):not(.has-text-color),
body.csbr-high-contrast-pages.single-csbr_person .wp-block-post-content :where(h1,h2,h3,h4,h5,h6):not(.has-text-color),
body.csbr-high-contrast-pages.single-csbr_event .wp-block-post-content :where(h1,h2,h3,h4,h5,h6):not(.has-text-color),
body.csbr-high-contrast-pages.single-csbr_research .wp-block-post-content :where(h1,h2,h3,h4,h5,h6):not(.has-text-color){
  color:var(--csbr-site-ink)!important;
  opacity:1!important;
}
body.csbr-high-contrast-pages.page:not(.home) .wp-block-post-content :where(p,li,dd):not(.has-text-color){
  color:var(--csbr-site-body)!important;
  opacity:1!important;
}
body.csbr-high-contrast-pages.page:not(.home) .wp-block-post-content :where(a:not(.wp-element-button)){color:var(--csbr-site-accent-dark)!important}
body.csbr-high-contrast-pages.page:not(.home) .wp-block-post-content{font-size:var(--csbr-site-body-size)}

/* Managed pages own the content heading; suppress duplicate theme page titles. */
body.csbr-managed-page .wp-block-post-title{display:none!important}
body.csbr-managed-page .wp-block-post-content{margin-block-start:0!important}

.screen-reader-text{
  border:0!important;clip:rect(1px,1px,1px,1px)!important;clip-path:inset(50%)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;word-wrap:normal!important
}

.csbr-content-hub,
.csbr-single-profile,
.csbr-single-event{
  max-width:1180px;
  margin:0 auto;
  padding:clamp(1rem,3vw,2.25rem) clamp(1rem,3vw,2.25rem) 4rem;
  background:var(--csbr-site-white)!important;
  color:var(--csbr-site-body)!important;
  box-sizing:border-box;
}
.csbr-content-hub *,
.csbr-single-profile *,
.csbr-single-event *{box-sizing:border-box}
.csbr-hub-intro{
  margin:0 0 clamp(2rem,5vw,4rem);
  padding:clamp(1.5rem,4vw,3.5rem);
  background:var(--csbr-site-soft)!important;
  border-left:7px solid var(--csbr-site-accent);
}
.csbr-hub-intro .csbr-eyebrow,
.csbr-meta-line{
  margin:0 0 .55rem;
  color:var(--csbr-site-accent-dark)!important;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.1em;
  line-height:1.4;
  text-transform:uppercase;
}
.csbr-hub-intro h1{
  margin:0 0 1rem;
  color:var(--csbr-site-ink)!important;
  font-size:clamp(2.5rem,7vw,5.3rem);
  line-height:1;
  letter-spacing:-.045em;
}
.csbr-hub-intro>p:last-child{
  max-width:760px;
  margin:0;
  color:var(--csbr-site-body)!important;
  font-size:clamp(1.08rem,2vw,1.3rem);
  line-height:1.65;
}

.csbr-people-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.csbr-people-grid--advisory{grid-template-columns:repeat(3,minmax(0,1fr))}
.csbr-person-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  border:1px solid var(--csbr-site-line);
  background:var(--csbr-site-white)!important;
  color:var(--csbr-site-body)!important;
  box-shadow:0 8px 24px rgba(15,23,42,.07);
}
.csbr-person-card__image{display:block;aspect-ratio:4/3;background:#dbe5ea;overflow:hidden;text-decoration:none!important}
.csbr-person-card__image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
.csbr-person-placeholder{display:flex;width:100%;height:100%;min-height:230px;align-items:center;justify-content:center;background:linear-gradient(145deg,#0b1220,#24475a);color:var(--csbr-site-white)!important;font-size:clamp(2.7rem,6vw,5rem);font-weight:800;letter-spacing:.03em}
.csbr-person-card__body{display:flex;flex:1;flex-direction:column;padding:1.35rem}
.csbr-person-card h2{margin:0 0 .35rem;color:var(--csbr-site-ink)!important;font-size:1.45rem;line-height:1.2}
.csbr-person-card h2 a{color:inherit!important;text-decoration:none!important}
.csbr-person-card h2 a:hover{text-decoration:underline!important;text-decoration-color:var(--csbr-site-accent)!important}
.csbr-person-role{margin:0 0 1rem!important;color:var(--csbr-site-accent-dark)!important;font-weight:800;line-height:1.4}
.csbr-person-card__body>p:not(.csbr-person-role){color:var(--csbr-site-body)!important;line-height:1.62}
.csbr-text-link{display:inline-flex;align-items:center;gap:.35rem;margin-top:auto;color:var(--csbr-site-accent-dark)!important;font-weight:800}

.csbr-events-section{margin:0 0 3.5rem}
.csbr-section-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin:0 0 1.35rem;padding-bottom:.75rem;border-bottom:3px solid var(--csbr-site-ink)}
.csbr-section-heading h2{margin:0;color:var(--csbr-site-ink)!important;font-size:clamp(1.8rem,4vw,2.75rem);line-height:1.1}
.csbr-section-heading p{margin:0;color:var(--csbr-site-muted)!important}
.csbr-events-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.35rem}
.csbr-event-card{display:grid;grid-template-columns:100px minmax(0,1fr);border:1px solid var(--csbr-site-line);background:var(--csbr-site-white)!important;color:var(--csbr-site-body)!important;min-width:0}
.csbr-event-card--upcoming{box-shadow:0 8px 24px rgba(15,23,42,.08)}
.csbr-event-date{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem .6rem;background:var(--csbr-site-ink);color:var(--csbr-site-white)!important;text-align:center}
.csbr-event-date span{font-size:.84rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.csbr-event-date strong{font-size:2.7rem;line-height:1}
.csbr-event-date small{font-size:.85rem}
.csbr-event-card__body{display:flex;flex-direction:column;padding:1.25rem;min-width:0}
.csbr-event-card h3{margin:.25rem 0 .7rem;color:var(--csbr-site-ink)!important;font-size:1.35rem;line-height:1.25}
.csbr-event-card h3 a{color:inherit!important;text-decoration:none!important}
.csbr-event-card h3 a:hover{text-decoration:underline!important;text-decoration-color:var(--csbr-site-accent)!important}
.csbr-event-facts{display:grid;gap:.25rem;margin:0 0 .9rem;color:var(--csbr-site-muted)!important;font-size:.94rem}
.csbr-event-card__body>p:not(.csbr-meta-line):not(.csbr-event-facts){color:var(--csbr-site-body)!important;line-height:1.6}
.csbr-card-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-top:auto;padding-top:.8rem}
.csbr-past-events-list{display:grid;gap:1rem}
.csbr-past-events-list .csbr-event-card{grid-template-columns:86px minmax(0,1fr)}
.csbr-year-heading{margin:1.5rem 0 .2rem;color:var(--csbr-site-ink)!important;font-size:1.55rem}
.csbr-no-events,.csbr-empty-state{padding:clamp(1.4rem,4vw,2.4rem);border:2px dashed #8b98a8;background:var(--csbr-site-soft)!important;color:var(--csbr-site-ink)!important}
.csbr-no-events h3,.csbr-empty-state h2{margin-top:0;color:var(--csbr-site-ink)!important}

.csbr-button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;padding:.72rem 1.05rem;border:2px solid var(--csbr-site-ink);border-radius:2px;font-weight:800;line-height:1.2;text-decoration:none!important}
.csbr-button--primary{background:var(--csbr-site-accent)!important;border-color:var(--csbr-site-accent)!important;color:var(--csbr-site-white)!important}
.csbr-button--primary:hover{background:var(--csbr-site-accent-dark)!important;border-color:var(--csbr-site-accent-dark)!important}
.csbr-back-link{display:inline-block;margin:0 0 1.5rem;color:var(--csbr-site-accent-dark)!important;font-weight:800}
.csbr-standfirst{max-width:760px;color:var(--csbr-site-body)!important;font-size:clamp(1.15rem,2.5vw,1.45rem);line-height:1.6}
.csbr-profile-layout{display:grid;grid-template-columns:minmax(230px,360px) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:start;margin:0 0 2rem}
.csbr-profile-photo{background:var(--csbr-site-soft);min-height:300px}
.csbr-profile-photo img{display:block;width:100%;height:auto}
.csbr-profile-summary{padding-top:.75rem}
.csbr-profile-links{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.25rem}
.csbr-profile-links a{color:var(--csbr-site-accent-dark)!important;font-weight:800}
.csbr-single-body{max-width:78ch;color:var(--csbr-site-body)!important;font-size:var(--csbr-site-body-size);line-height:1.72}
.csbr-single-body :where(h2,h3,h4){color:var(--csbr-site-ink)!important}
.csbr-event-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.5rem 0 2rem;padding:1.25rem;background:var(--csbr-site-soft)!important;border:1px solid var(--csbr-site-line)}
.csbr-event-details div{min-width:0}
.csbr-event-details dt{color:var(--csbr-site-muted)!important;font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.csbr-event-details dd{margin:.25rem 0 0;color:var(--csbr-site-ink)!important;font-weight:650}

@media (max-width:960px){
  .csbr-people-grid--advisory{grid-template-columns:repeat(2,minmax(0,1fr))}
  .csbr-events-grid{grid-template-columns:1fr}
}
@media (max-width:680px){
  .csbr-content-hub,.csbr-single-profile,.csbr-single-event{padding-left:.75rem;padding-right:.75rem}
  .csbr-hub-intro{border-left-width:4px;padding:1.25rem}
  .csbr-people-grid,.csbr-people-grid--advisory{grid-template-columns:1fr}
  .csbr-event-card,.csbr-past-events-list .csbr-event-card{grid-template-columns:72px minmax(0,1fr)}
  .csbr-event-date strong{font-size:2rem}
  .csbr-event-card__body{padding:1rem}
  .csbr-section-heading{align-items:flex-start;flex-direction:column}
  .csbr-profile-layout{grid-template-columns:1fr}
  .csbr-profile-photo{max-width:420px}
  .csbr-event-details{grid-template-columns:1fr}
  .csbr-card-actions{align-items:flex-start;flex-direction:column}
  .csbr-card-actions .csbr-button{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .csbr-accessibility-layer *,
  .csbr-accessibility-layer *::before,
  .csbr-accessibility-layer *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}
}
@media (forced-colors:active){
  .csbr-person-card,.csbr-event-card,.csbr-hub-intro,.csbr-event-details{border:1px solid CanvasText}
  .csbr-button{border:2px solid ButtonText}
}
@media print{
  .csbr-content-hub,.csbr-single-profile,.csbr-single-event{max-width:none;padding:0;box-shadow:none}
  .csbr-button{border:1px solid #000;color:#000!important;background:var(--csbr-site-white)!important}
}

/* v3.1.3: individual Team and Advisory Board profiles always show the person's name. */
.csbr-single-profile .csbr-profile-name{
  margin:0 0 .45rem!important;
  color:var(--csbr-site-ink)!important;
  font-size:clamp(2rem,4vw,3.25rem)!important;
  font-weight:750!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
  opacity:1!important;
}
