html {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
  scroll-behavior: smooth;
}

/* Call for Papers: editorial split story. All rules are page-scoped. */
.wec-cfp-page .wec-cfp-redesign {
  --cfp-paper: var(--color-paper);
  background: var(--cfp-paper);
  color: var(--color-ink);
  overflow: visible;
}

.wec-cfp-page .wec-cfp-split-story {
  position: relative;
  display: grid;
  grid-template-columns: minmax(390px, 43%) minmax(0, 57%);
  align-items: start;
  background: var(--cfp-paper);
}

.wec-cfp-page .wec-cfp-left-panel {
  position: sticky;
  top: 0;
  z-index: 4;
  height: 100vh;
  height: 100svh;
  min-height: 620px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--wec-block-olive);
  color: var(--wec-block-pale);
}

.wec-cfp-page .wec-cfp-left-panel__inner {
  width: 100%;
  padding: clamp(104px, 13vh, 150px) clamp(34px, 5vw, 78px) clamp(48px, 8vh, 86px);
}

.wec-cfp-page .wec-cfp-left-panel .wec-cfp-title {
  max-width: 7.2ch;
  margin: 0;
  color: inherit;
  font: var(--type-page-title);
  letter-spacing: -0.07em;
  text-wrap: balance;
}

.wec-cfp-page .wec-cfp-kicker {
  max-width: 34rem;
  margin: clamp(28px, 5vh, 52px) 0 0;
  font-size: clamp(13px, 1.15vw, 17px);
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: 0.02em;
}

.wec-cfp-page .wec-cfp-submission-button,
.wec-cfp-page .wec-cfp-submission-action .wec-cfp-registration {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  margin-top: clamp(28px, 4.5vh, 48px);
  padding: 0 var(--space-control-inline);
  border: 1px solid currentColor;
  border-radius: 4px;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.wec-cfp-page .wec-cfp-submission-button:hover,
.wec-cfp-page .wec-cfp-submission-button:focus-visible {
  background: var(--wec-block-pale);
  color: var(--wec-block-forest);
  transform: translateY(-2px);
}

.wec-cfp-page .wec-cfp-section-nav {
  display: grid;
  gap: 13px;
  max-width: 330px;
  margin-top: clamp(36px, 6vh, 70px);
  opacity: 1;
  transform: none;
  pointer-events: auto;
  transition: opacity 220ms ease, transform 220ms ease;
}

.wec-cfp-page .wec-cfp-redesign.is-reading .wec-cfp-section-nav {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}

.wec-cfp-page .wec-cfp-section-nav a {
  position: relative;
  display: grid;
  grid-template-columns: 2.7em 1fr;
  gap: 10px;
  align-items: baseline;
  padding-left: 14px;
  color: inherit;
  font-size: 12px;
  line-height: 1.35;
  letter-spacing: 0.04em;
  text-decoration: none;
  opacity: 0.6;
  transition: opacity 160ms ease, transform 160ms ease;
}

.wec-cfp-page .wec-cfp-section-nav a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  opacity: 0;
  transform: scale(0.5);
  transition: opacity 160ms ease, transform 160ms ease;
}

.wec-cfp-page .wec-cfp-section-nav a:hover,
.wec-cfp-page .wec-cfp-section-nav a:focus-visible,
.wec-cfp-page .wec-cfp-section-nav a.is-active {
  opacity: 1;
  transform: translateX(3px);
}

.wec-cfp-page .wec-cfp-section-nav a.is-active::before {
  opacity: 1;
  transform: scale(1);
}

.wec-cfp-page .wec-cfp-section-nav a > span:first-child {
  font-variant-numeric: tabular-nums;
  opacity: 0.74;
}

.wec-cfp-page .wec-cfp-right-column {
  position: relative;
  min-width: 0;
  background: var(--cfp-paper);
}

.wec-cfp-page .wec-cfp-visual-panel {
  position: sticky;
  top: 0;
  z-index: 0;
  height: 100vh;
  height: 100svh;
  min-height: 620px;
  overflow: hidden;
  isolation: isolate;
  background: var(--cfp-paper);
  display: grid;
  place-items: center;
}

.wec-cfp-page .wec-cfp-visual-collage {
  position: relative;
  width: 80%;
  height: 80%;
}

.wec-cfp-page .wec-cfp-visual-card {
  --intro-x: 0px;
  --intro-y: 0px;
  position: absolute;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: var(--card-color);
  opacity: 1;
  transform: translate(var(--intro-x), var(--intro-y)) rotate(var(--card-angle));
}

.wec-cfp-page .wec-cfp-visual-panel.is-intro-running .wec-cfp-visual-card {
  transition: transform 1.15s cubic-bezier(0.18, 0.82, 0.22, 1), opacity 0.85s ease;
}

.wec-cfp-page .wec-cfp-visual-panel.is-intro-start .wec-cfp-visual-card { opacity: 0; }

.wec-cfp-page .wec-cfp-visual-card img {
  display: block;
  width: var(--icon-size, 48%);
  height: auto;
  opacity: 0.78;
  transition: transform 0.3s ease;
}

.wec-cfp-page .wec-cfp-visual-card:hover img { transform: translateY(-12px); }

.wec-cfp-page .wec-cfp-visual-card--water {
  --card-color: var(--wec-block-khaki);
  --card-angle: -1.5deg;
  --icon-size: 54%;
  width: 30%;
  height: 34%;
  left: 10%;
  top: 6%;
}
.wec-cfp-page .wec-cfp-visual-panel.is-intro-start .wec-cfp-visual-card--water { --intro-x: -260px; --intro-y: -110px; }

.wec-cfp-page .wec-cfp-visual-card--mountain {
  --card-color: var(--wec-block-sage);
  --card-angle: 1deg;
  --icon-size: 58%;
  width: 30%;
  height: 32%;
  left: 36%;
  top: 18%;
}
.wec-cfp-page .wec-cfp-visual-panel.is-intro-start .wec-cfp-visual-card--mountain { --intro-x: -80px; --intro-y: -190px; }

.wec-cfp-page .wec-cfp-visual-card--tree {
  --card-color: var(--wec-block-forest);
  --card-angle: 0deg;
  --icon-size: 50%;
  width: 25%;
  height: 42%;
  left: 63%;
  top: 5%;
}
.wec-cfp-page .wec-cfp-visual-panel.is-intro-start .wec-cfp-visual-card--tree { --intro-x: 220px; --intro-y: -160px; }

.wec-cfp-page .wec-cfp-visual-card--tree img { opacity: 0.9; }

.wec-cfp-page .wec-cfp-visual-card--factory {
  --card-color: var(--wec-block-rust);
  --card-angle: -0.8deg;
  --icon-size: 52%;
  width: 30%;
  height: 33%;
  left: 47%;
  top: 52%;
}
.wec-cfp-page .wec-cfp-visual-panel.is-intro-start .wec-cfp-visual-card--factory { --intro-x: -220px; --intro-y: 130px; }

.wec-cfp-page .wec-cfp-visual-card--labor {
  --card-color: var(--wec-block-cream);
  --card-angle: 1.8deg;
  --icon-size: 48%;
  width: 26%;
  height: 31%;
  left: 20%;
  top: 45%;
}
.wec-cfp-page .wec-cfp-visual-panel.is-intro-start .wec-cfp-visual-card--labor { --intro-x: 320px; --intro-y: -40px; }

.wec-cfp-page .wec-cfp-visual-card--land {
  --card-color: var(--wec-block-pale);
  --card-angle: -1deg;
  --icon-size: 53%;
  width: 25%;
  height: 31%;
  left: 5%;
  top: 66%;
}
.wec-cfp-page .wec-cfp-visual-panel.is-intro-start .wec-cfp-visual-card--land { --intro-x: -80px; --intro-y: 210px; }

.wec-cfp-page .wec-cfp-visual-card--energy {
  --card-color: var(--wec-block-olive);
  --card-angle: 1.2deg;
  --icon-size: 47%;
  width: 27%;
  height: 33%;
  left: 72%;
  top: 49%;
}
.wec-cfp-page .wec-cfp-visual-panel.is-intro-start .wec-cfp-visual-card--energy { --intro-x: 150px; --intro-y: 190px; }

.wec-cfp-page .wec-cfp-visual-card--food {
  --card-color: var(--wec-block-muted-khaki);
  --card-angle: -1.6deg;
  --icon-size: 50%;
  width: 22%;
  height: 27%;
  left: 63%;
  top: 74%;
}
.wec-cfp-page .wec-cfp-visual-panel.is-intro-start .wec-cfp-visual-card--food { --intro-x: 290px; --intro-y: 170px; }

@media (max-width: 900px) {
  .wec-cfp-page .wec-cfp-visual-panel { display: none; }
}

.wec-cfp-page .wec-cfp-reading {
  position: relative;
  z-index: 2;
  padding: 0;
  background: transparent;
}

.wec-cfp-page .wec-cfp-reading-inner {
  width: 100%;
  max-width: none;
  margin: 0;
}

.wec-cfp-page .wec-cfp-reading .wec-cfp-prose {
  display: block;
  min-height: 100vh;
  min-height: 100svh;
  scroll-margin-top: 0;
  padding: clamp(98px, 14vh, 150px) clamp(38px, 6vw, 92px) clamp(76px, 12vh, 130px);
  background: var(--cfp-paper);
}

.wec-cfp-page .wec-cfp-reading .wec-cfp-prose + .wec-cfp-prose {
  border-top: 1px solid rgba(16, 41, 26, 0.16);
}

.wec-cfp-page .wec-cfp-theme-pin {
  position: relative;
  height: 200vh;
  height: 200svh;
}

.wec-cfp-page .wec-cfp-theme-pin .wec-cfp-prose {
  position: sticky;
  top: 0;
  z-index: 3;
  border-top: 1px solid rgba(16, 41, 26, 0.16);
}

.wec-cfp-page .wec-cfp-reading .wec-cfp-prose-heading,
.wec-cfp-page .wec-cfp-reading .wec-cfp-prose-copy {
  width: 100%;
  max-width: 780px;
}

.wec-cfp-page .wec-cfp-reading .wec-cfp-prose-heading {
  display: none;
}

.wec-cfp-page .wec-cfp-reading .wec-cfp-prose-heading h2 {
  margin: 0 0 clamp(40px, 7vh, 78px);
  font: var(--type-section-title);
  letter-spacing: -0.055em;
}

.wec-cfp-page .wec-cfp-reading .wec-cfp-prose-copy {
  margin: 0 auto;
  font: var(--type-body);
}

.wec-cfp-page .wec-cfp-dates-home-scope {
  position: relative;
  z-index: 8;
  margin-top: -100vh;
  margin-top: -100svh;
}

.wec-cfp-page .wec-cfp-reading .wec-cfp-prose-copy p + p {
  margin-top: 1.4em;
}

.wec-cfp-page .wec-cfp-submission-action .wec-cfp-registration {
  color: var(--wec-block-forest);
}

.wec-cfp-page .wec-cfp-submission-action .wec-cfp-registration:hover,
.wec-cfp-page .wec-cfp-submission-action .wec-cfp-registration:focus-visible {
  background: var(--wec-block-forest);
  color: var(--wec-block-pale);
}


@media (max-width: 860px) {
  .wec-cfp-page .wec-cfp-split-story { display: block; }

  .wec-cfp-page .wec-cfp-left-panel {
    position: relative;
    height: auto;
    min-height: 100vh;
    min-height: 100svh;
  }

  .wec-cfp-page .wec-cfp-left-panel__inner {
    padding: 124px 24px 64px;
  }

  .wec-cfp-page .wec-cfp-left-panel .wec-cfp-title {
    max-width: 8ch;
    font-size: clamp(42px, 13vw, 62px);
  }

  .wec-cfp-page .wec-cfp-section-nav {
    opacity: 1;
    transform: none;
    pointer-events: auto;
  }

  .wec-cfp-page .wec-cfp-reading .wec-cfp-prose {
    min-height: 0;
    scroll-margin-top: 84px;
    padding: 92px 24px 86px;
  }

  .wec-cfp-page .wec-cfp-theme-pin .wec-cfp-prose {
    min-height: 100vh;
    min-height: 100svh;
  }

  .wec-cfp-page .wec-cfp-reading .wec-cfp-prose-heading h2 {
    font-size: clamp(38px, 11vw, 58px);
  }

  .wec-cfp-page .wec-cfp-reading .wec-cfp-prose-heading { display: block; }

}

/* 2026-09-27 shared Call-for-Papers page refinements. */

.wec-cfp-redesign .wec-cfp-reading .wec-cfp-reveal {
  opacity: 1;
  transform: none;
  transition: none;
}

.wec-shared-left__inner > p,
.wec-shared-page--useful .wec-shared-conference-label,
.wec-cfp-redesign .wec-cfp-kicker {
  max-width: 34rem;
  margin: clamp(28px, 5vh, 52px) 0 0;
  font-family: var(--font-body);
  font-size: clamp(13px, 1.15vw, 17px);
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: .02em;
  text-transform: none;
}
.wec-shared-page--useful .wec-shared-conference-label { color: rgba(245, 237, 207, .82); }

/* A selected directory item replaces the right panel with one restrained
   upward transition. The body itself remains still while it is read. */
