/* CHASE 2027: Carolina Blue, navy, and white. */
:root {
  --carolina-blue: #4b9cd3;
  --carolina-navy: #13294b;
  --carolina-link: #3b7ca7;
  --carolina-pale: #edf5fb;
}
body { color: #151515; }
body a { color: var(--carolina-link); }
body a:hover { color: var(--carolina-navy); }
body h1, body h2, body h3, body h4, body h5, body h6 { color: var(--carolina-navy); }
body .wrapper.style1 {
  background: var(--carolina-navy);
  border-bottom: 6px solid var(--carolina-blue);
}
body #header, body #nav {
  background: var(--carolina-blue);
  color: var(--carolina-navy);
}
body #nav > ul > li a {
  font-weight: 600;
  text-decoration: none !important;
}
body #nav > ul > li:hover, body #nav > ul > li.active {
  background: var(--carolina-navy);
  color: white;
}
body #nav a:focus-visible {
  outline: 3px solid var(--carolina-navy);
  outline-offset: 4px;
}
body #banner {
  background: linear-gradient(90deg, rgba(19,41,75,.45), rgba(19,41,75,.05)), url('../images/bg.png') center center / cover no-repeat;
  min-height: 350px;
  box-sizing: border-box;
  padding: 2.5em 0;
  display: flex;
  align-items: center;
}
body #banner .container { width: 100%; max-width: 1500px; box-sizing: border-box; padding: 0 4%; text-align: left; }
body #banner .conference-banner {
  display: inline-block;
  width: 680px;
  max-width: 55%;
  box-sizing: border-box;
  font-size: clamp(1.75rem, 2.5vw, 2.25rem);
  line-height: 1.3;
  padding: 1.15em 1em;
  background: rgba(19,41,75,.5);
  border-left: 5px solid var(--carolina-blue);
  color: white;
  font-weight: 500;
}
body #banner .conference-banner > span {
  padding: .75em 0 0;
  line-height: 1.65;
  letter-spacing: .5px;
}
body #main .major { border-bottom: 3px solid var(--carolina-blue); padding-bottom: 1em; }
body #sidebar section { background: var(--carolina-pale); border-top: 4px solid var(--carolina-blue); padding: 1.5em; }
body #footer { border-top: 1px solid #c5dced; background: var(--carolina-pale); }
body table th { background: var(--carolina-navy); color: white; }
body table td { border-color: #c5dced; }
body #titleBar { background: var(--carolina-blue); color: var(--carolina-navy); }
body #titleBar .title, body #titleBar .toggle { color: var(--carolina-navy); }
body #navPanel { background: var(--carolina-navy); color: white; }
body #navPanel a { color: white; }
/* On narrow screens, keep the pavilion in a separate image area above the text. */
@media screen and (max-width: 840px) {
  body #banner {
    min-height: 0;
    padding: 240px 0 0;
    background-color: var(--carolina-navy);
    background-size: auto 240px;
    background-position: 65% top;
  }
  body #banner .container { padding: 0; }
  body #banner .conference-banner { width: 100%; max-width: none; font-size: 1.75rem; padding: 1em; }
}
@media screen and (max-width: 640px) {
  body #nav > ul > li a { letter-spacing: .5px; font-size: .8em; }
}

/* Committee roles and affiliations. */
.committee-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5em; }
body .committee-role { border-top: 3px solid var(--carolina-blue); background: #f5f9fc; padding: 1.25em; }
body .committee-role h3 { font-size: 1.05em; line-height: 1.5; margin: 0 0 .8em; }
body .committee-members { list-style: none; padding: 0; margin: 0; }
body .committee-members li { padding: 0; margin: 0 0 .9em; line-height: 1.6; }
body .committee-members li:last-child { margin-bottom: 0; }
.committee-affiliation { display: block; font-size: .9em; color: #46576b; }
.committee-pending { color: #46576b; font-style: italic; }
.committee-badge { display: inline-block; background: var(--carolina-pale); color: var(--carolina-navy); padding: 0 .55em; border-radius: 3px; font-size: .8em; }
body .committee-section { margin-top: 2.5em; }
.steering-members { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1em 1.5em; }
@media screen and (max-width: 640px) {
  .committee-grid, .steering-members { grid-template-columns: 1fr; }
}

/* Give wrapped page headings their own line height instead of body inheritance. */
body #main header.major h2 {
  font-size: clamp(1.5rem, 2.5vw, 2.25rem);
  line-height: 1.25;
  margin: 0;
  overflow-wrap: break-word;
}
