:root {
  --font-family: Inter, Helvetica, Arial, sans-serif;
  --font-size: 19px;
  --line-height: 29px;
  --font-size-mobile: 17px;
  --line-height-mobile: 27px;
  --color-wnmu-orange: hsl(19deg 89% 54%);
  --color-wnmu-blue: hsl(176deg 81% 36%);
  --color-wnmu-yellow: hsl(41deg 97% 59%);
  --color-wnmu-purple: hsl(269deg 63% 27%);
  --max-width: 100%;
  --info-width: 1440px;
}

@font-face { font-family: 'Inter'; src: url("/wp-content/themes/acadia-child/assets/fonts/Inter_28pt-Regular.ttf") format("opentype"); font-style: normal; font-weight: normal; font-display: swap; }
@font-face { font-family: 'Inter'; src: url("/wp-content/themes/acadia-child/assets/fonts/Inter_28pt-ExtraBold.ttf") format("opentype"); font-style: normal; font-weight: bold; font-display: swap; }
@font-face { font-family: 'Montserrat'; src: url("/wp-content/acadia-child/assets/fonts/Montserrat-ExtraBold.ttf") format("opentype"); font-style: normal; font-weight: bold; font-display: swap; }

/* Default styles */
*, *:before, *:after { box-sizing: border-box; margin: 0; padding: 0; }
html, body { font-family: var(--font-family); font-size: var(--font-size); line-height: var(--line-height); }
p { margin: 0; }
header { font-family: Montserrat, Inter, Helvetica, Arial, sans-serif; }
h2 { font-size: 1.8rem; }
button, input { font-family: var(--font-family); border-radius: 3px; }
input[type="text"], input[type="email"], input[type="tel"] { width: 100%; height: 6ex; padding: 0 0.7rem; border: none; border-radius: 2px; }
input[type="submit"] { width: 100%; height: 6ex; border: none; border-radius: 2px; background: var(--color-wnmu-yellow); }
@media (max-width: 700px) {
  html, body { font-size: var(--font-size-mobile); line-height: var(--line-height-mobile); }</>
}


/* Skip link (accessibility) */
.skip-link {
  position: absolute;
  top: -100%;
  left: 16px;
  z-index: 9999;
  padding: 12px 20px;
  font-size: 14px;
  font-weight: bold;
  color: hsl(0 0% 100%);
  background: var(--color-wnmu-purple);
  border-radius: 0 0 6px 6px;
  text-decoration: none;
}
.skip-link:focus {
  top: 0;
}

/* Focus styles (accessibility) */
:focus-visible {
  outline: 3px solid var(--color-wnmu-yellow);
  outline-offset: 2px;
}
.candidate-card:focus-visible {
  outline: 3px solid var(--color-wnmu-yellow);
  outline-offset: -3px;
  box-shadow: 0 4px 24px hsl(0 0% 0% / 14%);
}

/* Reusable stuff */
.hide { display: none; }
.com-background { position: absolute; top: 0; right: 0; bottom: 0; left: 0; background-size: cover; background-position: 50% 50%; }
.com-background-overlay:after { content: ""; position: absolute; top: 0; right: 0; bottom: 0; left: 0; background: var(--color-wnmu-purple); opacity: 0.76; }
.wnmu-logo { height: 60px; }
@media (max-width: 700px) {
  .wnmu-logo { height: 50px; }
}


/* Main content */
main { max-width: var(--max-width); margin: 0 auto; }


/* Section: Fold */
.section-fold { position: relative; z-index: 10; height: 100vh; min-height: 600px; }
.section-fold-logo-container { position: absolute; top: 20px; left: 20px; z-index: 1000; }
.section-fold-content { position: absolute; right:0; flex-direction: column; display: flex; justify-content: center; align-items: center; width:50%; height: 100%; padding-right: 1%; }
.section-fold-text { max-width: 85%; }
.scroller { position: absolute; bottom: 4px; width: 100%; font-size: 14px; letter-spacing: 1px; text-align: center; text-transform: uppercase; color: hsl(0 0% 100%); }
.scroller svg { transform: translateY(-2px); }
@media (max-width: 700px) {
  .section-fold-logo-container { top: 15px; left: 12px; }
  .section-fold .com-background { background-position: 40% 50%; }
  .section-fold-content { justify-content: center; padding: 0; WIDTH: 100%; }
  .section-fold-content img { max-width: 90%; }
  .section-fold-text { max-width: 83%; }
  .scroller { font-size: 12px; }
}