.wec-shared-page--useful .wec-guide-item.is-panel-entering,
.wec-shared-page--committees .wec-committee-panel.is-entering {
  animation: wecPanelRise 420ms cubic-bezier(.22, .75, .25, 1) both !important;
}
@keyframes wecPanelRise {
  from { opacity: 0; transform: translateY(44px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Match the Call for Papers reading measure and hierarchy. */
.wec-shared-page--useful .wec-useful-reading {
  padding: clamp(112px, 14vh, 164px) clamp(34px, 5vw, 76px) clamp(110px, 15vh, 180px);
}
.wec-shared-page--useful .wec-cfp-reading-inner { width: 100%; max-width: none; }
.wec-shared-page--useful .wec-guide-content {
  width: min(100%, 760px);
  margin: 0;
  padding: 0;
  font-size: clamp(17px, 1.25vw, 19px);
  line-height: 1.72;
  color: rgba(16, 41, 26, .78);
}
.wec-shared-page--useful .wec-guide-content p + p { margin-top: 24px; }
.wec-shared-page--useful .wec-guide-item.is-active > summary { display: none; }

/* Keep one viewport of calm background between the final reading line and
   the footer, so the split-page composition has a deliberate closing beat. */
.wec-cfp-redesign::after,
.wec-shared-page::after {
  content: '';
  display: block;
  height: 100vh;
  height: 100svh;
  background: var(--hero-paper, var(--color-paper));
}

@media (max-width: 860px) {
  .wec-shared-page--useful .wec-guide-item.is-active > summary { display: grid; }
  .wec-shared-page--useful .wec-guide-content { width: 100%; }
  .wec-cfp-redesign::after,
  .wec-shared-page::after { height: 60svh; }
}

@media (prefers-reduced-motion: reduce) {
  .wec-shared-page--useful .wec-guide-item.is-panel-entering,
  .wec-shared-page--committees .wec-committee-panel.is-entering { animation: none !important; }
}

/* Welcome: layered editorial panels with native, proximity-aware settling. */
html.wec-home-snap {
  scroll-snap-type: y proximity;
  scroll-padding-top: 0;
}
html.wec-home-snap.wec-home-footer-zone { scroll-snap-type: none; }
html.wec-home-snap body.wec-home > .wec-scroll-story > section,
html.wec-home-snap body.wec-home > .wec-index-story > section {
  scroll-snap-align: start;
  scroll-snap-stop: always;
}
html.wec-home-snap body.wec-home > .wec-scroll-story > section,
html.wec-home-snap body.wec-home > .wec-index-story > section {
  box-sizing: border-box;
}
/* Useful Information exposes the universal footer only for directory item 08. */
body.wec-useful-page:not(.wec-useful-footer-enabled) > .wec-site-footer {
  display: none !important;
}

@media (max-width: 1100px) {
  html.wec-home-snap { scroll-snap-type: y proximity; }
  html.wec-home-snap body.wec-home > .wec-index-story > #important-dates {
    scroll-snap-align: start;
    scroll-snap-stop: normal;
  }
}

@media (max-width: 620px) {
  html.wec-home-snap body.wec-home > .wec-scroll-story > section,
  html.wec-home-snap body.wec-home > .wec-index-story > section {
    scroll-snap-stop: normal;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.wec-home-snap {
    scroll-behavior: auto;
    scroll-snap-type: y proximity;
  }
}

/* Closing sections provide the final viewport; no artificial spacer precedes the footer. */
.wec-shared-story { padding-bottom: 0 !important; }
.wec-shared-page::after,
.wec-cfp-redesign::after { display: none !important; }

/* One display face for every page-level title, matching the Welcome hero. */
main h1 {
  font-family: var(--font-display) !important;
  font-weight: 900 !important;
}

/* The shared floating header remains fixed in its original top layout. */
.wec-floating-header,
.wec-floating-header * {
  -webkit-user-drag: none;
  user-select: none;
}
.wec-floating-header {
  cursor: default !important;
  transform: none !important;
  touch-action: auto !important;
}
.wec-floating-header .wec-menu-toggle { cursor: pointer !important; }
html.wec-reading-locked { scroll-behavior: auto !important; }

/* Full-page announcement layouts for Program and Registration. */
.wec-announcement-page > :not(.wec-announcement) { display: none !important; }
.wec-announcement-page {
  --announcement-ink: var(--color-ink);
  min-height: 100vh;
  min-height: 100svh;
  color: var(--announcement-ink);
}
.wec-announcement-page--program { background: var(--wec-block-khaki, var(--color-khaki)) !important; }
.wec-announcement-page--registration { background: var(--wec-block-muted-khaki, var(--color-muted-khaki)) !important; }
.wec-announcement {
  box-sizing: border-box;
  min-height: 100vh;
  min-height: 100svh;
  display: grid;
  place-items: center;
  padding: clamp(132px, 17vh, 190px) clamp(24px, 7vw, 112px) clamp(74px, 10vh, 120px);
}
.wec-announcement__inner {
  width: min(1320px, 100%);
  margin: 0 auto;
  text-align: center;
}
.wec-announcement h1 {
  max-width: 15ch;
  margin: 0 auto;
  font-family: var(--font-display);
  font-size: clamp(72px, 10vw, 150px);
  font-weight: 900;
  line-height: .88;
  letter-spacing: -.065em;
  text-wrap: balance;
}
.wec-announcement h2 {
  margin: clamp(46px, 7vh, 78px) 0 0;
  font-family: var(--font-display);
  font-size: clamp(28px, 3vw, 46px);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -.035em;
}
.wec-announcement p {
  width: min(800px, 100%);
  margin: clamp(28px, 4vh, 44px) auto 0;
  font-family: var(--font-body);
  font-size: clamp(16px, 1.35vw, 21px);
  line-height: 1.58;
}
.wec-announcement .wec-scroll-panel__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  margin: clamp(34px, 5vh, 54px) auto 0;
  padding: var(--space-control-block) var(--space-control-inline);
  border: 1px solid currentColor;
  border-radius: 4px;
  color: inherit;
  background: transparent;
  font: 650 12px/1 var(--font-body);
  letter-spacing: .11em;
  text-transform: uppercase;
  text-decoration: none;
  transition: color .2s ease, background-color .2s ease;
}
.wec-announcement .wec-scroll-panel__button:hover,
.wec-announcement .wec-scroll-panel__button:focus-visible {
  color: var(--wec-block-pale, var(--color-pale));
  background: var(--wec-block-forest, var(--color-forest));
}
.wec-announcement .wec-scroll-panel__button:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }

/* Universal sticky footer reveal. Page content stays on the upper opaque
   layer while the footer waits underneath at the bottom of the viewport. */
body > main,
body > .wec-scroll-story,
body > .wec-index-story {
  position: relative;
  z-index: 2;
}
body > .wec-site-footer {
  position: sticky !important;
  bottom: 0;
  z-index: 0;
  width: 100%;
}

/* Useful Information follows the exact Call for Papers reading measure. */
body.wec-useful-page .wec-shared-page--useful .wec-useful-reading {
  min-height: 100vh;
  min-height: 100svh;
  padding: clamp(98px, 14vh, 150px) clamp(38px, 6vw, 92px) clamp(76px, 12vh, 130px) !important;
}
body.wec-useful-page .wec-shared-page--useful .wec-cfp-reading-inner { width: 100% !important; max-width: none !important; margin: 0 !important; }
body.wec-useful-page .wec-shared-page--useful .wec-guide-content {
  width: 100% !important;
  max-width: 780px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  font-family: var(--font-body) !important;
  font-size: clamp(16px, 1.25vw, 19px) !important;
  line-height: 1.64 !important;
  color: rgba(16, 41, 26, .78) !important;
}
body.wec-useful-page .wec-shared-page--useful .wec-guide-content p { margin: 0 !important; }
body.wec-useful-page .wec-shared-page--useful .wec-guide-content p + p { margin-top: 1.4em !important; }

/* The final real content panel, rather than an empty spacer, supplies the
   last viewport before the footer. */
.wec-shared-page--committees .wec-committee-stage,
.wec-shared-page--scholarships .wec-cfp-reading,
.wec-shared-page--useful .wec-useful-reading,
.wec-cfp-redesign .wec-cfp-dates-section {
  box-sizing: border-box;
  min-height: 100vh;
  min-height: 100svh;
}

@media (max-width: 620px) {
  .wec-announcement { padding: 124px 22px 64px; }
  .wec-announcement-page--registration .wec-announcement__inner {
    min-width: 0;
    width: 100%;
    max-width: 1320px;
  }
  .wec-announcement h1 { font-size: clamp(54px, 17vw, 78px); }
  .wec-announcement-page--registration .wec-announcement h1 {
    font-size: clamp(48px, 13vw, 66px);
  }
  .wec-announcement h2 { margin-top: 38px; font-size: clamp(26px, 8vw, 36px); }
  .wec-announcement p { font-size: 16px; }
  body.wec-useful-page .wec-shared-page--useful .wec-useful-reading { padding: 88px 20px 100px !important; }
}

/* Extend the sticky split itself for the closing pause, so the left title
   remains pinned while the reader advances through the final quiet viewport. */
.wec-shared-story { padding-bottom: 100vh; padding-bottom: 100svh; }
.wec-shared-page::after { display: none; }
@media (max-width: 860px) {
  .wec-shared-story { padding-bottom: 60svh; }
}

@media (prefers-reduced-motion: reduce) {
  .wec-cfp-page .wec-cfp-visual-card,
  .wec-cfp-page .wec-cfp-visual-card img { transition: none; }
  .wec-cfp-page .wec-cfp-section-nav,
  .wec-cfp-page .wec-cfp-section-nav a,
  .wec-cfp-page .wec-cfp-submission-button { transition: none; }

  .wec-cfp-page .wec-cfp-section-nav a { scroll-behavior: auto; }
}

body {
  width: 100%;
  max-width: 100%;
  margin: 0;
  overflow-x: hidden;
}

*, *::before, *::after {
  box-sizing: border-box;
}

/* Shared editorial header / navigation for every page. */
.wec-site-header {
  width: 100%;
  background: var(--color-warm-paper);
  position: relative;
  z-index: 20;
}
.wec-site-header-inner {
  min-height: 114px;
  padding: 0 clamp(60px, 4vw, 76px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}
.wec-site-logo, .wec-mobile-logo {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  text-decoration: none;
  color: var(--color-ink);
}
.wec-site-logo { gap: 22px; flex: 0 0 auto; }
.wec-site-logo img, .wec-mobile-logo img { display: block; object-fit: contain; }
.wec-site-logo__wren { width: 136px; height: auto; }
.wec-site-logo__conference, .wec-mobile-logo__conference {
  display: block;
  position: relative;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  background: url("assets/WEC2027-icon.svg") center / contain no-repeat;
}
.wec-site-logo__conference::before, .wec-mobile-logo__conference::before {
  content: "";
  position: absolute;
  left: -12px;
  top: 4px;
  bottom: 4px;
  width: 1px;
  background: rgba(17, 39, 25, 0.2);
}
.wec-site-brand-caption {
  margin-left: 10px;
  font: 400 15px/1.15 Georgia, "Times New Roman", serif;
  white-space: nowrap;
}
.wec-site-brand-caption__prefix {
  display: block;
  max-width: 140px;
  margin-bottom: 5px;
  white-space: normal;
  font: 500 10px/1.35 var(--font-body);
  color: rgba(16, 41, 26, 0.72);
}
.wec-site-brand-caption::after {
  content: "";
  display: block;
  width: 14px;
  height: 1px;
  margin-top: 10px;
  background: var(--wec-block-olive);
}
.wec-site-nav {
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(22px, 1.7vw, 34px);
  white-space: nowrap;
  font: 600 13px var(--font-body);
  color: var(--color-header-ink);
  transform: translateY(6px);
}
.wec-site-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0;
  line-height: 1;
}
.wec-site-nav a, .wec-mobile-panel a {
  position: relative;
  color: var(--color-header-ink);
  text-decoration: none;
}
.wec-site-nav a:not(.wec-nav-registration)::after,
.wec-mobile-panel a:not(.wec-nav-registration)::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 3px;
  width: 60%;
  height: 2px;
  background: var(--color-header-ink);
  opacity: 0;
  transform: scaleX(0);
  transform-origin: left center;
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.wec-site-nav a[aria-current="page"]::after,
.wec-mobile-panel a[aria-current="page"]::after { opacity: 1; transform: scaleX(1); }
.wec-site-nav a:not(.wec-nav-registration):hover { color: var(--wec-block-olive); }
.wec-site-nav .wec-nav-registration, .wec-mobile-panel .wec-nav-registration {
  border-radius: 999px;
  background: var(--color-deep-green);
  color: var(--wec-block-pale);
  opacity: 1;
}
.wec-site-nav .wec-nav-registration {
  min-height: 42px;
  padding: 0 28px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  transition: background 0.2s ease, transform 0.2s ease;
}
.wec-site-nav .wec-nav-registration:hover { background: var(--wec-block-olive); transform: translateY(-1px); }
.wec-mobile-header { display: none; }
@media (min-width: 1600px) {
  .wec-site-nav { font-size: 14px; }
}
@media (min-width: 1200px) and (max-width: 1359px) {
  .wec-site-header-inner { gap: 20px; }
  .wec-site-logo { gap: 16px; }
  .wec-site-logo__wren { width: 112px; }
  .wec-site-nav { font-size: 12px; gap: 16px; }
  .wec-site-nav .wec-nav-registration { padding: 0 20px; }
  .wec-site-brand-caption { margin-left: 4px; font-size: 14px; }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .wec-site-header-inner { min-height: 96px; flex-wrap: wrap; gap: 8px; padding: 10px 32px 8px; }
  .wec-site-logo { gap: 20px; }
  .wec-site-logo__wren { width: 108px; }
  .wec-site-logo__conference { width: 34px; height: 34px; flex-basis: 34px; }
  .wec-site-logo__conference::before { left: -10px; }
  .wec-site-nav { width: 100%; justify-content: space-between; font-size: 12px; gap: 12px; transform: none; }
  .wec-site-nav .wec-nav-registration { padding: 0 18px; }
  .wec-site-brand-caption { font-size: 13px; }
  .wec-site-brand-caption__prefix { font-size: 9px; line-height: 1.2; margin-bottom: 3px; }
  .wec-site-brand-caption::after { display: none; }
}
@media (max-width: 767px) {
  .wec-site-header { display: none; }
  .wec-mobile-header {
    width: 100%;
    min-height: 68px;
    padding: 0 20px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    position: relative;
    z-index: 30;
    background: var(--color-warm-paper);
  }
  .wec-mobile-logo { gap: 10px; flex: 0 1 auto; }
  .wec-mobile-logo__wren { width: 80px; height: auto; max-width: min(112px, 40vw); }
  .wec-mobile-logo__conference { width: 26px; height: 26px; flex-basis: 26px; }
  .wec-mobile-logo__conference::before { left: -5px; top: 5px; bottom: 5px; }
  .wec-mobile-logo .wec-site-brand-caption { margin-left: 2px; font-size: 12px; }
  .wec-mobile-logo .wec-site-brand-caption__prefix { max-width: 108px; font-size: 9px; margin-bottom: 3px; }
  .wec-mobile-logo .wec-site-brand-caption::after { display: none; }
  .wec-mobile-toggle {
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(17, 39, 25, 0.18);
    border-radius: 999px;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    background: transparent;
    cursor: pointer;
  }
  .wec-mobile-toggle span {
    width: 16px;
    height: 2px;
    border-radius: 999px;
    background: var(--color-header-ink);
    transform-origin: center;
    transition: opacity 0.2s ease, transform 0.2s ease;
  }
  .wec-mobile-header.is-open .wec-mobile-toggle span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  .wec-mobile-header.is-open .wec-mobile-toggle span:nth-child(2) { opacity: 0; }
  .wec-mobile-header.is-open .wec-mobile-toggle span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
  .wec-mobile-panel { display: none; flex-basis: 100%; padding: 0 0 18px; background: var(--color-warm-paper); }
  .wec-mobile-header.is-open .wec-mobile-panel { display: block; }
  .wec-mobile-panel a {
    display: block;
    width: max-content;
    max-width: 100%;
    padding: 10px 0;
    font: 600 14px var(--font-body);
    opacity: 0.78;
  }
  .wec-mobile-panel a:not(.wec-nav-registration)::after { bottom: 7px; }
  .wec-mobile-panel a[aria-current="page"], .wec-mobile-panel a:hover { opacity: 1; }
  .wec-mobile-panel .wec-nav-registration {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    margin-top: 8px;
    padding: 0 26px;
    font-weight: 700;
  }
  .wec-mobile-panel .wec-nav-registration:hover { background: var(--color-ink); }
}

/* =========================
   Global Footer
   ========================= */
.wec-site-footer {
  position: relative;
  overflow: hidden;
  background: var(--wec-block-forest);
  color: var(--wec-block-pale);
  font-family: var(--font-body);
}

.wec-site-footer::before {
  content: "WORLD ECOLOGY";
  position: absolute;
  right: -0.06em;
  bottom: -0.18em;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(92px, 14vw, 220px);
  line-height: 0.8;
  color: rgba(245, 237, 207, 0.055);
  letter-spacing: 0;
  white-space: nowrap;
  pointer-events: none;
}

.wec-site-footer-inner {
  position: relative;
  z-index: 1;
  width: min(1360px, calc(100% - clamp(40px, 8vw, 140px)));
  margin: 0 auto;
  padding: clamp(58px, 6.8vw, 88px) 0 clamp(50px, 5.8vw, 74px);
  display: grid;
  grid-template-columns: minmax(230px, 0.72fr) minmax(380px, 1.08fr) minmax(220px, 0.62fr);
  gap: clamp(36px, 5vw, 86px);
  align-items: start;
}

.wec-footer-column {
  min-width: 0;
}

.wec-footer-column--conference {
  display: grid;
  gap: 28px;
}

.wec-footer-column--organization,
.wec-footer-column--support {
  display: grid;
  gap: 18px;
}

.wec-footer-column--support {
  justify-self: end;
  width: min(280px, 100%);
}

.wec-footer-label {
  margin: 0 0 16px;
  font-size: 12px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(245, 237, 207, 0.72);
}

.wec-footer-mark-row {
  display: grid;
  gap: 20px;
  justify-items: start;
  align-items: start;
}

.wec-footer-logo-pad,
.wec-footer-org-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition:
    transform 0.22s ease,
    opacity 0.22s ease;
}

.wec-footer-logo-pad:hover,
.wec-footer-org-item[href]:hover {
  transform: translateY(-2px);
  opacity: 0.86;
}

.wec-footer-logo-pad {
  width: fit-content;
}

.wec-footer-logo-pad--wren {
  max-width: 180px;
}

.wec-footer-logo-pad--wec {
  width: 186px;
  height: 62px;
  max-width: none;
  overflow: hidden;
  background: url("assets/WEC2027-footer.svg") left center / 234px auto no-repeat;
  opacity: 0.94;
}

.wec-footer-logo {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  filter: brightness(0) invert(1);
  opacity: 0.94;
}

.wec-footer-logo--wren {
  width: 180px;
  max-height: 48px;
}

.wec-footer-logo--wec {
  display: none;
}

.wec-footer-contact {
  padding-top: 22px;
  border-top: 1px solid rgba(245, 237, 207, 0.16);
}

.wec-footer-contact .wec-footer-label {
  margin-bottom: 10px;
}

.wec-footer-contact-link {
  display: inline-block;
  color: rgba(245, 237, 207, 0.9);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(19px, 1.5vw, 24px);
  line-height: 1.18;
  font-weight: 700;
  letter-spacing: 0;
  text-decoration: none;
  overflow-wrap: anywhere;
  transition:
    color 0.22s ease,
    opacity 0.22s ease;
}

.wec-footer-contact-link:hover {
  color: #ffffff;
  opacity: 0.88;
}

.wec-footer-logo-grid {
  display: grid;
  gap: 24px 32px;
  align-items: center;
  justify-content: start;
}

.wec-footer-logo-grid--organization {
  grid-template-columns: repeat(2, minmax(124px, 172px));
}

.wec-footer-logo-grid--support {
  grid-template-columns: 1fr;
  gap: 22px;
}

.wec-footer-org-item {
  width: 100%;
  min-height: 64px;
  max-width: 172px;
}

.wec-footer-org-item img {
  display: block;
  width: auto;
  max-width: 162px;
  object-fit: contain;
  filter: brightness(0) invert(1);
  opacity: 0.92;
}

.wec-footer-org-logo--cias {
  max-height: 52px;
}

.wec-footer-org-logo--ces {
  max-height: 58px;
  max-width: 96px;
}

.wec-footer-org-logo--dcv {
  max-height: 52px;
}

.wec-footer-fctuc-crop {
  position: relative;
  display: block;
  width: min(148px, 100%);
  aspect-ratio: 2521 / 556;
  overflow: hidden;
}
.wec-footer-org-item .wec-footer-fctuc-crop img {
  position: absolute;
  width: 121.182%;
  max-width: none;
  height: auto;
  left: -10.591%;
  top: -46.942%;
}