/* Section: Nav */
.site-nav {
  position: sticky;
  top: 0;
  z-index: 900;
  background: var(--color-wnmu-purple);
  box-shadow: 0 2px 8px hsl(0 0% 0% / 20%);
}
.site-nav-inner {
  display: flex;
  align-items: center;
  max-width: var(--info-width);
  margin: 0 auto;
  padding: 0 20px;
}
.site-nav-logo {
  display: flex;
  align-items: center;
  margin-right: auto;
  padding: 8px 0;
}
.site-nav-logo img {
  height: 36px;
}
.site-nav-links {
  display: flex;
  gap: 6px;
}
.site-nav-links a {
  display: block;
  padding: 14px 24px;
  font-family: Montserrat, Inter, Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: bold;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: hsl(0 0% 100% / 80%);
  transition: color 200ms ease, background 200ms ease;
}
.site-nav-links a:hover,
.site-nav-links a.active {
  color: hsl(0 0% 100%);
  background: hsl(0 0% 100% / 8%);
}
@media (max-width: 700px) {
  .site-nav-inner { padding: 0 10px; }
  .site-nav-logo img { height: 28px; }
  .site-nav-links { gap: 0; }
  .site-nav-links a { padding: 12px 10px; font-size: 11px; }
}


/* Section: Info */
.section-info { position: relative; margin: auto; }
.section-info header { margin-bottom: 20px; font-size: 30px; font-weight: bold; }
.section-info p + p { margin-top: 11px; }
.survey-btn { display: inline-block; margin-top: 8px; padding: 16px; font-weight: bold; text-decoration: none; color: var(--color-wnmu-blue); background: none; border: 6px solid var(--color-wnmu-blue); border-radius: 19px; transition: all ease-out 200ms; background-color: var(--totl-primary-background); }
.survey-btn:hover { color: hsl(0 0% 100%); background: var(--color-wnmu-blue); }
.wave-background { position: absolute; right: 0; bottom: 0; width: 90%; height: auto; }
.dots {
  display: flex; justify-content: center; align-items: center; height: 140px; margin: 60px 0;
  mask-image: linear-gradient(180deg, hsl(0 0% 0% / 20%), hsl(0 0% 0% / 100%)); mask-repeat: no-repeat; mask-size: contain;
}
.dots svg { display: block; height: 100%; }
@media (max-width: 700px) {
  .section-info header { margin-bottom: 7px; font-size: 22px; font-weight: bold; line-height: 30px; }
  .wave-background { right: 0; top: 0; width: 64%; transform: scale(1, -1); }
  .dots { height: 120px; margin: 40px 0; }
}


/* Section: Row */
.section-row { padding-top: 100px; padding-left: 60px; padding-right: 60px; }
.section-row-content { position: relative; max-width: var(--info-width); margin: 0 auto; padding: 60px; color: hsl(0 0% 100%); background: var(--color-wnmu-purple); border-radius: 24px; box-shadow: 0 0 40px hsl(0deg 0% 40% / 70%); }
.wave-image { position: absolute; top: 0; right: 0; width: 50%; height: 100%; mask-repeat: no-repeat; mask-size: cover; }
.bubble-image { display: block; width: 100%; height: 100%; object-fit: cover; opacity: 0.5; }
@media (max-width: 700px) {
  .section-row { padding: 20px 16px; }
  .section-row-content { padding: 40px 26px; }
  /* .section-row-content header {} */
  .section-row-search { padding-top: 40px; padding-bottom: 0; }
  .wave-image { width: 100%; }
}


/* Section: Info 1 */
.section-info-1 { background: var(--color-wnmu-purple); color: hsl(0 0% 100%); }
.section-info-1-grid { display: grid; grid-template-columns: 40% 1fr; grid-gap: 0 120px; }
.section-info-1-grid-unit { position: relative; }
.section-info-1-grid-unit-text { padding-left: 80px; }
.section-info-1-grid-unit-text .wnmu-logo { height: 52px; margin-top: 100px; }
.section-info-1-grid-unit-text header { position: relative; margin-top: 160px; }
.section-info-1-grid-unit-text header svg { position: absolute; top: -80px; right: 0; }
.section-info-1-grid-unit-text p:last-of-type { padding-bottom: 200px; }
.section-info-1-grid-unit-graphic { overflow: hidden; }
.section-info-1-grid-unit-graphic-container { position: absolute; width: 100%; height: 100%; }
.section-info-1-grid-unit-graphic-container img.background { position: absolute; bottom: -2px; right: 0; width: 100%; height: 100%; object-fit: cover; object-position: 0% 100%; }
.section-info-1-grid-unit-graphic-container img.foreground { position: absolute; height: 90%; right: 0; top: 0; border-radius: 0 0 0 200px; }


/* Section: Candidates (inside purple row) */
.section-candidates-header {
  font-family: Montserrat, Inter, Helvetica, Arial, sans-serif;
  font-size: 26px;
  font-weight: bold;
  color: var(--color-wnmu-yellow);
  margin-bottom: 4px;
}
.section-candidates-subtitle {
  color: hsl(0 0% 100% / 70%);
  margin-bottom: 24px;
}
.candidates-grid {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 40px;
}
.candidate-card {
  background: hsl(0 0% 100%);
  border-radius: 16px;
  box-shadow: 0 2px 12px hsl(0 0% 0% / 8%);
  overflow: hidden;
  cursor: pointer;
  transition: box-shadow 200ms ease;
  touch-action: manipulation;
}
.candidate-card:hover {
  box-shadow: 0 4px 24px hsl(0 0% 0% / 14%);
}
.candidate-card.active {
  box-shadow: 0 4px 30px hsl(0 0% 0% / 16%);
}
.candidate-summary {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 20px;
}
.candidate-photo {
  flex-shrink: 0;
  width: 100px;
  height: 120px;
  border-radius: 10px;
  overflow: hidden;
  background: hsl(0 0% 90%);
}
.candidate-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.candidate-brief {
  flex: 1;
  min-width: 0;
}
.candidate-name {
  font-family: Montserrat, Inter, Helvetica, Arial, sans-serif;
  font-size: 20px;
  font-weight: bold;
  color: var(--color-wnmu-purple);
  margin: 0 0 4px;
}
.candidate-title {
  font-size: 16px;
  color: hsl(0 0% 30%);
  margin: 0;
}
.candidate-org {
  font-size: 15px;
  color: hsl(0 0% 50%);
  margin: 0 0 8px;
}
.candidate-toggle-label {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 14px;
  font-weight: bold;
  color: var(--color-wnmu-blue);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.candidate-toggle-label .chevron {
  transition: transform 300ms ease;
}
.candidate-card.active .candidate-toggle-label .chevron {
  transform: rotate(180deg);
}

/* Expandable details */
.candidate-details {
  max-height: 0;
  overflow: hidden;
  transition: max-height 400ms ease;
}
.candidate-card.active .candidate-details {
  max-height: 800px;
}
.candidate-details-inner {
  padding: 0 20px 28px 144px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.candidate-cv-section h4 {
  font-family: Montserrat, Inter, Helvetica, Arial, sans-serif;
  font-size: 15px;
  font-weight: bold;
  color: var(--color-wnmu-purple);
  margin-bottom: 6px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.candidate-cv-section ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.candidate-cv-section li {
  position: relative;
  padding-left: 14px;
  font-size: 15px;
  line-height: 24px;
  color: hsl(0 0% 30%);
}
.candidate-cv-section li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--color-wnmu-blue);
}
.candidate-cv-section p {
  font-size: 15px;
  line-height: 24px;
  color: hsl(0 0% 30%);
}
.candidate-cv-section a {
  color: var(--color-wnmu-blue);
  text-decoration: none;
  font-weight: bold;
}
.candidate-cv-section a:hover {
  text-decoration: underline;
}

@media (max-width: 900px) {
  .candidate-details-inner {
    padding: 0 20px 28px 20px;
  }
}
@media (max-width: 700px) {
  .section-candidates-header {
    font-size: 20px;
    line-height: 28px;
  }
  .candidate-summary {
    gap: 16px;
    padding: 16px;
  }
  .candidate-photo {
    width: 80px;
    height: 96px;
  }
  .candidate-name {
    font-size: 17px;
  }
  .candidate-title {
    font-size: 15px;
  }
  .candidate-org {
    font-size: 14px;
  }
  .candidate-details-inner {
    padding: 0 16px 24px 16px;
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .candidate-card.active .candidate-details {
    max-height: 1200px;
  }
}


/* Section: Info 2 */
.section-info-2 { position: relative; padding: 0 60px 120px; }
.section-info-2-grid { position: relative; display: grid; grid-template-columns: 1fr; grid-gap: 0 50px; max-width: var(--info-width); margin: auto; oh}
.section-info-2-grid-unit { position: relative; padding: 56px 46px; }
.section-info-2-about {}
.section-info-2-about .dots { display: none; }
.section-info-2-sessions { color: hsl(0 0% 100%); background: var(--color-wnmu-purple); border-radius: 24px; box-shadow: 0 0 40px hsl(0deg 0% 40% / 70%); overflow: hidden;}
/* .section-info-2-sessions header {} */
.section-info-2-session a { text-decoration: underline; color: hsl(0 0% 100%); }
.section-info-2-session .header { font-weight: bold; color: var(--color-wnmu-yellow); }
/* .section-info-2-session:nth-of-type(2) .header { font-weight: bold; color: var(--color-wnmu-blue); } */
.section-info-2-session { margin-top: 30px; }
.section-info-2-session-grid { display: grid; grid-template-columns: 120px 1fr; grid-gap: 0 10px; }
.section-info-2-session-grid > *:nth-child(odd) { text-align: right; }
/* .section-info-2-session-grid > *:nth-child(odd):not(:first-child):after { content: ":"; } */
.section-info-2-session-grid > *:nth-child(even) {}
@media (max-width: 700px) {
  .section-info-2 { padding: 0 16px 120px; }
  .section-info-2-grid { grid-template-columns: 1fr; }
  .section-info-2-grid-unit { padding: 40px 26px; }
  .section-info-2-session-grid { grid-template-columns: 90px 1fr; }
  .section-info-2-session { margin-top: 20px; }
  .section-info-2-about { padding: 0 10px; }
  .section-info-2-about .dots { display: flex; }
  .voice { text-align: center; }
  .about-wnmu { padding: 40px 26px; border: 1px solid hsl(0 0% 80% / 1); }
}


/* Section: Committee */
.section-committee {
  position: relative;
  padding: 80px 60px;
  background: hsl(0 0% 96%);
}
.section-committee-inner {
  max-width: var(--info-width);
  margin: 0 auto;
}
.section-committee h3 {
  font-family: Montserrat, Inter, Helvetica, Arial, sans-serif;
  font-size: 26px;
  font-weight: bold;
  color: var(--color-wnmu-purple);
  margin-bottom: 20px;
}
.section-committee table {
  width: 100%;
  border-collapse: collapse;
  font-family: Arial, sans-serif;
}
.section-committee caption {
  font-weight: bold;
  margin-bottom: 0.5em;
  text-align: left;
}
.section-committee th, .section-committee td {
  border: 1px solid #ccc;
  padding: 8px 12px;
  text-align: left;
}
.section-committee thead {
  background-color: #003366;
  color: #fff;
}
.section-committee tbody tr:nth-child(even) {
  background-color: #f9f9f9;
  color: #333;
}
.section-committee tbody tr:nth-child(odd) {
  background-color: #fff;
  color: #333;
}
@media (max-width: 700px) {
  .section-committee {
    padding: 50px 16px;
  }
  .section-committee h3 {
    font-size: 22px;
  }
  .section-committee table, .section-committee thead, .section-committee tbody, .section-committee th, .section-committee td, .section-committee tr {
    display: block;
  }
  .section-committee thead {
    display: none;
  }
  .section-committee tr {
    margin-bottom: 1rem;
    border: 1px solid #ccc;
    padding: 8px;
    border-radius: 6px;
  }
  .section-committee td {
    border: none;
    padding: 6px 0;
  }
  .section-committee td::before {
    content: attr(data-label);
    font-weight: bold;
    display: block;
    margin-bottom: 2px;
  }
}


/* Section: About */
.section-about {
  position: relative;
  padding: 80px 60px;
  background: hsl(0 0% 100%);
}
.section-about-inner {
  max-width: var(--info-width);
  margin: 0 auto;
}
.section-about header {
  font-family: Montserrat, Inter, Helvetica, Arial, sans-serif;
  font-size: 26px;
  font-weight: bold;
  color: var(--color-wnmu-purple);
  margin-bottom: 16px;
}
.section-about p {
  color: hsl(0 0% 25%);
}
.section-about p + p {
  margin-top: 11px;
}
@media (max-width: 700px) {
  .section-about {
    padding: 50px 16px;
  }
  .section-about header {
    font-size: 22px;
  }
}


/* Section: Footer */
footer {
  position: relative; z-index: 10;
  padding: 60px 52px 160px;
  font-size: 12px; line-height: 25px; text-transform: uppercase;
  color: hsl(0 0% 100%); background: var(--color-wnmu-purple);
}
.footer-logo { height: 40px; margin-bottom: 12px; }
@media (max-width: 700px) {
  footer { padding-left: 27px; padding-right: 27px; }
}