/* Preserve supplied logo files; adapt their backgrounds and whitespace for the footer. */
.wec-footer-org-item .wec-footer-org-logo--cores {
  width: 112px;
  max-width: 100%;
  height: auto;
  filter: url(#wec-cores-white);
}
.wec-footer-lecant-crop {
  position: relative;
  display: block;
  width: min(148px, 100%);
  aspect-ratio: 904 / 279;
  overflow: hidden;
}
.wec-footer-org-item .wec-footer-lecant-crop img {
  position: absolute;
  width: 110.62%;
  max-width: none;
  height: auto;
  left: -3.872%;
  top: -125.09%;
}

.wec-footer-org-logo--fct {
  max-height: 70px;
  max-width: 128px;
}

.wec-footer-org-logo--uc {
  max-height: 40px;
}

@media (max-width: 900px) {
  .wec-site-footer-inner {
    grid-template-columns: 1fr;
    gap: 42px;
    width: calc(100% - 48px);
    padding: 52px 0 62px;
  }

  .wec-footer-logo-grid--organization {
    max-width: 400px;
  }

  .wec-footer-logo-grid--support {
    grid-template-columns: repeat(2, minmax(110px, 150px));
    max-width: 360px;
  }

  .wec-footer-column--support {
    justify-self: start;
    width: 100%;
  }
}

@media (max-width: 520px) {
  .wec-site-footer::before {
    right: -0.42em;
    bottom: 0.18em;
    font-size: 118px;
    white-space: normal;
  }

  .wec-site-footer-inner {
    width: calc(100% - 40px);
    padding: 48px 0 58px;
  }

  .wec-footer-label {
    margin-bottom: 14px;
  }

  .wec-footer-mark-row {
    gap: 18px;
  }

  .wec-footer-logo-pad--wren {
    max-width: min(210px, 70vw);
  }

  .wec-footer-logo-pad--wec {
    width: min(190px, 64vw);
    height: 64px;
    background-size: 242px auto;
  }

  .wec-footer-logo-grid--organization,
  .wec-footer-logo-grid--support {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 24px;
    max-width: 310px;
  }

  .wec-footer-org-item {
    min-height: 52px;
    max-width: 140px;
  }

  .wec-footer-org-item img {
    max-width: 132px;
  }

  .wec-footer-org-logo--cias,
  .wec-footer-org-logo--dcv {
    max-height: 42px;
  }

  .wec-footer-org-logo--ces,
  .wec-footer-org-logo--fct {
    max-height: 56px;
    max-width: 100px;
  }


  .wec-footer-org-logo--uc {
    max-height: 32px;
  }
}

/* =========================
   Call for Papers Redesign
   ========================= */
.wec-cfp-page {
  background: var(--color-page-paper);
  color: var(--color-ink);
  font-family: var(--font-body);
}

.wec-cfp-main {
  --wec-block-khaki: var(--color-khaki);
  --wec-block-sage: var(--color-sage);
  --wec-block-forest: var(--color-forest);
  --wec-block-cream: var(--color-cream);
  --wec-block-rust: var(--color-rust);
  --wec-block-pale: var(--color-pale);
  --wec-block-olive: var(--color-olive);
  --wec-block-muted-khaki: var(--color-muted-khaki);
  overflow: clip;
  background: var(--color-page-paper);
}

.wec-cfp-main .wec-cfp-hero {
  position: relative;
  min-height: clamp(560px, 66svh, 700px);
  padding: clamp(72px, 10vh, 112px) 0 clamp(220px, 27vh, 300px);
  display: flex;
  align-items: flex-start;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(
      circle at 50% 34%,
      rgba(255, 255, 255, 0.30),
      transparent 46%
    ),
    var(--color-warm-paper);
  color: var(--color-ink);
}

.wec-cfp-main .wec-cfp-hero::after {
  content: "";
  display: none;
}

.wec-cfp-main .wec-cfp-hero-inner {
  position: relative;
  z-index: 2;
  width: min(1120px, calc(100% - clamp(40px, 8vw, 140px)));
  margin: 0 auto;
  display: grid;
  place-items: center;
  text-align: center;
}

.wec-cfp-main .wec-cfp-hero-copy {
  position: relative;
  z-index: 2;
  min-width: 0;
  max-width: 980px;
  margin: 0 auto;
}

.wec-cfp-main .wec-cfp-title {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  letter-spacing: 0;
  color: var(--color-ink);
}

.wec-cfp-main .wec-cfp-title span {
  display: block;
}

.wec-cfp-main .wec-cfp-title span:first-child {
  font-size: clamp(42px, 4.5vw, 72px);
  line-height: 0.9;
}

.wec-cfp-main .wec-cfp-title span:last-child {
  max-width: 900px;
  margin: 10px auto 0;
  font-size: clamp(22px, 2.05vw, 34px);
  line-height: 1.08;
}

.wec-cfp-subtitle {
  max-width: 620px;
  margin: 14px auto 0;
  font-size: clamp(15px, 1.2vw, 18px);
  line-height: 1.55;
  color: rgba(16, 41, 26, 0.68);
}

.wec-cfp-registration {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  margin-top: 18px;
  padding: 0 21px;
  border-radius: 999px;
  background: var(--color-deep-green);
  color: var(--wec-block-pale);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-decoration: none;
  text-transform: uppercase;
  transition:
    transform 0.26s ease,
    background 0.26s ease;
}

.wec-cfp-registration:hover {
  transform: translateY(-2px);
  background: var(--color-ink);
}

.cfp-bg-cards {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

.cfp-bg-card {
  position: absolute;
  width: var(--cfp-card-width);
  height: var(--cfp-card-height);
  pointer-events: none;
  transform: rotate(var(--cfp-card-rotate));
  transform-origin: 50% 72%;
}

.cfp-bg-card__surface {
  width: 100%;
  height: 100%;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: var(--cfp-card-bg);
  box-shadow: var(--cfp-card-shadow, 0 14px 32px rgba(31, 43, 31, 0.055));
  opacity: 0;
  transform: translate(var(--deal-x, 0), var(--deal-y, 140px)) scale(0.94);
  will-change: transform, opacity;
}

.wec-cfp-hero.is-visible .cfp-bg-card__surface {
  animation: cfpDealCard 800ms cubic-bezier(0.22, 1, 0.36, 1) forwards;
  animation-delay: var(--deal-delay, 80ms);
}

.cfp-bg-card__icon {
  display: block;
  width: var(--cfp-icon-width);
  height: auto;
  max-width: none;
  opacity: 0.66;
  pointer-events: none;
  user-select: none;
}

.cfp-bg-card--water {
  --cfp-card-width: clamp(250px, 17.6vw, 270px);
  --cfp-card-height: clamp(330px, 22.5vw, 350px);
  --cfp-card-bg: var(--wec-block-khaki);
  --cfp-card-rotate: 15deg;
  --cfp-icon-width: 50%;
  --deal-x: -15px;
  --deal-y: 140px;
  --deal-delay: 80ms;
  left: -5%;
  bottom: 18px;
  z-index: 2;
}

.cfp-bg-card--mountain {
  --cfp-card-width: clamp(260px, 18.2vw, 290px);
  --cfp-card-height: clamp(285px, 20.5vw, 315px);
  --cfp-card-bg: var(--wec-block-sage);
  --cfp-card-rotate: 8deg;
  --cfp-icon-width: 54%;
  --deal-x: -8px;
  --deal-y: 145px;
  --deal-delay: 180ms;
  left: 12%;
  bottom: -24px;
  z-index: 4;
}

.cfp-bg-card--labor {
  --cfp-card-width: clamp(190px, 13.2vw, 210px);
  --cfp-card-height: clamp(220px, 16vw, 245px);
  --cfp-card-bg: var(--wec-block-cream);
  --cfp-card-rotate: -8deg;
  --cfp-icon-width: 50%;
  --deal-x: -4px;
  --deal-y: 142px;
  --deal-delay: 260ms;
  left: 30%;
  bottom: -52px;
  z-index: 6;
}

.cfp-bg-card--land {
  --cfp-card-width: clamp(220px, 15.5vw, 240px);
  --cfp-card-height: clamp(250px, 18vw, 275px);
  --cfp-card-bg: var(--wec-block-pale);
  --cfp-card-rotate: 11deg;
  --cfp-card-shadow: 0 8px 22px rgba(31, 43, 31, 0.035);
  --cfp-icon-width: 48%;
  --deal-x: 2px;
  --deal-y: 135px;
  --deal-delay: 360ms;
  left: 42%;
  bottom: -42px;
  z-index: 5;
}

.cfp-bg-card--factory {
  --cfp-card-width: clamp(240px, 16.8vw, 260px);
  --cfp-card-height: clamp(285px, 19.8vw, 315px);
  --cfp-card-bg: var(--wec-block-rust);
  --cfp-card-rotate: -8deg;
  --cfp-icon-width: 50%;
  --deal-x: 12px;
  --deal-y: 140px;
  --deal-delay: 460ms;
  left: 56%;
  bottom: -24px;
  z-index: 7;
}

.cfp-bg-card--energy {
  --cfp-card-width: clamp(220px, 15.4vw, 235px);
  --cfp-card-height: clamp(285px, 19.5vw, 315px);
  --cfp-card-bg: var(--wec-block-olive);
  --cfp-card-rotate: 8deg;
  --cfp-icon-width: 46%;
  --deal-x: 18px;
  --deal-y: 150px;
  --deal-delay: 560ms;
  left: 70%;
  bottom: -12px;
  z-index: 8;
}

.cfp-bg-card--tree {
  --cfp-card-width: clamp(230px, 16.2vw, 250px);
  --cfp-card-height: clamp(370px, 26vw, 420px);
  --cfp-card-bg: var(--wec-block-forest);
  --cfp-card-rotate: 13deg;
  --cfp-icon-width: 44%;
  --deal-x: 20px;
  --deal-y: 145px;
  --deal-delay: 660ms;
  left: 80%;
  bottom: -14px;
  z-index: 6;
}

.cfp-bg-card--tree .cfp-bg-card__icon {
  opacity: 0.84;
}

.cfp-bg-card--food {
  --cfp-card-width: clamp(195px, 13.5vw, 215px);
  --cfp-card-height: clamp(235px, 17vw, 260px);
  --cfp-card-bg: var(--wec-block-muted-khaki);
  --cfp-card-rotate: 3deg;
  --cfp-card-shadow: 0 8px 22px rgba(31, 43, 31, 0.035);
  --cfp-icon-width: 52%;
  --deal-x: 24px;
  --deal-y: 145px;
  --deal-delay: 760ms;
  left: 89%;
  bottom: -45px;
  z-index: 9;
}

#conference-theme,
#submission-protocols,
#important-dates,
.wec-simple-item {
  scroll-margin-top: 90px;
}

.wec-cfp-anchor-nav {
  position: relative;
  z-index: 4;
  background: var(--color-page-paper);
}

.wec-cfp-anchor-nav__inner {
  width: min(720px, calc(100% - clamp(56px, 12vw, 220px)));
  min-height: clamp(58px, 4.8vw, 70px);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(18px, 2.4vw, 34px);
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.wec-cfp-anchor-nav__inner::-webkit-scrollbar {
  width: 0;
  height: 0;
}

.wec-cfp-anchor-nav a {
  flex: 0 0 auto;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(17px, 1.22vw, 20px);
  line-height: 1.2;
  font-weight: 500;
  letter-spacing: 0;
  color: var(--color-ink);
  opacity: 0.82;
  text-decoration: none;
  transition:
    opacity 0.2s ease,
    transform 0.2s ease;
}

.wec-cfp-anchor-nav a:hover {
  opacity: 1;
  transform: translateY(-1px);
}

.wec-cfp-anchor-nav__separator {
  flex: 0 0 auto;
  width: 1px;
  height: 14px;
  background: rgba(16, 41, 26, 0.16);
}

@keyframes cfpDealCard {
  0% {
    opacity: 0;
    transform: translate(var(--deal-x, 0), var(--deal-y, 140px)) scale(0.94);
  }

  72% {
    opacity: 1;
    transform: translate(0, -6px) scale(1.005);
  }

  100% {
    opacity: 1;
    transform: translate(0, 0) scale(1);
  }
}

.wec-cfp-reading {
  position: relative;
  z-index: 3;
  margin-top: -24px;
  padding: clamp(68px, 8vw, 110px) 0 clamp(76px, 9vw, 118px);
  background: var(--color-page-paper);
}

.wec-cfp-reading-inner {
  width: min(1180px, calc(100% - clamp(40px, 8vw, 140px)));
  margin: 0 auto;
}

.wec-cfp-prose {
  display: grid;
  grid-template-columns: minmax(230px, 0.34fr) minmax(0, 0.66fr);
  gap: clamp(42px, 6vw, 78px);
  align-items: start;
}

.wec-cfp-prose + .wec-cfp-prose {
  margin-top: clamp(66px, 8vw, 102px);
}

.wec-cfp-prose h2,
.wec-cfp-dates-heading h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 3.2vw, 54px);
  line-height: 1.06;
  letter-spacing: 0;
  font-weight: 500;
  color: var(--color-ink);
}

.wec-cfp-prose-copy {
  max-width: 760px;
}

.wec-cfp-prose-copy p {
  margin: 0;
  font-size: clamp(17px, 1.25vw, 19px);
  line-height: 1.72;
  color: rgba(16, 41, 26, 0.78);
}

.wec-cfp-prose-copy p + p {
  margin-top: 24px;
}

.wec-cfp-reveal {
  opacity: 0.82;
  transform: translateY(18px);
  transition:
    opacity 0.78s ease,
    transform 0.78s ease;
  transition-delay: var(--reveal-delay, 0ms);
}

.wec-cfp-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.wec-cfp-dates-section {
  --wec-block-khaki: var(--color-khaki);
  --wec-block-sage: var(--color-sage);
  --wec-block-forest: var(--color-forest);
  --wec-block-cream: var(--color-cream);
  --wec-block-rust: var(--color-rust);
  --wec-block-pale: var(--color-pale);
  --wec-block-olive: var(--color-olive);
  --wec-block-muted-khaki: var(--color-muted-khaki);
  position: relative;
  overflow: hidden;
  padding: clamp(72px, 8vw, 112px) 0;
  background: var(--color-warm-paper);
  color: var(--color-ink);
}

.wec-cfp-dates-inner {
  position: relative;
  z-index: 1;
  width: min(1380px, calc(100% - clamp(40px, 8vw, 140px)));
  margin: 0 auto;
}

.wec-cfp-dates-heading {
  max-width: none;
  margin-bottom: clamp(28px, 3.2vw, 44px);
  padding: 0 0 clamp(22px, 2.6vw, 34px);
  border-bottom: 1px solid rgba(16, 41, 26, 0.22);
}

.wec-cfp-dates-heading h2 {
  color: var(--color-ink);
}

.wec-deadline-time {
  display: inline-block;
  font: 600 12px/1.5 var(--font-body);
  white-space: nowrap;
}
@media (max-width: 1180px) {
  .wec-cfp-main .wec-cfp-hero {
    min-height: clamp(540px, 68svh, 660px);
    padding: clamp(64px, 9vh, 96px) 0 clamp(210px, 26vh, 270px);
  }

  .cfp-bg-card {
    transform: rotate(var(--cfp-card-rotate)) scale(0.78);
    transform-origin: 50% 84%;
  }

  .cfp-bg-card--water {
    left: -8%;
    bottom: -54px;
  }

  .cfp-bg-card--mountain {
    left: 8%;
    bottom: -62px;
  }

  .cfp-bg-card--labor {
    left: 28%;
    bottom: -78px;
  }

  .cfp-bg-card--land {
    left: 40%;
    bottom: -30px;
  }

  .cfp-bg-card--factory {
    left: 54%;
    bottom: -58px;
  }

  .cfp-bg-card--energy {
    left: 68%;
    bottom: -34px;
  }

  .cfp-bg-card--tree {
    left: 79%;
    bottom: -58px;
  }

  .cfp-bg-card--food {
    left: 90%;
    bottom: -72px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cfp-bg-card__surface,
  .wec-cfp-reveal,
  .wec-cfp-registration {
    animation: none;
    transition: none;
  }

  .cfp-bg-card__surface {
    opacity: 1;
    transform: none;
  }

  .wec-cfp-reveal {
    opacity: 1;
    transform: none;
  }
}

@media (max-width: 980px) {
  .wec-cfp-main .wec-cfp-hero {
    min-height: clamp(520px, 62svh, 620px);
    padding: 64px 0 220px;
  }

  .wec-cfp-main .wec-cfp-hero-inner {
    width: calc(100% - 44px);
  }

  .wec-cfp-prose {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .wec-cfp-prose-copy {
    max-width: 860px;
  }

  .wec-cfp-dates-inner {
    width: calc(100% - 44px);
  }

  .wec-cfp-dates-heading {
    max-width: none;
  }

  .cfp-bg-card {
    transform: rotate(var(--cfp-card-rotate)) scale(0.72);
  }
}

@media (max-width: 767px) {
  .wec-cfp-anchor-nav__inner {
    width: 100%;
    min-height: 64px;
    padding: 0 clamp(20px, 6vw, 32px);
    justify-content: flex-start;
    gap: 20px;
  }

  .wec-cfp-anchor-nav a {
    font-size: clamp(14px, 3.7vw, 16px);
  }

  .wec-cfp-anchor-nav__separator {
    height: 14px;
  }

  .wec-cfp-dates-inner {
    width: calc(100% - 44px);
  }

  .cfp-bg-cards {
    inset: auto 0 0;
    height: clamp(250px, 42svh, 330px);
  }

  .cfp-bg-card {
    transform: rotate(var(--cfp-card-rotate)) scale(1);
    transform-origin: 50% 86%;
  }

  .cfp-bg-card--mountain,
  .cfp-bg-card--labor,
  .cfp-bg-card--land,
  .cfp-bg-card--energy,
  .cfp-bg-card--food {
    display: block;
  }

  .cfp-bg-card--water {
    --cfp-card-width: clamp(128px, 36vw, 164px);
    --cfp-card-height: clamp(166px, 47vw, 212px);
    left: -16%;
    right: auto;
    bottom: 34px;
  }

  .cfp-bg-card--mountain {
    --cfp-card-width: clamp(132px, 38vw, 174px);
    --cfp-card-height: clamp(156px, 45vw, 198px);
    left: 6%;
    right: auto;
    bottom: 24px;
  }

  .cfp-bg-card--labor {
    --cfp-card-width: clamp(102px, 30vw, 136px);
    --cfp-card-height: clamp(128px, 37vw, 164px);
    left: 25%;
    right: auto;
    bottom: 8px;
  }

  .cfp-bg-card--land {
    --cfp-card-width: clamp(112px, 32vw, 146px);
    --cfp-card-height: clamp(138px, 39vw, 174px);
    left: 39%;
    right: auto;
    bottom: 54px;
  }

  .cfp-bg-card--factory {
    --cfp-card-width: clamp(130px, 37vw, 172px);
    --cfp-card-height: clamp(154px, 44vw, 200px);
    left: 51%;
    right: auto;
    bottom: 16px;
  }

  .cfp-bg-card--energy {
    --cfp-card-width: clamp(116px, 33vw, 150px);
    --cfp-card-height: clamp(150px, 42vw, 190px);
    left: 66%;
    right: auto;
    bottom: 44px;
  }

  .cfp-bg-card--tree {
    --cfp-card-width: clamp(122px, 35vw, 158px);
    --cfp-card-height: clamp(178px, 50vw, 230px);
    left: 77%;
    right: auto;
    bottom: 6px;
  }

  .cfp-bg-card--food {
    --cfp-card-width: clamp(98px, 28vw, 128px);
    --cfp-card-height: clamp(126px, 36vw, 158px);
    left: 88%;
    right: auto;
    bottom: 48px;
  }
}

@media (max-width: 620px) {
  .wec-cfp-main .wec-cfp-hero {
    min-height: clamp(380px, 50svh, 470px);
    padding: 32px 0 118px;
  }

  .cfp-bg-cards {
    height: clamp(170px, 28svh, 226px);
  }

  .cfp-bg-card--water {
    bottom: -52px;
  }

  .cfp-bg-card--mountain {
    bottom: -44px;
  }

  .cfp-bg-card--labor {
    bottom: -36px;
  }

  .cfp-bg-card--land {
    bottom: -26px;
  }

  .cfp-bg-card--factory {
    bottom: -42px;
  }

  .cfp-bg-card--energy {
    bottom: -30px;
  }

  .cfp-bg-card--tree {
    bottom: -58px;
  }

  .cfp-bg-card--food {
    bottom: -32px;
  }

  .wec-cfp-main .wec-cfp-hero-inner,
  .wec-cfp-reading-inner,
  .wec-cfp-dates-inner {
    width: calc(100% - 36px);
  }

  .wec-cfp-main .wec-cfp-title span:first-child {
    font-size: clamp(34px, 9.5vw, 44px);
  }

  .wec-cfp-main .wec-cfp-title span:last-child {
    margin-top: 8px;
    font-size: clamp(18px, 5.1vw, 24px);
  }

  .wec-cfp-subtitle {
    margin-top: 10px;
    font-size: 13px;
    line-height: 1.42;
  }

  .wec-cfp-registration {
    min-height: 32px;
    margin-top: 12px;
    padding: 0 18px;
    font-size: 10px;
  }

  .wec-cfp-reading {
    margin-top: -18px;
    padding: 64px 0 72px;
  }

  .wec-cfp-prose + .wec-cfp-prose {
    margin-top: 74px;
  }

  .wec-cfp-prose h2,
  .wec-cfp-dates-heading h2 {
    font-size: clamp(31px, 9vw, 42px);
  }

  .wec-cfp-prose-copy p {
    font-size: 16px;
    line-height: 1.68;
  }

  .wec-cfp-anchor-nav__inner {
    min-height: 58px;
    gap: 18px;
  }

  .wec-cfp-dates-section {
    padding: 68px 0 72px;
  }

  .wec-cfp-dates-heading {
    margin-bottom: 24px;
  }

}

@media (max-width: 460px) {
  .wec-cfp-anchor-nav__separator {
    display: none;
  }
}

/* =========================
   Useful Information
   ========================= */
.wec-simple-number {
  margin: 0 0 14px;
  font-family: var(--font-body);
  font-size: clamp(18px, 1.6vw, 26px);
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: rgba(112, 128, 66, 0.78);
}

.wec-useful-main .wec-cfp-reading {
  margin-top: 0;
  padding-top: clamp(76px, 8vw, 112px);
}

.wec-useful-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 14px;
  color: rgba(16, 41, 26, 0.78);
}

.wec-useful-list li {
  position: relative;
  padding-left: 24px;
  font-size: clamp(17px, 1.25vw, 19px);
  line-height: 1.68;
}

.wec-useful-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72em;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--wec-block-olive);
}

.wec-useful-list strong {
  color: var(--color-ink);
}

@media (max-width: 620px) {
  .wec-useful-main .wec-cfp-reading {
    padding-top: 64px;
  }

  .wec-simple-number {
    margin-bottom: 10px;
  }

  .wec-useful-list li {
    font-size: 16px;
    line-height: 1.64;
  }
}

/* =========================
   Committees Tabbed Redesign
   ========================= */
.wec-committees-page {
  min-height: 100vh;
  background: var(--color-warm-paper);
  color: var(--color-ink);
  font-family: var(--font-body);
}

.wec-committees-main {
  --wec-block-khaki: var(--color-khaki);
  --wec-block-sage: var(--color-sage);
  --wec-block-forest: var(--color-forest);
  --wec-block-cream: var(--color-cream);
  --wec-block-rust: var(--color-rust);
  --wec-block-pale: var(--color-pale);
  --wec-block-olive: var(--color-olive);
  --wec-block-muted-khaki: var(--color-muted-khaki);
  --committee-ink: var(--color-ink);
  --committee-paper: var(--color-warm-paper);
  min-height: calc(100vh - 40px);
  overflow: clip;
  background:
    radial-gradient(circle at 18% 24%, rgba(201, 191, 136, 0.16), transparent 31%),
    radial-gradient(circle at 86% 72%, rgba(132, 145, 135, 0.14), transparent 34%),
    var(--committee-paper);
}

.wec-committee-tabs {
  background: var(--color-warm-paper);
  border-bottom: 1px solid rgba(16, 41, 26, 0.13);
}

.wec-committee-tabs-inner {
  width: min(1200px, calc(100% - 88px));
  margin: 0 auto;
  display: flex;
  gap: 34px;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.wec-committee-tabs-inner::-webkit-scrollbar {
  display: none;
}

.wec-committee-tab {
  flex: 1 0 230px;
  min-width: 230px;
  margin: 0;
  padding: 21px 0 16px;
  border: 0;
  border-bottom: 2px solid transparent;
  appearance: none;
  display: flex;
  align-items: baseline;
  gap: 5px;
  background: transparent;
  color: rgba(16, 41, 26, 0.54);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition:
    color 240ms ease,
    border-color 240ms ease;
}

.wec-committee-tab:hover,
.wec-committee-tab:focus-visible {
  color: rgba(16, 41, 26, 0.82);
  outline: none;
}

.wec-committee-tab:focus-visible {
  border-bottom-color: rgba(16, 41, 26, 0.42);
}

.wec-committee-tab.is-active {
  color: var(--committee-ink);
  border-bottom-color: var(--committee-ink);
}

.wec-committee-tab-number {
  font-weight: 800;
  color: var(--wec-block-olive);
}

.wec-committee-tab-title {
  font-size: 0.92rem;
  line-height: 1.25;
  font-weight: 700;
}

.wec-committee-stage {
  padding: clamp(72px, 9vw, 132px) 0 clamp(96px, 10vw, 148px);
}

.wec-committee-stage-inner {
  width: min(1280px, calc(100% - 88px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(310px, 0.42fr) minmax(0, 0.58fr);
  gap: clamp(54px, 8vw, 118px);
  align-items: start;
}

.wec-committee-current {
  position: sticky;
  top: 30px;
  padding-top: 8px;
}

.wec-committee-current-number {
  display: none;
}

.wec-committee-current h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.55rem, 3.4vw, 3.45rem);
  line-height: 1.06;
  letter-spacing: 0;
  font-weight: 700;
  color: var(--committee-ink);
}

.wec-committee-panel {
  position: relative;
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  overflow: visible;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  opacity: 1;
  transform: translateY(0);
  transition:
    opacity 340ms ease,
    transform 340ms ease;
}

.wec-committee-panel::before {
  content: none;
}

.wec-committee-panel.is-leaving {
  opacity: 0.24;
  transform: translateY(10px);
}

.wec-committee-panel.is-entering {
  opacity: 0;
  transform: translateY(-10px);
}

.wec-member-rows {
  display: grid;
  gap: clamp(32px, 5vw, 78px);
  padding: clamp(4px, 1vw, 12px) 0 0;
}

.wec-member-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  transform: none !important;
  will-change: auto;
}

.wec-member-entry {
  max-width: 760px;
  color: var(--committee-ink);
}

.wec-member-info {
  padding: 0;
}

.wec-member-name {
  margin: 0 0 12px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.22rem, 1.45vw, 1.58rem);
  line-height: 1.14;
  letter-spacing: 0;
  font-weight: 700;
  color: var(--committee-ink);
}



.wec-member-affiliation {
  margin: 0;
  max-width: 40em;
  font-size: clamp(1rem, 1.2vw, 1.18rem);
  line-height: 1.62;
  font-weight: 500;
  color: rgba(16, 41, 26, 0.74);
}

@media (min-width: 1680px) {
  .wec-committee-stage-inner {
    width: min(1960px, calc(100% - 112px));
  }
}

@media (max-width: 1180px) {
  .wec-committee-tabs-inner,
  .wec-committee-stage-inner {
    width: calc(100% - 64px);
  }

  .wec-committee-stage-inner {
    grid-template-columns: minmax(280px, 0.42fr) minmax(0, 0.58fr);
    gap: 42px;
  }

  .wec-committee-current {
    position: static;
    max-width: 560px;
    padding-top: 0;
  }

  .wec-committee-current h2 {
    font-size: clamp(2.4rem, 5.6vw, 3.25rem);
  }

  .wec-member-rows {
    gap: 52px;
    padding: 0;
  }
}

@media (max-width: 820px) {
  .wec-member-rows {
    gap: 44px;
    padding: 0;
  }

  .wec-committee-stage-inner {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .wec-committee-current {
    max-width: 720px;
  }

  .wec-committee-current h2 {
    font-size: clamp(2.35rem, 8vw, 3rem);
  }
}

@media (max-width: 640px) {
  .wec-committees-main {
    min-height: calc(100vh - 52px);
  }

  .wec-committee-tabs-inner,
  .wec-committee-stage-inner {
    width: calc(100% - 32px);
  }

  .wec-committee-tab {
    flex-basis: 250px;
    min-width: 250px;
  }

  .wec-committee-stage {
    padding: 54px 0 76px;
  }

  .wec-committee-current-number {
    display: none;
  }

  .wec-committee-current h2 {
    font-size: clamp(2.1rem, 9vw, 2.65rem);
  }

  .wec-member-row {
    gap: 18px;
  }

  .wec-member-rows {
    gap: 36px;
  }
}

@media (max-width: 460px) {
  .wec-committee-current h2 {
    font-size: 2.25rem;
  }

  .wec-member-name {
    font-size: 1.16rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .wec-committee-panel,
  .wec-member-entry {
    transition: none;
  }

  .wec-member-row {
    --row-scroll-offset: 0px !important;
    transform: translate3d(0, 0, 0);
    will-change: auto;
  }

}

/* Half-screen hero shared by Program, Scholarships and Useful Information. */
:is(.wec-simple-main, .wec-useful-main) .wec-cfp-hero {
  height: 50svh;
  min-height: 0;
  padding-bottom: 0;
  display: grid;
  grid-template-rows: auto 1fr;
  align-content: start;
}

:is(.wec-simple-main, .wec-useful-main) .wec-cfp-hero-inner {
  grid-area: 1 / 1;
}

:is(.wec-simple-main, .wec-useful-main) .cfp-bg-cards {
  position: relative;
  inset: auto;
  grid-area: 2 / 1;
  height: 280px;
  margin-top: 20px;
}

@media (max-width: 1180px) {
  :is(.wec-simple-main, .wec-useful-main) .cfp-bg-cards {
    height: 210px;
  }
}

@media (max-width: 980px) {
  :is(.wec-simple-main, .wec-useful-main) .cfp-bg-cards {
    height: 190px;
  }
}

@media (max-width: 767px) {
  :is(.wec-simple-main, .wec-useful-main) .cfp-bg-cards {
    height: 280px;
  }
}

@media (max-width: 620px) {
  :is(.wec-simple-main, .wec-useful-main) .cfp-bg-cards {
    height: 200px;
  }
}

/* Lower the middle cards to frame the copy on narrow screens. */
@media (max-width: 767px) {
  :is(.wec-simple-main, .wec-useful-main) .cfp-bg-card--water { bottom: 0; }
  :is(.wec-simple-main, .wec-useful-main) .cfp-bg-card--mountain { bottom: -34px; }
  :is(.wec-simple-main, .wec-useful-main) .cfp-bg-card--labor { bottom: -90px; }
  :is(.wec-simple-main, .wec-useful-main) .cfp-bg-card--land { bottom: -106px; }
  :is(.wec-simple-main, .wec-useful-main) .cfp-bg-card--factory { bottom: -86px; }
  :is(.wec-simple-main, .wec-useful-main) .cfp-bg-card--energy { bottom: -30px; }
  :is(.wec-simple-main, .wec-useful-main) .cfp-bg-card--tree { bottom: 0; }
  :is(.wec-simple-main, .wec-useful-main) .cfp-bg-card--food { bottom: -25px; }
}

/* Scholarship deadline note and Welcome registration fees. */
.wec-dates-scholarship-note,
.wec-fees-notes {
  font-family: var(--font-body);
  font-size: clamp(13px, 1.05vw, 15px);
  line-height: 1.65;
  color: rgba(16, 41, 26, 0.72);
}

.wec-dates-scholarship-note { margin: 18px 0 0; }
.wec-fees-section { padding-top: 0; }
.wec-fees-table {
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0 14px;
  font-family: var(--font-body);
}
.wec-fees-table th,
.wec-fees-table td { padding: 28px 20px; text-align: center; }
.wec-fees-table tr > :first-child { width: 46%; text-align: left; }
.wec-fees-table thead th {
  padding-top: 0;
  padding-bottom: 6px;
  font-size: clamp(14px, 1.25vw, 18px);
  font-style: italic;
  font-weight: 650;
}
.wec-fees-table tbody tr {
  background: var(--wec-block-khaki);
  color: var(--color-ink);
  box-shadow: 0 14px 28px rgba(16, 41, 26, 0.12);
}
.wec-fees-table tbody tr:nth-child(2) { background: var(--wec-block-sage); color: var(--wec-block-pale); }
.wec-fees-table tbody tr:nth-child(3) { background: var(--wec-block-forest); color: var(--wec-block-pale); }
.wec-fees-table tbody tr:nth-child(4) { background: var(--wec-block-rust); color: var(--wec-block-pale); }
.wec-fees-table tbody tr:nth-child(5) { background: var(--wec-block-olive); color: var(--wec-block-pale); }
.wec-fees-table tbody th {
  padding-left: clamp(26px, 4.6vw, 70px);
  border-radius: 8px 0 0 8px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(20px, 2.05vw, 30px);
  line-height: 1.15;
  font-weight: 700;
}
.wec-fees-table tbody td {
  font-size: clamp(16px, 1.55vw, 24px);
  font-weight: 650;
  border-left: 1px solid rgba(245, 237, 207, 0.28);
}
.wec-fees-table tbody td:last-child { border-radius: 0 8px 8px 0; }
.wec-fees-notes { margin-top: 22px; }
.wec-fees-notes p { margin: 0; }
.wec-fees-notes p + p { margin-top: 10px; }
.wec-fees-notes a { color: inherit; text-underline-offset: 3px; overflow-wrap: anywhere; }
@media (max-width: 620px) {
  .wec-fees-table { border-spacing: 0 10px; }
  .wec-fees-table th,
  .wec-fees-table td { padding: 20px 8px; }
  .wec-fees-table tr > :first-child { width: 40%; }
  .wec-fees-table thead th { font-size: 12px; }
  .wec-fees-table tbody th { padding-left: 14px; font-size: 17px; }
  .wec-fees-table tbody td { font-size: 13px; overflow-wrap: anywhere; }
  .wec-fees-table tbody tr:nth-child(4) td:last-child { padding-inline: 4px; font-size: 11px; overflow-wrap: normal; }
}


/* Homepage opening: local display face, floating identity, persistent depth cards. */
@font-face {
  font-family: 'Archivo Black';
  src: url('assets/fonts/ArchivoBlack-Regular.ttf') format('truetype');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'Inter';
  src: url('assets/fonts/InterVariable.woff2') format('woff2');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
:root {
  --font-display: 'Archivo Black', sans-serif;
  --font-body: 'Inter', sans-serif;
  --color-ink: #10291a;
  --color-paper: #f2f0eb;
  --color-warm-paper: #f3eddc;
  --color-page-paper: #fbfaf4;
  --color-deep-green: #173d1f;
  --color-header-ink: #112719;
  --color-khaki: #c9bf88;
  --color-sage: #849187;
  --color-forest: #213f1b;
  --color-cream: #efe4be;
  --color-rust: #ad6547;
  --color-pale: #f5edcf;
  --color-olive: #708042;
  --color-muted-khaki: #d7cba5;
  --wec-block-khaki: var(--color-khaki);
  --wec-block-sage: var(--color-sage);
  --wec-block-forest: var(--color-forest);
  --wec-block-cream: var(--color-cream);
  --wec-block-rust: var(--color-rust);
  --wec-block-pale: var(--color-pale);
  --wec-block-olive: var(--color-olive);
  --wec-block-muted-khaki: var(--color-muted-khaki);
  --space-content-copy: 22px;
  --space-content-block: 24px;
  --space-control-block: 13px;
  --space-control-inline: 24px;
  --type-display: 400 clamp(68px, 7.4vw, 108px)/.88 var(--font-display);
  --type-page-title: 900 clamp(48px, 5vw, 76px)/.9 var(--font-display);
  --type-section-title: 400 clamp(38px, 4.8vw, 72px)/.96 var(--font-display);
  --type-subheading: 600 clamp(17px, 1.7vw, 24px)/1.35 var(--font-body);
  --type-body-large: 400 clamp(16px, 1.45vw, 21px)/1.6 var(--font-body);
  --type-body: 400 clamp(16px, 1.25vw, 19px)/1.64 var(--font-body);
  --type-small-meta: 600 clamp(11px, 1vw, 13px)/1.35 var(--font-body);
  --type-ui: 650 12px/1 var(--font-body);
}
.wec-home {
  --hero-paper: var(--color-paper);
  --wec-block-khaki: var(--color-khaki);
  --wec-block-sage: var(--color-sage);
  --wec-block-forest: var(--color-forest);
  --wec-block-cream: var(--color-cream);
  --wec-block-rust: var(--color-rust);
  --wec-block-pale: var(--color-pale);
  --wec-block-olive: var(--color-olive);
  --wec-block-muted-khaki: var(--color-muted-khaki);
  overflow-x: clip;
}
.wec-floating-header {
  position: fixed;
  inset: clamp(18px, 3vw, 40px) clamp(20px, 3.4vw, 50px) auto;
  z-index: 100;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  pointer-events: none;
}
.wec-floating-brand, .wec-menu-toggle { pointer-events: auto; }
.wec-floating-brand {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 10px 12px;
  border-radius: 4px;
  background: rgba(242, 240, 235, .68);
  text-decoration: none;
}
.wec-floating-brand img { display: block; object-fit: contain; }
.wec-floating-brand__wren { width: 116px; height: auto; }
.wec-floating-brand__conference { width: 43px; height: 43px; }
.wec-menu-toggle {
  width: 48px;
  height: 48px;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 5px;
  padding: 0;
  border: 1px solid rgba(16,41,26,.13);
  border-radius: 5px;
  color: var(--color-ink);
  background: rgba(242,240,235,.86);
  cursor: pointer;
}
.wec-menu-toggle span { width: 20px; height: 1px; background: currentColor; }
.wec-floating-brand:focus-visible, .wec-menu-toggle:focus-visible,
.wec-menu-dialog a:focus-visible, .wec-menu-close:focus-visible {
  outline: 2px solid var(--wec-block-olive);
  outline-offset: 5px;
}
@supports (backdrop-filter: blur(8px)) {
  .wec-floating-brand, .wec-menu-toggle { backdrop-filter: blur(8px); }
}
.wec-menu-dialog {
  position: fixed;
  inset: 0 0 0 auto;
  margin: 0;
  width: min(460px, 100%);
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  padding: 32px clamp(28px, 5vw, 64px);
  border: 0;
  color: var(--color-ink);
  background: var(--hero-paper);
}
.wec-menu-dialog::backdrop { background: transparent; }
.wec-menu-close {
  display: block;
  margin: 0 0 64px auto;
  padding: 12px 0 12px 16px;
  border: 0;
  background: none;
  color: inherit;
  font: 500 12px/1.3 var(--font-body);
  cursor: pointer;
}
.wec-menu-dialog nav { display: flex; flex-direction: column; gap: 22px; }
.wec-menu-dialog a {
  width: fit-content;
  color: inherit;
  font: 400 clamp(22px, 3vw, 28px)/1.25 var(--font-body);
  text-decoration: none;
}
.wec-menu-dialog a:hover, .wec-menu-dialog a[aria-current='page'] {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 7px;
}
html.wec-menu-open { overflow: hidden; }
html.wec-menu-open body { overflow: hidden; }
.wec-home .wec-scroll-story {
  position: relative;
  isolation: isolate;
  width: 100%;
  background: var(--hero-paper);
}
.wec-home .wec-spots-hero {
  position: sticky;
  top: 0;
  z-index: 0;
  isolation: isolate;
  overflow: hidden;
  min-height: 100vh;
  min-height: 100svh;
  height: 100svh;
  display: grid;
  place-items: center;
  padding: 110px 24px;
  background: var(--hero-paper);
  color: var(--color-ink);
}
.wec-home .wec-spots-inner {
  position: relative;
  z-index: 2;
  width: fit-content;
  max-width: 100%;
  text-align: center;
  transform: translateY(-2vh);
  pointer-events: none;
}
.wec-home .wec-hero-eyebrow {
  margin: 0 0 26px;
  font: 500 12px/1.4 var(--font-body);
  letter-spacing: .14em;
  text-transform: uppercase;
}
.wec-home .wec-spots-title {
  margin: 0;
  font: var(--type-display);
  letter-spacing: -.055em;
  color: var(--color-ink);
}
.wec-home .wec-spots-title span { display: block; }
.wec-home .wec-hero-meta {
  margin: 30px 0 0;
  font: 500 12px/1.8 var(--font-body);
  letter-spacing: .1em;
  text-transform: uppercase;
}
.wec-home .wec-hero-meta span { display: block; }
.wec-home .hero-depth-field {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  contain: layout paint;
}
.wec-home .hero-depth-card {
  position: absolute;
  left: 0;
  top: 0;
  display: grid;
  place-items: center;
  border-radius: 2px;
  background: var(--depth-color);
  transform-origin: center;
  visibility: hidden;
  will-change: transform, opacity;
}
.wec-home .hero-depth-card[hidden] { display: none; }
.wec-home .hero-depth-card img {
  width: var(--depth-icon-size, 88%);
  height: auto;
  display: block;
  pointer-events: none;
  user-select: none;
}
.wec-home .wec-scroll-panel {
  position: relative;
  z-index: 2;
  width: 100%;
  min-height: 100vh;
  min-height: 100svh;
  display: grid;
  place-items: center;
  padding: clamp(120px, 14vh, 180px) clamp(24px, 8vw, 128px);
  overflow: hidden;
}
.wec-home .wec-scroll-panel--cfp {
  position: sticky;
  top: 0;
  z-index: 2;
  color: var(--color-ink);
  background: var(--wec-block-khaki);
}
.wec-home .wec-scroll-panel--scholarships {
  z-index: 3;
  color: var(--wec-block-pale);
  background: var(--wec-block-forest);
}
.wec-home .wec-scroll-panel__inner {
  width: min(1120px, 100%);
  text-align: center;
}
.wec-home .wec-scroll-panel h2 {
  max-width: 1080px;
  margin: 0 auto;
  font: 400 clamp(48px, 6.2vw, 94px)/.96 var(--font-display);
  letter-spacing: -.05em;
  text-wrap: balance;
}
.wec-home .wec-scroll-panel__intro {
  max-width: 760px;
  margin: clamp(34px, 5vh, 58px) auto 0;
  font: var(--type-subheading);
  text-wrap: balance;
}
.wec-home .wec-scroll-panel__body {
  max-width: 860px;
  margin: var(--space-content-block) auto 0;
  font: var(--type-body-large);
  text-wrap: balance;
}
.wec-home .wec-scroll-panel__body strong { font-weight: 750; }
.wec-home .wec-scroll-panel__body strong span { white-space: nowrap; }
.wec-content-cta,
.wec-cfp-page .wec-content-cta,
.wec-announcement .wec-content-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  margin-top: clamp(34px, 5vh, 54px);
  padding: var(--space-control-block) var(--space-control-inline);
  border: 1px solid currentColor;
  border-radius: 4px;
  color: inherit;
  background: transparent;
  font: var(--type-ui);
  letter-spacing: .11em;
  text-transform: uppercase;
  text-decoration: none;
  transition: color .2s ease, background-color .2s ease;
}
.wec-home .wec-scroll-panel--cfp .wec-scroll-panel__button:hover,
.wec-home .wec-scroll-panel--cfp .wec-scroll-panel__button:focus-visible {
  color: var(--wec-block-pale);
  background: var(--wec-block-forest);
}
.wec-home .wec-scroll-panel--scholarships .wec-scroll-panel__button:hover,
.wec-home .wec-scroll-panel--scholarships .wec-scroll-panel__button:focus-visible {
  color: var(--wec-block-forest);
  background: var(--wec-block-pale);
}
.wec-home .wec-scroll-panel__button:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 5px;
}
@media (max-width: 1100px) {
  .wec-home .wec-spots-title { font-size: clamp(58px, 8vw, 84px); }
}
@media (max-width: 620px) {
  .wec-floating-header { inset: 18px 18px auto; }
  .wec-floating-brand { gap: 12px; padding: 7px 8px; }
  .wec-floating-brand__wren { width: 87px; }
  .wec-floating-brand__conference { width: 33px; height: 33px; }
  .wec-menu-toggle { width: 44px; height: 44px; }
  .wec-home .wec-spots-hero { min-height: 100svh; padding: 100px 20px; }
  .wec-home .wec-spots-title { font-size: clamp(43px, 11.5vw, 62px); letter-spacing: -.055em; }
  .wec-home .wec-hero-eyebrow { font-size: 11px; margin-bottom: 22px; }
  .wec-home .wec-hero-meta { font-size: 11px; margin-top: 24px; }
  .wec-home .wec-scroll-panel { padding: 112px 22px 80px; }
  .wec-home .wec-scroll-panel h2 { font-size: clamp(38px, 10.4vw, 54px); line-height: .98; }
  .wec-home .wec-scroll-panel__intro { margin-top: 30px; font-size: 17px; }
  .wec-home .wec-scroll-panel__body { margin-top: 20px; font-size: 15px; line-height: 1.55; }
  .wec-home .wec-scroll-panel__button { margin-top: 30px; }
}
@media (prefers-reduced-motion: reduce) {
  .wec-home .hero-depth-card { will-change: auto; }
  .wec-home .wec-scroll-panel__button { transition: none; }
}

/* Homepage editorial index: Important Dates and Registration Fees scroll normally. */
.wec-home .wec-index-story {
  position: relative;
  isolation: isolate;
  width: 100%;
  background: var(--hero-paper);
}
.wec-home #important-dates {
  position: relative;
  top: auto;
  z-index: 0;
  box-sizing: border-box;
  height: auto;
  min-height: 100vh;
  min-height: 100svh;
  padding: clamp(50px, 5.5vh, 68px) 0 clamp(30px, 4vh, 46px);
  background: var(--wec-block-cream);
  color: var(--color-ink);
}
.wec-home #important-dates .wec-cfp-dates-inner,
.wec-home .wec-fees-section .wec-cfp-dates-inner {
  width: min(1600px, calc(100% - clamp(40px, 8vw, 128px)));
}
.wec-home #important-dates .wec-cfp-dates-inner {
  height: auto;
  min-height: calc(100svh - clamp(80px, 9.5vh, 114px));
  display: grid;
  grid-template-rows: auto auto;
}
.wec-home #important-dates .wec-cfp-dates-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 520px);
  gap: clamp(28px, 6vw, 100px);
  align-items: end;
  margin: 0 0 clamp(32px, 4vh, 48px);
  padding: 0;
  border: 0;
}
.wec-home #important-dates .wec-cfp-dates-heading h2,
.wec-home .wec-fees-section .wec-cfp-dates-heading h2 {
  font: 400 clamp(46px, 5.8vw, 84px)/.88 var(--font-display);
  letter-spacing: -.055em;
  color: inherit;
}
.wec-home #important-dates .wec-dates-scholarship-note {
  min-width: 0;
  margin: 0;
  color: rgba(16, 41, 26, .72);
  font-size: clamp(13px, 1.05vw, 16px);
  line-height: 1.5;
}
.wec-home .wec-dates-list {
  min-height: 0;
  display: grid;
  grid-template-rows: repeat(9, minmax(0, 1fr));
  border-top: 1px solid rgba(16, 41, 26, .28);
}
.wec-home .wec-date-row {
  --row-hover: var(--wec-block-khaki);
  --row-hover-ink: var(--color-ink);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 38%);
  gap: clamp(30px, 6vw, 100px);
  align-items: center;
  box-sizing: border-box;
  min-height: clamp(40px, 4.5vh, 52px);
  padding: clamp(4px, .55vh, 7px) clamp(12px, 1.4vw, 22px);
  border-bottom: 1px solid rgba(16, 41, 26, .24);
  color: inherit;
  background: transparent;
  text-decoration: none;
  transition: color .18s ease, background-color .18s ease;
}
.wec-home .wec-date-row:nth-child(2) { --row-hover: var(--wec-block-sage); --row-hover-ink: var(--wec-block-pale); }
.wec-home .wec-date-row:nth-child(3) { --row-hover: var(--wec-block-muted-khaki); --row-hover-ink: var(--color-ink); }
.wec-home .wec-date-row:nth-child(4) { --row-hover: var(--wec-block-olive); --row-hover-ink: var(--wec-block-pale); }
.wec-home .wec-date-row:nth-child(5) { --row-hover: var(--wec-block-cream); --row-hover-ink: var(--color-ink); }
.wec-home .wec-date-row:nth-child(6) { --row-hover: var(--wec-block-forest); --row-hover-ink: var(--wec-block-pale); }
.wec-home .wec-date-row:nth-child(7) { --row-hover: var(--wec-block-muted-khaki); --row-hover-ink: var(--color-ink); }
.wec-home .wec-date-row:nth-child(8) { --row-hover: var(--wec-block-rust); --row-hover-ink: var(--wec-block-pale); }
.wec-home .wec-date-row:nth-child(9) { --row-hover: var(--wec-block-sage); --row-hover-ink: var(--wec-block-pale); }
.wec-home .wec-date-row h3,
.wec-home .wec-date-row p {
  margin: 0;
  color: inherit;
  transition: transform .18s ease;
}
.wec-home .wec-date-row h3 {
  font: 500 clamp(17px, 1.55vw, 24px)/1.08 var(--font-body);
  letter-spacing: -.035em;
}
.wec-home .wec-date-row p {
  min-width: 0;
  width: 100%;
  max-width: 520px;
  justify-self: end;
  text-align: right;
  overflow-wrap: anywhere;
  font: 500 clamp(13px, 1vw, 16px)/1.2 var(--font-body);
  letter-spacing: -.02em;
}
.wec-home .wec-date-row small {
  display: block;
  margin-top: 3px;
  color: inherit;
  font: 600 11px/1.25 var(--font-body);
  letter-spacing: .04em;
}
.wec-home a.wec-date-row h3::after {
  content: '↗';
  display: inline-block;
  margin-left: .45em;
  opacity: 0;
  transform: translateX(-5px);
  transition: opacity .18s ease, transform .18s ease;
}
.wec-home .wec-date-row:hover,
.wec-home .wec-date-row:focus-visible {
  color: var(--row-hover-ink);
  background: var(--row-hover);
}
.wec-home .wec-date-row:hover h3,
.wec-home .wec-date-row:focus-visible h3 { transform: translateX(5px); }
.wec-home .wec-date-row:hover p,
.wec-home .wec-date-row:focus-visible p { transform: translateX(-3px); }
.wec-home a.wec-date-row:hover h3::after,
.wec-home a.wec-date-row:focus-visible h3::after {
  opacity: 1;
  transform: translateX(0);
}
.wec-home a.wec-date-row:focus-visible {
  outline: 2px solid var(--color-ink);
  outline-offset: -2px;
}
.wec-home .wec-fees-section {
  position: relative;
  z-index: 2;
  min-height: 100vh;
  min-height: 100svh;
  display: grid;
  align-items: center;
  padding: clamp(100px, 13vh, 156px) 0;
  color: var(--color-ink);
  background: var(--hero-paper);
}
.wec-home .wec-fees-section .wec-cfp-dates-heading {
  margin: 0 0 clamp(54px, 8vh, 92px);
  padding: 0;
  border: 0;
}
.wec-home .wec-fees-section .wec-cfp-dates-heading h2 { color: inherit; }
.wec-home .wec-fees-table {
  border-collapse: collapse;
  border-spacing: 0;
  color: inherit;
  background: transparent;
}
.wec-home .wec-fees-table th,
.wec-home .wec-fees-table td {
  padding: clamp(18px, 2.5vh, 30px) clamp(10px, 2vw, 30px);
  border: 0;
  border-bottom: 1px solid rgba(16, 41, 26, .28);
  color: inherit;
  background: transparent;
  text-align: right;
}
.wec-home .wec-fees-table thead th {
  padding-top: 0;
  font: 650 clamp(11px, .95vw, 14px)/1.2 var(--font-body);
  font-style: normal;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.wec-home .wec-fees-table tbody tr {
  color: inherit;
  background: transparent;
  box-shadow: none;
}
.wec-home .wec-fees-table tbody th {
  padding-left: 0;
  border-radius: 0;
  font: 500 clamp(20px, 2vw, 31px)/1.15 var(--font-body);
  letter-spacing: -.03em;
}
.wec-home .wec-fees-table tbody td {
  border-left: 0;
  border-radius: 0;
  font: 500 clamp(17px, 1.55vw, 24px)/1.2 var(--font-body);
}
.wec-home .wec-fees-notes {
  max-width: 900px;
  margin-top: clamp(28px, 4vh, 48px);
  color: rgba(16, 41, 26, .72);
}
@media (max-width: 767px) {
  .wec-home #important-dates { padding: 52px 0 28px; }
  .wec-home #important-dates .wec-cfp-dates-inner,
  .wec-home .wec-fees-section .wec-cfp-dates-inner { width: calc(100% - 32px); }
  .wec-home #important-dates .wec-cfp-dates-heading { grid-template-columns: 1fr; gap: 8px; margin-bottom: 24px; }
  .wec-home #important-dates .wec-cfp-dates-heading h2,
  .wec-home .wec-fees-section .wec-cfp-dates-heading h2 { font-size: clamp(36px, 10vw, 48px); }
  .wec-home .wec-date-row {
    grid-template-columns: minmax(0, 1fr) minmax(112px, 43%);
    gap: 10px;
    min-height: 45px;
    padding: 5px 6px;
  }
  .wec-home .wec-date-row h3 { font-size: clamp(12px, 3.3vw, 14px); line-height: 1.05; }
  .wec-home .wec-date-row p { font-size: 11px; line-height: 1.2; }
  .wec-home .wec-date-row small { font-size: 11px; }
  .wec-home .wec-fees-section { padding: 104px 0 80px; }
  .wec-home .wec-fees-section .wec-cfp-dates-heading { margin-bottom: 46px; }
  .wec-home .wec-fees-table th,
  .wec-home .wec-fees-table td { padding: 18px 6px; }
  .wec-home .wec-fees-table tr > :first-child { width: 42%; }
  .wec-home .wec-fees-table thead th { font-size: 11px; letter-spacing: .04em; }
  .wec-home .wec-fees-table tbody th { padding-left: 0; font-size: 16px; }
  .wec-home .wec-fees-table tbody td { font-size: 13px; overflow-wrap: anywhere; }
  .wec-home .wec-fees-table tbody tr:nth-child(4) td:last-child { padding-inline: 2px; font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .wec-home .wec-date-row,
  .wec-home .wec-date-row h3,
  .wec-home .wec-date-row p,
  .wec-home a.wec-date-row h3::after { transition: none; }
}

/* Shared floating header on all inner pages. */
.wec-global-header-enabled {
  --hero-paper: var(--color-paper);
  overflow-x: clip;
}
.wec-global-header-enabled > .wec-site-header,
.wec-global-header-enabled > .wec-mobile-header { display: none !important; }

/* Useful Information: pill navigation with one spacious content panel. */
body.wec-useful-page,
.wec-useful-page .wec-useful-main,
.wec-useful-page .wec-useful-reading { background: var(--hero-paper); }
body.wec-useful-page .wec-useful-main .wec-cfp-hero {
  height: auto;
  min-height: 0;
  display: block;
  padding: clamp(190px, 23vh, 250px) 0 clamp(100px, 13vh, 150px);
  background: var(--hero-paper);
}
.wec-useful-page .wec-cfp-hero .cfp-bg-cards { display: none; }
.wec-useful-page .wec-cfp-hero-inner { width: min(1320px, calc(100% - clamp(40px, 8vw, 128px))); }
.wec-useful-page .wec-cfp-hero-copy {
  max-width: 1180px;
  margin: 0 auto;
  text-align: center;
}
.wec-useful-page .wec-cfp-main .wec-cfp-title {
  margin: 0;
  color: var(--color-ink);
}
.wec-useful-page .wec-cfp-title > span { display: block; }
.wec-useful-page .wec-cfp-main .wec-cfp-title > span:last-child {
  max-width: none;
  margin: 0;
  font: 400 clamp(64px, 8.6vw, 124px)/.9 var(--font-display);
  letter-spacing: -.055em;
}
.wec-useful-page .wec-cfp-reading.wec-useful-reading {
  margin: 0;
  padding: 0 0 clamp(100px, 13vh, 160px);
  background: var(--hero-paper);
}
.wec-useful-page .wec-cfp-reading-inner { width: min(1320px, calc(100% - clamp(40px, 8vw, 128px))); }
.wec-useful-tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin: 0 auto clamp(72px, 9vh, 110px);
}
.wec-useful-tabs button {
  min-height: 34px;
  padding: 7px 14px;
  border: 1px solid rgba(16, 41, 26, .2);
  border-radius: 999px;
  color: var(--color-ink);
  background: transparent;
  font: 500 11.5px/1.2 var(--font-body);
  letter-spacing: .015em;
  cursor: pointer;
  transition: color .18s ease, background-color .18s ease, border-color .18s ease;
}
.wec-useful-tabs button:hover { background: var(--wec-block-cream, var(--color-cream)); }
.wec-useful-tabs button[aria-selected='true'] {
  border-color: var(--wec-block-forest, var(--color-forest));
  color: var(--wec-block-pale, var(--color-pale));
  background: var(--wec-block-forest, var(--color-forest));
}
.wec-useful-tabs button:focus-visible { outline: 2px solid var(--wec-block-olive, var(--color-olive)); outline-offset: 4px; }
.wec-useful-guide.is-tabs-ready .wec-guide-item {
  border: 0 !important;
  background: transparent;
}
.wec-useful-guide.is-tabs-ready .wec-guide-item > summary { display: none; }
.wec-useful-guide.is-tabs-ready .wec-guide-content {
  max-width: 1060px;
  margin: 0 auto;
  padding: 0;
  color: rgba(16, 41, 26, .8);
}
.wec-useful-guide.is-tabs-ready .wec-guide-item.is-active .wec-guide-content {
  animation: wecUsefulTabReveal .2s ease-out;
}
.wec-useful-guide.is-tabs-ready .wec-guide-media {
  border: 0;
  border-radius: 0;
  background: transparent;
}
.wec-useful-guide.is-tabs-ready .travel-map-wrapper,
.wec-useful-guide.is-tabs-ready .venue-map-wrapper { border-radius: 0; }
@keyframes wecUsefulTabReveal {
  from { opacity: 0; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 767px) {
  body.wec-useful-page .wec-useful-main .wec-cfp-hero { padding: 142px 0 80px; }
  .wec-useful-page .wec-cfp-hero-inner,
  .wec-useful-page .wec-cfp-reading-inner { width: calc(100% - 32px); }
  .wec-useful-page .wec-cfp-main .wec-cfp-title > span:last-child { font-size: clamp(43px, 12vw, 58px); }
  .wec-useful-tabs { justify-content: center; gap: 7px; margin-bottom: 58px; }
  .wec-useful-tabs button { min-height: 32px; padding: 6px 12px; font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .wec-useful-tabs button { transition: none; }
  .wec-useful-guide.is-tabs-ready .wec-guide-item.is-active .wec-guide-content { animation: none; }
}

/* Shared inner-page system: Committees, Scholarships and Useful Information. */
.wec-shared-page {
  --wec-block-pale: var(--color-pale);
  --wec-block-cream: var(--color-cream);
  --wec-block-sage: var(--color-sage);
  --wec-block-rust: var(--color-rust);
  --wec-block-olive: var(--color-olive);
  --wec-block-forest: var(--color-forest);
  --wec-ink: var(--color-ink);
  background: var(--hero-paper, var(--color-paper));
}
.wec-shared-story {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 43%) minmax(0, 57%);
  align-items: start;
  min-height: 100svh;
  isolation: isolate;
}
.wec-shared-left,
.wec-shared-page--useful > .wec-shared-story > .wec-cfp-hero {
  position: sticky;
  top: 0;
  z-index: 1;
  box-sizing: border-box;
  height: 100vh;
  height: 100svh;
  min-height: 680px;
  overflow: visible;
  color: var(--wec-block-pale);
  background: var(--wec-block-olive);
}
.wec-shared-page--committees .wec-shared-left { background: var(--wec-block-sage); }
.wec-shared-page--scholarships .wec-shared-left { background: var(--wec-block-forest); }
body.wec-useful-page .wec-shared-page--useful > .wec-shared-story > .wec-cfp-hero { background: var(--wec-block-rust); }
.wec-shared-left__inner,
.wec-shared-page--useful .wec-cfp-hero-inner {
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(112px, 14vh, 164px) clamp(34px, 5vw, 76px) clamp(48px, 7vh, 82px);
}
.wec-shared-left h1,
.wec-shared-page--useful .wec-cfp-main .wec-cfp-title > span:last-child {
  max-width: 9ch;
  margin: 0;
  color: inherit;
  font: 400 clamp(54px, 5.4vw, 84px)/.88 var(--font-display);
  letter-spacing: -.06em;
}
.wec-shared-left__inner > p {
  max-width: 38ch;
  margin: clamp(22px, 3vh, 34px) 0 0;
  color: rgba(245, 237, 207, .82);
  font: 500 clamp(11px, .85vw, 14px)/1.5 var(--font-body);
  letter-spacing: .06em;
  text-transform: uppercase;
}
.wec-shared-right { min-width: 0; background: var(--hero-paper, var(--color-paper)); }
.wec-shared-visual {
  position: sticky;
  top: 0;
  z-index: 0;
  height: 100vh;
  height: 100svh;
  min-height: 680px;
  overflow: hidden;
}
.wec-shared-visual--mist,
.wec-shared-visual--forest,
.wec-shared-visual--rust { background: var(--hero-paper, var(--color-paper)); }
.wec-shared-content {
  position: relative;
  z-index: 2;
  min-height: 100svh;
  color: var(--wec-ink);
  background: var(--hero-paper, var(--color-paper));
}
.wec-shared-directory,
.wec-committee-tabs,
.wec-shared-page--useful .wec-useful-tabs {
  display: grid;
  gap: 0;
  width: 100%;
  margin: clamp(38px, 6vh, 64px) 0 0;
}
.wec-shared-page .wec-committee-tabs { border: 0; background: transparent; }
.wec-shared-directory a,
.wec-shared-page .wec-committee-tab,
.wec-shared-page--useful .wec-useful-tabs button {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  min-height: 0;
  padding: 13px 0;
  border: 0;
  border-top: 1px solid rgba(245, 237, 207, .28);
  border-radius: 0;
  color: rgba(245, 237, 207, .7);
  background: transparent;
  text-align: left;
  text-decoration: none;
  font: 500 clamp(11px, .88vw, 14px)/1.35 var(--font-body);
  letter-spacing: .015em;
  transition: color .18s ease, transform .18s ease;
}
.wec-shared-directory a:last-child,
.wec-shared-page .wec-committee-tab:last-child,
.wec-shared-page--useful .wec-useful-tabs button:last-child { border-bottom: 1px solid rgba(245, 237, 207, .28); }
.wec-shared-directory a:hover,
.wec-shared-page .wec-committee-tab:hover,
.wec-shared-page .wec-committee-tab.is-active,
.wec-shared-page--useful .wec-useful-tabs button:hover,
.wec-shared-page--useful .wec-useful-tabs button[aria-selected='true'] { color: var(--wec-block-pale); background: transparent; }
.wec-shared-page .wec-committee-tab.is-active,
.wec-shared-page--useful .wec-useful-tabs button[aria-selected='true'] { transform: translateX(5px); }
.wec-shared-page .wec-committee-tabs-inner { display: contents; }
.wec-shared-page .wec-committee-tab-number { font: inherit; }
.wec-shared-page .wec-committee-tab-title { font: inherit; }
.wec-shared-page .wec-committee-stage,
.wec-shared-page .wec-cfp-reading {
  margin: 0;
  padding: clamp(112px, 14vh, 164px) clamp(34px, 5vw, 76px) clamp(90px, 12vh, 150px);
  background: var(--hero-paper, var(--color-paper));
}
.wec-shared-page .wec-committee-stage-inner,
.wec-shared-page .wec-cfp-reading-inner { width: 100%; max-width: none; margin: 0; }
.wec-shared-page .wec-committee-current { margin-bottom: clamp(42px, 6vh, 72px); }
.wec-shared-page .wec-committee-current h2,
.wec-shared-page .wec-cfp-prose-heading h2 { font: var(--type-section-title); }
.wec-cfp-page .wec-shared-page--scholarships .wec-cfp-reading .wec-cfp-prose-heading { display: block; }
.wec-shared-page .wec-member-entry { grid-template-columns: 1fr; }

/* Useful Information uses its existing hero as the shared sticky left panel. */
body.wec-useful-page .wec-shared-page--useful > .wec-shared-story > .wec-cfp-hero {
  display: block;
  padding: 0;
  background: var(--wec-block-rust);
}
.wec-shared-page--useful .wec-cfp-hero .cfp-bg-cards { display: none; }
.wec-shared-page--useful .wec-cfp-hero-copy { max-width: none; margin: 0; text-align: left; }
.wec-shared-page--useful .wec-cfp-title { display: flex; flex-direction: column; color: var(--wec-block-pale); }
.wec-shared-page--useful .wec-useful-tabs { order: 3; justify-content: stretch; }
.wec-shared-page--useful .wec-useful-tabs button { width: 100%; }
.wec-shared-page--useful .wec-useful-reading { padding-bottom: clamp(90px, 12vh, 150px); }
.wec-shared-page--useful .wec-guide-content { max-width: none !important; }

/* Tablet/mobile dates: retain every row and let content define the height. */
@media (max-width: 1100px) {
  .wec-cfp-page .wec-cfp-dates-home-scope { margin-top: 0; }

  .wec-home #important-dates {
    position: relative;
    top: auto;
    height: auto;
    min-height: 100vh;
    min-height: 100svh;
    overflow: visible;
    padding: max(92px, 10svh) 0 54px;
  }
  .wec-home #important-dates .wec-cfp-dates-inner {
    height: auto;
    min-height: calc(100svh - 146px);
    grid-template-rows: auto auto;
  }
  .wec-home .wec-dates-list { display: block; min-height: 0; }
  .wec-home .wec-date-row {
    min-height: 0;
    padding: 18px 12px;
  }
  .wec-home .wec-date-row h3 { font-size: clamp(16px, 2.2vw, 22px); line-height: 1.15; }
  .wec-home .wec-date-row p { font-size: clamp(13px, 1.55vw, 16px); line-height: 1.3; }
  .wec-home .wec-date-row small { font-size: 11px; }
}

@media (max-width: 720px) {
  .wec-shared-story { display: block; }
  .wec-shared-left,
  .wec-shared-page--useful > .wec-shared-story > .wec-cfp-hero {
    position: relative;
    height: auto;
    min-height: 88svh;
  }
  .wec-shared-left__inner,
  .wec-shared-page--useful .wec-cfp-hero-inner {
    min-height: 88svh;
    padding: 132px 24px 54px;
  }
  .wec-shared-left h1,
  .wec-shared-page--useful .wec-cfp-main .wec-cfp-title > span:last-child { font-size: clamp(52px, 15vw, 74px); }
  .wec-shared-visual {
    position: relative;
    height: 58svh;
    min-height: 430px;
  }
  .wec-shared-page .wec-committee-stage,
  .wec-shared-page .wec-cfp-reading { padding: 88px 20px 100px; }
  .wec-shared-page--useful .wec-useful-tabs { margin-top: 34px; }
  .wec-home #important-dates .wec-cfp-dates-heading { gap: 18px; margin-bottom: 34px; }
  .wec-home .wec-date-row {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 17px 4px;
  }
  .wec-home .wec-date-row h3 { font-size: clamp(16px, 4.6vw, 20px); }
  .wec-home .wec-date-row p { justify-self: start; text-align: left; font-size: 13px; }
}

@media (prefers-reduced-motion: reduce) {
  .wec-shared-directory a,
  .wec-shared-page .wec-committee-tab,
  .wec-shared-page--useful .wec-useful-tabs button { transition: none; }
  html { scroll-behavior: auto; }
}

/* Align shared pages with the Call for Papers split, index and collage system. */
.wec-shared-story { grid-template-columns: minmax(390px, 43%) minmax(0, 57%); }
.wec-shared-left,
body.wec-useful-page .wec-shared-page--useful > .wec-shared-story > .wec-cfp-hero {
  z-index: 4;
  min-height: 620px;
  overflow: hidden;
}
.wec-shared-left__inner,
.wec-shared-page--useful .wec-cfp-hero-inner {
  justify-content: center;
  padding: clamp(104px, 13vh, 150px) clamp(34px, 5vw, 78px) clamp(48px, 8vh, 86px);
}
.wec-shared-left h1,
.wec-shared-page--useful .wec-cfp-main .wec-cfp-title > span:last-child {
  max-width: 100%;
  font: var(--type-page-title);
  letter-spacing: -.06em;
  text-wrap: balance;
  overflow-wrap: normal;
  word-break: normal;
}
body.wec-useful-page .wec-shared-page--useful .wec-cfp-title > span:last-child { color: var(--wec-block-pale); }
body.wec-useful-page .wec-cfp-main.wec-shared-page--useful .wec-cfp-hero-inner {
  width: 100%;
  max-width: none;
  margin: 0;
}
body.wec-useful-page .wec-cfp-main.wec-shared-page--useful .wec-cfp-hero-copy {
  width: 100%;
  max-width: none;
  margin: 0;
}
body.wec-useful-page .wec-cfp-main.wec-shared-page--useful .wec-cfp-title > span:last-child {
  max-width: 100%;
  color: var(--wec-block-pale);
  font: var(--type-page-title);
  letter-spacing: -.06em;
}
.wec-shared-left__inner > p {
  max-width: 34rem;
  margin-top: clamp(28px, 5vh, 52px);
  font-size: clamp(13px, 1.15vw, 17px);
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: .02em;
}
.wec-shared-directory,
.wec-committee-tabs,
.wec-shared-page--useful .wec-useful-tabs {
  gap: 13px;
  max-width: 330px;
  margin-top: clamp(36px, 6vh, 70px);
}
.wec-shared-directory a,
.wec-shared-page .wec-committee-tab,
.wec-shared-page--useful .wec-useful-tabs button {
  position: relative;
  grid-template-columns: 2.7em minmax(0, 1fr);
  gap: 10px;
  align-items: baseline;
  padding: 0 0 0 14px;
  border: 0;
  color: inherit;
  font-size: 12px;
  line-height: 1.35;
  letter-spacing: .04em;
  opacity: .6;
  transition: opacity 160ms ease, transform 160ms ease;
}
.wec-shared-directory a:last-child,
.wec-shared-page .wec-committee-tab:last-child,
.wec-shared-page--useful .wec-useful-tabs button:last-child { border: 0; }
.wec-shared-directory a::before,
.wec-shared-page .wec-committee-tab::before,
.wec-shared-page--useful .wec-useful-tabs button::before {
  content: '';
  position: absolute;
  left: 0;
  top: .45em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  opacity: 0;
  transform: scale(.5);
}
.wec-shared-directory a:hover,
.wec-shared-directory a:focus-visible,
.wec-shared-page .wec-committee-tab:hover,
.wec-shared-page .wec-committee-tab:focus-visible,
.wec-shared-page .wec-committee-tab.is-active,
.wec-shared-page--useful .wec-useful-tabs button:hover,
.wec-shared-page--useful .wec-useful-tabs button:focus-visible,
.wec-shared-page--useful .wec-useful-tabs button[aria-selected='true'] {
  color: inherit;
  opacity: 1;
  transform: translateX(3px);
}
.wec-shared-page .wec-committee-tab.is-active::before,
.wec-shared-page--useful .wec-useful-tabs button[aria-selected='true']::before { opacity: 1; transform: scale(1); }
.wec-shared-directory a > span:first-child,
.wec-shared-page .wec-committee-tab-number,
.wec-shared-page--useful .wec-useful-tabs button > span:first-child { opacity: .74; font-variant-numeric: tabular-nums; }

.wec-shared-visual {
  min-height: 620px;
  display: grid;
  place-items: center;
  isolation: isolate;
}
.wec-shared-visual .wec-cfp-visual-collage { position: relative; width: 80%; height: 80%; }
.wec-shared-visual .wec-cfp-visual-card {
  --intro-x: 0px;
  --intro-y: 0px;
  position: absolute;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: var(--card-color);
  opacity: 1;
  transform: translate(var(--intro-x), var(--intro-y)) rotate(var(--card-angle));
}
.wec-shared-visual.is-intro-running .wec-cfp-visual-card { transition: transform 1.15s cubic-bezier(.18, .82, .22, 1), opacity .85s ease; }
.wec-shared-visual.is-intro-start .wec-cfp-visual-card { opacity: 0; }
.wec-shared-visual .wec-cfp-visual-card img { display: block; width: var(--icon-size, 48%); height: auto; opacity: .78; }
.wec-shared-visual .wec-cfp-visual-card--water { --card-color: var(--wec-block-khaki, var(--color-khaki)); --card-angle: -1.5deg; --icon-size: 54%; width: 30%; height: 34%; left: 10%; top: 6%; }
.wec-shared-visual .wec-cfp-visual-card--mountain { --card-color: var(--wec-block-sage); --card-angle: 1deg; --icon-size: 58%; width: 30%; height: 32%; left: 36%; top: 18%; }
.wec-shared-visual .wec-cfp-visual-card--tree { --card-color: var(--wec-block-forest); --card-angle: 0deg; --icon-size: 50%; width: 25%; height: 42%; left: 63%; top: 5%; }
.wec-shared-visual .wec-cfp-visual-card--tree img { opacity: .9; }
.wec-shared-visual .wec-cfp-visual-card--factory { --card-color: var(--wec-block-rust); --card-angle: -.8deg; --icon-size: 52%; width: 30%; height: 33%; left: 47%; top: 52%; }
.wec-shared-visual .wec-cfp-visual-card--labor { --card-color: var(--wec-block-cream); --card-angle: 1.8deg; --icon-size: 48%; width: 26%; height: 31%; left: 20%; top: 45%; }
.wec-shared-visual .wec-cfp-visual-card--land { --card-color: var(--wec-block-pale); --card-angle: -1deg; --icon-size: 53%; width: 25%; height: 31%; left: 5%; top: 66%; }
.wec-shared-visual .wec-cfp-visual-card--energy { --card-color: var(--wec-block-olive); --card-angle: 1.2deg; --icon-size: 47%; width: 27%; height: 33%; left: 72%; top: 49%; }
.wec-shared-visual .wec-cfp-visual-card--food { --card-color: var(--wec-block-muted-khaki, #b6ad78); --card-angle: -1.6deg; --icon-size: 50%; width: 22%; height: 27%; left: 63%; top: 74%; }
.wec-shared-visual.is-intro-start .wec-cfp-visual-card--water { --intro-x: -260px; --intro-y: -110px; }
.wec-shared-visual.is-intro-start .wec-cfp-visual-card--mountain { --intro-x: -80px; --intro-y: -190px; }
.wec-shared-visual.is-intro-start .wec-cfp-visual-card--tree { --intro-x: 220px; --intro-y: -160px; }
.wec-shared-visual.is-intro-start .wec-cfp-visual-card--factory { --intro-x: -220px; --intro-y: 130px; }
.wec-shared-visual.is-intro-start .wec-cfp-visual-card--labor { --intro-x: 320px; --intro-y: -40px; }
.wec-shared-visual.is-intro-start .wec-cfp-visual-card--land { --intro-x: -80px; --intro-y: 210px; }
.wec-shared-visual.is-intro-start .wec-cfp-visual-card--energy { --intro-x: 150px; --intro-y: 190px; }
.wec-shared-visual.is-intro-start .wec-cfp-visual-card--food { --intro-x: 290px; --intro-y: 170px; }

/* Desktop section labels live in the fixed left directory, as on Call for Papers. */
.wec-shared-page--committees .wec-committee-current,
.wec-cfp-page .wec-shared-page--scholarships .wec-cfp-reading .wec-cfp-prose-heading { display: none; }

/* Keep the Useful Information title panel at the same full-viewport height as the other shared-page heroes. */
@media (min-width: 861px) {
  body.wec-useful-page .wec-cfp-main.wec-shared-page--useful > .wec-shared-story > .wec-cfp-hero {
    position: sticky;
    top: 0;
    align-self: start;
    box-sizing: border-box;
    height: 100vh;
    height: 100svh;
    min-height: 620px;
    padding: 0;
  }
  body.wec-useful-page .wec-cfp-main.wec-shared-page--useful .wec-cfp-hero-inner {
    height: 100%;
    min-height: 100%;
  }
}

/* Shared-page body content is static: no reveal drift or tab-panel float. */
.wec-shared-page .wec-shared-content .wec-cfp-reveal,
.wec-shared-page .wec-shared-content .wec-member-entry,
.wec-shared-page--useful .wec-guide-item.is-active .wec-guide-content {
  opacity: 1;
  transform: none;
  animation: none !important;
  transition: none !important;
}

@media (max-width: 900px) {
  .wec-shared-visual { display: none; }
}
@media (max-width: 860px) {
  .wec-shared-story { display: block; }
  .wec-shared-left,
  body.wec-useful-page .wec-shared-page--useful > .wec-shared-story > .wec-cfp-hero {
    position: relative;
    height: auto;
    min-height: 100vh;
    min-height: 100svh;
    padding: 0;
  }
  .wec-shared-left__inner,
  .wec-shared-page--useful .wec-cfp-hero-inner { min-height: 100svh; padding: 124px 24px 64px; }
  .wec-shared-left h1,
  .wec-shared-page--useful .wec-cfp-main .wec-cfp-title > span:last-child { max-width: 100%; font-size: clamp(42px, 13vw, 62px); }
  body.wec-useful-page .wec-cfp-main.wec-shared-page--useful .wec-cfp-title > span:last-child { font-size: clamp(42px, 13vw, 62px); }
  .wec-shared-page--committees .wec-committee-current { display: block; position: static; }
  .wec-cfp-page .wec-shared-page--scholarships .wec-cfp-reading .wec-cfp-prose-heading { display: block; }
  .wec-useful-guide.is-tabs-ready .wec-guide-item.is-active > summary {
    display: grid;
    pointer-events: none;
    margin-bottom: 36px;
    border: 0;
  }
  .wec-useful-guide.is-tabs-ready .wec-guide-item.is-active > summary .wec-guide-toggle { display: none; }
}

/* Final cascade for the shared inner-page interaction system. */
.wec-cfp-redesign .wec-cfp-reading .wec-cfp-reveal { opacity: 1; transform: none; transition: none; }
.wec-shared-left__inner > p,
.wec-shared-page--useful .wec-shared-conference-label,
.wec-cfp-redesign .wec-cfp-kicker {
  max-width: 34rem;
  margin: clamp(28px, 5vh, 52px) 0 0;
  font: var(--type-small-meta);
  letter-spacing: .02em;
  text-transform: none;
}
.wec-shared-page--useful .wec-shared-conference-label { color: rgba(245, 237, 207, .82); }

.wec-shared-page--useful .wec-guide-item.is-panel-entering,
.wec-shared-page--committees .wec-committee-panel.is-entering {
  animation: wecPanelRise 420ms cubic-bezier(.22, .75, .25, 1) both !important;
}
.wec-shared-page--useful .wec-useful-reading {
  padding: clamp(112px, 14vh, 164px) clamp(34px, 5vw, 76px) clamp(110px, 15vh, 180px);
}
.wec-shared-page--useful .wec-cfp-reading-inner { width: 100%; max-width: none; }
.wec-shared-page--useful .wec-guide-content {
  width: min(100%, 760px);
  margin: 0;
  padding: 0;
  font: var(--type-body);
  color: rgba(16, 41, 26, .78);
}
.wec-shared-page--useful .wec-guide-content p + p { margin-top: 24px; }
.wec-shared-page--useful .wec-guide-item.is-active > summary { display: none; }
.wec-cfp-redesign::after,
.wec-shared-page::after {
  content: '';
  display: block;
  height: 100vh;
  height: 100svh;
  background: var(--hero-paper, var(--color-paper));
}

@media (max-width: 860px) {
  .wec-shared-page--useful .wec-guide-item.is-active > summary { display: grid; }
  .wec-shared-page--useful .wec-guide-content { width: 100%; }
  .wec-cfp-redesign::after,
  .wec-shared-page::after { height: 60svh; }
}

@media (prefers-reduced-motion: reduce) {
  .wec-shared-page--useful .wec-guide-item.is-panel-entering,
  .wec-shared-page--committees .wec-committee-panel.is-entering { animation: none !important; }
}
