html { scroll-behavior: smooth; }
body { font-family: Inter, Arial, sans-serif; color: #002050; background: #FFFFFF; line-height: 1.6; }
a { text-decoration: none; color: inherit; }
.container { width: min(1440px, 92%); margin: auto; }

.flex-btn { display: inline-flex; align-items: center; gap: 8px; }
.flex-btn svg { transition: transform 0.2s ease; }
.flex-btn:hover svg { transform: translateX(3px) translateY(-3px); }

/* =========================
   HEADER & NAVIGATION
========================= */
.topbar { background: #002050; color: #3060A0; display: flex; justify-content: center; gap: clamp(20px, 4vw, 40px); padding: clamp(7px, 1vw, 10px) 15px; font-size: clamp(11px, 1vw, 13px); letter-spacing: 0.4px; }
.site-header { position: sticky; top: 0; z-index: 50; background: rgba(255, 255, 255, 0.94); backdrop-filter: blur(12px); border-bottom: 1px solid #D0F0F0; transition: all 0.3s ease; }
.nav-wrap { min-height: clamp(70px, 8vw, 90px); display: flex; align-items: center; gap: clamp(15px, 3vw, 35px); padding: 10px 0; }
.brand { display: flex; align-items: center; gap: clamp(8px, 1.5vw, 12px); margin-right: auto; }
.brand-img { height: clamp(45px, 6vw, 70px); width: auto; object-fit: contain; display: block; }

.nav { display: flex; gap: clamp(16px, 2.5vw, 32px); font-size: clamp(13px, 1.2vw, 15px); font-weight: 600; color: #002050; }
.nav a { position: relative; padding: clamp(20px, 3vw, 32px) 0; }
.nav a:after { content: ""; position: absolute; left: 0; bottom: 20px; width: 0; height: 2px; background: #002050; transition: 0.25s; }
.nav a:hover:after { width: 100%; }

.nav-cta, .btn { border-radius: 9px; padding: 11px 17px; font-weight: 700; font-size: 12px; transition: 0.25s; }
.nav-cta { background: #002050; color: #FFFFFF; }
.menu-btn { display: none; background: none; border: 0; color: #002050; cursor: pointer; }
.ticker { 
  overflow: hidden; 
  background: #F7FAFC; 
  color: #002050; 
  border-bottom: 1px solid #D0F0F0; 
  white-space: nowrap; 
  width: 100%;
}

.ticker-track { 
  display: inline-block; 
  padding: 8px 0; 
  font-size: 11px; 
  font-weight: 700; 
  letter-spacing: 0.7px; 
  text-transform: uppercase;
  animation: scrollTicker 15s linear infinite; 
}

@keyframes scrollTicker {
  0% { transform: translateX(100vw); }
  100% { transform: translateX(-100%); }
}

/* Pause the animation when a user hovers over the ticker */
.ticker:hover .ticker-track {
  animation-play-state: paused;
}
/* =========================
   HERO & SECTIONS
========================= */
.section { padding: 92px 0; }
.hero { background: radial-gradient(circle at 85% 20%, #D0F0F0 0, transparent 30%), linear-gradient(180deg, #F7FAFC, #F7FAFC); padding: 82px 0 75px; overflow: hidden; }
.hero-grid { display: grid; grid-template-columns: 1.35fr 0.75fr; gap: 70px; align-items: center; }

.eyebrow { font-size: 11px; font-weight: 800; letter-spacing: 2px; color: #002050; margin-bottom: 14px; display: flex; align-items: center; }
.eyebrow span { display: inline-block; width: 25px; height: 2px; background: #002050; margin-right: 8px; }

.hero h1 { font-family: "Space Grotesk", sans-serif; font-size: clamp(42px, 8vw, 74px); line-height: 0.95; letter-spacing: -4px; color: #002050; }
.hero h1 em { font-style: normal; color: #002050; }
.hero h2 { font-size: 20px; line-height: 1.4; margin: 25px 0 17px; max-width: 760px; }
.hero-text { font-size: 14px; color: #002050; max-width: 760px; }
.hero-actions { display: flex; gap: 12px; margin: 28px 0; }

.btn:hover { transform: translateY(-2px); }
.primary { background: #002050; color: #FFFFFF; box-shadow: 0 10px 24px rgba(35, 0, 88, 0.2); }
.secondary { border: 1px solid #3060A0; background: #FFFFFF; color: #002050; }

.host-line { border-left: 3px solid #3060A0; padding-left: 15px; display: grid; gap: 5px; font-size: 13px; color: #3060A0; }
.host-line strong { color: #002050; }

.hero-card { min-height: 420px; border-radius: 28px; background: #002050; position: relative; overflow: hidden; box-shadow: 0 25px 55px rgba(35, 0, 88, 0.15); }
.hero-card:before { content: ""; position: absolute; width: 260px; height: 260px; border-radius: 50%; background: #002050; right: -100px; top: -90px; opacity: 0.65; }
.hero-card-inner { position: relative; margin: 35px; border: 1px solid rgba(255, 255, 255, 0.15); border-radius: 20px; height: 350px; padding: 45px; color: #FFFFFF; background: rgba(255, 255, 255, 0.03); }
.hero-text-box {
  background: #FFFFFF;
  border: 1px solid #D0F0F0;
  border-left: 4px solid #002050;
  padding: 22px 25px;
  border-radius: 12px;
  margin: 20px 0;
  box-shadow: 0 8px 25px rgba(35, 0, 88, 0.04);
  max-width: 760px;
}
.hero-text-box .box-title {
  color: #002050;
  font-size: 18px;
  margin-top: 0;
  margin-bottom: 12px;
  font-family: "Space Grotesk", sans-serif;
}
.hero-text-box p {
  font-size: 14px;
  color: #002050;
  margin: 0;
  line-height: 1.6;
}

.big-number { font-size: 12px; letter-spacing: 2px; color: #3060A0; }
.card-label { font-family: "Space Grotesk", sans-serif; font-size: 50px; font-weight: 500; line-height: 1; margin-top: 30px; }
.month { font-size: 16px; letter-spacing: 3px; color: #3060A0; }
.divider { height: 1px; background: rgba(255, 255, 255, 0.1); margin: 26px 0; }
.hero-card p { font-size: 12px; color: #3060A0; }

.mini-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 24px; }
.mini-grid div { padding: 11px 7px; border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 10px; background: rgba(255, 255, 255, 0.03); }
.mini-grid b { display: block; color: #3060A0; font-size: 12px; }
.mini-grid span { font-size: 9px; color: #3060A0; }

.orbit { position: absolute; border: 1px solid rgba(208, 240, 240, 0.3); border-radius: 50%; }
.orbit-one { width: 430px; height: 210px; right: -170px; bottom: 30px; transform: rotate(25deg); }
.orbit-two { width: 390px; height: 160px; right: -140px; bottom: 50px; transform: rotate(-20deg); }

.quick-info { background: #FFFFFF; border-bottom: 1px solid #D0F0F0; }
.info-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.info-grid > div { padding: 22px 18px; border-right: 1px solid #D0F0F0; }
.info-grid > div:first-child { border-left: 1px solid #D0F0F0; }
.info-grid span { display: block; font-size: 9px; letter-spacing: 1.5px; color: #3060A0; font-weight: 800; }
.info-grid strong { font-size: 12px; color: #002050; }

.two-col { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 90px; align-items: start; }
.section-heading h2 { font-family: "Space Grotesk", sans-serif; font-size: 40px; line-height: 1.12; letter-spacing: -1.5px; color: #002050; }
.section-heading h2 span { color: #002050; }
.section-heading p { color: #002050; font-size: 13px; margin-top: 12px; }
.content-card { border-left: 3px solid #002050; padding: 8px 0 8px 28px; color: #002050; font-size: 14px; }
.content-card p + p { margin-top: 18px; }

.soft { background: #F7FAFC; }
.centered { text-align: center; max-width: 700px; margin: 0 auto 45px; display: flex; flex-direction: column; align-items: center; }

.feature-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.feature { background: #FFFFFF; border: 1px solid #D0F0F0; border-radius: 17px; padding: 25px; box-shadow: 0 8px 25px rgba(35, 0, 88, 0.03); }
.icon { width: 40px; height: 40px; border-radius: 10px; background: #3060A0; color: #002050; display: grid; place-items: center; margin-bottom: 25px; }
.feature h3 { font-size: 15px; margin-bottom: 9px; }
.feature p { font-size: 12px; color: #002050; }

.outcomes { margin-top: 22px; background: #002050; color: #FFFFFF; border-radius: 20px; padding: 30px; display: grid; grid-template-columns: 0.55fr 1.45fr; gap: 35px; }
.outcome-head .eyebrow { color: #3060A0; }
.outcome-head h3 { font-family: "Space Grotesk", sans-serif; font-size: 24px; }
.outcome-list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.outcome-list div { display: flex; gap: 12px; padding: 13px; border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 11px; background: rgba(255, 255, 255, 0.04); font-size: 11px; color: #3060A0; align-items: center; }
.outcome-list b { color: #3060A0; }

/* Replace the previous track styles with these updated Flexbox rules */

.tracks-grid { 
  display: grid; 
  grid-template-columns: repeat(3, 1fr); 
  gap: 20px; 
  margin-top: 40px; 
  align-items: stretch; 
}

/* Base card setup */
.thematic-card { 
  border-radius: 12px; 
  padding: 25px; 
  box-shadow: 0 10px 30px rgba(35, 0, 88, 0.04); 
  display: flex; 
  flex-direction: column; 
  height: 100%; 
  box-sizing: border-box; 
  
  /* Required for the circulating border animation */
  position: relative;
  z-index: 1;
  overflow: hidden;
  background: #FFFFFF;
  border-top: 5px solid var(--track-color); /* Static top border */
  
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-top-color 0.25s ease, background 0.25s ease;
}

/* Ensure all text/content stays strictly above the animated background */
.thematic-card > * {
  position: relative;
  z-index: 2;
}

/* 1. The circulating gradient (Hidden by default) */
.thematic-card::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 150%;
  height: 150%;
  background: conic-gradient(from 0deg, transparent 75%, var(--track-color) 100%);
  transform: translate(-50%, -50%) rotate(0deg);
  z-index: -2;
  opacity: 0;
  transition: opacity 0.6s ease;
}

/* 2. The white inner mask (Hidden by default) */
.thematic-card::after {
  content: "";
  position: absolute;
  /* Mathematically calculated to leave an exact 3px gap on all sides for the border to shine through */
  top: -2px; 
  right: 3px; 
  bottom: 3px; 
  left: 3px;
  background: #FFFFFF;
  border-radius: 9px;
  z-index: -1;
  opacity: 0;
  transition: opacity 0.6s ease;
}

/* Hover Actions */
.thematic-card:hover { 
  transform: translateY(-5px); 
  box-shadow: 0 15px 40px rgba(35, 0, 88, 0.08);
  border-top-color: transparent; /* Hide static border */
  background: transparent; /* Reveal background mechanics */
}

/* Trigger opacity and spinning animation on hover */
.thematic-card:hover::before, 
.thematic-card:hover::after {
  opacity: 1;
}

.thematic-card:hover::before {
  animation: circulate 4.5s linear infinite;
}

/* Keyframes for the circulation effect */
@keyframes circulate {
  0% { transform: translate(-50%, -50%) rotate(0deg); }
  100% { transform: translate(-50%, -50%) rotate(360deg); }
}

/* Rest of the existing CSS (Keep these as they were) */
.thematic-header { display: flex; align-items: center; gap: 15px; margin-bottom: 18px; }
.thematic-id { width: 50px; height: 50px; border-radius: 50%; color: #FFFFFF; font-family: "Space Grotesk", sans-serif; font-size: 22px; font-weight: 700; display: grid; place-items: center; flex-shrink: 0; }
.thematic-title-group h3 { font-size: 18px; font-weight: 800; line-height: 1.2; letter-spacing: -0.2px; }
.thematic-title-group h4 { font-size: 13px; color: #002050; font-weight: 500; margin-top: 4px; line-height: 1.3; }
.thematic-desc { font-size: 12px; font-weight: 600; line-height: 1.5; margin-bottom: 18px; padding-bottom: 18px; border-bottom: 1px solid #F7FAFC; }
.thematic-list { list-style: none; padding: 0; margin: 0; flex-grow: 1; display: flex; flex-direction: column; justify-content: space-between; gap: 4px; }
.thematic-list li { position: relative; padding-left: 14px; font-size: 12px; color: #002050; line-height: 1.4; }
.thematic-list li::before { content: "•"; position: absolute; left: 0; top: 0; color: #3060A0; font-size: 14px; }
/* =========================
   COMMITTEE TABS LAYOUT
========================= */
.committee-layout {
  display: flex;
  gap: 40px;
  align-items: flex-start;
  margin-top: 30px;
}

.committee-sidebar {
  flex: 0 0 250px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  position: sticky;
  top: 100px;
}

.committee-tab {
  padding: 16px 20px;
  background: #FFFFFF;
  border: 1px solid #D0F0F0;
  border-radius: 12px;
  text-align: left;
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 13px;
  color: #002050;
  cursor: pointer;
  transition: all 0.25s ease;
  box-shadow: 0 4px 10px rgba(35, 0, 88, 0.02);
}

.committee-tab:hover {
  border-color: #3060A0;
  color: #002050;
  transform: translateX(4px);
}

.committee-tab.active {
  background: #002050;
  color: #FFFFFF;
  border-color: #002050;
  box-shadow: 0 8px 20px rgba(35, 0, 88, 0.2);
  transform: translateX(4px);
}

.committee-content {
  flex: 1;
  min-width: 0;
}

.committee-panel {
  display: none;
  animation: fadeIn 0.4s ease forwards;
}

.committee-panel.active {
  display: block;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* =========================
   TABLE STYLES (BOX SEPARATION)
========================= */
.table-title {
  font-family: "Space Grotesk", sans-serif;
  font-size: 20px;
  color: #002050;
  margin: 0 0 15px;
  padding-bottom: 8px;
}

.table-responsive {
  width: 100%;
  overflow-x: auto;
  border-radius: 8px;
  box-shadow: 0 5px 20px rgba(35, 0, 88, 0.05);
}

.styled-table {
  width: 100%;
  border-collapse: collapse;
  background: #FFFFFF;
  border: 1px solid #D0F0F0; 
}

.styled-table thead tr {
  background-color: #002050;
  color: #FFFFFF;
}

.styled-table th, 
.styled-table td {
  padding: 14px 20px;
  font-size: 13px;
  border: 1px solid #D0F0F0; 
  vertical-align: top;       
}

.styled-table th {
  font-weight: 700;
  letter-spacing: 0.5px;
  border-color: #45D9F5; 
  text-align: left;
}

.styled-table tbody tr:nth-of-type(even) {
  background-color: #F7FAFC;
}

.styled-table tbody tr:hover {
  background-color: #F7FAFC;
}

.styled-table th:first-child {
  font-weight: 600;
  color: #FFFFFF;
  white-space: nowrap;
  text-align: center;
  vertical-align: middle; 
}

.styled-table tbody td:first-child {
  font-weight: 600;
  color: #FFFFFF; 
  background-color: #002050; 
  white-space: nowrap;
  text-align: center;
  vertical-align: middle; 
}

.styled-table tbody td:nth-child(2) {
  color: #002050;
  text-align: left;
  line-height: 1.6;
}

/* =========================
   CONTACT & FOOTER
========================= */
.contact-section { background: linear-gradient(180deg, #F7FAFC, #FFFFFF); }
.contact-banner { background: #002050; border-radius: 22px; padding: 35px 40px; color: #FFFFFF; display: flex; justify-content: space-between; align-items: center; gap: 25px; margin-bottom: 18px; }
.contact-banner .eyebrow { color: #3060A0; }
.contact-banner h2 { font-family: "Space Grotesk", sans-serif; font-size: 31px; }
.contact-banner p { color: #D0F0F0; font-size: 12px; }
.btn.light { background: #FFFFFF; color: #002050; }

.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.contact-card { background: #FFFFFF; border: 1px solid #D0F0F0; border-radius: 20px; padding: 28px; }
.person-avatar { width: 48px; height: 48px; border-radius: 14px; background: #3060A0; color: #002050; display: grid; place-items: center; margin-bottom: 17px; }
.contact-card h3 { font-family: "Space Grotesk", sans-serif; font-size: 19px; }
.contact-card > p { font-size: 11px; color: #002050; margin-top: 5px; }
.contact-meta { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid #F7FAFC; margin-top: 13px; padding-top: 12px; font-size: 10px; }
.contact-meta span { color: #002050; }
.contact-meta b { text-align: right; color: #45D9F5; }

footer { background: #45D9F5; color: #D0F0F0; padding-top: 55px; }
.footer-grid { display: grid; grid-template-columns: 1.5fr 0.7fr 1fr 0.8fr; gap: 40px; padding-bottom: 45px; }
.footer-brand { color: #FFFFFF; margin-bottom: 17px; }
.footer-grid p, .footer-grid a { font-size: 11px; color: #D0F0F0; }
.footer-grid h4 { color: #FFFFFF; font-size: 12px; margin-bottom: 12px; }
.footer-grid > div > a:not(.brand) { display: block; margin: 7px 0; transition: 0.2s; }
.footer-grid > div > a:not(.brand):hover { color: #002050; }
.footer-bottom { border-top: 1px solid rgba(255, 255, 255, 0.07); padding: 16px 0; font-size: 10px; color: #002050; }

.back-top { position: fixed; right: 20px; bottom: 20px; width: 40px; height: 40px; border: 0; border-radius: 12px; background: #002050; color: #FFFFFF; display: none; place-items: center; cursor: pointer; box-shadow: 0 10px 25px rgba(35, 0, 88, 0.25); z-index: 100; opacity: 0; transition: 0.3s ease; }
.back-top.show { opacity: 1; }
.back-top:hover { transform: translateY(-3px); }
/* =========================
   SLIDESHOW
========================= */
.slider-container {
  position: relative;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  overflow: hidden;
  border-radius: 20px;
  box-shadow: 0 15px 35px rgba(35, 0, 88, 0.1);
}

.slider-track {
  display: flex;
  transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

.slide {
  min-width: 100%;
}

.slide img {
  width: 100%;
  height: clamp(250px, 40vw, 450px);
  object-fit: cover;
  display: block;
}

.slider-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.85);
  border: none;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  cursor: pointer;
  font-size: 16px;
  color: #002050;
  display: grid;
  place-items: center;
  transition: background 0.3s, transform 0.2s;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  z-index: 2;
}

.slider-btn:hover {
  background: #FFFFFF;
  transform: translateY(-50%) scale(1.05);
}

.slider-btn.prev { left: 15px; }
.slider-btn.next { right: 15px; }
/* =========================
   MEDIA QUERIES
========================= */
@media (max-width: 900px) {
  .nav { display: none; position: absolute; top: 76px; left: 0; right: 0; background: #FFFFFF; padding: 12px 6%; border-bottom: 1px solid #D0F0F0; flex-direction: column; gap: 0; }
  .nav.open { display: flex; }
  .nav a { padding: 10px 0; }
  .nav a:after { display: none; }
  .menu-btn { display: block; }
  .nav-cta { display: none; }
  
  .hero-grid, .two-col { grid-template-columns: 1fr; gap: 45px; }
  .hero-card { max-width: 500px; width: 100%; margin: auto; }
  .feature-grid, .tracks-grid, .info-grid { grid-template-columns: 1fr 1fr; }
  .outcomes { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .info-grid > div:nth-child(3) { border-left: 1px solid #D0F0F0; }

  /* Mobile Tabs Alignment */
  .committee-layout { flex-direction: column; gap: 20px; }
  .committee-sidebar { flex: none; flex-direction: row; width: 100%; overflow-x: auto; padding-bottom: 10px; position: relative; top: 0; }
  .committee-tab { white-space: nowrap; padding: 12px 18px; }
  .committee-tab:hover, .committee-tab.active { transform: none; }
}

@media (max-width: 600px) {
  .topbar { font-size: 9px; gap: 12px; }
  .section { padding: 65px 0; }
  .hero { padding: 55px 0; }
  .hero h1 { font-size: 47px; letter-spacing: -2px; }
  .hero h2 { font-size: 16px; }
  .hero-actions { flex-direction: column; }
  
  .feature-grid, .tracks-grid, .contact-grid, .footer-grid, .info-grid { grid-template-columns: 1fr; }
  .info-grid > div { border-left: 1px solid #D0F0F0; border-right: 1px solid #D0F0F0; }
  .outcome-list { grid-template-columns: 1fr; }
  
  .contact-banner { padding: 28px; align-items: flex-start; flex-direction: column; }
  .hero-card-inner { margin: 20px; height: 360px; padding: 28px; }
  .big-number { font-size: 60px; }
  .two-col { gap: 25px; }
  .section-heading h2 { font-size: 31px; }
}
/* =========================
   ANIMATED HERO TITLE
========================= */
.animated-title { 
  font-family: "Space Grotesk", sans-serif; 
  font-size: clamp(48px, 8vw, 84px); /* Slightly larger for more impact */
  line-height: 0.95; 
  letter-spacing: -3px; 
  margin: 15px 0;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px;
}

/* Shifting Gradient Effect for "SPECTRAM" */
.text-gradient {
  background: linear-gradient(90deg, #002050, #002050, #3060A0, #002050, #002050);
  background-size: 300% auto;
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  animation: gradientShine 3s linear infinite;
}

/* Keyframes */
@keyframes gradientShine {
  to {
    background-position: 300% center;
  }
}
/* =========================
   SUBMISSION GUIDELINES
========================= */
.guidelines-section {
  background: #F7FAFC;
  border-top: 1px solid #D0F0F0;
}

.guidelines-card-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-bottom: 35px;
}

.guideline-card {
  background: #FFFFFF;
  border: 1px solid #D0F0F0;
  border-radius: 14px;
  padding: 24px 20px;
  box-shadow: 0 6px 20px rgba(35, 0, 88, 0.03);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.guideline-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(35, 0, 88, 0.07);
}

.guideline-icon {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: #3060A0;
  color: #002050;
  display: grid;
  place-items: center;
  margin-bottom: 18px;
}

.guideline-card h3 {
  font-size: 16px;
  color: #002050;
  margin-bottom: 10px;
  font-family: "Space Grotesk", sans-serif;
}

.guideline-card p {
  font-size: 13px;
  color: #002050;
  line-height: 1.6;
  margin: 0;
}

.text-link {
  color: #002050;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color 0.2s ease;
}

.text-link:hover {
  color: #45D9F5;
}

.guidelines-footer-box {
  background: #FFFFFF;
  border: 1px solid #D0F0F0;
  border-radius: 14px;
  padding: 28px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  box-shadow: 0 8px 25px rgba(35, 0, 88, 0.03);
}

.guidelines-notice h4 {
  font-family: "Space Grotesk", sans-serif;
  font-size: 18px;
  color: #002050;
  margin: 0 0 12px;
}

.guideline-steps {
  margin: 0;
  padding-left: 18px;
  color: #002050;
  font-size: 13px;
  line-height: 1.7;
}

.guidelines-actions-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex-shrink: 0;
}

@media (max-width: 900px) {
  .guidelines-card-grid {
    grid-template-columns: 1fr 1fr;
  }
  .guidelines-footer-box {
    flex-direction: column;
    align-items: flex-start;
  }
  .guidelines-actions-group {
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
  }
}

@media (max-width: 600px) {
  .guidelines-card-grid {
    grid-template-columns: 1fr;
  }
  .guidelines-actions-group {
    flex-direction: column;
    width: 100%;
  }
}
.guidelines-contact-note {
  margin-top: 18px;
  padding: 12px 16px;
  background: #F7FAFC;
  border: 1px solid #D0F0F0;
  border-left: 3px solid #002050;
  border-radius: 8px;
  display: flex;
  align-items: center;
  gap: 12px;
  color: #45D9F5;
  font-size: 13px;
}

.guidelines-contact-note svg {
  color: #002050;
  flex-shrink: 0;
}
/* MULTI-PAGE CONFERENCE NAVIGATION */
.site-header { box-shadow: 0 8px 28px rgba(35, 0, 88, 0.45); }
.nav a.active { color: #002050; }
.nav a.active:after { width: 100%; }
.page-banner { position: relative; overflow: hidden; padding: clamp(42px, 6vw, 78px) 0; background: radial-gradient(circle at 85% 15%, rgba(0, 32, 80, 0.19), transparent 28%), linear-gradient(120deg, #002050 0%, #45D9F5 62%, #002050 100%); color: #FFFFFF; }
.page-banner:after { content: ""; position: absolute; width: 340px; height: 340px; right: -100px; top: -190px; border: 1px solid rgba(255, 255, 255, .18); border-radius: 50%; box-shadow: 0 0 0 35px rgba(255, 255, 255, .025), 0 0 0 75px rgba(255, 255, 255, .02); pointer-events: none; }
.page-banner .container { position: relative; z-index: 1; }
.page-banner .eyebrow { color: #3060A0; letter-spacing: .16em; font-size: 11px; font-weight: 700; }
.page-banner h1 { margin: 12px 0 10px; font-family: "Space Grotesk", sans-serif; font-size: clamp(34px, 5vw, 58px); line-height: 1.05; letter-spacing: -.035em; }
.page-banner p:last-child { max-width: 650px; color: #3060A0; font-size: clamp(14px, 1.5vw, 17px); margin: 0; }
body:not(.page-home) main { min-height: 62vh; }
body:not(.page-home) main > .section:first-of-type { padding-top: clamp(48px, 6vw, 78px); }
.site-header .brand-img { max-height: 66px; width: auto; object-fit: contain; }
@media (max-width: 900px) { .nav a.active:after { display: none; } .nav a.active { background: rgba(35, 0, 88, 0.9); border-radius: 8px; } }

/* SPECTRAM 2027 design refresh — conference-led, editorial, responsive */
:root {
  --spectram-ink:#002050; --spectram-navy:#002050; --spectram-blue:#002050;
  --spectram-cyan:#3060A0; --spectram-gold:#3060A0; --spectram-paper:#F7FAFC;
  --spectram-line:#3060A0; --spectram-muted:#002050;
}
html { scroll-padding-top:105px; }
body { color:var(--spectram-ink); background:#FFFFFF; font-family:Inter,Arial,sans-serif; -webkit-font-smoothing:antialiased; }
.container { width:min(1280px,90%); }
.topbar { min-height:34px; background:#002050; color:#3060A0; font-size:11px; letter-spacing:.025em; gap:clamp(18px,3vw,42px); }
.site-header { background:rgba(255, 255, 255, .97); border-bottom:1px solid #3060A0; box-shadow:0 6px 22px rgba(35, 0, 88, 0.45); }
.nav-wrap { min-height:82px; gap:clamp(12px,2vw,28px); }
.brand-img { height:58px; }
.nav { gap:clamp(13px,1.7vw,25px); color:#002050; font-size:12px; font-weight:700; }
.nav a { padding:28px 0; }
.nav a:after { bottom:19px; height:2px; background:var(--spectram-blue); }
.nav a.active { color:var(--spectram-blue); }
.nav a.active:after { width:100%; }
.nav-cta,.btn { border-radius:5px; padding:12px 17px; font-size:11px; font-weight:800; letter-spacing:.035em; text-transform:uppercase; }
.nav-cta { background:var(--spectram-blue); box-shadow:0 5px 14px rgba(0, 32, 80, 0.16); }
.nav-cta:hover,.primary:hover { background:#3060A0; }
.menu-btn { color:var(--spectram-ink); }
.ticker { background:#F7FAFC; color:#002050; border-bottom:1px solid #3060A0; }
.ticker-track { padding:9px 0; font-size:10px; letter-spacing:1.15px; animation-duration:22s; }
.hero {
  isolation:isolate; position:relative; padding:clamp(58px,7vw,96px) 0 clamp(54px,6vw,80px);
  overflow:hidden; color:#FFFFFF;
  background:radial-gradient(ellipse at 82% 12%,rgba(0, 32, 80, 0.3),transparent 36%),
    radial-gradient(ellipse at 58% 100%,rgba(0, 32, 80, 0.12),transparent 38%),
    linear-gradient(116deg,#002050 0%,#002050 56%,#002050 100%);
}
.hero:before {
  content:""; position:absolute; z-index:-1; inset:0 0 0 42%; opacity:.26;
  background-image:linear-gradient(rgba(208, 240, 240, 0.15) 1px,transparent 1px),linear-gradient(90deg,rgba(208, 240, 240, 0.15) 1px,transparent 1px);
  background-size:42px 42px; mask-image:linear-gradient(90deg,transparent,#002050 35%,#002050);
}
.hero:after {
  content:""; position:absolute; z-index:-1; width:min(58vw,760px); aspect-ratio:1; right:-18%; top:-48%;
  border:1px solid rgba(0, 32, 80, 0.22); border-radius:50%;
  box-shadow:0 0 0 38px rgba(0, 32, 80, 0.35),0 0 0 88px rgba(0, 32, 80, 0.3),0 0 0 145px rgba(0, 32, 80, 0.2); pointer-events:none;
}
.hero-grid { position:relative; grid-template-columns:minmax(0,1.28fr) minmax(320px,.72fr); gap:clamp(32px,5vw,76px); align-items:center; }
.hero .eyebrow { color:#D0F0F0; font-size:10px; letter-spacing:2.1px; }
.hero .eyebrow span { background:var(--spectram-gold); width:28px; }
.hero h1 { color:#FFFFFF; font-size:clamp(54px,7.2vw,94px); line-height:.91; letter-spacing:-.065em; margin:20px 0 22px; }
.hero h1 .text-gradient { display:inline-block; background:linear-gradient(105deg,#FFFFFF 8%,#D0F0F0 58%,#002050 100%); background-clip:text; -webkit-background-clip:text; color:transparent; }
.hero h2 { max-width:760px; margin:0 0 20px; color:#D0F0F0; font-size:clamp(16px,1.65vw,21px); line-height:1.55; font-weight:500; }
.hero-text-box { margin:0; max-width:720px; padding:0 0 0 17px; border:0; border-left:2px solid var(--spectram-gold); border-radius:0; background:transparent; box-shadow:none; }
.hero-text-box .box-title { color:#FFFFFF; font-size:16px; margin:0 0 7px; }
.hero-text-box p { color:#D0F0F0; font-size:12px; line-height:1.8; }
.hero-actions { margin:27px 0 22px; gap:11px; flex-wrap:wrap; }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:44px; }
.primary { background:var(--spectram-blue); box-shadow:0 10px 24px rgba(0, 32, 80, 0.25); }
.secondary { border:1px solid rgba(247, 250, 252, 0.38); background:rgba(255, 255, 255, .035); color:#F7FAFC; }
.secondary:hover { border-color:var(--spectram-cyan); background:rgba(255, 255, 255, .08); }
.host-line { border-left:0; padding:0; color:#D0F0F0; font-size:11px; }
.host-line strong { color:#D0F0F0; font-weight:500; line-height:1.8; }
.hero-card { min-height:0; border-radius:8px; background:rgba(255, 255, 255, .055); border:1px solid rgba(208, 240, 240, 0.2); box-shadow:0 25px 70px rgba(0, 0, 0, .2); backdrop-filter:blur(14px); }
.hero-card:before { width:220px; height:220px; right:-100px; top:-115px; background:#002050; opacity:.25; }
.hero-card-inner { height:auto; min-height:400px; margin:0; padding:clamp(24px,3vw,36px); border:0; border-radius:8px; background:transparent; }
.card-label { color:#FFFFFF; font-size:clamp(24px,2.5vw,32px); letter-spacing:-.04em; line-height:1.12; font-weight:700; }
.hero-card .divider { background:rgba(208, 240, 240, 0.18); margin:22px 0; }
.hero-card ul { list-style:none; padding:0!important; display:grid; gap:0; }
.hero-card li { padding:12px 0; border-bottom:1px solid rgba(208, 240, 240, 0.12); color:#D0F0F0; font-size:11px; line-height:1.55; }
.hero-card li:last-child { border-bottom:0; }
.hero-card li strong { display:block; color:#002050!important; font-size:10px; text-transform:uppercase; letter-spacing:.075em; margin-bottom:3px; }
.orbit-one { width:310px; height:155px; right:-110px; bottom:22px; border-color:rgba(0, 32, 80, 0.17); }
.orbit-two { width:280px; height:125px; right:-95px; bottom:38px; border-color:rgba(0, 32, 80, 0.12); }
.quick-info { position:relative; padding:0!important; background:#FFFFFF!important; border-bottom:1px solid var(--spectram-line); }
.quick-info .container { padding-top:30px; padding-bottom:30px; }
.quick-info h2 { color:var(--spectram-ink)!important; font-size:clamp(17px,2vw,24px)!important; font-weight:750!important; letter-spacing:-.035em!important; line-height:1.35; }
.quick-info h3 { color:#45D9F5!important; font-size:clamp(12px,1.4vw,15px)!important; font-weight:500!important; line-height:1.65; }
.quick-info p { color:var(--spectram-muted)!important; font-size:12px!important; line-height:1.7; }
.section { padding:clamp(58px,7vw,92px) 0; }
.section-heading h2 { color:var(--spectram-ink); font-size:clamp(30px,4vw,43px); letter-spacing:-.045em; }
.section-heading h2 span { color:var(--spectram-blue); }
.eyebrow { color:var(--spectram-blue); letter-spacing:1.8px; font-size:10px; }
.eyebrow span { background:var(--spectram-gold); }
.soft { background:var(--spectram-paper); }
.feature { border-radius:8px; border-color:var(--spectram-line); box-shadow:0 12px 28px rgba(35, 0, 88, 0.35); }
.icon { background:#3060A0; color:var(--spectram-blue); border-radius:8px; }
.outcomes { border-radius:8px; background:var(--spectram-navy); }
.thematic-card { border-radius:8px; border-top-width:3px; box-shadow:0 12px 28px rgba(35, 0, 88, 0.5); }
.thematic-card:hover { box-shadow:0 18px 36px rgba(35, 0, 88, 0.11); }
.thematic-id { border-radius:8px; }
.page-banner {
  padding:clamp(48px,6.5vw,82px) 0;
  background:radial-gradient(ellipse at 86% 0%,rgba(0, 32, 80, 0.3),transparent 34%),linear-gradient(115deg,#002050 0%,#45D9F5 66%,#45D9F5 100%);
  border-bottom:3px solid var(--spectram-gold);
}
.page-banner:after { right:-70px; top:-180px; width:360px; height:360px; border-color:rgba(0, 32, 80, 0.24); box-shadow:0 0 0 34px rgba(0, 32, 80, 0.4),0 0 0 75px rgba(0, 32, 80, 0.25); }
.page-banner .eyebrow { color:#D0F0F0; }
.page-banner h1 { color:#FFFFFF; font-size:clamp(38px,5.5vw,66px); letter-spacing:-.055em; }
.page-banner p:last-child { color:#D0F0F0; line-height:1.75; }
footer { background:#002050; color:#D0F0F0; }
footer h4 { color:#FFFFFF; }
footer a:hover { color:var(--spectram-cyan); }
.footer-bottom { border-top-color:rgba(255, 255, 255, .12); }

/* Editorial homepage pathways replacing placeholder carousel artwork */
.conference-pathways { padding:clamp(60px,7vw,92px) 0; background:#F7FAFC; }
.pathways-intro { display:flex; align-items:end; justify-content:space-between; gap:36px; margin-bottom:30px; }
.pathways-intro .eyebrow { margin-bottom:13px; }
.pathways-intro h2 { max-width:610px; color:var(--spectram-ink); font-family:"Space Grotesk",sans-serif; font-size:clamp(30px,4vw,46px); line-height:1.08; letter-spacing:-.05em; }
.pathways-intro h2 span { color:var(--spectram-blue); }
.pathways-intro>p { max-width:380px; color:var(--spectram-muted); font-size:13px; line-height:1.8; margin:0 0 4px; }
.pathways-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.pathway-card { min-height:320px; position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:space-between; padding:23px; border-radius:8px; text-decoration:none; transition:transform .25s ease,box-shadow .25s ease; }
.pathway-card:hover { transform:translateY(-5px); box-shadow:0 20px 45px rgba(35, 0, 88, 0.15); }
.pathway-blue { background:#002050; color:#FFFFFF; }
.pathway-light { background:#FFFFFF; color:var(--spectram-ink); border:1px solid #D0F0F0; }
.pathway-ink { background:#002050; color:#FFFFFF; }
.pathway-index { position:relative; z-index:2; font-size:9px; font-weight:800; letter-spacing:1.5px; opacity:.78; }
.pathway-art { position:absolute; top:32px; right:8px; width:62%; height:150px; opacity:.72; pointer-events:none; }
.pathway-art-waves { background:repeating-radial-gradient(ellipse at 85% 55%,transparent 0 12px,rgba(208, 240, 240, 0.55) 13px 14px,transparent 15px 24px); transform:rotate(-15deg); }
.pathway-art-grid { background:radial-gradient(circle at 50% 50%,rgba(0, 32, 80, 0.25),transparent 54%),linear-gradient(rgba(0, 32, 80, 0.12) 1px,transparent 1px),linear-gradient(90deg,rgba(0, 32, 80, 0.12) 1px,transparent 1px); background-size:auto,19px 19px,19px 19px; border:1px solid rgba(0, 32, 80, 0.14); transform:perspective(260px) rotateY(-18deg) rotateX(8deg); }
.pathway-art-orbit { background:repeating-radial-gradient(ellipse at 60% 50%,transparent 0 13px,rgba(0, 32, 80, 0.45) 14px 15px,transparent 16px 27px); transform:rotate(20deg); }
.pathway-copy { position:relative; z-index:2; display:flex; flex-direction:column; align-items:flex-start; gap:10px; max-width:350px; margin-top:140px; }
.pathway-copy strong { font-family:"Space Grotesk",sans-serif; font-size:23px; line-height:1.15; letter-spacing:-.035em; }
.pathway-copy>span { color:inherit; opacity:.78; font-size:11px; line-height:1.75; }
.pathway-copy b { margin-top:7px; font-size:10px; letter-spacing:.035em; text-transform:uppercase; }
.pathway-light .pathway-copy b { color:var(--spectram-blue); }
@media (max-width:1000px) {
  .nav-wrap { gap:14px; } .nav { gap:12px; font-size:11px; } .nav-cta { padding:10px 12px; }
  .hero-grid { grid-template-columns:minmax(0,1fr) minmax(290px,.78fr); gap:28px; } .hero-card-inner { min-height:0; }
}
@media (max-width:820px) {
  .nav-wrap { min-height:72px; }
  .menu-btn { display:inline-flex; align-items:center; justify-content:center; margin-left:auto; }
  .nav { display:none; position:absolute; top:100%; left:0; right:0; padding:12px 5% 18px; background:#FFFFFF; border-bottom:1px solid var(--spectram-line); box-shadow:0 16px 28px rgba(35, 0, 88, 0.9); flex-direction:column; gap:0; }
  .nav.open { display:flex; } .nav a { padding:12px 10px; } .nav a:after { display:none; }
  .nav a.active { background:#3060A0; border-radius:5px; } .nav-cta { display:none; }
  .hero-grid { grid-template-columns:1fr; } .hero-content { max-width:760px; }
  .hero-card { max-width:620px; width:100%; } .hero-card-inner { padding:28px; }
  .pathways-intro { align-items:flex-start; flex-direction:column; gap:12px; }
  .pathways-grid { grid-template-columns:1fr 1fr; }
  .pathway-card:last-child { grid-column:1/-1; min-height:260px; }
}
@media (max-width:560px) {
  .topbar { flex-wrap:wrap; gap:4px 14px; font-size:9px; } .brand-img { height:48px; }
  .hero { padding:50px 0; } .hero h1 { font-size:clamp(50px,14vw,70px); letter-spacing:-.065em; }
  .hero h2 { font-size:15px; } .hero-actions { flex-direction:column; align-items:stretch; }
  .hero-actions .btn { width:100%; box-sizing:border-box; } .hero-card-inner { padding:22px; }
  .quick-info .container { padding-top:25px; padding-bottom:25px; }
  .pathways-grid { grid-template-columns:1fr; }
  .pathway-card,.pathway-card:last-child { grid-column:auto; min-height:270px; }
  .section-heading h2 { font-size:32px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}

/* Compact conference facts strip, inspired by symposium information bars */
.quick-info.conference-facts { padding:0!important; background:#FFFFFF!important; }
.facts-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.fact-item { min-width:0; padding:24px 20px 21px; display:flex; flex-direction:column; gap:6px; border-right:1px solid var(--spectram-line); }
.fact-item:first-child { border-left:1px solid var(--spectram-line); }
.fact-label { color:var(--spectram-blue); font-size:9px; font-weight:800; letter-spacing:1.15px; }
.fact-item strong { color:var(--spectram-ink); font-size:13px; line-height:1.45; }
.fact-note { color:var(--spectram-muted); font-size:10px; line-height:1.55; }
.co-sponsor-line { padding:11px 5%; text-align:center; color:#45D9F5; background:#F7FAFC; border-top:1px solid #3060A0; font-size:10px; line-height:1.6; }
@media (max-width:820px) {
  .facts-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fact-item:nth-child(3) { border-left:1px solid var(--spectram-line); }
}
@media (max-width:560px) {
  .facts-grid { grid-template-columns:1fr 1fr; }
  .fact-item { padding:18px 12px; }
  .fact-item strong { font-size:12px; }
  .fact-label { font-size:8px; letter-spacing:.8px; }
}

/* SPECTRAM conference flow — announcements, overview, timeline, CFP and resources */
.announcements-section { background:#F7FAFC; padding:54px 0; }
.announcements-heading,.timeline-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:26px; }
.announcements-heading h2,.timeline-heading h2,.overview-copy h2,.resources-layout h2 { color:var(--spectram-ink); font:700 clamp(29px,3.6vw,42px)/1.12 "Space Grotesk",sans-serif; letter-spacing:-.045em; }
.announcements-heading h2 span,.timeline-heading h2 span,.overview-copy h2 span,.resources-layout h2 span { color:var(--spectram-blue); }
.announcements-heading .eyebrow,.timeline-heading .eyebrow,.overview-copy .eyebrow,.resources-layout .eyebrow { margin-bottom:12px; }
.status-pill { display:inline-flex; align-items:center; gap:9px; padding:9px 12px; border:1px solid #D0F0F0; border-radius:4px; background:#FFFFFF; color:#002050; font-size:10px; white-space:nowrap; }
.status-pill i { width:7px; height:7px; background:var(--spectram-gold); border-radius:50%; }
.announcement-list { border:1px solid #D0F0F0; background:#FFFFFF; border-radius:7px; overflow:hidden; }
.announcement-item { display:grid; grid-template-columns:145px minmax(0,1fr) auto; align-items:center; gap:20px; padding:19px 22px; border-bottom:1px solid #F7FAFC; }
.announcement-item:last-child { border-bottom:0; }
.announcement-tag { color:var(--spectram-blue); font-size:9px; font-weight:800; letter-spacing:1px; }
.announcement-item h3 { margin:0 0 5px; color:var(--spectram-ink); font:600 15px "Space Grotesk",sans-serif; }
.announcement-item p { margin:0; color:var(--spectram-muted); font-size:11px; line-height:1.7; }
.under-construction { display:inline-flex; align-items:center; justify-content:center; padding:7px 9px; color:#45D9F5; background:#F7FAFC; border:1px solid #D0F0F0; border-radius:3px; font-size:9px; font-weight:800; letter-spacing:.02em; white-space:nowrap; }
.about-snapshot { background:#FFFFFF; }
.overview-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(36px,6vw,86px); align-items:center; }
.overview-visual { position:relative; min-height:390px; overflow:hidden; border-radius:7px; background:radial-gradient(ellipse at 53% 46%,rgba(0, 32, 80, 0.3),transparent 42%),linear-gradient(140deg,#002050,#45D9F5); }
.visual-grid { position:absolute; inset:0; opacity:.24; background-image:linear-gradient(rgba(208, 240, 240, 0.2) 1px,transparent 1px),linear-gradient(90deg,rgba(208, 240, 240, 0.2) 1px,transparent 1px); background-size:28px 28px; transform:perspective(360px) rotateX(12deg) scale(1.18); }
.visual-orbit { position:absolute; left:50%; top:46%; width:310px; height:150px; border:1px solid rgba(0, 32, 80, 0.7); border-radius:50%; transform:translate(-50%,-50%) rotate(-32deg); box-shadow:0 0 26px rgba(0, 32, 80, 0.8); }
.visual-orbit.orbit-b { width:280px; height:240px; border-color:rgba(208, 240, 240, 0.55); transform:translate(-50%,-50%) rotate(53deg); }
.visual-center { position:absolute; left:50%; top:46%; display:flex; flex-direction:column; align-items:center; gap:7px; transform:translate(-50%,-50%); color:#FFFFFF; }
.visual-center span { font:700 70px/.9 "Space Grotesk",sans-serif; letter-spacing:-.08em; background:linear-gradient(120deg,#FFFFFF,#002050); color:transparent; background-clip:text; -webkit-background-clip:text; }
.visual-center small { font-size:8px; letter-spacing:1.5px; white-space:nowrap; color:#D0F0F0; }
.visual-coordinate { position:absolute; left:22px; bottom:20px; color:#002050; font-size:9px; letter-spacing:1.4px; }
.overview-copy h2 { margin:0 0 20px; }
.overview-copy>p:not(.eyebrow) { color:#002050; font-size:13px; line-height:1.9; }
.overview-tags { display:flex; flex-wrap:wrap; gap:8px; margin:22px 0; }
.overview-tags span { padding:8px 10px; background:#3060A0; border-radius:3px; color:#45D9F5; font-size:10px; font-weight:700; }
.overview-link { display:inline-flex; gap:10px; align-items:center; font-size:11px; font-weight:800; text-decoration:none; }
.timeline-section { background:#F7FAFC; }
.timeline-heading h2 { margin:0 0 9px; }
.timeline-heading p:not(.eyebrow) { color:var(--spectram-muted); font-size:12px; margin:0; }
.timeline-heading>.text-link { margin-bottom:5px; font-size:11px; font-weight:800; text-decoration:none; white-space:nowrap; }
.timeline-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
.date-card { position:relative; min-height:205px; padding:20px 17px; background:#FFFFFF; border:1px solid #D0F0F0; border-radius:5px; overflow:hidden; }
.date-step { display:inline-flex; width:27px; height:27px; align-items:center; justify-content:center; margin-bottom:23px; color:var(--spectram-blue); background:#3060A0; border-radius:4px; font-size:10px; font-weight:800; }
.date-label { display:block; color:#002050; font-size:8px; font-weight:800; letter-spacing:.9px; line-height:1.5; min-height:25px; }
.date-value { display:block; margin:9px 0; color:var(--spectram-ink); font:700 clamp(18px,1.8vw,24px)/1.1 "Space Grotesk",sans-serif; letter-spacing:-.04em; }
.date-value small { font-size:.65em; letter-spacing:0; }
.date-card p { color:#002050; font-size:10px; line-height:1.65; margin:0; }
.date-card-featured { background:var(--spectram-navy); border-color:var(--spectram-navy); }
.date-card-featured .date-step { background:rgba(0, 32, 80, 0.14); color:var(--spectram-cyan); }
.date-card-featured .date-label { color:#D0F0F0; }
.date-card-featured .date-value { color:#FFFFFF; }
.date-card-featured p { color:#D0F0F0; }
.date-status { display:inline-block; margin-top:7px; color:#45D9F5; font-size:9px; font-weight:700; }
.date-disclaimer { margin:17px 0 0; color:#002050; font-size:10px; line-height:1.6; }
.tracks-preview { background:#FFFFFF; }
.tracks-preview .timeline-heading { margin-bottom:28px; }
.track-preview-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.track-preview-card { position:relative; min-height:300px; padding:24px; display:flex; flex-direction:column; align-items:flex-start; overflow:hidden; border-radius:6px; color:#FFFFFF; text-decoration:none; transition:transform .2s ease,box-shadow .2s ease; }
.track-preview-card:hover { transform:translateY(-4px); box-shadow:0 18px 35px rgba(35, 0, 88, 0.17); }
.track-preview-one { background:linear-gradient(145deg,#45D9F5,#002050); }
.track-preview-two { background:linear-gradient(145deg,#45D9F5,#45D9F5); }
.track-preview-three { background:linear-gradient(145deg,#002050,#45D9F5); }
.preview-number { font-size:9px; font-weight:800; letter-spacing:1.4px; color:#D0F0F0; }
.preview-symbol { align-self:flex-end; height:84px; margin-top:5px; color:rgba(208, 240, 240, 0.9); font:100px/.8 "Space Grotesk",sans-serif; text-shadow:0 0 35px rgba(0, 32, 80, 0.22); }
.track-preview-card h3 { margin:0 0 10px; font:700 23px "Space Grotesk",sans-serif; letter-spacing:-.04em; }
.track-preview-card p { margin:0; max-width:340px; color:#D0F0F0; font-size:11px; line-height:1.8; }
.preview-link { margin-top:auto; padding-top:21px; font-size:10px; font-weight:800; letter-spacing:.04em; }
.resources-section { background:#F7FAFC; }
.resources-layout { display:grid; grid-template-columns:.8fr 1.2fr; align-items:start; gap:clamp(35px,6vw,80px); }
.resources-layout h2 { margin:0 0 14px; }
.resources-layout>div:first-child>p:last-child { color:var(--spectram-muted); font-size:12px; line-height:1.8; }
.resource-list { border:1px solid #D0F0F0; border-radius:6px; background:#FFFFFF; overflow:hidden; }
.resource-row { display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:14px; padding:17px; border-bottom:1px solid #F7FAFC; }
.resource-row:last-child { border-bottom:0; }
.resource-icon { width:38px; height:38px; display:grid; place-items:center; border-radius:4px; background:#3060A0; color:var(--spectram-blue); font-size:9px; font-weight:800; }
.resource-row strong,.resource-row small { display:block; }
.resource-row strong { color:var(--spectram-ink); font-size:12px; margin-bottom:5px; }
.resource-row small { color:var(--spectram-muted); font-size:10px; line-height:1.6; }
@media (max-width:1000px) {
  .timeline-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .date-card-featured { grid-column:span 1; }
  .overview-visual { min-height:340px; }
}
@media (max-width:760px) {
  .overview-grid,.resources-layout { grid-template-columns:1fr; }
  .overview-visual { min-height:320px; }
  .announcement-item { grid-template-columns:1fr; gap:9px; align-items:start; }
  .announcement-item .under-construction { justify-self:start; }
  .timeline-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .track-preview-grid { grid-template-columns:1fr; }
  .track-preview-card { min-height:245px; }
}
@media (max-width:560px) {
  .announcements-heading,.timeline-heading { align-items:flex-start; flex-direction:column; gap:14px; }
  .timeline-grid { grid-template-columns:1fr; }
  .date-card { min-height:0; }
  .date-step { margin-bottom:12px; }
  .resource-row { grid-template-columns:38px minmax(0,1fr); }
  .resource-row .under-construction { grid-column:2; justify-self:start; }
  .visual-center span { font-size:60px; }
  .visual-orbit { width:260px; }
}

/* Honest placeholders for SPECTRAM details that have not been announced */
.missing-info-section { background:#F7FAFC; border-top:1px solid #D0F0F0; }
.missing-info-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:25px; }
.missing-info-heading h2 { margin:0 0 10px; color:var(--spectram-ink); font:700 clamp(28px,3.4vw,39px)/1.15 "Space Grotesk",sans-serif; letter-spacing:-.045em; }
.missing-info-heading h2 span { color:var(--spectram-blue); }
.missing-info-heading>div>p:last-child { color:var(--spectram-muted); font-size:12px; line-height:1.75; max-width:660px; }
.missing-info-list { background:#FFFFFF; border:1px solid #D0F0F0; border-radius:6px; overflow:hidden; }
.missing-detail { display:grid; grid-template-columns:36px minmax(0,1fr) auto; align-items:center; gap:15px; padding:18px 20px; border-bottom:1px solid #F7FAFC; }
.missing-detail:last-child { border-bottom:0; }
.missing-mark { width:32px; height:32px; display:grid; place-items:center; border-radius:4px; color:var(--spectram-blue); background:#3060A0; font-size:15px; }
.missing-detail strong { color:var(--spectram-ink); font-size:12px; }
.missing-detail p { margin:5px 0 0; color:var(--spectram-muted); font-size:11px; line-height:1.7; }
@media(max-width:760px) {
 .missing-info-heading { align-items:flex-start; flex-direction:column; gap:12px; }
 .missing-detail { grid-template-columns:34px minmax(0,1fr); gap:11px; padding:16px 14px; }
 .missing-detail .under-construction { grid-column:2; justify-self:start; }
}

/* Dedicated Authors and Travel pages */
.authors-intro,.travel-intro { background:#F7FAFC; }
.authors-intro-grid,.travel-intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,6vw,80px); align-items:center; }
.authors-intro h2,.travel-intro h2 { color:var(--spectram-ink); font:700 clamp(34px,4.5vw,52px)/1.08 "Space Grotesk",sans-serif; letter-spacing:-.05em; margin:0; }
.authors-intro h2 span,.travel-intro h2 span { color:var(--spectram-blue); }
.authors-intro-grid>p,.travel-intro-grid>div:first-child>p:not(.eyebrow) { color:var(--spectram-muted); font-size:13px; line-height:1.9; }
.authors-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:22px; margin-bottom:28px; }
.authors-section-head h2 { color:var(--spectram-ink); font:700 clamp(30px,3.7vw,42px)/1.12 "Space Grotesk",sans-serif; letter-spacing:-.045em; margin:0 0 10px; }
.authors-section-head h2 span { color:var(--spectram-blue); }
.authors-section-head p:not(.eyebrow) { color:var(--spectram-muted); font-size:12px; line-height:1.75; margin:0; }
.author-topic-grid,.travel-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.author-topic-card,.travel-card { position:relative; min-height:230px; padding:24px; border:1px solid #D0F0F0; border-radius:6px; background:#FFFFFF; }
.author-topic-card>span,.travel-card-number { display:inline-flex; color:var(--spectram-blue); font-size:9px; font-weight:800; letter-spacing:1.4px; }
.author-topic-card h3,.travel-card h3 { margin:22px 0 10px; color:var(--spectram-ink); font:700 20px "Space Grotesk",sans-serif; letter-spacing:-.035em; }
.author-topic-card p,.travel-card p { margin:0 0 20px; color:var(--spectram-muted); font-size:11px; line-height:1.8; }
.author-topic-card a { display:inline-block; color:var(--spectram-blue); font-size:10px; font-weight:800; text-decoration:none; }
.author-topic-card a:hover,.text-link:hover { text-decoration:underline; }
.authors-alt,.travel-alt { background:#F7FAFC; }
.author-detail-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(28px,5vw,70px); align-items:start; }
.author-detail-grid h2 { color:var(--spectram-ink); font:700 clamp(30px,3.5vw,40px)/1.13 "Space Grotesk",sans-serif; letter-spacing:-.045em; margin:0 0 14px; }
.author-detail-grid h2 span { color:var(--spectram-blue); }
.author-detail-grid>div:first-child>p:not(.eyebrow) { color:var(--spectram-muted); font-size:12px; line-height:1.85; margin-bottom:22px; }
.author-checklist { padding:25px; background:#FFFFFF; border:1px solid #D0F0F0; border-radius:6px; }
.author-checklist h3,.author-info-banner h3 { margin:0 0 13px; color:var(--spectram-ink); font:700 17px "Space Grotesk",sans-serif; }
.author-checklist ul { margin:0 0 20px; padding-left:19px; color:var(--spectram-muted); font-size:12px; line-height:1.9; }
.author-checklist li { margin-bottom:7px; }
.author-info-banner { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.author-info-banner>div { padding:25px; border:1px solid #D0F0F0; background:#FFFFFF; border-radius:6px; }
.author-info-banner p { margin:0; color:var(--spectram-muted); font-size:12px; line-height:1.85; }
.authors-footer-cta { background:var(--spectram-navy); color:#FFFFFF; }
.authors-footer-cta .container { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.authors-footer-cta h2 { margin:0 0 10px; color:#FFFFFF; font:700 clamp(24px,3vw,34px) "Space Grotesk",sans-serif; letter-spacing:-.04em; }
.authors-footer-cta p:not(.eyebrow) { margin:0; color:#D0F0F0; font-size:12px; line-height:1.7; }
.authors-footer-cta .eyebrow { color:var(--spectram-cyan); }
.author-cta-actions { display:flex; flex-wrap:wrap; gap:10px; }
.travel-location-panel { padding:25px; background:#FFFFFF; border:1px solid #D0F0F0; border-radius:6px; box-shadow:0 14px 35px rgba(35, 0, 88, 0.45); }
.travel-location-label { display:block; margin-bottom:12px; color:var(--spectram-blue); font-size:9px; font-weight:800; letter-spacing:1.3px; }
.travel-location-panel>strong,.travel-location-panel>span:not(.travel-location-label) { display:block; }
.travel-location-panel>strong { color:var(--spectram-ink); font:700 20px "Space Grotesk",sans-serif; }
.travel-location-panel>span:not(.travel-location-label) { margin-top:5px; color:var(--spectram-muted); font-size:11px; }
.travel-map-placeholder { margin-top:22px; min-height:110px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; border:1px dashed #D0F0F0; border-radius:4px; background:linear-gradient(135deg,#F7FAFC,#F7FAFC); color:#45D9F5; }
.travel-map-placeholder>span { font-size:24px; color:var(--spectram-blue); }
.travel-map-placeholder p { margin:0; font-size:11px; font-weight:700; }
.travel-map-placeholder small { font-size:9px; color:#002050; }
.travel-card { min-height:240px; }
.travel-card .under-construction { margin-top:4px; }
.travel-notice { background:#FFFFFF; }
.travel-notice .container { display:flex; align-items:center; flex-wrap:wrap; gap:18px; }
.travel-notice p { flex:1 1 360px; margin:0; color:var(--spectram-muted); font-size:11px; line-height:1.8; }
.travel-notice .text-link { font-size:11px; font-weight:800; text-decoration:none; white-space:nowrap; }
@media(max-width:1100px) {
 .nav { gap:11px!important; font-size:10px!important; }
 .nav-wrap { gap:12px; }
 .nav-cta { padding:10px 11px; font-size:9px; }
}
@media(max-width:820px) {
 .authors-intro-grid,.travel-intro-grid,.author-detail-grid { grid-template-columns:1fr; }
 .author-topic-grid,.travel-card-grid { grid-template-columns:1fr 1fr; }
 .author-topic-card:last-child,.travel-card:last-child { grid-column:1/-1; }
 .authors-footer-cta .container { align-items:flex-start; flex-direction:column; }
 .nav { gap:0!important; font-size:12px!important; }
}
@media(max-width:560px) {
 .authors-section-head { align-items:flex-start; flex-direction:column; gap:12px; }
 .author-topic-grid,.travel-card-grid,.author-info-banner { grid-template-columns:1fr; }
 .author-topic-card:last-child,.travel-card:last-child { grid-column:auto; }
 .authors-intro h2,.travel-intro h2 { font-size:36px; }
 .author-info-banner>div,.author-checklist { padding:19px; }
 .author-cta-actions { width:100%; flex-direction:column; }
 .author-cta-actions .btn { width:100%; box-sizing:border-box; }
}

/* Accessible multi-level conference navigation */
.nav-dropdown { position:relative; display:flex; align-items:stretch; }
.nav-drop-toggle { position:relative; display:inline-flex; align-items:center; gap:7px; padding:28px 0; border:0; background:transparent; color:inherit; font:inherit; font-weight:700; white-space:nowrap; cursor:pointer; }
.drop-chevron { display:inline-block; font-size:15px; line-height:1; transition:transform .18s ease; }
.nav-dropdown:hover .drop-chevron,.nav-dropdown:focus-within .drop-chevron,.nav-dropdown.open .drop-chevron { transform:rotate(180deg); }
.nav-dropdown-menu { position:absolute; z-index:1000; top:calc(100% - 8px); left:-16px; display:none; min-width:245px; padding:8px; border:1px solid #D0F0F0; border-radius:6px; background:#FFFFFF; box-shadow:0 18px 42px rgba(35, 0, 88, 0.16); }
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu,.nav-dropdown.open .nav-dropdown-menu { display:flex; flex-direction:column; }
.nav .nav-dropdown-menu a { display:flex; align-items:center; width:100%; box-sizing:border-box; padding:11px 12px!important; border-radius:4px; color:#45D9F5; font-size:11px; line-height:1.45; text-decoration:none; white-space:normal; }
.nav .nav-dropdown-menu a:after { display:none!important; }
.nav .nav-dropdown-menu a:hover,.nav .nav-dropdown-menu a:focus-visible,.nav .nav-dropdown-menu a.active { color:var(--spectram-blue); background:#3060A0; }
.nav-dropdown.active > .nav-drop-toggle { color:var(--spectram-blue); }
.nav-dropdown.active > .nav-drop-toggle:after { content:""; position:absolute; bottom:19px; left:0; right:0; height:2px; background:var(--spectram-blue); }
.nav-drop-toggle:focus-visible { outline:2px solid var(--spectram-blue); outline-offset:4px; border-radius:3px; }
@media(max-width:1100px) and (min-width:821px) {
  .nav { gap:10px!important; font-size:10px!important; }
  .nav-drop-toggle { font-size:10px; }
  .nav .nav-dropdown-menu { min-width:220px; }
}
@media(max-width:820px) {
  .nav-dropdown { display:flex; flex-direction:column; align-items:stretch; }
  .nav-drop-toggle { width:100%; justify-content:space-between; padding:12px 10px!important; text-align:left; }
  .nav-dropdown.active > .nav-drop-toggle { color:var(--spectram-blue); background:#3060A0; border-radius:5px; }
  .nav-dropdown.active > .nav-drop-toggle:after { display:none; }
  .nav-dropdown-menu { position:static; min-width:0; width:auto; margin:0 0 7px 10px; padding:4px; border:0; border-left:2px solid #D0F0F0; border-radius:0; box-shadow:none; background:#F7FAFC; }
  .nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu { display:none; }
  .nav-dropdown.open .nav-dropdown-menu { display:flex; }
  .nav .nav-dropdown-menu a { padding:10px 12px!important; font-size:11px; }
  .nav-dropdown.active > .nav-drop-toggle:after { display:none; }
}

/* =========================
   SUBTLE SPECTRAM CARD BACKGROUND MOTION
   Slow ambient light, fine grid shimmer and hover response.
========================= */
@keyframes spectramGlowDrift {
  0%   { transform: translate3d(-9%, -5%, 0) rotate(0deg) scale(.96); }
  50%  { transform: translate3d(8%, 7%, 0) rotate(9deg) scale(1.08); }
  100% { transform: translate3d(-9%, -5%, 0) rotate(0deg) scale(.96); }
}
@keyframes spectramGridShift {
  0% { background-position: 0 0, 0 0; opacity: .15; }
  50% { background-position: 26px 16px, -16px 22px; opacity: .28; }
  100% { background-position: 52px 32px, -32px 44px; opacity: .15; }
}
@keyframes spectramLightSweep {
  0% { transform: translateX(-125%) skewX(-18deg); opacity: 0; }
  18% { opacity: .34; }
  55% { opacity: .12; }
  100% { transform: translateX(210%) skewX(-18deg); opacity: 0; }
}
@keyframes spectramBorderPulse {
  0%,100% { border-color: rgba(0, 32, 80, 0.14); }
  50% { border-color: rgba(0, 32, 80, 0.42); }
}
.author-topic-card,
.travel-card,
.date-card,
.track-preview-card,
.author-checklist,
.author-info-banner>div,
.announcement-list,
.resource-list,
.travel-location-panel,
.missing-info-list,
.author-checklist,
.missing-detail {
  isolation: isolate;
}
.author-topic-card,
.travel-card,
.date-card,
.track-preview-card,
.author-checklist,
.author-info-banner>div,
.travel-location-panel {
  transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease, border-color .35s ease;
}
.author-topic-card::before,
.travel-card::before,
.date-card::before,
.author-checklist::before,
.author-info-banner>div::before,
.travel-location-panel::before {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  inset: -42%;
  background:
    radial-gradient(ellipse at 24% 28%, rgba(0, 32, 80, 0.16), transparent 35%),
    radial-gradient(ellipse at 77% 72%, rgba(0, 32, 80, 0.12), transparent 32%);
  animation: spectramGlowDrift 13s ease-in-out infinite;
  opacity: .8;
}
.author-topic-card:nth-child(2)::before,
.travel-card:nth-child(2)::before,
.date-card:nth-child(2)::before { animation-delay: -4s; }
.author-topic-card:nth-child(3)::before,
.travel-card:nth-child(3)::before,
.date-card:nth-child(3)::before { animation-delay: -8s; }
.author-topic-card::after,
.travel-card::after,
.date-card::after,
.author-checklist::after,
.author-info-banner>div::after,
.travel-location-panel::after {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  border-radius: inherit;
  background-image:
    linear-gradient(rgba(0, 32, 80, 0.35) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 32, 80, 0.35) 1px, transparent 1px);
  background-size: 26px 26px;
  animation: spectramGridShift 18s linear infinite;
  opacity: .28;
}
.author-topic-card > *,
.travel-card > *,
.date-card > *,
.author-checklist > *,
.author-info-banner>div > *,
.travel-location-panel > * {
  position: relative;
  z-index: 1;
}
.author-topic-card:hover,
.travel-card:hover,
.date-card:hover,
.author-checklist:hover,
.author-info-banner>div:hover,
.travel-location-panel:hover {
  transform: translateY(-4px);
  border-color: rgba(0, 32, 80, 0.45);
  box-shadow: 0 18px 42px rgba(35, 0, 88, 0.1);
}
.track-preview-card::before {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
  inset: -50%;
  background:
    radial-gradient(ellipse at 25% 28%, rgba(0, 32, 80, 0.3), transparent 30%),
    radial-gradient(ellipse at 75% 70%, rgba(0, 32, 80, 0.28), transparent 34%);
  animation: spectramGlowDrift 15s ease-in-out infinite;
  opacity: .85;
}
.track-preview-card::after {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
  top: -20%;
  bottom: -20%;
  left: -35%;
  width: 28%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .12), transparent);
  animation: spectramLightSweep 9s ease-in-out infinite;
}
.track-preview-card > * { position: relative; z-index: 1; }
.track-preview-card:nth-child(2)::before { animation-delay: -5s; }
.track-preview-card:nth-child(3)::before { animation-delay: -10s; }
.announcement-list,
.resource-list,
.missing-info-list { position: relative; }
.announcement-item,
.resource-row,
.missing-detail { position: relative; transition: background-color .25s ease; }
.announcement-item::before,
.resource-row::before,
.missing-detail::before {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
  inset: 0;
  background: linear-gradient(105deg, rgba(0, 32, 80, 0.7), rgba(0, 32, 80, 0.4), transparent 70%);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .45s cubic-bezier(.2,.7,.2,1);
}
.announcement-item:hover::before,
.resource-row:hover::before,
.missing-detail:hover::before { transform: scaleX(1); }
.announcement-item > *,
.resource-row > *,
.missing-detail > * { position: relative; z-index: 1; }
.date-card-featured::before {
  background:
    radial-gradient(ellipse at 20% 20%, rgba(0, 32, 80, 0.2), transparent 40%),
    radial-gradient(ellipse at 85% 85%, rgba(0, 32, 80, 0.22), transparent 35%);
}
.date-card-featured::after {
  background-image:
    linear-gradient(rgba(208, 240, 240, 0.65) 1px, transparent 1px),
    linear-gradient(90deg, rgba(208, 240, 240, 0.65) 1px, transparent 1px);
}
.travel-map-placeholder {
  position: relative;
  overflow: hidden;
}
.travel-map-placeholder::after {
  content: "";
  position: absolute;
  inset: -30%;
  pointer-events: none;
  background: linear-gradient(115deg, transparent 38%, rgba(0, 32, 80, 0.14) 49%, rgba(0, 32, 80, 0.18) 52%, transparent 64%);
  transform: translateX(-55%);
  animation: spectramLightSweep 8s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
  .author-topic-card::before,
  .travel-card::before,
  .date-card::before,
  .author-checklist::before,
  .author-info-banner>div::before,
  .travel-location-panel::before,
  .author-topic-card::after,
  .travel-card::after,
  .date-card::after,
  .author-checklist::after,
  .author-info-banner>div::after,
  .travel-location-panel::after,
  .track-preview-card::before,
  .track-preview-card::after,
  .announcement-item::before,
  .resource-row::before,
  .missing-detail::before,
  .travel-map-placeholder::after {
    animation: none !important;
    transition: none !important;
  }
}

/* Rotating orbital paths for the conference visual and hero date card */
@keyframes spectramOrbitSpin {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to   { transform: translate(-50%, -50%) rotate(360deg); }
}
@keyframes spectramOrbitSpinReverse {
  from { transform: translate(-50%, -50%) rotate(360deg); }
  to   { transform: translate(-50%, -50%) rotate(0deg); }
}
@keyframes spectramOrbitPulse {
  0%,100% { opacity:.5; box-shadow:0 0 12px rgba(0, 32, 80, 0.8); }
  50% { opacity:1; box-shadow:0 0 28px rgba(0, 32, 80, 0.2); }
}
.overview-visual .visual-orbit {
  transform-origin:center;
  animation:spectramOrbitSpin 28s linear infinite, spectramOrbitPulse 6s ease-in-out infinite;
}
.overview-visual .visual-orbit.orbit-b {
  animation:spectramOrbitSpinReverse 36s linear infinite, spectramOrbitPulse 7s ease-in-out infinite;
  animation-delay:-3s, -2s;
}
.hero-card .orbit-one { animation:spectramOrbitSpin 32s linear infinite; transform-origin:70% 50%; }
.hero-card .orbit-two { animation:spectramOrbitSpinReverse 40s linear infinite; transform-origin:70% 50%; }
@media (prefers-reduced-motion: reduce) {
  .overview-visual .visual-orbit,
  .overview-visual .visual-orbit.orbit-b,
  .hero-card .orbit-one,
  .hero-card .orbit-two { animation:none !important; }
}
/* Conference-date card now uses the same light surface as the other timeline cards */
.date-card-featured {
  background:#FFFFFF;
  border-color:#D0F0F0;
}
.date-card-featured .date-step {
  background:#3060A0;
  color:var(--spectram-blue);
}
.date-card-featured .date-label { color:#002050; }
.date-card-featured .date-value { color:var(--spectram-ink); }
.date-card-featured p { color:#002050; }
.date-card-featured::before {
  background:
    radial-gradient(ellipse at 20% 20%, rgba(0, 32, 80, 0.11), transparent 40%),
    radial-gradient(ellipse at 85% 85%, rgba(0, 32, 80, 0.9), transparent 35%);
}
.date-card-featured::after {
  background-image:
    linear-gradient(rgba(0, 32, 80, 0.35) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 32, 80, 0.35) 1px, transparent 1px);
}

/* =========================
   HOMEPAGE POLISH: ANIMATED MILESTONE TIMELINE
========================= */
.timeline-grid {
  position:relative;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-top:38px;
}
.timeline-grid::before {
  content:"";
  position:absolute;
  z-index:0;
  top:-21px;
  left:7%;
  right:7%;
  height:2px;
  border-radius:2px;
  background:linear-gradient(90deg,#002050,#002050,#D0F0F0,#002050);
  background-size:220% 100%;
  animation:spectramTimelineFlow 7s linear infinite;
}
@keyframes spectramTimelineFlow {
  from { background-position:100% 0; }
  to { background-position:-120% 0; }
}
@keyframes spectramMilestonePulse {
  0%,100% { box-shadow:0 0 0 4px rgba(0, 32, 80, 0.8),0 0 12px rgba(0, 32, 80, 0.12); }
  50% { box-shadow:0 0 0 7px rgba(0, 32, 80, 0.45),0 0 23px rgba(0, 32, 80, 0.32); }
}
.timeline-grid .date-card {
  min-height:190px;
  padding:22px 18px 18px;
  border-radius:9px;
  border-top:2px solid transparent;
  background:
    linear-gradient(#FFFFFF,#FFFFFF) padding-box,
    linear-gradient(135deg,rgba(0, 32, 80, 0.42),rgba(0, 32, 80, 0.48),rgba(0, 32, 80, 0.18)) border-box;
  animation:spectramDateCardIn .7s both;
}
.timeline-grid .date-card:nth-child(2) { animation-delay:.1s; }
.timeline-grid .date-card:nth-child(3) { animation-delay:.2s; }
.timeline-grid .date-card:nth-child(4) { animation-delay:.3s; }
@keyframes spectramDateCardIn {
  from { opacity:0; transform:translateY(12px); }
  to { opacity:1; transform:translateY(0); }
}
.timeline-grid .date-step {
  position:absolute;
  top:-37px;
  left:17px;
  z-index:3;
  width:32px;
  height:32px;
  margin:0;
  border:3px solid #F7FAFC;
  border-radius:50%;
  color:#FFFFFF;
  background:linear-gradient(135deg,#002050,#002050);
  box-shadow:0 0 0 4px rgba(0, 32, 80, 0.8);
  animation:spectramMilestonePulse 4s ease-in-out infinite;
}
.timeline-grid .date-card:nth-child(2) .date-step { animation-delay:-1s; }
.timeline-grid .date-card:nth-child(3) .date-step { animation-delay:-2s; }
.timeline-grid .date-card:nth-child(4) .date-step { animation-delay:-3s; }
.timeline-grid .date-label { min-height:24px; font-size:8px; letter-spacing:1px; }
.timeline-grid .date-value { margin:12px 0 10px; font-size:clamp(21px,2vw,28px); }
.timeline-grid .date-card p { font-size:10px; line-height:1.75; }
.timeline-grid .date-card-featured {
  background:
    linear-gradient(#FFFFFF,#FFFFFF) padding-box,
    linear-gradient(135deg,#002050,#002050,#D0F0F0) border-box;
  border-color:transparent;
}
.timeline-grid .date-card-featured .date-step {
  background:linear-gradient(135deg,#002050,#002050);
  color:#FFFFFF;
}
.timeline-grid .date-card-featured .date-label { color:#002050; }
.timeline-grid .date-card-featured .date-value { color:var(--spectram-ink); }
.timeline-grid .date-card-featured p { color:#002050; }
.timeline-grid .date-card::before {
  background:
    radial-gradient(ellipse at 20% 20%,rgba(0, 32, 80, 0.14),transparent 43%),
    radial-gradient(ellipse at 85% 85%,rgba(0, 32, 80, 0.12),transparent 38%);
}
.timeline-grid .date-card::after { opacity:.18; }

/* Compact track cards with animated, flowing multi-colour gradients */
.track-preview-grid { gap:18px; }
.track-preview-card {
  min-height:235px;
  padding:22px 22px 19px;
  border:1px solid rgba(208, 240, 240, 0.18);
  border-radius:10px;
  background-size:220% 220%;
  animation:spectramTrackGradient 12s ease-in-out infinite;
  transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease,border-color .35s ease;
}
.track-preview-one { background-image:linear-gradient(125deg,#45D9F5 0%,#002050 32%,#45D9F5 68%,#45D9F5 100%); }
.track-preview-two { background-image:linear-gradient(125deg,#45D9F5 0%,#45D9F5 32%,#002050 68%,#45D9F5 100%); animation-delay:-4s; }
.track-preview-three { background-image:linear-gradient(125deg,#002050 0%,#45D9F5 32%,#45D9F5 68%,#002050 100%); animation-delay:-8s; }
@keyframes spectramTrackGradient {
  0%,100% { background-position:0% 45%; }
  50% { background-position:100% 55%; }
}
.track-preview-card::before {
  inset:-65%;
  background:
    radial-gradient(ellipse at 25% 30%,rgba(0, 32, 80, 0.32),transparent 30%),
    radial-gradient(ellipse at 78% 72%,rgba(208, 240, 240, 0.38),transparent 35%);
  animation:spectramGlowDrift 11s ease-in-out infinite;
  mix-blend-mode:screen;
}
.track-preview-card::after {
  left:-50%;
  width:36%;
  background:linear-gradient(90deg,transparent,rgba(255, 255, 255, .19),transparent);
  animation:spectramLightSweep 7.5s ease-in-out infinite;
}
.track-preview-card .preview-number { position:relative; z-index:2; font-size:8px; }
.track-preview-card .preview-symbol {
  position:absolute;
  top:12px;
  right:20px;
  align-self:auto;
  height:auto;
  margin:0;
  color:rgba(208, 240, 240, 0.88);
  font-size:66px;
  line-height:1;
  text-shadow:0 0 24px rgba(0, 32, 80, 0.36);
  transform-origin:center;
  animation:spectramSymbolFloat 6s ease-in-out infinite;
}
.track-preview-two .preview-symbol { animation-delay:-2s; }
.track-preview-three .preview-symbol { animation-delay:-4s; }
@keyframes spectramSymbolFloat {
  0%,100% { transform:translateY(0) rotate(-5deg); filter:drop-shadow(0 0 4px rgba(0, 32, 80, 0.15)); }
  50% { transform:translateY(5px) rotate(5deg); filter:drop-shadow(0 0 12px rgba(0, 32, 80, 0.45)); }
}
.track-preview-card h3 {
  max-width:calc(100% - 42px);
  margin:34px 0 8px;
  font-size:21px;
}
.track-preview-card p { max-width:360px; font-size:11px; line-height:1.7; }
.track-preview-card .preview-link { padding-top:15px; }
.track-preview-card:hover {
  transform:translateY(-6px);
  border-color:rgba(208, 240, 240, 0.65);
  box-shadow:0 18px 40px rgba(35, 0, 88, 0.2),0 0 24px rgba(0, 32, 80, 0.12);
}
@media(max-width:900px) {
  .timeline-grid { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:48px; }
  .timeline-grid::before { display:none; }
  .timeline-grid .date-step { top:-17px; left:auto; right:15px; border-color:#FFFFFF; }
  .track-preview-card { min-height:225px; }
}
@media(max-width:560px) {
  .timeline-grid { grid-template-columns:1fr; gap:35px; margin-top:30px; }
  .timeline-grid .date-card { min-height:0; padding:22px 18px 20px; }
  .timeline-grid .date-step { top:16px; right:16px; }
  .timeline-grid .date-label { padding-right:40px; }
  .track-preview-grid { grid-template-columns:1fr; gap:14px; }
  .track-preview-card { min-height:205px; }
}
@media(prefers-reduced-motion:reduce) {
  .timeline-grid::before,
  .timeline-grid .date-card,
  .timeline-grid .date-step,
  .track-preview-card,
  .track-preview-card .preview-symbol { animation:none!important; }
}

/* =========================================================
   SPECTRAM EDITORIAL REFINEMENT
   Classic academic conference aesthetic: quiet typography,
   paper-white surfaces, precise borders and restrained motion.
========================================================= */
:root {
  --spectram-ink:#002050;
  --spectram-navy:#002050;
  --spectram-blue:#3060A0;
  --spectram-cyan:#3060A0;
  --spectram-gold:#3060A0;
  --spectram-paper:#F7FAFC;
  --spectram-line:#F7FAFC;
  --spectram-muted:#002050;
}
body {
  color:#45D9F5;
  background:#FFFFFF;
  font-family:"Inter",Arial,sans-serif;
  line-height:1.72;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,.hero h1,.section-heading h2,.timeline-heading h2,
.announcements-heading h2,.overview-copy h2,.resources-layout h2,
.pathways-intro h2,.page-banner h1,.feature h3,.thematic-title-group h3,
.track-preview-card h3,.date-value,.card-label {
  font-family:"DM Serif Display",Georgia,serif!important;
  font-weight:400!important;
  letter-spacing:-.025em!important;
}
.container { width:min(1320px,91%); }
.section { padding:clamp(56px,6.5vw,84px) 0; }
.eyebrow { color:#002050; font-size:9px; letter-spacing:1.7px; font-weight:700; }
.eyebrow span { background:#3060A0; }
a { text-underline-offset:4px; }
.site-header { background:rgba(255, 255, 255, .97); border-bottom:1px solid #F7FAFC; box-shadow:none; }
.nav-wrap { min-height:78px; }
.nav { color:#45D9F5; font-size:12px; font-weight:600; }
.nav a:after { background:#002050; height:1px; }
.nav-dropdown.active>.nav-drop-toggle { color:#002050; }
.nav-cta,.btn { border-radius:3px; box-shadow:none; }
.nav-cta,.primary { background:#45D9F5; }
.nav-cta:hover,.primary:hover { background:#45D9F5; }
.secondary { border-color:#D0F0F0; color:#45D9F5; background:rgba(255, 255, 255, .04); }
.topbar { background:#45D9F5; color:#D0F0F0; font-size:10px; letter-spacing:.55px; }
.ticker { background:#F7FAFC; color:#002050; border-bottom:1px solid #D0F0F0; }
.ticker-track { font-weight:600; letter-spacing:1.15px; }
.hero {
  background:linear-gradient(110deg,#45D9F5 0%,#45D9F5 64%,#45D9F5 100%);
  padding:clamp(58px,6.8vw,88px) 0 clamp(54px,6vw,78px);
}
.hero:before { opacity:.13; background-size:52px 52px; }
.hero:after { border-color:rgba(0, 32, 80, .15); box-shadow:0 0 0 42px rgba(0, 32, 80, .025),0 0 0 90px rgba(0, 32, 80, .018); }
.hero .eyebrow { color:#D0F0F0; }
.hero .eyebrow span { background:#3060A0; }
.hero h1 { line-height:.98; }
.hero h1 .text-gradient { background:linear-gradient(100deg,#FFFFFF 0%,#D0F0F0 70%,#D0F0F0 100%); background-clip:text; -webkit-background-clip:text; }
.hero h2 { font-family:"Inter",Arial,sans-serif!important; font-size:clamp(15px,1.45vw,19px); font-weight:500!important; letter-spacing:0!important; }
.hero-text-box { border-left:1px solid #3060A0; }
.hero-text-box .box-title { font-family:"DM Serif Display",Georgia,serif!important; font-size:20px; }
.hero-card { background:rgba(255, 255, 255, .045); border:1px solid rgba(208, 240, 240, .22); border-radius:3px; box-shadow:0 20px 45px rgba(0, 0, 0, .12); }
.hero-card:before { background:#3060A0; opacity:.12; }
.hero-card-inner { padding:clamp(24px,3vw,34px); }
.hero-card li { border-bottom-color:rgba(208, 240, 240, .12); padding:11px 0; }
.hero-card li strong { color:#D0F0F0!important; }
.orbit { border-color:rgba(208, 240, 240, .2); }
.orbit-one,.orbit-two { border-color:rgba(208, 240, 240, .16); }
.quick-info.conference-facts { background:#FFFFFF!important; border-bottom:1px solid var(--spectram-line); }
.fact-item { padding:22px 19px; border-color:#F7FAFC; }
.fact-item:first-child { border-left-color:#F7FAFC; }
.fact-label { color:#002050; font-size:8px; letter-spacing:1.2px; }
.fact-item strong { font-size:12px; font-weight:600; }
.co-sponsor-line { background:#F7FAFC; color:#002050; border-top-color:#D0F0F0; }
.announcements-section { background:#F7FAFC; }
.announcements-heading h2,.timeline-heading h2,.overview-copy h2,.resources-layout h2 {
  color:#002050;
  font-size:clamp(30px,3.6vw,42px);
  line-height:1.16;
}
.announcements-heading h2 span,.timeline-heading h2 span,.overview-copy h2 span,.resources-layout h2 span,
.section-heading h2 span,.pathways-intro h2 span { color:#002050; }
.status-pill { border-color:#D0F0F0; border-radius:2px; background:#FFFFFF; color:#002050; }
.status-pill i { background:#3060A0; }
.announcement-list,.resource-list { border-color:#F7FAFC; border-radius:3px; box-shadow:none; }
.announcement-item { padding:20px 22px; border-bottom-color:#F7FAFC; }
.announcement-tag { color:#002050; font-size:8px; letter-spacing:1.2px; }
.announcement-item h3 { font-family:"DM Serif Display",Georgia,serif!important; font-size:18px; font-weight:400!important; letter-spacing:0!important; }
.announcement-item p { font-size:11px; color:#002050; }
.under-construction { border-radius:2px; background:#F7FAFC; color:#002050; border-color:#D0F0F0; }
.overview-visual { border-radius:3px; background:radial-gradient(ellipse at 53% 46%,rgba(0, 32, 80, 0.2),transparent 42%),linear-gradient(140deg,#45D9F5,#45D9F5); }
.overview-copy>p:not(.eyebrow) { color:#002050; font-size:12px; }
.overview-tags span { border-radius:2px; background:#F7FAFC; color:#45D9F5; font-weight:600; }
.text-link { color:#45D9F5; }
.timeline-section { background:#F7FAFC; border-top:1px solid #F7FAFC; border-bottom:1px solid #F7FAFC; }
.timeline-heading { align-items:flex-end; margin-bottom:34px; }
.timeline-heading h2 { margin-bottom:8px; }
.timeline-grid {
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
  margin-top:0;
  padding-top:35px;
}
.timeline-grid::before {
  top:10px;
  left:12.5%;
  right:12.5%;
  height:1px;
  background:#D0F0F0;
  background-size:100% 100%;
  animation:none;
}
.timeline-grid .date-card {
  min-height:175px;
  padding:24px 20px 20px;
  border:1px solid #D0F0F0;
  border-radius:2px;
  background:#FFFFFF;
  box-shadow:none;
  animation:spectramDateCardIn .65s ease-out both;
  transition:border-color .25s ease,transform .25s ease,box-shadow .25s ease;
}
.timeline-grid .date-card:nth-child(2),
.timeline-grid .date-card:nth-child(3),
.timeline-grid .date-card:nth-child(4) { animation-delay:0s; }
.timeline-grid .date-card:hover {
  transform:translateY(-3px);
  border-color:#D0F0F0;
  box-shadow:0 9px 24px rgba(35, 0, 88, 0.55);
}
.timeline-grid .date-step {
  top:-36px;
  left:20px;
  width:25px;
  height:25px;
  border:4px solid #F7FAFC;
  border-radius:50%;
  color:#FFFFFF;
  background:#002050;
  box-shadow:0 0 0 1px #002050;
  animation:none;
  font-family:"Inter",sans-serif;
  font-size:9px;
  font-weight:700;
}
.timeline-grid .date-card:nth-child(2) .date-step,
.timeline-grid .date-card:nth-child(3) .date-step,
.timeline-grid .date-card:nth-child(4) .date-step { animation:none; }
.timeline-grid .date-label {
  min-height:0;
  display:block;
  color:#002050;
  font-size:8px;
  letter-spacing:1px;
  line-height:1.5;
}
.timeline-grid .date-value {
  display:block;
  margin:17px 0 11px;
  color:#45D9F5;
  font-size:clamp(23px,2.25vw,30px);
  line-height:1.12;
}
.timeline-grid .date-value small {
  color:#002050;
  font:500 11px "Inter",sans-serif;
  letter-spacing:.04em;
}
.timeline-grid .date-card p { color:#002050; font-size:10px; line-height:1.75; }
.timeline-grid .date-card-featured {
  background:#FFFFFF;
  border-color:#D0F0F0;
}
.timeline-grid .date-card-featured .date-step { background:#002050; box-shadow:0 0 0 1px #002050; color:#FFFFFF; }
.timeline-grid .date-card-featured .date-label { color:#002050; }
.timeline-grid .date-card-featured .date-value { color:#45D9F5; }
.timeline-grid .date-card-featured p { color:#002050; }
.timeline-grid .date-card::before { display:none; }
.timeline-grid .date-card::after { display:none; }
.date-disclaimer { margin-top:20px; color:#626B78; font-size:10px; }
.tracks-preview { background:#FFFFFF; }
.track-preview-grid { gap:16px; }
.track-preview-card {
  min-height:218px;
  padding:23px 22px 20px;
  border:1px solid rgba(255, 255, 255, .12);
  border-radius:3px;
  background-size:100% 100%;
  animation:none;
  box-shadow:none;
  transition:transform .28s ease,box-shadow .28s ease,background-position .6s ease;
}
.track-preview-one { background-image:linear-gradient(135deg,#45D9F5,#45D9F5); }
.track-preview-two { background-image:linear-gradient(135deg,#45D9F5,#45D9F5); }
.track-preview-three { background-image:linear-gradient(135deg,#45D9F5,#45D9F5); }
.track-preview-card::before {
  inset:-20%;
  opacity:.42;
  background:radial-gradient(ellipse at 82% 18%,rgba(208, 240, 240, .22),transparent 35%);
  animation:spectramGlowDrift 22s ease-in-out infinite;
  mix-blend-mode:screen;
}
.track-preview-card::after {
  left:-70%;
  width:32%;
  background:linear-gradient(90deg,transparent,rgba(255, 255, 255, .12),transparent);
  animation:spectramLightSweep 14s ease-in-out infinite;
}
.track-preview-card .preview-number { color:#D0F0F0; font-size:8px; letter-spacing:1.4px; }
.track-preview-card .preview-symbol {
  top:12px;
  right:20px;
  color:rgba(247, 250, 252, .6);
  font-size:57px;
  text-shadow:none;
  animation:none;
}
.track-preview-card h3 {
  margin:29px 0 8px;
  font-size:23px;
  color:#FFFFFF;
  line-height:1.12;
}
.track-preview-card p { color:#F7FAFC; font-size:11px; line-height:1.8; }
.track-preview-card .preview-link { color:#D0F0F0; font-size:9px; letter-spacing:.65px; }
.track-preview-card:hover {
  transform:translateY(-4px);
  border-color:rgba(255, 255, 255, .35);
  box-shadow:0 14px 30px rgba(35, 0, 88, 0.13);
}
.resources-section { background:#FFFFFF; }
.resource-row { border-bottom-color:#F7FAFC; }
.resource-icon { border-radius:2px; background:#F7FAFC; color:#002050; }
.page-banner {
  background:linear-gradient(112deg,#45D9F5 0%,#45D9F5 70%,#45D9F5 100%);
  border-bottom:2px solid #3060A0;
}
.page-banner:after { border-color:rgba(202, 210, 199, .17); box-shadow:0 0 0 34px rgba(202, 210, 199, .025),0 0 0 75px rgba(202, 210, 199, .018); }
.page-banner .eyebrow { color:#D0F0F0; }
.page-banner h1 { font-size:clamp(38px,5vw,62px); line-height:1.08; }
.page-banner p:last-child { max-width:720px; font-size:12px; }
footer { background:#45D9F5; color:#D0F0F0; }
footer h4 { font-family:"DM Serif Display",Georgia,serif!important; font-size:18px; font-weight:400!important; }
.footer-bottom { border-top-color:rgba(255, 255, 255, .14); }
.feature,.thematic-card,.author-topic-card,.travel-card,.author-checklist,.author-info-banner>div,.travel-location-panel {
  border-radius:3px;
  box-shadow:0 5px 18px rgba(35, 0, 88, 0.35);
}
.feature:hover,.thematic-card:hover,.author-topic-card:hover,.travel-card:hover,.author-checklist:hover,.author-info-banner>div:hover,.travel-location-panel:hover {
  box-shadow:0 10px 24px rgba(35, 0, 88, 0.7);
}
.author-topic-card::before,.travel-card::before,.author-checklist::before,.author-info-banner>div::before,.travel-location-panel::before,
.author-topic-card::after,.travel-card::after,.author-checklist::after,.author-info-banner>div::after,.travel-location-panel::after { display:none; }
.author-topic-card,.travel-card,.author-checklist,.author-info-banner>div,.travel-location-panel {
  background:#FFFFFF;
  border-color:#D0F0F0;
}
.author-topic-card h3,.travel-card h3,.author-detail-grid h2,.authors-section-head h2 {
  font-family:"DM Serif Display",Georgia,serif!important;
  font-weight:400!important;
  letter-spacing:-.02em!important;
}
.authors-intro,.travel-intro,.authors-alt,.travel-alt { background:#F7FAFC; }
.authors-footer-cta { background:#45D9F5; }
.authors-footer-cta h2 { font-family:"DM Serif Display",Georgia,serif!important; font-weight:400!important; }
.nav-dropdown-menu { border-color:#D0F0F0; border-radius:2px; box-shadow:0 12px 28px rgba(35, 0, 88, 0.1); }
.nav .nav-dropdown-menu a:hover,.nav .nav-dropdown-menu a:focus-visible,.nav .nav-dropdown-menu a.active { color:#45D9F5; background:#F7FAFC; }
@media(max-width:900px) {
  .timeline-grid { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:42px; }
  .timeline-grid::before { display:none; }
  .timeline-grid .date-step { top:-14px; left:auto; right:16px; border-color:#FFFFFF; }
}
@media(max-width:560px) {
  .timeline-grid { grid-template-columns:1fr; gap:28px; padding-top:0; margin-top:22px; }
  .timeline-grid .date-card { min-height:0; padding:21px 18px 19px; }
  .timeline-grid .date-step { top:18px; right:16px; }
  .timeline-grid .date-label { padding-right:42px; }
  .timeline-grid .date-value { margin:13px 0 8px; }
  .announcements-heading,.timeline-heading { align-items:flex-start; flex-direction:column; gap:14px; }
  .status-pill { white-space:normal; }
  .track-preview-card { min-height:205px; }
  .hero-card-inner { min-height:0; }
}
@media(prefers-reduced-motion:reduce) {
  .timeline-grid::before,.timeline-grid .date-step,.track-preview-card,.track-preview-card .preview-symbol { animation:none!important; }
}

/* Final timeline treatment: a true connected editorial timeline */
.timeline-grid {
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:28px;
  padding-top:42px;
  margin-top:8px;
}
.timeline-grid::before {
  content:"";
  display:block;
  position:absolute;
  top:13px;
  left:12.5%;
  right:12.5%;
  height:1px;
  background:linear-gradient(90deg,#3060A0 0%,#D0F0F0 100%);
  opacity:1;
}
.timeline-grid .date-card {
  position:relative;
  min-height:0;
  padding:22px 18px 20px;
  background:transparent;
  border:0;
  border-top:1px solid #D0F0F0;
  border-radius:0;
  box-shadow:none;
  overflow:visible;
  animation:timelineRise .6s ease-out both;
}
.timeline-grid .date-card:nth-child(n) { animation-delay:0s; }
@keyframes timelineRise {
  from { opacity:0; transform:translateY(8px); }
  to { opacity:1; transform:translateY(0); }
}
.timeline-grid .date-card:hover {
  transform:translateY(-3px);
  border-color:#3060A0;
  box-shadow:none;
}
.timeline-grid .date-step {
  position:absolute;
  top:-42px;
  left:calc(50% - 13px);
  display:flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  margin:0;
  padding:0;
  border:5px solid #F7FAFC;
  border-radius:50%;
  color:#FFFFFF;
  background:#002050;
  box-shadow:0 0 0 1px #002050;
  font:600 8px/1 "Inter",sans-serif;
  animation:none;
}
.timeline-grid .date-card-featured .date-step {
  background:#002050;
  box-shadow:0 0 0 1px #002050;
  color:#FFFFFF;
}
.timeline-grid .date-label {
  display:block;
  min-height:0;
  margin-bottom:0;
  color:#002050;
  font:600 8px/1.6 "Inter",sans-serif;
  letter-spacing:1.1px;
}
.timeline-grid .date-value {
  display:block;
  margin:14px 0 10px;
  color:#45D9F5;
  font:400 clamp(24px,2.3vw,31px)/1.1 "DM Serif Display",Georgia,serif!important;
  letter-spacing:-.025em!important;
}
.timeline-grid .date-value small {
  display:block;
  margin-top:5px;
  color:#002050;
  font:500 10px/1.4 "Inter",sans-serif;
  letter-spacing:1.2px;
}
.timeline-grid .date-card p {
  margin:0;
  color:#002050;
  font-size:10px;
  line-height:1.8;
}
.timeline-grid .date-card-featured {
  background:transparent;
  border-color:#D0F0F0;
}
.timeline-grid .date-card-featured .date-label { color:#002050; }
.timeline-grid .date-card-featured .date-value { color:#45D9F5; }
.timeline-grid .date-card-featured p { color:#002050; }
.timeline-grid .date-card::before,
.timeline-grid .date-card::after { display:none!important; }
@media(max-width:900px) {
  .timeline-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:46px 24px;
    padding-top:16px;
  }
  .timeline-grid::before { display:none; }
  .timeline-grid .date-step { top:-13px; left:auto; right:15px; border-color:#F7FAFC; }
  .timeline-grid .date-card { border-top:1px solid #D0F0F0; }
}
@media(max-width:560px) {
  .timeline-grid {
    grid-template-columns:1fr;
    gap:22px;
    padding:0 0 0 20px;
    margin-top:24px;
  }
  .timeline-grid::before {
    display:block;
    top:0;
    bottom:0;
    left:5px;
    right:auto;
    width:1px;
    height:auto;
    background:#D0F0F0;
  }
  .timeline-grid .date-card {
    padding:5px 12px 17px 20px;
    border-top:0;
    border-bottom:1px solid #D0F0F0;
  }
  .timeline-grid .date-step {
    top:6px;
    left:-27px;
    right:auto;
    width:22px;
    height:22px;
    border-width:4px;
  }
  .timeline-grid .date-label { padding-right:0; }
  .timeline-grid .date-value { margin:8px 0; }
}
@media(prefers-reduced-motion:reduce) {
  .timeline-grid .date-card { animation:none!important; }
}

/* Timeline alignment and border refinement */
.timeline-section .container { max-width:1240px; }
.timeline-heading {
  width:100%;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  margin-bottom:30px;
}
.timeline-heading > div { max-width:640px; }
.timeline-heading > .text-link { flex-shrink:0; margin-bottom:8px; }
.timeline-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  padding:45px 0 0;
  margin:0;
  border-top:1px solid #D0F0F0;
}
.timeline-grid::before {
  top:-1px;
  left:12.5%;
  right:12.5%;
  height:1px;
  background:#002050;
}
.timeline-grid .date-card {
  min-width:0;
  min-height:178px;
  box-sizing:border-box;
  padding:22px 24px 18px;
  border:0;
  border-right:1px solid #D0F0F0;
  border-top:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
  background:transparent;
  transform:none;
}
.timeline-grid .date-card:last-child { border-right:0; }
.timeline-grid .date-card:hover {
  transform:translateY(-2px);
  background:rgba(255, 255, 255, .45);
  box-shadow:none;
}
.timeline-grid .date-step {
  top:-58px;
  left:24px;
  width:26px;
  height:26px;
  box-sizing:border-box;
  border:4px solid #F7FAFC;
  box-shadow:0 0 0 1px #D0F0F0;
  background:#002050;
  font-size:8px;
  line-height:1;
}
.timeline-grid .date-card-featured .date-step {
  background:#002050;
  box-shadow:0 0 0 1px #002050;
}
.timeline-grid .date-label {
  width:100%;
  min-height:26px;
  margin:0;
  font-size:8px;
  line-height:1.65;
  letter-spacing:.9px;
  overflow-wrap:anywhere;
}
.timeline-grid .date-value {
  width:100%;
  margin:14px 0 12px;
  font-size:clamp(24px,2.2vw,30px);
  line-height:1.12;
  white-space:normal;
}
.timeline-grid .date-value small {
  display:block;
  margin-top:6px;
  font-size:10px;
  letter-spacing:1.4px;
}
.timeline-grid .date-card p {
  margin-top:auto;
  max-width:230px;
  font-size:10px;
  line-height:1.8;
}
.timeline-grid .date-card-featured {
  border-right:0;
  background:transparent;
}
@media(max-width:900px) {
  .timeline-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    padding-top:0;
    border-top:0;
    border-left:1px solid #D0F0F0;
    gap:0;
  }
  .timeline-grid::before { display:none; }
  .timeline-grid .date-card {
    min-height:170px;
    padding:22px 24px;
    border-right:1px solid #D0F0F0;
    border-bottom:1px solid #D0F0F0;
  }
  .timeline-grid .date-card:nth-child(2n) { border-right:0; }
  .timeline-grid .date-step {
    position:static;
    margin:0 0 14px;
    border-color:#F7FAFC;
  }
  .timeline-grid .date-label { min-height:0; }
}
@media(max-width:560px) {
  .timeline-heading { align-items:flex-start; }
  .timeline-grid {
    display:flex;
    flex-direction:column;
    gap:0;
    padding:0 0 0 24px;
    border:0;
    border-left:1px solid #D0F0F0;
    margin-left:7px;
  }
  .timeline-grid .date-card,
  .timeline-grid .date-card:nth-child(2n) {
    position:relative;
    min-height:0;
    padding:0 8px 24px 20px;
    border:0;
    border-bottom:1px solid #D0F0F0;
    margin-bottom:22px;
    background:transparent;
  }
  .timeline-grid .date-card:last-child { border-bottom:0; margin-bottom:0; padding-bottom:4px; }
  .timeline-grid .date-step {
    position:absolute;
    top:0;
    left:-38px;
    margin:0;
    width:25px;
    height:25px;
    border:4px solid #F7FAFC;
  }
  .timeline-grid .date-label { padding:2px 0 0; min-height:0; }
  .timeline-grid .date-value { margin:9px 0 8px; }
  .timeline-grid .date-value small { display:inline; margin-left:5px; }
  .timeline-grid .date-card p { margin-top:0; max-width:none; }
}

/* Technical tracks: aligned editorial cards, quiet scientific detail */
.tracks-preview {
  background:#F7FAFC;
  border-top:1px solid #F7FAFC;
  border-bottom:1px solid #F7FAFC;
}
.tracks-preview .timeline-heading {
  max-width:1240px;
  margin:0 auto 32px;
  padding-bottom:22px;
  border-bottom:1px solid #D0F0F0;
}
.tracks-preview .timeline-heading h2 { margin:10px 0 9px; }
.tracks-preview .timeline-heading p:not(.eyebrow) {
  margin:0;
  color:#002050;
  font-size:12px;
  line-height:1.8;
}
.tracks-preview .text-link {
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 0;
  border-bottom:1px solid #002050;
  color:#45D9F5;
  font-size:10px;
  letter-spacing:.25px;
  text-decoration:none;
  transition:color .2s ease,border-color .2s ease;
}
.tracks-preview .text-link:hover { color:#002050; border-color:#002050; }
.track-preview-grid {
  align-items:stretch;
  gap:18px;
}
.track-preview-card {
  min-width:0;
  min-height:255px;
  padding:23px 24px 21px;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  border:1px solid #F7FAFC;
  border-radius:2px;
  color:#FFFFFF;
  box-shadow:0 4px 14px rgba(35, 0, 88, 0.35);
  isolation:isolate;
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;
}
.track-preview-one { background:linear-gradient(145deg,#45D9F5 0%,#45D9F5 100%); }
.track-preview-two { background:linear-gradient(145deg,#45D9F5 0%,#45D9F5 100%); }
.track-preview-three { background:linear-gradient(145deg,#45D9F5 0%,#45D9F5 100%); }
.track-preview-card::before {
  inset:0;
  opacity:.45;
  background:
    radial-gradient(circle at 84% 18%,rgba(208, 240, 240, .17),transparent 27%),
    linear-gradient(115deg,transparent 35%,rgba(255, 255, 255, .035) 52%,transparent 69%);
  animation:spectramGlowDrift 24s ease-in-out infinite;
}
.track-preview-card::after {
  left:-75%;
  width:35%;
  opacity:.45;
  background:linear-gradient(90deg,transparent,rgba(255, 255, 255, .11),transparent);
  animation:spectramLightSweep 17s ease-in-out infinite;
}
.track-preview-card .preview-number {
  display:block;
  width:100%;
  padding-bottom:14px;
  border-bottom:1px solid rgba(208, 240, 240, .22);
  color:#D0F0F0;
  font:600 8px/1.4 "Inter",sans-serif;
  letter-spacing:1.45px;
}
.track-preview-card .preview-symbol {
  position:absolute;
  top:45px;
  right:21px;
  height:auto;
  margin:0;
  color:rgba(208, 240, 240, .32);
  font:400 65px/.9 Georgia,serif;
  text-shadow:none;
  animation:none;
}
.track-preview-card h3 {
  max-width:calc(100% - 12px);
  margin:auto 0 9px;
  padding-top:47px;
  color:#FFFFFF;
  font:400 clamp(22px,2vw,27px)/1.12 "DM Serif Display",Georgia,serif!important;
  letter-spacing:-.025em!important;
}
.track-preview-card p {
  max-width:340px;
  margin:0;
  color:rgba(245, 247, 245, .82);
  font-size:10px;
  line-height:1.85;
}
.track-preview-card .preview-link {
  align-self:flex-start;
  margin-top:20px;
  padding-top:11px;
  border-top:1px solid rgba(208, 240, 240, .22);
  color:#D0F0F0;
  font-size:8px;
  font-weight:600;
  letter-spacing:.8px;
  text-transform:uppercase;
}
.track-preview-card:hover {
  transform:translateY(-3px);
  border-color:#002050;
  box-shadow:0 12px 26px rgba(35, 0, 88, 0.9);
}
.track-preview-card:focus-visible {
  outline:2px solid #002050;
  outline-offset:4px;
}
@media(max-width:900px) {
  .track-preview-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .track-preview-card:last-child { grid-column:1/-1; }
  .track-preview-card { min-height:230px; }
}
@media(max-width:560px) {
  .tracks-preview .timeline-heading { gap:14px; }
  .tracks-preview .timeline-heading > .text-link { align-self:flex-start; }
  .track-preview-grid { grid-template-columns:1fr; gap:13px; }
  .track-preview-card,.track-preview-card:last-child { grid-column:auto; min-height:215px; padding:20px; }
  .track-preview-card h3 { padding-top:40px; }
  .track-preview-card .preview-symbol { top:40px; right:18px; font-size:56px; }
}
@media(prefers-reduced-motion:reduce) {
  .track-preview-card,.track-preview-card::before,.track-preview-card::after { animation:none!important; transition:none!important; }
}

/* Technical track motion polish: living spectrum, not visual noise */
.track-preview-card {
  overflow:hidden;
  transform:translateZ(0);
  transition:transform .45s cubic-bezier(.2,.75,.25,1),box-shadow .45s ease,border-color .35s ease;
}
.track-preview-card::before {
  inset:-35%;
  opacity:.55;
  background:
    radial-gradient(ellipse at 25% 80%,rgba(208, 240, 240, .20),transparent 34%),
    radial-gradient(ellipse at 82% 18%,rgba(208, 240, 240, .20),transparent 31%),
    linear-gradient(115deg,transparent 30%,rgba(255, 255, 255, .06) 48%,transparent 65%);
  background-size:140% 140%,130% 130%,200% 100%;
  animation:trackSpectrumFlow 13s ease-in-out infinite alternate;
  will-change:transform,background-position;
}
.track-preview-card::after {
  top:-20%;
  bottom:-20%;
  left:-85%;
  width:42%;
  opacity:0;
  transform:skewX(-18deg);
  background:linear-gradient(90deg,transparent,rgba(208, 240, 240, .18),rgba(208, 240, 240, .07),transparent);
  animation:trackSpectrumSweep 9s ease-in-out infinite;
  pointer-events:none;
}
.track-preview-card .preview-symbol {
  transform-origin:center;
  animation:trackSymbolFloat 7s ease-in-out infinite;
  transition:color .4s ease,text-shadow .4s ease,transform .5s ease;
}
.track-preview-card:nth-child(2) .preview-symbol { animation-delay:-2.3s; }
.track-preview-card:nth-child(3) .preview-symbol { animation-delay:-4.6s; }
.track-preview-card .preview-number {
  transition:letter-spacing .35s ease,color .35s ease;
}
.track-preview-card .preview-link {
  position:relative;
  transition:letter-spacing .35s ease,color .35s ease,border-color .35s ease;
}
.track-preview-card .preview-link::after {
  content:"";
  display:inline-block;
  width:18px;
  height:1px;
  margin:0 0 3px 8px;
  background:currentColor;
  transition:width .35s ease;
}
.track-preview-card:hover {
  transform:translateY(-6px);
  border-color:rgba(0, 32, 80, .8);
  box-shadow:0 18px 34px rgba(35, 0, 88, 0.14);
}
.track-preview-card:hover::before {
  opacity:.85;
  animation-duration:7s;
}
.track-preview-card:hover::after { animation-duration:3.8s; }
.track-preview-card:hover .preview-symbol {
  color:rgba(208, 240, 240, .68);
  text-shadow:0 0 24px rgba(208, 240, 240, .22);
  transform:rotate(-7deg) scale(1.06);
}
.track-preview-card:hover .preview-number { letter-spacing:1.8px; color:#D0F0F0; }
.track-preview-card:hover .preview-link { letter-spacing:1.1px; color:#D0F0F0; }
.track-preview-card:hover .preview-link::after { width:30px; }
@keyframes trackSpectrumFlow {
  0% { transform:translate3d(-2%,1%,0) rotate(-2deg); background-position:0% 50%,100% 0%,0% 50%; }
  50% { transform:translate3d(2%,-1%,0) rotate(1deg); background-position:65% 20%,30% 75%,55% 50%; }
  100% { transform:translate3d(-1%,-2%,0) rotate(3deg); background-position:100% 70%,0% 100%,100% 50%; }
}
@keyframes trackSpectrumSweep {
  0%,18% { left:-85%; opacity:0; }
  28% { opacity:.8; }
  53% { left:145%; opacity:0; }
  100% { left:145%; opacity:0; }
}
@keyframes trackSymbolFloat {
  0%,100% { transform:translateY(0) rotate(-2deg); }
  50% { transform:translateY(-7px) rotate(3deg); }
}
@media(prefers-reduced-motion:reduce) {
  .track-preview-card,.track-preview-card::before,.track-preview-card::after,
  .track-preview-card .preview-symbol,.track-preview-card .preview-link,
  .track-preview-card .preview-link::after {
    animation:none!important;
    transition:none!important;
  }
  .track-preview-card:hover { transform:none; }
}

/* Replace always-on track animation with a cursor-following paint wash */
.track-preview-card {
  --paint-x:50%; --paint-y:50%; position:relative; overflow:hidden; isolation:isolate;
  transition:transform .32s cubic-bezier(.2,.75,.25,1),border-color .3s ease,box-shadow .32s ease;
}
.track-preview-card::before {
  inset:0; opacity:0; transform:none;
  background:radial-gradient(260px circle at var(--paint-x) var(--paint-y),rgba(208, 240, 240, .34),rgba(0, 32, 80, .17) 36%,transparent 72%);
  background-size:auto; animation:none!important; transition:opacity .25s ease;
  mix-blend-mode:screen; pointer-events:none;
}
.track-preview-card::after {
  inset:0; left:0; width:auto; top:0; bottom:0; opacity:0; transform:none;
  background:linear-gradient(135deg,rgba(255, 255, 255, .08),transparent 45%);
  animation:none!important; transition:opacity .3s ease; pointer-events:none;
}
.track-preview-card .preview-symbol { animation:none!important; transition:transform .35s ease,color .35s ease,text-shadow .35s ease; }
.track-preview-card:hover,.track-preview-card:focus-within { transform:translateY(-4px); border-color:rgba(0, 32, 80, .8); box-shadow:0 14px 30px rgba(35, 0, 88, 0.13); }
.track-preview-card:hover::before,.track-preview-card:hover::after,.track-preview-card:focus-within::before,.track-preview-card:focus-within::after { opacity:1; }
.track-preview-card:hover .preview-symbol,.track-preview-card:focus-within .preview-symbol { transform:scale(1.06) rotate(-4deg); color:rgba(208, 240, 240, .72); text-shadow:0 0 22px rgba(208, 240, 240, .2); }
@media (hover:none) { .track-preview-card::before { opacity:.28; } .track-preview-card:hover { transform:none; } }
@media(prefers-reduced-motion:reduce) { .track-preview-card,.track-preview-card::before,.track-preview-card::after,.track-preview-card .preview-symbol { animation:none!important; transition:none!important; } }

/* Homepage redesign: WAMS-inspired conference information architecture,
   adapted to SPECTRAM content and its own visual identity. */
.page-home {
  --home-ink:#002050;
  --home-blue:#002050;
  --home-cyan:#3060A0;
  --home-gold:#D0F0F0;
  --home-paper:#F7FAFC;
  color:var(--home-ink);
}
.page-home .container { width:min(1240px,calc(100% - 48px)); }
.page-home .topbar {
  justify-content:space-between;
  padding:9px max(24px,calc((100% - 1240px)/2));
  background:#002050;
  color:#3060A0;
  font-size:10px;
  letter-spacing:.06em;
}
.page-home .site-header { background:#FFFFFF; box-shadow:0 3px 18px rgba(35, 0, 88, 0.6); }
.page-home .nav { gap:clamp(12px,1.35vw,22px); }
.page-home .nav a,.page-home .nav-drop-toggle { font-size:12px; }
.page-home .nav-cta { background:#002050; border-radius:3px; }
.page-home .ticker {
  background:#3060A0;
  color:#3060A0;
  border-bottom:1px solid #3060A0;
  overflow:hidden;
}
.page-home .ticker-track { animation-duration:28s; font-size:10px; letter-spacing:.12em; }
.page-home .hero {
  position:relative;
  isolation:isolate;
  padding:clamp(54px,6.5vw,94px) 0 clamp(52px,6vw,82px);
  background:
    radial-gradient(ellipse at 85% 14%,rgba(0, 32, 80, 0.18),transparent 28%),
    radial-gradient(ellipse at 70% 100%,rgba(0, 32, 80, 0.22),transparent 42%),
    linear-gradient(115deg,#002050 0%,#002050 58%,#002050 100%);
}
.page-home .hero:before {
  opacity:.15;
  background-image:linear-gradient(rgba(208, 240, 240, 0.12) 1px,transparent 1px),linear-gradient(90deg,rgba(208, 240, 240, 0.12) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(90deg,transparent,#002050 55%,#002050);
}
.page-home .hero:after { border-color:rgba(0, 32, 80, 0.13); }
.page-home .hero-grid { grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr); gap:clamp(34px,5.5vw,78px); }
.page-home .hero h1 { font-size:clamp(58px,7.5vw,100px); letter-spacing:-.065em; }
.page-home .hero h1 .text-gradient { background:linear-gradient(100deg,#FFFFFF 10%,#D0F0F0 55%,#002050 100%); background-clip:text; -webkit-background-clip:text; }
.page-home .hero h2 { max-width:720px; font-size:clamp(16px,1.5vw,20px); color:#D0F0F0; }
.page-home .hero-text-box { border-left:2px solid var(--home-gold); }
.page-home .hero-text-box .box-title { color:#FFFFFF; font-size:21px; }
.page-home .hero-text-box p { color:#D0F0F0; font-size:12px; line-height:1.85; }
.page-home .hero-meta-row { display:flex; flex-wrap:wrap; gap:10px 22px; margin:23px 0 0; color:#D0F0F0; font-size:11px; }
.page-home .hero-meta-row span { display:inline-flex; align-items:center; gap:8px; }
.page-home .hero-meta-row b { color:#002050; font-size:17px; font-weight:500; }
.page-home .hero-actions { margin-top:25px; }
.page-home .hero .btn.primary { background:linear-gradient(115deg,#002050,#002050); border-radius:3px; box-shadow:0 8px 20px rgba(0, 0, 0, .15); }
.page-home .hero .btn.secondary { border-radius:3px; border-color:rgba(208, 240, 240, 0.42); color:#F7FAFC; }
.page-home .host-line { max-width:720px; color:#D0F0F0; font-size:11px; line-height:1.8; }
.page-home .hero-card {
  border:1px solid rgba(208, 240, 240, 0.24);
  border-radius:4px;
  background:linear-gradient(145deg,rgba(255, 255, 255, .075),rgba(255, 255, 255, .025));
  box-shadow:0 24px 65px rgba(0, 0, 0, .2);
}
.page-home .hero-card:before { background:#3060A0; opacity:.16; }
.page-home .hero-card-inner { min-height:400px; padding:clamp(22px,3vw,36px); }
.page-home .hero-card .card-label { color:#F7FAFC; font-family:"DM Serif Display",Georgia,serif; font-size:clamp(25px,3vw,35px)!important; letter-spacing:.015em; }
.page-home .hero-card li { padding:13px 0; }
.page-home .hero-card li strong { color:#002050!important; }
.page-home .announcements-section { background:#F7FAFC; padding:34px 0; }
.page-home .announcements-heading { margin-bottom:16px; }
.page-home .announcement-list { border-top:1px solid #D0F0F0; }
.page-home .announcement-item { padding:17px 0; border-bottom:1px solid #D0F0F0; }
.page-home .announcement-tag { color:#002050; }
.page-home .under-construction { background:#F7FAFC; color:#45D9F5; border-color:#D0F0F0; }
.page-home .conference-facts { background:#FFFFFF; border-bottom:1px solid #D0F0F0; }
.page-home .facts-grid { padding-top:28px; padding-bottom:26px; }
.page-home .fact-item { border-right:1px solid #D0F0F0; padding:0 20px; }
.page-home .fact-item:first-child { padding-left:0; }
.page-home .fact-label { color:#002050; }
.page-home .fact-item strong { color:#45D9F5; font-size:clamp(15px,1.35vw,19px); }
.page-home .co-sponsor-line { color:#002050; padding-bottom:16px; }
.page-home .about-snapshot { background:#FFFFFF; padding:clamp(62px,7vw,96px) 0; }
.page-home .overview-grid { gap:clamp(36px,6vw,82px); }
.page-home .overview-visual { min-height:400px; background:linear-gradient(140deg,#002050,#002050 68%,#002050); border-radius:4px; }
.page-home .visual-center { border-color:rgba(0, 32, 80, 0.55); box-shadow:0 0 0 18px rgba(0, 32, 80, 0.55),0 0 0 42px rgba(0, 32, 80, 0.35); }
.page-home .visual-center span { color:#FFFFFF; }
.page-home .visual-center small { color:#D0F0F0; }
.page-home .visual-orbit { border-color:rgba(0, 32, 80, 0.45); }
.page-home .visual-coordinate { color:#D0F0F0; }
.page-home .overview-copy h2,.page-home .timeline-heading h2,.page-home .resources-layout h2 { color:#45D9F5; }
.page-home .overview-copy h2 span,.page-home .timeline-heading h2 span,.page-home .resources-layout h2 span { color:#002050; }
.page-home .overview-tags span { background:#3060A0; color:#45D9F5; border:1px solid #D0F0F0; }
.page-home .text-link { color:#002050; border-bottom-color:#3060A0; }
.page-home .host-destination-section { padding:0 0 clamp(60px,7vw,92px); background:#FFFFFF; }
.page-home .host-destination-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.page-home .destination-panel { position:relative; min-height:350px; padding:clamp(26px,3.4vw,44px); overflow:hidden; border:1px solid #D0F0F0; background:#F7FAFC; }
.page-home .city-panel { background:#F7FAFC; }
.page-home .panel-kicker { color:#002050; font-size:9px; font-weight:700; letter-spacing:.17em; }
.page-home .panel-index { margin-top:30px; color:#002050; font-size:9px; letter-spacing:.12em; }
.page-home .destination-panel h2 { position:relative; z-index:1; max-width:440px; margin:12px 0; font:400 clamp(28px,3.3vw,42px)/1.05 "DM Serif Display",Georgia,serif; letter-spacing:-.025em; }
.page-home .destination-panel h2 span { color:#002050; }
.page-home .destination-panel p { position:relative; z-index:1; max-width:470px; color:#002050; font-size:12px; line-height:1.85; }
.page-home .destination-panel .text-link { position:relative; z-index:1; display:inline-block; margin-top:10px; font-size:10px; }
.page-home .panel-graphic { position:absolute; right:-10px; bottom:-16px; width:210px; height:120px; opacity:.13; }
.page-home .panel-graphic span { position:absolute; right:26px; bottom:22px; color:#002050; font:700 42px/1 "Inter",sans-serif; letter-spacing:-.08em; }
.page-home .panel-graphic i { position:absolute; bottom:0; width:28px; background:#002050; }
.page-home .panel-graphic i:nth-of-type(1) { right:25px; height:48px; }
.page-home .panel-graphic i:nth-of-type(2) { right:60px; height:76px; }
.page-home .panel-graphic i:nth-of-type(3) { right:95px; height:58px; }
.page-home .panel-graphic-city span { font-size:27px; letter-spacing:.04em; }
.page-home .timeline-section { background:#F7FAFC; border-color:#D0F0F0; }
.page-home .timeline-heading { border-bottom-color:#D0F0F0; }
.page-home .timeline-grid { border-top-color:#D0F0F0; }
.page-home .timeline-grid:before { background:linear-gradient(90deg,#002050,#3060A0); }
.page-home .timeline-grid .date-step { background:#002050; box-shadow:0 0 0 1px #002050; }
.page-home .timeline-grid .date-card-featured .date-step { background:#002050; box-shadow:0 0 0 1px #002050; }
.page-home .timeline-grid .date-label { color:#002050; }
.page-home .tracks-preview { background:#FFFFFF; }
.page-home .track-preview-one { background:linear-gradient(135deg,#002050,#002050 58%,#002050); }
.page-home .track-preview-two { background:linear-gradient(135deg,#45D9F5,#45D9F5 55%,#002050); }
.page-home .track-preview-three { background:linear-gradient(135deg,#002050,#002050 58%,#002050); }
.page-home .resources-section { background:#F7FAFC; }
.page-home footer { background:#002050; }
@media(max-width:900px) {
  .page-home .hero-grid { grid-template-columns:1fr; }
  .page-home .hero-card { max-width:680px; width:100%; }
  .page-home .hero-card-inner { min-height:0; }
  .page-home .host-destination-grid { grid-template-columns:1fr; }
  .page-home .destination-panel { min-height:300px; }
}
@media(max-width:600px) {
  .page-home .container { width:calc(100% - 34px); }
  .page-home .topbar { justify-content:center; flex-wrap:wrap; gap:4px 15px; text-align:center; }
  .page-home .hero { padding:48px 0 50px; }
  .page-home .hero h1 { font-size:clamp(48px,14vw,68px); letter-spacing:-.06em; }
  .page-home .hero-meta-row { display:grid; gap:10px; }
  .page-home .hero-card-inner { padding:23px; }
  .page-home .facts-grid { grid-template-columns:1fr 1fr; gap:18px 0; }
  .page-home .fact-item { padding:0 12px; }
  .page-home .fact-item:nth-child(odd) { padding-left:0; border-right:1px solid #D0F0F0; }
  .page-home .fact-item:nth-child(even) { border-right:0; }
  .page-home .overview-visual { min-height:300px; }
  .page-home .host-destination-grid { gap:14px; }
}
@media(prefers-reduced-motion:reduce) {
  .page-home .ticker-track,.page-home .hero-card .orbit { animation:none!important; }
}

/* Latest announcements: editorial layout with separate frosted-glass cards */
.page-home .announcements-section { padding:clamp(48px,6vw,72px) 0; background:linear-gradient(135deg,#F7FAFC 0%,#F7FAFC 58%,#F7FAFC 100%); }
.page-home .announcements-heading { align-items:flex-end; margin-bottom:24px; }
.page-home .announcements-heading h2 { font-size:clamp(30px,4vw,42px); letter-spacing:-.05em; }
.page-home .announcements-heading .status-pill { padding:9px 14px; font-size:10px; box-shadow:0 4px 14px rgba(0, 32, 80, 0.6); }
.page-home .announcement-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; overflow:visible; border:0; background:transparent; }
.page-home .announcement-item {
  position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:13px; min-height:220px; padding:23px 22px 20px;
  border:1px solid rgba(0, 32, 80, 0.25); border-radius:18px; background:rgba(255, 255, 255, .7);
  box-shadow:0 12px 30px rgba(0, 32, 80, 0.55); backdrop-filter:blur(14px) saturate(140%); -webkit-backdrop-filter:blur(14px) saturate(140%);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.page-home .announcement-item:before { content:""; position:absolute; top:0; left:22px; right:22px; height:3px; border-radius:0 0 8px 8px; background:linear-gradient(90deg,#002050,#3060A0,#3060A0); }
.page-home .announcement-item:hover { transform:translateY(-4px); border-color:rgba(0, 32, 80, 0.35); box-shadow:0 20px 40px rgba(0, 32, 80, 0.12); }
.page-home .announcement-tag { display:inline-flex; align-items:center; min-height:25px; padding:5px 9px; border-radius:999px; background:linear-gradient(100deg,#3060A0,#F7FAFC); color:#002050; font-size:9px; letter-spacing:.1em; }
.page-home .announcement-item h3 { font-family:Inter,Arial,sans-serif!important; font-size:15px; font-weight:650!important; line-height:1.45; letter-spacing:-.02em!important; color:#45D9F5; }
.page-home .announcement-item p { color:#002050; font-size:11px; line-height:1.8; }
.page-home .announcement-item .under-construction { margin-top:auto; font-size:9px; padding:6px 10px; }
.page-home .announcement-item:nth-child(2):before { background:linear-gradient(90deg,#3060A0,#D0F0F0); }
.page-home .announcement-item:nth-child(3):before { background:linear-gradient(90deg,#002050,#002050); }
@media(max-width:900px) { .page-home .announcement-list { grid-template-columns:1fr; } .page-home .announcement-item { min-height:0; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }

/* Compact rounded box refinement — smaller radii, tighter spacing, cleaner cards */
.feature,.thematic-card,.author-topic-card,.travel-card,.author-checklist,
.author-info-banner>div,.travel-location-panel,.resource-list,.resource-row,
.missing-detail,.contact-card,.committee-card,.registration-card,
.page-home .announcement-item,.destination-panel,.content-card {
  border-radius:10px;
}
.page-home .announcement-item { min-height:190px; padding:18px 18px 16px; gap:10px; }
.page-home .announcement-item:before { left:18px; right:18px; }
.page-home .announcement-list { gap:12px; }
.feature,.thematic-card,.author-topic-card,.travel-card,.author-checklist,
.author-info-banner>div,.travel-location-panel,.missing-detail {
  padding:20px;
}
.content-card { border-radius:0 10px 10px 0; padding:20px 22px; }
.nav-dropdown-menu { border-radius:10px; }
.page-banner:after { border-radius:10px; }
.overview-visual,.visual-panel,.technical-visual,.conference-visual { border-radius:14px!important; }
.icon,.resource-icon { border-radius:8px; }
.status-pill,.under-construction { border-radius:6px; }
.btn.primary,.button.primary,.btn.secondary { border-radius:7px; }
.nav-cta,.page-home .nav-cta { border-radius:7px; }

/* Compact, rounded UI polish — consistent on all conference pages */
.section { padding:clamp(38px,4.5vw,62px) 0; }
.page-home .hero { padding:clamp(42px,5vw,66px) 0; }
.page-home .hero-card-inner { min-height:0; padding:24px; }
.page-home .overview-visual { min-height:320px; }
.page-home .destination-panel { min-height:270px; padding:clamp(22px,2.6vw,32px); border-radius:20px; }
.page-home .host-destination-grid { gap:16px; }
.page-home .facts-grid { padding-top:22px; padding-bottom:20px; }
.page-home .announcements-section { padding:42px 0; }
.page-home .announcement-item { min-height:180px; padding:20px; border-radius:18px; }
.page-home .announcement-list { gap:12px; }
.content-card { border-radius:14px; padding:19px 21px; }
.page-banner { padding:clamp(38px,4.8vw,60px) 0; }
.page-banner:after { border-radius:24px; }
.feature,.thematic-card,.author-topic-card,.travel-card,.author-checklist,
.author-info-banner>div,.travel-location-panel,.resource-list,.resource-row,
.missing-detail,.contact-card,.committee-card,.registration-card {
  border-radius:16px;
}
.author-topic-card,.travel-card { min-height:190px; padding:20px; }
.author-checklist,.author-info-banner>div,.travel-location-panel { padding:20px; }
.travel-map-placeholder { border-radius:14px; }
.nav-dropdown-menu { border-radius:14px; }
.nav .nav-dropdown-menu a { border-radius:9px; }
.overview-visual,.visual-panel,.technical-visual,.conference-visual { border-radius:18px!important; }
.icon,.resource-icon { border-radius:10px; }
.status-pill,.under-construction { border-radius:999px; }
.btn.primary,.button.primary,.btn.secondary,.nav-cta,.page-home .nav-cta { border-radius:999px; }
@media(max-width:900px) {
  .section { padding:38px 0; }
  .page-home .hero { padding:40px 0; }
  .page-home .overview-visual { min-height:280px; }
}
@media(max-width:600px) {
  .section { padding:32px 0; }
  .page-banner { padding:34px 0; }
  .page-home .destination-panel { min-height:245px; padding:21px; }
  .page-home .announcement-item { padding:18px; }
}

/* One shared full-width conference info bar, above the main navigation */
.topbar,.page-home .topbar {
  display:block;
  width:100%;
  min-height:0;
  margin:0;
  padding:0 22px;
  background:linear-gradient(90deg,#3060A0 0%,#F7FAFC 52%,#3060A0 100%);
  color:#45D9F5;
  border:0;
  border-bottom:1px solid rgba(0, 32, 80, 0.22);
  font-size:11px;
  letter-spacing:.01em;
}
.topbar-inner {
  width:100%;
  min-height:27px;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.topbar-location,.topbar-date,.topbar-email {
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-width:0;
  color:#45D9F5;
  text-decoration:none;
  white-space:nowrap;
}
.topbar-location { justify-self:start; }
.topbar-date { font-weight:650; color:#002050; }
.topbar-email { margin-left:auto; }
.topbar-location:hover,.topbar-email:hover { color:#002050; }
.topbar-icon { flex:0 0 auto; color:#002050; font-size:14px; line-height:1; }
@media(max-width:760px) {
  .topbar { padding:5px 12px; }
  .topbar-inner { min-height:0; gap:6px 12px; flex-wrap:wrap; }
  .topbar-location { white-space:normal; font-size:10px; }
  .topbar-date,.topbar-email { font-size:10px; }
}
@media(max-width:480px) {
  .topbar { padding:6px 12px; }
  .topbar-inner { display:grid; grid-template-columns:1fr; justify-content:start; gap:5px; }
  .topbar-location,.topbar-date,.topbar-email { justify-self:start; margin-left:0; white-space:normal; text-align:left; font-size:10px; }
  .topbar-email { overflow-wrap:anywhere; }
}

/* Remove the browser's default page margin so the conference bar touches the viewport */
html, body { margin:0; padding:0; }
body { width:100%; }
.topbar,.page-home .topbar { margin-top:0; }

/* Photography layer: real local imagery with soft overlays so copy stays readable */
.page-home .hero-card {
  background-image:linear-gradient(120deg,rgba(255, 255, 255, .91) 0%,rgba(247, 250, 252, 0.82) 58%,rgba(247, 250, 252, 0.68) 100%),url("assets/circuit-board.jpg");
  background-size:cover;
  background-position:center;
}
.page-home .overview-visual {
  background-image:linear-gradient(135deg,rgba(247, 250, 252, 0.68),rgba(208, 240, 240, 0.62)),url("assets/global-network.jpg")!important;
  background-size:cover!important;
  background-position:center!important;
}
.page-home .destination-panel {
  background-size:cover;
  background-position:center;
}
.page-home .host-panel {
  background-image:linear-gradient(100deg,rgba(247, 250, 252, 0.96) 0%,rgba(247, 250, 252, 0.87) 58%,rgba(247, 250, 252, 0.57) 100%),url("assets/university-campus.jpg");
}
.page-home .city-panel {
  background-image:linear-gradient(100deg,rgba(247, 250, 252, 0.96) 0%,rgba(247, 250, 252, 0.85) 58%,rgba(247, 250, 252, 0.52) 100%),url("assets/global-network.jpg");
}
.page-home .date-card {
  background-image:linear-gradient(100deg,rgba(255, 255, 255, .97) 0%,rgba(255, 255, 255, .91) 60%,rgba(247, 250, 252, 0.68) 100%),url("assets/night-sky.jpg");
  background-size:cover;
  background-position:center;
}
.page-home .date-card-featured {
  background-image:linear-gradient(115deg,rgba(0, 32, 80, 0.55),rgba(0, 32, 80, 0.55)),url("assets/circuit-board.jpg");
  background-size:cover;
  background-position:center;
  border-color:rgba(0, 32, 80, .22);
}
.page-home .track-preview-card {
  background-size:cover;
  background-position:center;
  isolation:isolate;
}
.page-home .track-preview-one {
  background-image:linear-gradient(115deg,rgba(0, 32, 80, 0.91),rgba(0, 32, 80, 0.72)),url("assets/circuit-board.jpg");
}
.page-home .track-preview-two {
  background-image:linear-gradient(115deg,rgba(35, 0, 88, 0.9),rgba(35, 0, 88, 0.69)),url("assets/global-network.jpg");
}
.page-home .track-preview-three {
  background-image:linear-gradient(115deg,rgba(0, 32, 80, 0.91),rgba(0, 32, 80, 0.7)),url("assets/digital-work.jpg");
}
.page-home .announcement-item {
  background-size:cover;
  background-position:center;
}
.page-home .announcement-item:nth-child(1) {
  background-image:linear-gradient(100deg,rgba(255, 255, 255, .98) 0%,rgba(255, 255, 255, .93) 60%,rgba(247, 250, 252, 0.64) 100%),url("assets/digital-work.jpg");
}
.page-home .announcement-item:nth-child(2) {
  background-image:linear-gradient(100deg,rgba(255, 255, 255, .98) 0%,rgba(255, 255, 255, .93) 60%,rgba(247, 250, 252, 0.64) 100%),url("assets/circuit-board.jpg");
}
.page-home .announcement-item:nth-child(3) {
  background-image:linear-gradient(100deg,rgba(255, 255, 255, .98) 0%,rgba(255, 255, 255, .91) 60%,rgba(247, 250, 252, 0.62) 100%),url("assets/university-campus.jpg");
}
/* Reusable image-backed cards across all separate pages */
body:not(.page-home) .feature:nth-child(1),
body:not(.page-home) .author-topic-card:nth-child(1),
body:not(.page-home) .travel-card:nth-child(1),
body:not(.page-home) .guideline-card:nth-child(1) {
  background-image:linear-gradient(110deg,rgba(255, 255, 255, .96) 0%,rgba(255, 255, 255, .9) 65%,rgba(247, 250, 252, 0.7) 100%),url("assets/circuit-board.jpg");
  background-size:cover;
  background-position:center;
}
body:not(.page-home) .feature:nth-child(2),
body:not(.page-home) .author-topic-card:nth-child(2),
body:not(.page-home) .travel-card:nth-child(2),
body:not(.page-home) .guideline-card:nth-child(2) {
  background-image:linear-gradient(110deg,rgba(255, 255, 255, .96) 0%,rgba(255, 255, 255, .9) 65%,rgba(208, 240, 240, 0.7) 100%),url("assets/global-network.jpg");
  background-size:cover;
  background-position:center;
}
body:not(.page-home) .feature:nth-child(3),
body:not(.page-home) .author-topic-card:nth-child(3),
body:not(.page-home) .travel-card:nth-child(3),
body:not(.page-home) .guideline-card:nth-child(3) {
  background-image:linear-gradient(110deg,rgba(255, 255, 255, .96) 0%,rgba(255, 255, 255, .9) 65%,rgba(247, 250, 252, 0.7) 100%),url("assets/digital-work.jpg");
  background-size:cover;
  background-position:center;
}
body:not(.page-home) .feature:nth-child(4),
body:not(.page-home) .guideline-card:nth-child(4) {
  background-image:linear-gradient(110deg,rgba(255, 255, 255, .96) 0%,rgba(255, 255, 255, .9) 65%,rgba(247, 250, 252, .7) 100%),url("assets/night-sky.jpg");
  background-size:cover;
  background-position:center;
}
body:not(.page-home) .travel-location-panel {
  background-image:linear-gradient(145deg,rgba(255, 255, 255, .88),rgba(247, 250, 252, 0.78)),url("assets/university-campus.jpg");
  background-size:cover;
  background-position:center;
}
body:not(.page-home) .contact-card,
body:not(.page-home) .committee-card,
body:not(.page-home) .registration-card {
  background-image:linear-gradient(120deg,rgba(255, 255, 255, .96),rgba(247, 250, 252, 0.85)),url("assets/global-network.jpg");
  background-size:cover;
  background-position:center;
}
body:not(.page-home) .resource-row,
body:not(.page-home) .content-card {
  background-image:linear-gradient(110deg,rgba(255, 255, 255, .97),rgba(247, 250, 252, 0.88)),url("assets/circuit-board.jpg");
  background-size:cover;
  background-position:center;
}
.page-banner {
  background-image:linear-gradient(110deg,rgba(247, 250, 252, 0.94),rgba(247, 250, 252, 0.84) 55%,rgba(247, 250, 252, 0.77)),url("assets/global-network.jpg");
  background-size:cover;
  background-position:center 43%;
}
@media(max-width:700px) {
  .page-home .track-preview-card { min-height:220px; }
  .page-home .announcement-item { background-position:center; }
}

/* Homepage hero photographic background: immersive but bright and readable */
.page-home .hero {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background-color:#3060A0;
  background-image:
    linear-gradient(90deg,rgba(247, 250, 252, 0.71) 0%,rgba(247, 250, 252, 0.66) 43%,rgba(247, 250, 252, 0.47) 70%,rgba(247, 250, 252, 0.23) 100%),
    url("assets/circuit-board.jpg");
  background-size:cover;
  background-position:center 48%;
}
.page-home .hero:before {
  z-index:-1;
  opacity:.18;
  background-image:linear-gradient(rgba(0, 32, 80, 0.11) 1px,transparent 1px),linear-gradient(90deg,rgba(0, 32, 80, 0.11) 1px,transparent 1px);
  background-size:44px 44px;
}
.page-home .hero:after {
  z-index:-1;
  border-color:rgba(0, 32, 80, .12);
  box-shadow:0 0 0 42px rgba(0, 32, 80, 0.35),0 0 0 90px rgba(0, 32, 80, 0.25);
}
.page-home .hero-content { position:relative; z-index:1; }
.page-home .hero-text-box {
  background:rgba(255, 255, 255, .78);
  border-color:rgba(0, 32, 80, 0.25);
  backdrop-filter:blur(12px) saturate(130%);
  -webkit-backdrop-filter:blur(12px) saturate(130%);
}
@media(max-width:700px) {
  .page-home .hero {
    background-image:linear-gradient(180deg,rgba(247, 250, 252, 0.69),rgba(247, 250, 252, 0.64)),url("assets/circuit-board.jpg");
    background-position:58% center;
  }
}

/* Hero image visibility: lighten the wash so the background artwork is clearly visible */
.page-home .hero {
  background-image:
    linear-gradient(90deg,rgba(247, 250, 252, 0.71) 0%,rgba(247, 250, 252, 0.66) 43%,rgba(247, 250, 252, 0.47) 70%,rgba(247, 250, 252, 0.23) 100%),
    url("assets/circuit-board.jpg") !important;
  background-size:cover;
  background-position:center 48%;
}
/* Remove the unwanted white card behind “Beyond the Visible Spectrum” */
.page-home .hero .hero-text-box {
  background:transparent !important;
  background-color:transparent !important;
  border:0 !important;
  border-left:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  padding:0 !important;
  margin-top:22px;
}
.page-home .hero .hero-text-box .box-title {
  color:#002050;
  text-shadow:0 1px 12px rgba(255, 255, 255, .3);
}
.page-home .hero .hero-text-box p {
  color:#45D9F5;
  text-shadow:0 1px 8px rgba(255, 255, 255, .25);
}
@media(max-width:700px) {
  .page-home .hero {
    background-image:linear-gradient(180deg,rgba(247, 250, 252, 0.69),rgba(247, 250, 252, 0.65)),url("assets/circuit-board.jpg") !important;
    background-size:cover;
    background-position:58% center;
  }
}

/* End-of-homepage cinematic image slideshow */
.spectram-gallery-section { overflow:hidden; background:linear-gradient(130deg,#F7FAFC 0%,#EAF0F8 54%,#F7FAFC 100%); padding:clamp(42px,5vw,68px) 0; }
.gallery-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:22px; margin-bottom:24px; }
.gallery-heading h2 { margin:0 0 10px; color:#002050; font-size:clamp(30px,4vw,42px); letter-spacing:-.05em; }
.gallery-heading h2 span { color:#002050; }
.gallery-heading p:not(.eyebrow) { margin:0; color:#002050; font-size:13px; }
.gallery-controls { display:flex; gap:8px; flex:0 0 auto; }
.gallery-control { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; border:1px solid rgba(0, 32, 80, .22); color:#002050; background:rgba(255, 255, 255, .78); font-size:22px; cursor:pointer; transition:background .2s,transform .2s,box-shadow .2s; }
.gallery-control:hover { background:#FFFFFF; transform:translateY(-2px); box-shadow:0 8px 20px rgba(0, 32, 80, .13); }
.spectram-gallery { overflow:hidden; border-radius:22px; border:1px solid rgba(0, 32, 80, .2); background:#3060A0; box-shadow:0 20px 50px rgba(0, 32, 80, .08); }
.gallery-track { display:flex; transition:transform .65s cubic-bezier(.22,.75,.2,1); will-change:transform; }
.gallery-slide { position:relative; flex:0 0 100%; height:clamp(250px,43vw,500px); margin:0; overflow:hidden; }
.gallery-slide:after { content:""; position:absolute; inset:35% 0 0; background:linear-gradient(180deg,transparent,rgba(0, 32, 80, .78)); pointer-events:none; }
.gallery-slide img { display:block; width:100%; height:100%; object-fit:cover; transition:transform 1.1s ease; }
.gallery-slide.is-active img { transform:scale(1.035); }
.gallery-slide figcaption { position:absolute; z-index:1; left:clamp(20px,4vw,42px); right:24px; bottom:clamp(20px,4vw,38px); display:flex; flex-direction:column; gap:8px; color:white; }
.gallery-slide figcaption span { font-size:10px; font-weight:700; letter-spacing:.16em; color:#3060A0; }
.gallery-slide figcaption strong { max-width:680px; font-size:clamp(21px,3.4vw,36px); line-height:1.15; letter-spacing:-.035em; text-shadow:0 2px 14px rgba(0, 0, 0, .2); }
.gallery-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:16px; }
.gallery-dots { display:flex; align-items:center; gap:7px; }
.gallery-dot { width:8px; height:8px; padding:0; border:0; border-radius:50%; background:#3060A0; cursor:pointer; transition:width .25s,background .25s; }
.gallery-dot[aria-current="true"] { width:25px; border-radius:99px; background:linear-gradient(90deg,#002050,#3060A0); }
.gallery-counter { color:#002050; font-size:10px; font-weight:700; letter-spacing:.12em; font-variant-numeric:tabular-nums; }
@media(max-width:600px) { .gallery-heading { align-items:flex-start; } .gallery-controls { padding-top:4px; } .gallery-control { width:36px; height:36px; } .spectram-gallery { border-radius:16px; } .gallery-slide { height:300px; } .gallery-slide figcaption { left:18px; bottom:20px; } }
@media(prefers-reduced-motion:reduce) { .gallery-track,.gallery-slide img,.gallery-dot { transition:none!important; } }

/* Dedicated accommodation under-construction page */
.construction-page { min-height:calc(100vh - 120px); display:flex; padding:clamp(20px,4vw,52px); }
.construction-banner { position:relative; isolation:isolate; overflow:hidden; display:grid; place-items:center; flex:1; min-height:clamp(480px,68vh,720px); padding:clamp(28px,6vw,76px) 22px; border:1px solid rgba(0, 32, 80, .2); border-radius:30px; background:linear-gradient(125deg,rgba(245, 248, 252, .94),rgba(48, 96, 160, .90) 52%,rgba(245, 249, 253, .92)),url("assets/global-network.jpg") center/cover; text-align:center; }
.construction-banner:before { content:""; position:absolute; inset:0; z-index:-1; opacity:.4; background-image:linear-gradient(rgba(0, 32, 80, .18) 1px,transparent 1px),linear-gradient(90deg,rgba(0, 32, 80, .18) 1px,transparent 1px); background-size:38px 38px; mask-image:linear-gradient(transparent,#002050 25%,#002050 75%,transparent); }
.construction-content { position:relative; max-width:760px; }
.construction-icon { display:grid; place-items:center; width:82px; height:82px; margin:0 auto 26px; color:#002050; background:rgba(255, 255, 255, .72); border:1px solid rgba(0, 32, 80, .18); border-radius:25px; box-shadow:0 14px 38px rgba(0, 32, 80, .12); backdrop-filter:blur(12px); }
.construction-icon svg { width:43px; height:43px; }
.construction-eyebrow { margin:0 0 18px; color:#002050; font-size:11px; font-weight:750; letter-spacing:.2em; }
.construction-content h1 { margin:0; color:#002050; font-size:clamp(40px,7vw,76px); line-height:1.02; letter-spacing:-.065em; }
.construction-content h1 span { display:block; color:#002050; }
.construction-description { max-width:510px; margin:24px auto 30px; color:#002050; font-size:clamp(14px,1.6vw,17px); line-height:1.8; }
.construction-home-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:48px; padding:0 23px; border:1px solid rgba(0, 32, 80, .12); border-radius:999px; background:linear-gradient(110deg,#002050,#3060A0); color:#FFFFFF; font-size:13px; font-weight:700; text-decoration:none; box-shadow:0 10px 25px rgba(0, 32, 80, .23); transition:transform .2s,box-shadow .2s; }
.construction-home-button:hover { transform:translateY(-2px); box-shadow:0 14px 30px rgba(0, 32, 80, .3); }
.construction-home-button span { font-size:19px; line-height:1; }
.construction-note { margin:22px 0 0; color:#3060A0; font-size:12px; }
.construction-orbit { position:absolute; z-index:-1; width:min(45vw,430px); aspect-ratio:1; border:1px solid rgba(0, 32, 80, 0.14); border-radius:50%; pointer-events:none; }
.construction-orbit:before,.construction-orbit:after { content:""; position:absolute; border:1px solid rgba(0, 32, 80, .16); border-radius:50%; inset:12%; }
.construction-orbit:after { inset:25%; }
.construction-orbit-one { top:-32%; right:-9%; animation:construction-orbit-spin 32s linear infinite; }
.construction-orbit-two { bottom:-38%; left:-8%; width:min(39vw,360px); border-color:rgba(48, 96, 160, .16); animation:construction-orbit-spin 42s linear infinite reverse; }
@keyframes construction-orbit-spin { to { transform:rotate(360deg); } }
@media(max-width:600px) { .construction-page { padding:14px; min-height:calc(100vh - 100px); } .construction-banner { min-height:540px; border-radius:22px; } .construction-icon { width:70px; height:70px; border-radius:21px; } .construction-content h1 { font-size:clamp(39px,12vw,58px); } .construction-orbit { width:78vw; } }
@media(prefers-reduced-motion:reduce) { .construction-orbit { animation:none; } }

/* Submission resource links beneath the technical tracks */
.track-submission-links { display:grid; grid-template-columns:minmax(220px,1.1fr) repeat(2,minmax(200px,1fr)); gap:14px; align-items:stretch; margin-top:30px; padding:20px; border:1px solid rgba(0, 32, 80, .18); border-radius:22px; background:linear-gradient(120deg,rgba(245, 248, 252, .95),rgba(48, 96, 160, .9),rgba(248, 250, 253, .92)); box-shadow:0 12px 32px rgba(0, 32, 80, .08); }
.track-submission-copy { align-self:center; padding:6px 10px; }
.track-submission-copy .eyebrow { margin:0 0 8px; color:#002050; font-size:9px; font-weight:800; letter-spacing:.14em; }
.track-submission-copy h3 { margin:0 0 7px; color:#002050; font-size:19px; letter-spacing:-.035em; }
.track-submission-copy p { margin:0; color:#002050; font-size:12px; line-height:1.65; }
.track-submission-link { display:flex; align-items:center; gap:12px; min-width:0; padding:16px; border:1px solid rgba(0, 32, 80, .18); border-radius:15px; background:rgba(255, 255, 255, .78); color:#002050; text-decoration:none; transition:transform .2s,border-color .2s,box-shadow .2s,background .2s; }
.track-submission-link:hover { transform:translateY(-3px); border-color:rgba(0, 32, 80, .4); background:#FFFFFF; box-shadow:0 10px 22px rgba(0, 32, 80, 1); }
.track-submission-icon { display:grid; place-items:center; flex:0 0 38px; width:38px; height:38px; border-radius:12px; background:linear-gradient(140deg,#3060A0,#3060A0); color:#002050; font-size:11px; font-weight:800; }
.track-submission-link strong,.track-submission-link small { display:block; }
.track-submission-link strong { font-size:13px; line-height:1.4; }
.track-submission-link small { margin-top:4px; color:#002050; font-size:10px; line-height:1.45; }
.track-submission-arrow { margin-left:auto; color:#002050; font-size:18px; }
@media(max-width:900px) { .track-submission-links { grid-template-columns:1fr 1fr; } .track-submission-copy { grid-column:1/-1; } }
@media(max-width:560px) { .track-submission-links { grid-template-columns:1fr; padding:14px; gap:10px; border-radius:17px; } .track-submission-copy { grid-column:auto; padding:4px; } }

/* Homepage host line: match the readable body copy rather than the muted accent */
.page-home .host-line { border-left-color:rgba(0, 32, 80, 0.28); color:var(--body-color,#002050); }
.page-home .host-line strong { color:var(--body-color,#002050); font-weight:500; line-height:1.8; }
/* Direct paper-guidelines link beneath homepage track cards */
.tracks-submission-cta { display:flex; align-items:center; justify-content:space-between; gap:22px; margin-top:20px; padding:20px 22px; border:1px solid rgba(0, 32, 80, .18); border-radius:18px; background:linear-gradient(110deg,rgba(255, 255, 255, .95),rgba(48, 96, 160, .9)); box-shadow:0 8px 22px rgba(0, 32, 80, .08); }
.tracks-submission-cta strong { display:block; color:#002050; font-size:14px; }
.tracks-submission-cta p { margin:6px 0 0; color:#002050; font-size:12px; line-height:1.6; }
.tracks-guidelines-link { display:inline-flex; align-items:center; justify-content:center; gap:10px; flex:0 0 auto; padding:12px 16px; border-radius:999px; background:linear-gradient(110deg,#002050,#3060A0); color:#FFFFFF; font-size:12px; font-weight:700; text-decoration:none; box-shadow:0 8px 18px rgba(0, 32, 80, .18); transition:transform .2s,box-shadow .2s; }
.tracks-guidelines-link:hover { transform:translateY(-2px); box-shadow:0 12px 24px rgba(0, 32, 80, 0.24); }
@media(max-width:650px) { .tracks-submission-cta { align-items:flex-start; flex-direction:column; padding:18px; } }

/* Improve footer section-heading contrast on the light glass footer */
footer .footer-grid h4,
footer .footer-grid h3,
.page-home footer .footer-grid h4,
.page-home footer .footer-grid h3 {
  color:#002050 !important;
  opacity:1 !important;
  text-shadow:none !important;
  font-weight:700;
}



/* SPECTRAM brand styling — restrained colour hierarchy from the logo */
:root {
  --logo-cyan: #45D9F5;
  --logo-cyan-tint: #EAFBFF;
  --logo-navy: #002050;
  --logo-navy-deep: #001638;
  --logo-blue: #3060A0;
  --logo-blue-tint: #EAF0F8;
  --logo-cyan: #D0F0F0;
  --logo-cyan-tint: #EAF8F8;
  --logo-surface: #F7FAFC;
  --logo-white: #FFFFFF;
  --logo-text: #20252D;
  --logo-muted: #626B78;
  --logo-border: #DDE3E8;
  --spectram-ink: var(--logo-navy);
  --spectram-navy: var(--logo-navy);
  --spectram-blue: var(--logo-blue);
  --spectram-cyan: var(--logo-cyan);
  --spectram-gold: var(--logo-blue);
  --spectram-paper: var(--logo-surface);
  --spectram-line: var(--logo-border);
  --spectram-muted: var(--logo-muted);
  --home-ink: var(--logo-navy);
  --home-blue: var(--logo-blue);
  --home-cyan: var(--logo-cyan);
  --home-gold: var(--logo-cyan);
  --home-paper: var(--logo-surface);
}

html { color-scheme: light; }
body { color: var(--logo-text); background: var(--logo-white); }
::selection { color: var(--logo-white); background: var(--logo-cyan); }

/* Primary identity: navy first, cyan only for selected actions and small highlights */
.topbar, .page-home .topbar { background: var(--logo-navy) !important; color: var(--logo-cyan) !important; }
.site-header { background: rgba(255,255,255,.97) !important; border-color: var(--logo-border) !important; box-shadow: 0 5px 22px rgba(0,32,80,.07) !important; }
.nav, .nav a, .nav-drop-toggle, .menu-btn { color: var(--logo-navy); }
.nav a:hover, .nav a.active, .nav-dropdown.active > .nav-drop-toggle { color: var(--logo-cyan) !important; }
.nav a:after, .nav-dropdown.active > .nav-drop-toggle:after { background: var(--logo-cyan) !important; }
.nav-cta, .btn.primary, .primary { background: var(--logo-cyan) !important; color: var(--logo-white) !important; border-color: var(--logo-cyan) !important; }
.nav-cta:hover, .btn.primary:hover, .primary:hover { background: var(--logo-navy) !important; border-color: var(--logo-navy) !important; }
.btn.secondary, .secondary { color: var(--logo-navy) !important; border-color: var(--logo-blue) !important; background: var(--logo-white) !important; }
.btn.secondary:hover, .secondary:hover { background: var(--logo-blue-tint) !important; }
.nav .nav-dropdown-menu a:hover, .nav .nav-dropdown-menu a:focus-visible, .nav .nav-dropdown-menu a.active { color: var(--logo-cyan) !important; background: var(--logo-cyan-tint) !important; }
.ticker { background: var(--logo-blue-tint) !important; color: var(--logo-navy) !important; border-color: var(--logo-border) !important; }

/* Typography and navigation: navy for reading, blue for links, cyan for emphasis */
.eyebrow, .section-heading h2 span, .fact-label, .panel-kicker, .travel-location-label,
.author-topic-card > span, .travel-card-number { color: var(--logo-cyan) !important; }
.eyebrow span { background: var(--logo-cyan) !important; }
.text-link, .overview-link { color: var(--logo-blue) !important; border-bottom-color: var(--logo-blue) !important; }
.text-link:hover, .overview-link:hover { color: var(--logo-cyan) !important; }
.section-heading h2, .page-home .overview-copy h2, .page-home .timeline-heading h2,
.page-home .resources-layout h2, .page-home .destination-panel h2, .track-preview-card h3 { color: var(--logo-navy) !important; }
.section-heading p, .feature p, .announcement-item p, .date-card p, .resource-row p,
.destination-panel p, .track-preview-card p { color: var(--logo-muted); }
.page-banner { background: linear-gradient(112deg,var(--logo-navy) 0%,var(--logo-navy) 72%,var(--logo-blue) 100%) !important; border-bottom-color: var(--logo-cyan) !important; color: var(--logo-white) !important; }
.page-banner .eyebrow, .page-banner p:last-child { color: var(--logo-cyan) !important; }
.page-banner h1 { color: var(--logo-white) !important; }
.page-banner:after { border-color: rgba(208,240,240,.18) !important; box-shadow: 0 0 0 34px rgba(208,240,240,.045),0 0 0 75px rgba(208,240,240,.025) !important; }

/* Hero: confident navy base; cyan detail and a very subtle blue glow */
.hero { color: var(--logo-white); background: radial-gradient(ellipse at 86% 18%,rgba(48,96,160,.26),transparent 34%),linear-gradient(118deg,var(--logo-navy-deep),var(--logo-navy) 72%,#102D5C) !important; }
.hero:before { background-image: linear-gradient(rgba(208,240,240,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(208,240,240,.09) 1px,transparent 1px) !important; }
.hero:after { border-color: rgba(208,240,240,.14) !important; box-shadow: 0 0 0 38px rgba(208,240,240,.025),0 0 0 88px rgba(208,240,240,.018),0 0 0 145px rgba(208,240,240,.012) !important; }
.hero .eyebrow, .hero h2, .hero-text, .hero-text-box p, .host-line, .host-line strong, .hero-meta-row { color: var(--logo-cyan) !important; }
.hero h1, .hero h1 .text-gradient, .hero-text-box .box-title, .hero-card .card-label { color: var(--logo-white) !important; -webkit-text-fill-color: var(--logo-white) !important; }
.hero h1 .text-gradient { background: linear-gradient(100deg,var(--logo-white),var(--logo-cyan)) !important; background-clip: text !important; -webkit-background-clip: text !important; }
.hero .eyebrow span, .hero .hero-meta-row b { color: var(--logo-navy) !important; background: var(--logo-cyan) !important; }
.hero-text-box { border-left-color: var(--logo-cyan) !important; }
.hero .btn.primary { background: var(--logo-cyan) !important; border-color: var(--logo-cyan) !important; box-shadow: 0 8px 22px rgba(48,96,160,.22) !important; }
.hero .btn.primary:hover { background: var(--logo-blue) !important; border-color: var(--logo-blue) !important; }
.hero .btn.secondary { color: var(--logo-white) !important; background: rgba(255,255,255,.035) !important; border-color: rgba(208,240,240,.42) !important; }
.hero .btn.secondary:hover { background: rgba(208,240,240,.1) !important; }
.hero-card { background: linear-gradient(145deg,rgba(48,96,160,.15),rgba(0,22,56,.4)) !important; border-color: rgba(208,240,240,.24) !important; box-shadow: 0 22px 60px rgba(0,22,56,.18) !important; }
.hero-card:before { background: var(--logo-blue) !important; }
.hero-card-inner { border-color: rgba(208,240,240,.15) !important; }
.hero-card li { color: var(--logo-cyan) !important; border-bottom-color: rgba(208,240,240,.13) !important; }
.hero-card li strong { color: var(--logo-white) !important; }
.hero-card .divider { background: rgba(208,240,240,.16) !important; }

/* Calm page rhythm: white content, pale blue section breaks, cyan reserved for a few highlights */
.conference-facts, .about-snapshot, .host-destination-section, .timeline-section,
.resources-section, .spectram-gallery-section { background: var(--logo-white) !important; }
.announcements-section, .soft, .conference-pathways, .ticker,
.tracks-submission-cta, .track-submission-links { background: var(--logo-surface) !important; }
.feature, .announcement-item, .date-card, .track-preview-card, .content-card, .destination-panel,
.host-panel, .city-panel, .resource-row, .author-topic-card, .travel-card,
.author-detail-grid, .track-submission-link {
  background-color: var(--logo-white) !important;
  border-color: var(--logo-border) !important;
}
.feature, .announcement-item, .date-card, .track-preview-card, .content-card, .destination-panel,
.host-panel, .city-panel, .track-submission-link, .tracks-submission-cta {
  box-shadow: 0 7px 24px rgba(0,32,80,.045) !important;
}
.announcement-tag, .status-pill, .resource-icon, .track-submission-icon, .missing-mark {
  background: var(--logo-blue-tint) !important; color: var(--logo-navy) !important;
}
.icon, .gallery-control { background: var(--logo-cyan-tint) !important; color: var(--logo-navy) !important; }
.outcomes { background: var(--logo-navy) !important; color: var(--logo-white) !important; }

/* Homepage overview: use the full brand gradient in one visual panel, not every card */
.page-home .fact-item { border-color: var(--logo-border) !important; }
.page-home .fact-item strong, .page-home .destination-panel h2 { color: var(--logo-navy) !important; }
.page-home .overview-visual { background: linear-gradient(140deg,var(--logo-navy),var(--logo-blue) 78%,var(--logo-cyan)) !important; border-color: rgba(48,96,160,.5) !important; }
.page-home .visual-center { border-color: rgba(208,240,240,.42) !important; box-shadow: 0 0 0 18px rgba(208,240,240,.055),0 0 0 42px rgba(208,240,240,.025) !important; }
.page-home .visual-center span { color: var(--logo-white) !important; background: var(--logo-blue) !important; }
.page-home .visual-center small, .page-home .visual-coordinate { color: var(--logo-cyan) !important; }
.page-home .visual-orbit { border-color: rgba(208,240,240,.24) !important; }
.page-home .overview-tags span { background: var(--logo-blue-tint) !important; color: var(--logo-navy) !important; border-color: var(--logo-border) !important; }
.page-home .destination-panel, .page-home .host-panel, .page-home .city-panel { background: var(--logo-white) !important; border-color: var(--logo-border) !important; }
.page-home .announcement-list, .page-home .announcement-item, .page-home .fact-item { border-color: var(--logo-border) !important; }
.page-home .announcement-tag { background: var(--logo-blue-tint) !important; color: var(--logo-blue) !important; }
.page-home .under-construction { background: var(--logo-blue-tint) !important; color: var(--logo-navy) !important; border-color: var(--logo-border) !important; }
.page-home .date-card-featured, .page-home .timeline-grid .date-card-featured,
.date-card-featured { background: var(--logo-cyan-tint) !important; border-color: var(--logo-blue) !important; }
.page-home .date-card-featured .date-label, .page-home .date-card-featured .date-value,
.page-home .date-card-featured p { color: var(--logo-navy) !important; }
.page-home .date-step, .page-home .timeline-grid .date-step { background: var(--logo-blue) !important; color: var(--logo-white) !important; }
.page-home .track-preview-card, .page-home .track-preview-one, .page-home .track-preview-two,
.page-home .track-preview-three { background: var(--logo-white) !important; color: var(--logo-navy) !important; border-color: var(--logo-border) !important; }
.page-home .track-preview-card:before { background: var(--logo-blue) !important; opacity: .045 !important; }
.page-home .track-preview-card h3 { color: var(--logo-navy) !important; }
.page-home .track-preview-card .preview-number { color: var(--logo-cyan) !important; }
.page-home .track-preview-card .preview-symbol { color: rgba(48,96,160,.13) !important; }
.track-submission-copy h3, .track-submission-copy p, .track-submission-link,
.track-submission-link small, .track-submission-arrow, .tracks-submission-cta strong,
.tracks-submission-cta p { color: var(--logo-navy) !important; }
.track-submission-link { background: var(--logo-white) !important; }
.track-submission-icon { background: var(--logo-blue-tint) !important; color: var(--logo-blue) !important; }
.track-submission-link:hover { border-color: var(--logo-blue) !important; box-shadow: 0 10px 22px rgba(0,32,80,.1) !important; }
.tracks-guidelines-link, .construction-home-button { background: var(--logo-cyan) !important; color: var(--logo-white) !important; }
.tracks-guidelines-link:hover, .construction-home-button:hover { background: var(--logo-navy) !important; }

/* Gallery, construction states and footer */
.gallery-slide:after { background: linear-gradient(180deg,transparent,rgba(0,22,56,.82)) !important; }
.gallery-slide figcaption span { color: var(--logo-cyan) !important; }
.gallery-dot { background: var(--logo-blue) !important; }
.gallery-dot[aria-current="true"] { background: var(--logo-cyan) !important; }
.gallery-counter { color: var(--logo-navy) !important; }
.construction-banner { background: linear-gradient(115deg,rgba(247,250,252,.97),rgba(234,240,248,.93) 62%,rgba(208,240,240,.65)),url("assets/global-network.jpg") center/cover !important; border-color: var(--logo-border) !important; }
.construction-banner:before { background-image: linear-gradient(rgba(0,32,80,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(0,32,80,.09) 1px,transparent 1px) !important; }
.construction-content h1, .construction-content h1 span, .construction-eyebrow { color: var(--logo-navy) !important; }
.construction-description { color: var(--logo-text) !important; }
.construction-note { color: var(--logo-cyan) !important; }
.construction-orbit, .construction-orbit:before, .construction-orbit:after { border-color: rgba(48,96,160,.18) !important; }
footer { background: var(--logo-navy) !important; color: var(--logo-cyan) !important; }
footer .footer-grid h4, footer .footer-grid h3, footer .footer-brand { color: var(--logo-white) !important; }
footer .footer-grid p, footer .footer-grid a, footer .footer-bottom { color: var(--logo-cyan) !important; }
footer a:hover { color: var(--logo-white) !important; }

@media (max-width: 760px) {
  .nav { background: var(--logo-white) !important; }
  .page-home .hero { background: radial-gradient(ellipse at 90% 15%,rgba(48,96,160,.22),transparent 35%),linear-gradient(150deg,var(--logo-navy-deep),var(--logo-navy) 76%,#102D5C) !important; }
}

/* Homepage hero contrast correction: prioritize readable type over decorative gradients */
.page-home .hero {
  background: linear-gradient(115deg, #001638 0%, #002050 72%, #102D5C 100%) !important;
  color: #FFFFFF !important;
}
.page-home .hero:before {
  opacity: .07 !important;
  background-image: linear-gradient(rgba(208,240,240,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(208,240,240,.10) 1px,transparent 1px) !important;
}
.page-home .hero:after { border-color: rgba(208,240,240,.12) !important; }
.page-home .hero .eyebrow { color: #D0F0F0 !important; }
.page-home .hero .eyebrow span { background: #D0F0F0 !important; }
.page-home .hero h1 .text-gradient {
  background: linear-gradient(100deg, #FFFFFF 0%, #FFFFFF 54%, #D0F0F0 100%) !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}
.page-home .hero h2 {
  color: #FFFFFF !important;
  max-width: 790px;
  line-height: 1.55;
  text-shadow: none !important;
}
.page-home .hero .hero-text-box { border-left: 3px solid #3060A0 !important; }
.page-home .hero .hero-text-box .box-title { color: #FFFFFF !important; }
.page-home .hero .hero-text-box p {
  color: #EAF0F8 !important;
  font-size: 13px !important;
  line-height: 1.9 !important;
  max-width: 760px;
}
.page-home .hero .hero-meta-row { color: #FFFFFF !important; gap: 12px 24px; }
.page-home .hero .hero-meta-row b {
  color: #001638 !important;
  background: #D0F0F0 !important;
  border-radius: 50%;
  width: 25px;
  height: 25px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.page-home .hero .btn.primary {
  background: #D0F0F0 !important;
  color: #001638 !important;
  border: 1px solid #D0F0F0 !important;
  box-shadow: 0 5px 16px rgba(0,0,0,.16) !important;
  font-weight: 700 !important;
}
.page-home .hero .btn.primary:hover {
  background: #FFFFFF !important;
  border-color: #FFFFFF !important;
  color: #001638 !important;
}
.page-home .hero .btn.secondary {
  background: rgba(255,255,255,.04) !important;
  color: #FFFFFF !important;
  border: 1px solid rgba(208,240,240,.72) !important;
}
.page-home .hero .btn.secondary:hover {
  background: rgba(208,240,240,.12) !important;
  border-color: #D0F0F0 !important;
}
.page-home .hero .host-line,
.page-home .hero .host-line strong {
  color: #DDE8F6 !important;
  font-size: 12px !important;
  line-height: 1.85 !important;
  font-weight: 400 !important;
}
@media (max-width: 760px) {
  .page-home .hero { background: linear-gradient(150deg,#001638 0%,#002050 78%,#102D5C 100%) !important; }
  .page-home .hero h2 { color: #FFFFFF !important; }
  .page-home .hero .hero-text-box p { font-size: 13px !important; }
}

/* Homepage hero image: technical circuit texture with a strong navy contrast overlay */
.page-home .hero {
  position: relative;
  isolation: isolate;
  background-color: #001638 !important;
  background-image:
    linear-gradient(90deg, rgba(0, 22, 56, .97) 0%, rgba(0, 32, 80, .91) 48%, rgba(0, 32, 80, .76) 100%),
    linear-gradient(0deg, rgba(0, 22, 56, .28), rgba(0, 22, 56, .28)),
    url("assets/circuit-board.jpg") !important;
  background-position: center, center, center 48% !important;
  background-size: cover, cover, cover !important;
  background-repeat: no-repeat !important;
}
.page-home .hero:before {
  opacity: .045 !important;
  pointer-events: none;
}
.page-home .hero:after {
  pointer-events: none;
  border-color: rgba(208,240,240,.10) !important;
}
.page-home .hero-content { position: relative; z-index: 1; }
@media (max-width: 760px) {
  .page-home .hero {
    background-image:
      linear-gradient(180deg, rgba(0, 22, 56, .94) 0%, rgba(0, 32, 80, .91) 55%, rgba(0, 22, 56, .96) 100%),
      url("assets/circuit-board.jpg") !important;
    background-position: center, center !important;
    background-size: cover, cover !important;
  }
}

/* Homepage typography and alignment refinement */
.page-home {
  --home-content-width: 1200px;
  --home-heading-font: "Space Grotesk", "Inter", Arial, sans-serif;
  --home-body-font: "Inter", Arial, sans-serif;
}
.page-home .container { width: min(var(--home-content-width), 90%); }
.page-home .hero { padding: clamp(52px, 7vw, 88px) 0 clamp(48px, 6vw, 76px); }
.page-home .hero-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
  align-items: start !important;
}
.page-home .hero-content {
  width: 100%;
  max-width: 980px;
  margin: 0;
  text-align: left;
}
.page-home .hero .eyebrow {
  margin: 0 0 clamp(16px, 2.2vw, 24px);
  gap: 10px;
  font-family: var(--home-body-font);
  font-size: 11px;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: .17em;
  text-transform: uppercase;
}
.page-home .hero .eyebrow span { width: 28px; height: 2px; flex: 0 0 28px; margin: 0; }
.page-home .hero h1 {
  margin: 0;
  max-width: 900px;
  font-family: var(--home-heading-font);
  font-size: clamp(48px, 7.2vw, 88px);
  font-weight: 700;
  line-height: .99;
  letter-spacing: -.055em;
  text-wrap: balance;
}
.page-home .hero h1 .text-gradient { display: inline-block; }
.page-home .hero h2 {
  max-width: 850px;
  margin: clamp(22px, 3vw, 30px) 0 0;
  font-family: var(--home-heading-font);
  font-size: clamp(18px, 2.05vw, 24px);
  font-weight: 500;
  line-height: 1.48;
  letter-spacing: -.025em;
  text-wrap: pretty;
}
.page-home .hero .hero-text-box {
  max-width: 790px;
  margin: 23px 0 0;
  padding: 0;
}
.page-home .hero .hero-text-box .box-title {
  margin: 0 0 8px;
  font-family: var(--home-heading-font);
  font-size: clamp(18px, 1.8vw, 21px);
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: -.02em;
}
.page-home .hero .hero-text-box p {
  max-width: 760px;
  font-family: var(--home-body-font);
  font-size: clamp(13px, 1.1vw, 15px) !important;
  font-weight: 400;
  line-height: 1.8 !important;
  letter-spacing: .005em;
  text-wrap: pretty;
}
.page-home .hero .hero-meta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 24px;
  margin: 25px 0 0;
  font-family: var(--home-body-font);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.6;
}
.page-home .hero .hero-meta-row > span {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
}
.page-home .hero .hero-meta-row b { flex: 0 0 25px; }
.page-home .hero .hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin: 27px 0 0;
}
.page-home .hero .hero-actions .btn {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 21px;
  border-radius: 6px;
  font-family: var(--home-body-font);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: .005em;
}
.page-home .hero .host-line {
  max-width: 790px;
  margin-top: 25px;
  padding: 0 0 0 14px;
  border-left: 2px solid rgba(208,240,240,.65);
}
.page-home .hero .host-line strong {
  display: block;
  font-family: var(--home-body-font);
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.8 !important;
  letter-spacing: .005em;
  text-wrap: pretty;
}

/* Bring the remaining homepage sections into the same type scale and grid rhythm */
.page-home .section { padding-block: clamp(54px, 7vw, 88px); }
.page-home .section-heading h2,
.page-home .timeline-heading h2,
.page-home .gallery-heading h2,
.page-home .resources-layout h2,
.page-home .overview-copy h2,
.page-home .destination-panel h2 {
  font-family: var(--home-heading-font);
  font-size: clamp(28px, 4vw, 43px);
  font-weight: 600;
  line-height: 1.14;
  letter-spacing: -.045em;
  text-wrap: balance;
}
.page-home .timeline-heading,
.page-home .gallery-heading { gap: 24px; }
.page-home .timeline-heading > div > p:not(.eyebrow),
.page-home .gallery-heading p:not(.eyebrow),
.page-home .resources-layout > div > p:not(.eyebrow) {
  max-width: 620px;
  font-family: var(--home-body-font);
  font-size: 14px;
  line-height: 1.75;
}
.page-home .announcement-item h3,
.page-home .track-preview-card h3,
.page-home .resource-row h3,
.page-home .destination-panel h3 {
  font-family: var(--home-heading-font);
  font-weight: 600;
  letter-spacing: -.025em;
  line-height: 1.3;
}
.page-home .announcement-item p,
.page-home .track-preview-card p,
.page-home .resource-row p,
.page-home .destination-panel p {
  font-family: var(--home-body-font);
  font-size: 13px;
  line-height: 1.75;
}
.page-home .fact-item strong { font-family: var(--home-heading-font); letter-spacing: -.025em; }
.page-home .eyebrow { font-family: var(--home-body-font); }

@media (min-width: 1200px) {
  .page-home .hero-content { max-width: 1020px; }
}
@media (max-width: 760px) {
  .page-home .container { width: min(100% - 36px, 620px); }
  .page-home .hero { padding: 46px 0 44px; }
  .page-home .hero-content { max-width: 100%; }
  .page-home .hero .eyebrow { font-size: 10px; letter-spacing: .13em; margin-bottom: 16px; }
  .page-home .hero h1 {
    font-size: clamp(43px, 11.5vw, 64px);
    line-height: 1.02;
    letter-spacing: -.05em;
  }
  .page-home .hero h1 .text-gradient { display: inline; }
  .page-home .hero h2 {
    margin-top: 20px;
    font-size: clamp(17px, 4.6vw, 21px);
    line-height: 1.5;
  }
  .page-home .hero .hero-text-box { margin-top: 20px; }
  .page-home .hero .hero-text-box p { font-size: 13px !important; line-height: 1.75 !important; }
  .page-home .hero .hero-meta-row { display: grid; gap: 12px; margin-top: 22px; font-size: 12px; }
  .page-home .hero .hero-meta-row > span { align-items: flex-start; }
  .page-home .hero .hero-actions { display: grid; grid-template-columns: 1fr; margin-top: 24px; }
  .page-home .hero .hero-actions .btn { width: 100%; min-height: 48px; }
  .page-home .hero .host-line { margin-top: 23px; }
  .page-home .hero .host-line strong { font-size: 11px !important; line-height: 1.75 !important; }
  .page-home .section { padding-block: 50px; }
  .page-home .section-heading h2,
  .page-home .timeline-heading h2,
  .page-home .gallery-heading h2,
  .page-home .resources-layout h2,
  .page-home .overview-copy h2,
  .page-home .destination-panel h2 { font-size: clamp(27px, 7.5vw, 34px); }
}
@media (prefers-reduced-motion: reduce) {
  .page-home .hero *, .page-home .section * { scroll-behavior: auto; }
}

/* SPECTRAM homepage colour lift — vivid accents, balanced surfaces, clear contrast */
.page-home .hero {
  background-color: #001638 !important;
  background-image:
    radial-gradient(ellipse at 86% 12%, rgba(48,96,160,.50) 0%, rgba(48,96,160,0) 36%),
    radial-gradient(ellipse at 66% 100%, rgba(0,22,56,.48) 0%, rgba(0,22,56,0) 42%),
    linear-gradient(105deg, rgba(0,22,56,.94) 0%, rgba(0,32,80,.86) 53%, rgba(0,22,56,.76) 100%),
    url("assets/circuit-board.jpg") !important;
  background-size: cover, cover, cover, cover !important;
  background-position: center, center, center, center 48% !important;
}
.page-home .hero:before {
  opacity: .08 !important;
  background-image: linear-gradient(rgba(208,240,240,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(208,240,240,.14) 1px,transparent 1px) !important;
}
.page-home .hero .eyebrow { color: #D0F0F0 !important; }
.page-home .hero .eyebrow span { background: #63D4D5 !important; }
.page-home .hero h1 .text-gradient {
  background: linear-gradient(100deg,#FFFFFF 0%,#D0F0F0 48%,#AFC8FF 100%) !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}
.page-home .hero .hero-text-box { border-left-color: #63D4D5 !important; }
.page-home .hero .hero-text-box .box-title { color: #FFFFFF !important; }
.page-home .hero .hero-meta-row b { background: #63D4D5 !important; color: #001638 !important; }
.page-home .hero .btn.primary {
  background: linear-gradient(110deg,#D0F0F0,#AFC8FF) !important;
  color: #001638 !important;
  border-color: #D0F0F0 !important;
  box-shadow: 0 8px 26px rgba(48,96,160,.34) !important;
}
.page-home .hero .btn.primary:hover { background: #FFFFFF !important; border-color: #FFFFFF !important; }
.page-home .hero .btn.secondary { border-color: #AFC8FF !important; }
.page-home .hero .btn.secondary:hover { background: rgba(175,200,255,.14) !important; }
.page-home .hero .host-line { border-left-color: #63D4D5 !important; }

/* A livelier announcement strip, without sacrificing contrast */
.page-home .ticker {
  background: linear-gradient(90deg,#EAFBFF 0%,#EAF8F8 50%,#EAF0F8 100%) !important;
  border-bottom: 1px solid #D6E2F0 !important;
  color: #002050 !important;
}
.page-home .ticker-track { color: #002050 !important; }

/* Give major homepage sections their own soft logo-derived tints */
.page-home .conference-facts { background: linear-gradient(180deg,#FFFFFF 0%,#F7FAFC 100%) !important; }
.page-home .about-snapshot { background: linear-gradient(180deg,#F7FAFC 0%,#FFFFFF 100%) !important; }
.page-home .announcements-section { background: linear-gradient(135deg,#F7FAFC 0%,#EAFBFF 100%) !important; }
.page-home .timeline-section { background: linear-gradient(135deg,#FFFFFF 0%,#EAF8F8 100%) !important; }
.page-home .resources-section { background: linear-gradient(135deg,#F7FAFC 0%,#EAF0F8 100%) !important; }
.page-home .spectram-gallery-section { background: linear-gradient(180deg,#FFFFFF 0%,#F7FAFC 100%) !important; }
.page-home .host-destination-section { background: linear-gradient(135deg,#FFFFFF 0%,#F1EDF8 100%) !important; }

/* Use teal and blue as restrained section markers and card accents */
.page-home .section-heading h2 span { color: #3060A0 !important; }
.page-home .announcement-item,
.page-home .track-preview-card,
.page-home .resource-row,
.page-home .date-card,
.page-home .destination-panel,
.page-home .host-panel,
.page-home .city-panel {
  border: 1px solid #DDE3E8 !important;
  box-shadow: 0 8px 24px rgba(0,32,80,.055) !important;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.page-home .announcement-item:hover,
.page-home .track-preview-card:hover,
.page-home .resource-row:hover,
.page-home .date-card:hover {
  transform: translateY(-3px);
  border-color: #9BB8E0 !important;
  box-shadow: 0 14px 30px rgba(0,32,80,.10) !important;
}
.page-home .announcement-item { border-top: 3px solid #3060A0 !important; }
.page-home .announcement-item:nth-child(2n) { border-top-color: #7651A8 !important; }
.page-home .announcement-item:nth-child(3n) { border-top-color: #45B9BF !important; }
.page-home .announcement-tag { background: #EAFBFF !important; color: #45D9F5 !important; }
.page-home .announcement-item:nth-child(2n) .announcement-tag { background: #EAF8F8 !important; color: #002050 !important; }
.page-home .track-preview-card { border-top: 3px solid #3060A0 !important; }
.page-home .track-preview-two { border-top-color: #7651A8 !important; }
.page-home .track-preview-three { border-top-color: #45B9BF !important; }
.page-home .track-preview-card:before { opacity: .08 !important; }
.page-home .track-preview-one:before { background: #3060A0 !important; }
.page-home .track-preview-two:before { background: #7651A8 !important; }
.page-home .track-preview-three:before { background: #45B9BF !important; }
.page-home .track-preview-one .preview-number { color: #3060A0 !important; }
.page-home .track-preview-two .preview-number { color: #7651A8 !important; }
.page-home .track-preview-three .preview-number { color: #168C95 !important; }
.page-home .track-preview-one .preview-symbol { color: rgba(48,96,160,.22) !important; }
.page-home .track-preview-two .preview-symbol { color: rgba(118,81,168,.22) !important; }
.page-home .track-preview-three .preview-symbol { color: rgba(69,185,191,.30) !important; }
.page-home .date-card-featured { background: linear-gradient(135deg,#DDF7F6 0%,#EAF0FF 100%) !important; border-color: #7DBBCB !important; }
.page-home .date-card-featured .date-step { background: #3060A0 !important; }
.page-home .date-card-featured .date-label { color: #45D9F5 !important; }
.page-home .overview-tags span:nth-child(3n+1) { background: #EAF0F8 !important; border-color: #D4E1F1 !important; }
.page-home .overview-tags span:nth-child(3n+2) { background: #EAFBFF !important; border-color: #E0D3F0 !important; }
.page-home .overview-tags span:nth-child(3n) { background: #EAF8F8 !important; border-color: #CFECEB !important; }
.page-home .visual-center { background: rgba(0,22,56,.38) !important; }
.page-home .visual-center span { background: linear-gradient(135deg,#3060A0,#7651A8) !important; }
.page-home .tracks-submission-cta { background: linear-gradient(110deg,#EAF0F8 0%,#EAFBFF 52%,#EAF8F8 100%) !important; border-color: #DDE3E8 !important; }
.page-home .track-submission-icon { background: linear-gradient(135deg,#EAFBFF,#EAF8F8) !important; color: #45D9F5 !important; }
.page-home .track-submission-link:hover { border-color: #7651A8 !important; }
.page-home .gallery-dot[aria-current="true"] { background: linear-gradient(90deg,#45D9F5,#3060A0,#45B9BF) !important; }
.page-home .gallery-control:hover { background: #EAFBFF !important; color: #45D9F5 !important; }
.page-home .text-link:hover, .page-home .overview-link:hover { color: #7651A8 !important; }

@media (max-width: 760px) {
  .page-home .hero {
    background-image:
      linear-gradient(180deg,rgba(0,22,56,.94) 0%,rgba(0,32,80,.90) 58%,rgba(0,22,56,.95) 100%),
      url("assets/circuit-board.jpg") !important;
    background-position: center,center !important;
  }
  .page-home .announcement-item:hover,
  .page-home .track-preview-card:hover,
  .page-home .resource-row:hover,
  .page-home .date-card:hover { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .page-home .announcement-item,
  .page-home .track-preview-card,
  .page-home .resource-row,
  .page-home .date-card { transition: none; }
}

/* Image-led technical track cards — visual hierarchy with accessible text contrast */
.page-home .track-preview-grid {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 22px !important;
  align-items: stretch;
}
.page-home .track-preview-card {
  position: relative;
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  min-height: 465px;
  padding: 0 25px 24px !important;
  overflow: hidden;
  border: 1px solid #DDE3E8 !important;
  border-top: 0 !important;
  border-radius: 15px !important;
  background: #FFFFFF !important;
  box-shadow: 0 12px 30px rgba(0,32,80,.075) !important;
  text-decoration: none;
  isolation: isolate;
}
.page-home .track-preview-card:after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: var(--track-accent,#3060A0);
}
.page-home .track-preview-one { --track-accent:#3060A0; --track-wash:#EAF0F8; }
.page-home .track-preview-two { --track-accent:#7651A8; --track-wash:#F0EAF8; }
.page-home .track-preview-three { --track-accent:#168C95; --track-wash:#E7F7F6; }
.page-home .track-preview-card .track-artwork {
  position: relative;
  display: block;
  width: calc(100% + 50px);
  height: 190px;
  margin: 0 -25px 23px;
  overflow: hidden;
  background: #001638;
  isolation: isolate;
}
.page-home .track-preview-card .track-artwork:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(0,22,56,.65),rgba(0,32,80,.08) 72%),linear-gradient(0deg,rgba(0,22,56,.72),transparent 62%);
  z-index: 1;
}
.page-home .track-preview-card .track-artwork img {
  display: block;
  width: 100%; height: 100%;
  object-fit: cover;
  opacity: .88;
  transform: scale(1.01);
  transition: transform .55s cubic-bezier(.2,.7,.2,1),opacity .3s ease;
}
.page-home .track-preview-one .track-artwork img { object-position: 50% 48%; filter: saturate(1.18) hue-rotate(3deg); }
.page-home .track-preview-two .track-artwork img { object-position: 50% 50%; filter: saturate(1.2) hue-rotate(18deg); }
.page-home .track-preview-three .track-artwork img { object-position: 50% 50%; filter: saturate(1.25); }
.page-home .track-preview-card .artwork-index {
  position: absolute;
  z-index: 2;
  left: 24px; bottom: 18px;
  color: #D0F0F0;
  font-size: 10px;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: .16em;
}
.page-home .track-preview-card .preview-number {
  margin: 0 0 12px;
  color: var(--track-accent) !important;
  font-family: "Inter",Arial,sans-serif;
  font-size: 10px;
  line-height: 1.4;
  letter-spacing: .15em;
  font-weight: 800;
}
.page-home .track-preview-card h3 {
  position: relative;
  margin: 0 0 12px;
  color: #002050 !important;
  font-size: clamp(21px,2vw,25px);
  line-height: 1.22;
  letter-spacing: -.035em;
}
.page-home .track-preview-card p {
  margin: 0 0 22px;
  color: #626B78 !important;
  font-size: 13px;
  line-height: 1.75;
}
.page-home .track-preview-card .preview-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: auto;
  padding-top: 15px;
  border-top: 1px solid #E5E9EF;
  width: 100%;
  color: var(--track-accent) !important;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .02em;
}
.page-home .track-preview-card:hover,
.page-home .track-preview-card:focus-visible {
  transform: translateY(-5px);
  border-color: color-mix(in srgb,var(--track-accent) 38%,#DDE3E8) !important;
  box-shadow: 0 20px 42px rgba(0,32,80,.13) !important;
}
.page-home .track-preview-card:hover .track-artwork img,
.page-home .track-preview-card:focus-visible .track-artwork img { transform: scale(1.07); opacity: 1; }
.page-home .track-preview-card:focus-visible { outline: 3px solid #63D4D5; outline-offset: 4px; }
.page-home .tracks-submission-cta {
  margin-top: 26px;
  padding: 24px 26px !important;
  border: 1px solid #DDE3E8 !important;
  border-left: 4px solid #7651A8 !important;
  border-radius: 12px !important;
  background: linear-gradient(100deg,#F0EAF8 0%,#EAF0F8 52%,#E7F7F6 100%) !important;
}
@media (max-width: 900px) {
  .page-home .track-preview-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .page-home .track-preview-card:last-child { grid-column: 1 / -1; }
  .page-home .track-preview-card:last-child .track-artwork { height: 210px; }
}
@media (max-width: 600px) {
  .page-home .track-preview-grid { grid-template-columns: minmax(0,1fr); gap: 18px !important; }
  .page-home .track-preview-card:last-child { grid-column: auto; }
  .page-home .track-preview-card { min-height: 430px; padding: 0 21px 22px !important; }
  .page-home .track-preview-card .track-artwork { width: calc(100% + 42px); height: 178px; margin: 0 -21px 21px; }
  .page-home .track-preview-card:last-child .track-artwork { height: 178px; }
  .page-home .tracks-submission-cta { padding: 20px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .page-home .track-preview-card, .page-home .track-preview-card .track-artwork img { transition: none !important; }
  .page-home .track-preview-card:hover, .page-home .track-preview-card:focus-visible { transform: none; }
}

/* Remove the three overlapping center boxes from the visual overview graphic */
.page-home .visual-center { display: none !important; }
.page-home .overview-visual { isolation: isolate; }
.page-home .visual-orbit { border-color: rgba(208,240,240,.58) !important; box-shadow: 0 0 22px rgba(48,96,160,.38) !important; }
.page-home .visual-orbit.orbit-a { border-color: rgba(99,212,213,.72) !important; }

/* SPECTRAM wordmark inside the visual overview */
.page-home .overview-visual { display:grid; place-items:center; }
.page-home .overview-wordmark {
  position:relative;
  z-index:2;
  display:block;
  width:100%;
  height:100%;
  min-height:390px;
  object-fit:cover;
  object-position:center;
  mix-blend-mode:screen;
  opacity:.96;
}
.page-home .overview-visual .visual-grid { z-index:1; pointer-events:none; }
.page-home .overview-visual .visual-orbit { z-index:2; pointer-events:none; }
.page-home .overview-visual .visual-coordinate { z-index:3; color:#D0F0F0 !important; }
@media (max-width:1000px) { .page-home .overview-wordmark { min-height:340px; } }
@media (max-width:760px) { .page-home .overview-wordmark { min-height:320px; } }

/* Clear SPECTRAM wordmark in the centre of the overview visual */
.page-home .overview-visual { display:grid; place-items:center; }
.page-home .overview-visual .overview-wordmark {
  position:relative;
  z-index:2;
  display:block;
  width:100%;
  padding:18px 12px;
  text-align:center;
  color:#FFFFFF;
  font-family:"Space Grotesk",Inter,Arial,sans-serif;
  font-size:clamp(30px,4vw,56px);
  line-height:1;
  font-weight:800;
  letter-spacing:.045em;
  white-space:nowrap;
  background:linear-gradient(100deg,#D0F0F0 0%,#FFFFFF 42%,#AFC8FF 72%,#63E8FF 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 18px rgba(48,96,160,.42));
}
.page-home .overview-visual .visual-grid,
.page-home .overview-visual .visual-orbit { pointer-events:none; }
.page-home .overview-visual .visual-coordinate { z-index:3; color:#D0F0F0 !important; }

/* Use the generated SPECTRAM artwork itself, centred in the visual overview */
.page-home .overview-visual {
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  min-height:390px;
  padding:0 !important;
  background-color:#001638 !important;
  background-image:linear-gradient(135deg,rgba(0,22,56,.14),rgba(0,22,56,.12)),url("assets/global-network.jpg") !important;
  background-size:cover !important;
  background-position:center !important;
}
.page-home .overview-visual .overview-wordmark {
  position:relative !important;
  inset:auto !important;
  z-index:2 !important;
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:390px;
  object-fit:contain !important;
  object-position:center !important;
  padding:0 !important;
  margin:0 auto !important;
  opacity:1 !important;
  mix-blend-mode:normal !important;
  filter:drop-shadow(0 10px 24px rgba(0,0,0,.18));
}
.page-home .overview-visual .visual-grid,
.page-home .overview-visual .visual-orbit { display:none !important; }
.page-home .overview-visual .visual-coordinate {
  position:absolute !important;
  z-index:3 !important;
  right:20px !important;
  bottom:16px !important;
  left:auto !important;
  top:auto !important;
  color:#D0F0F0 !important;
}
@media (max-width:760px) {
  .page-home .overview-visual { min-height:250px; }
  .page-home .overview-visual .overview-wordmark { width:100% !important; max-height:250px; }
}

/* Center the SPECTRAM graphic artwork in the visual overview panel */
.page-home .overview-visual { position:relative!important; display:flex!important; align-items:center!important; justify-content:center!important; overflow:hidden!important; min-height:390px; padding:0!important; background:#001638!important; }
.page-home .overview-visual .overview-wordmark { position:relative!important; inset:auto!important; z-index:2!important; display:block!important; width:100%!important; height:auto!important; min-height:0!important; max-height:390px; object-fit:contain!important; object-position:center!important; padding:0!important; margin:0 auto!important; opacity:1!important; mix-blend-mode:normal!important; filter:drop-shadow(0 10px 24px rgba(0,0,0,.18)); }
.page-home .overview-visual .visual-grid, .page-home .overview-visual .visual-orbit { display:none!important; }
.page-home .overview-visual .visual-coordinate { position:absolute!important; z-index:3!important; right:20px!important; bottom:16px!important; left:auto!important; top:auto!important; color:#D0F0F0!important; }
@media(max-width:760px){.page-home .overview-visual{min-height:250px}.page-home .overview-visual .overview-wordmark{max-height:250px}}

/* Subtle cinematic motion for the SPECTRAM visual overview artwork */
@keyframes spectram-art-drift {
  0%,100% { transform:scale(1) translate3d(0,0,0); }
  50% { transform:scale(1.035) translate3d(0,-3px,0); }
}
@keyframes spectram-art-glow {
  0%,100% { filter:drop-shadow(0 8px 20px rgba(48,96,160,.18)) brightness(1); }
  50% { filter:drop-shadow(0 10px 30px rgba(99,212,213,.30)) brightness(1.055); }
}
@keyframes spectram-coordinate-fade {
  0%,100% { opacity:.72; }
  50% { opacity:1; }
}
.page-home .overview-visual .overview-wordmark {
  transform-origin:center center;
  animation:spectram-art-drift 9s ease-in-out infinite, spectram-art-glow 6s ease-in-out infinite;
  will-change:transform,filter;
}
.page-home .overview-visual .visual-coordinate {
  animation:spectram-coordinate-fade 4.5s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
  .page-home .overview-visual .overview-wordmark,
  .page-home .overview-visual .visual-coordinate { animation:none !important; will-change:auto; }
}

/* Animated orbital rings and stars around the centered SPECTRAM artwork */
.page-home .overview-visual {
  isolation:isolate;
  perspective:900px;
}
.page-home .overview-visual::before,
.page-home .overview-visual::after {
  content:"";
  position:absolute;
  z-index:1;
  left:50%;top:50%;
  width:min(78%,560px);
  aspect-ratio:1.9 / 1;
  border:1px solid rgba(99,212,213,.66);
  border-radius:50%;
  transform:translate(-50%,-50%) rotateX(58deg) rotateZ(0deg);
  box-shadow:0 0 14px rgba(99,212,213,.12),inset 0 0 14px rgba(99,212,213,.08);
  pointer-events:none;
  animation:spectram-orbit-spin 16s linear infinite;
}
.page-home .overview-visual::after {
  width:min(88%,650px);
  border-color:rgba(174,151,255,.58);
  transform:translate(-50%,-50%) rotateX(62deg) rotateZ(-25deg);
  animation:spectram-orbit-reverse 23s linear infinite;
}
.page-home .overview-visual .overview-wordmark {
  z-index:2!important;
  position:relative!important;
}
.page-home .overview-visual .visual-coordinate { z-index:4!important; }
@keyframes spectram-orbit-spin {
  from { transform:translate(-50%,-50%) rotateX(58deg) rotateZ(0deg); }
  to { transform:translate(-50%,-50%) rotateX(58deg) rotateZ(360deg); }
}
@keyframes spectram-orbit-reverse {
  from { transform:translate(-50%,-50%) rotateX(62deg) rotateZ(335deg); }
  to { transform:translate(-50%,-50%) rotateX(62deg) rotateZ(-25deg); }
}
.page-home .overview-visual .overview-wordmark::before { content:none; }
.page-home .overview-visual .overview-wordmark { overflow:visible; }
.page-home .overview-visual {
  background-image:radial-gradient(ellipse at 50% 50%,rgba(48,96,160,.2),transparent 62%),linear-gradient(135deg,rgba(0,22,56,.14),rgba(0,22,56,.12)),url("assets/global-network.jpg")!important;
}
@media(prefers-reduced-motion:reduce){
  .page-home .overview-visual::before,.page-home .overview-visual::after { animation:none!important; }
}

/* Roll back the generated image and its animation; restore the original CSS orbit graphic */
.page-home .overview-visual {
  background-color:#001638 !important;
  background-image:radial-gradient(ellipse at 50% 50%,rgba(48,96,160,.22),transparent 62%),linear-gradient(135deg,rgba(0,22,56,.14),rgba(0,22,56,.12)),url("assets/global-network.jpg") !important;
  background-size:cover !important;
  background-position:center !important;
}
.page-home .overview-visual .overview-wordmark { display:none !important; animation:none !important; }
.page-home .overview-visual .visual-grid { display:block !important; }
.page-home .overview-visual .visual-orbit { display:block !important; }
.page-home .overview-visual::before,
.page-home .overview-visual::after { content:none !important; animation:none !important; }
.page-home .overview-visual .visual-coordinate { animation:none !important; }

/* SPECTRAM wordmark styled to match the generated concept artwork */
.page-home .overview-visual .overview-wordmark {
  display:block !important;
  position:absolute !important;
  z-index:3 !important;
  left:50% !important;
  top:50% !important;
  width:max-content !important;
  max-width:90%;
  padding:0 !important;
  margin:0 !important;
  transform:translate(-50%,-50%) !important;
  color:#FFFFFF !important;
  font-family:"Space Grotesk",Inter,Arial,sans-serif !important;
  font-size:clamp(29px,4.2vw,57px) !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:.055em !important;
  white-space:nowrap !important;
  text-align:center !important;
  background:linear-gradient(100deg,#D0F0F0 0%,#FFFFFF 43%,#AFC8FF 72%,#63E8FF 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
  filter:drop-shadow(0 0 14px rgba(99,212,213,.35)) !important;
  animation:none !important;
}
.page-home .overview-visual .visual-grid { z-index:0 !important; }
.page-home .overview-visual .visual-orbit { z-index:1 !important; }
.page-home .overview-visual .visual-coordinate { z-index:4 !important; }
@media(prefers-reduced-motion:reduce) { .page-home .overview-visual .overview-wordmark { animation:none!important; } }

/* Living wallpaper background for the homepage hero — image-led, subtle, readable */
.page-home .hero { position:relative;isolation:isolate;overflow:hidden;background:#00142f!important; }
.page-home .hero .hero-live-wallpaper { position:absolute;z-index:-1;inset:0;overflow:hidden;pointer-events:none;background:#00142f; }
.page-home .hero-wallpaper-scene { position:absolute;inset:-4%;background-position:center;background-size:cover;will-change:transform,opacity; }
.page-home .hero-wallpaper-circuit { background-image:url("assets/circuit-board.jpg");opacity:.44;animation:hero-wallpaper-drift 32s ease-in-out infinite alternate; }
.page-home .hero-wallpaper-network { background-image:url("assets/global-network.jpg");opacity:0;animation:hero-wallpaper-crossfade 24s ease-in-out infinite; }
.page-home .hero-wallpaper-glow { position:absolute;inset:-25%;background:radial-gradient(ellipse at 76% 36%,rgba(49,192,215,.2),transparent 27%),radial-gradient(ellipse at 22% 78%,rgba(119,80,210,.19),transparent 32%);animation:hero-wallpaper-glow 13s ease-in-out infinite alternate; }
.page-home .hero-wallpaper-grid { position:absolute;inset:0;opacity:.14;background-image:linear-gradient(rgba(208,240,240,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(208,240,240,.18) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(90deg,transparent 4%,#000 100%); }

.page-home .hero:before { z-index:0;inset:0;opacity:1;background:linear-gradient(90deg,rgba(0,16,42,.97) 0%,rgba(0,24,58,.89) 48%,rgba(0,24,58,.62) 100%),linear-gradient(0deg,rgba(0,14,38,.38),transparent 45%,rgba(0,14,38,.14));mask-image:none; }
.page-home .hero:after { z-index:0;border-color:rgba(99,212,213,.16);box-shadow:0 0 0 38px rgba(99,212,213,.035),0 0 0 88px rgba(197,164,255,.035),0 0 0 145px rgba(99,212,213,.025); }
.page-home .hero-grid { z-index:1; }
.page-home .hero h1 .text-gradient { background:linear-gradient(105deg,#FFFFFF 8%,#BFF9F3 55%,#D0C1FF 100%);background-clip:text;-webkit-background-clip:text;color:transparent; }
.page-home .hero .hero-text-box { background:rgba(0,18,45,.28);border-left-color:#63D4D5;backdrop-filter:blur(3px); }
.page-home .hero .hero-text-box .box-title { color:#FFFFFF; }
.page-home .hero .hero-text-box p { color:#E0EBFA; }
.page-home .hero .hero-meta-row span { background:rgba(5,31,66,.66);border-color:rgba(208,240,240,.23);color:#F0F7FF;backdrop-filter:blur(7px); }
.page-home .hero .hero-meta-row b { color:#63D4D5; }
.page-home .hero .hero-actions .secondary { background:rgba(255,255,255,.07);border-color:rgba(208,240,240,.44);color:#FFFFFF; }
.page-home .hero .host-line,.page-home .hero .host-line strong { color:#D4E3F5; }
@keyframes hero-wallpaper-drift { from{transform:scale(1.02) translate3d(-.5%,0,0)}to{transform:scale(1.13) translate3d(.8%,-.5%,0)} }
@keyframes hero-wallpaper-crossfade { 0%,35%{opacity:0;transform:scale(1.04)}48%,72%{opacity:.27}88%,100%{opacity:0;transform:scale(1.12) translate3d(-.5%,.3%,0)} }
@keyframes hero-wallpaper-glow { from{transform:translate3d(-2%,-1%,0) scale(.94);opacity:.7}to{transform:translate3d(2%,2%,0) scale(1.08);opacity:1} }

@media(prefers-reduced-motion:reduce) { .page-home .hero-wallpaper-scene,.page-home .hero-wallpaper-glow { animation:none!important; }.page-home .hero-wallpaper-network{display:none} }

/* Canvas layer for randomly emitted RF pulses and interference patterns */
.page-home .hero-live-wallpaper { isolation:isolate; }
.page-home .hero-signal-canvas { position:absolute;z-index:1;inset:0;display:block;width:100%;height:100%;pointer-events:none; }
.page-home .hero-wallpaper-grid { z-index:0; }
.page-home .hero-wallpaper-glow { z-index:0; }

.page-home .hero-grid { position:relative;z-index:3; }

/* Keep the hero description's cyan rule clear of its text */
.page-home .hero .hero-text-box {
  padding-left: 20px !important;
  margin-left: 10px !important;
  border-left-width: 2px !important;
}

/* SPECTRAM sponsors and institutional partners */
.page-home .sponsors-section { padding:clamp(42px,5vw,68px) 0;background:linear-gradient(180deg,#F6F9FD 0%,#FFFFFF 100%);border-top:1px solid #E3EAF4;border-bottom:1px solid #E3EAF4; }
.page-home .sponsors-heading { display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:28px; }
.page-home .sponsors-heading h2 { margin:8px 0 9px;color:#002050;font-family:"Space Grotesk",sans-serif;font-size:clamp(28px,3.5vw,40px);line-height:1.13;letter-spacing:-.045em; }
.page-home .sponsors-heading h2 span { color:#3060A0; }
.page-home .sponsors-heading p:not(.eyebrow) { margin:0;color:#596B82;font-size:13px;line-height:1.7; }
.page-home .sponsors-heading .text-link { flex-shrink:0; }
.page-home .sponsors-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px; }
.page-home .sponsor-card { min-width:0;min-height:150px;display:flex;align-items:center;gap:18px;padding:22px;border:1px solid #DEE7F2;border-radius:12px;background:rgba(255,255,255,.9);box-shadow:0 8px 24px rgba(0,32,80,.035);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.page-home .sponsor-card:hover { transform:translateY(-3px);border-color:#B7CBE5;box-shadow:0 13px 30px rgba(0,32,80,.08); }
.page-home .sponsor-mark { flex:0 0 76px;width:76px;height:76px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#F0F5FC;color:#17477F;font-weight:800;letter-spacing:-.05em; }
.page-home .sponsor-ieee-mark { font-family:Arial,sans-serif;font-size:22px;letter-spacing:-.07em;border:1px solid #D7E4F5;background:linear-gradient(145deg,#F9FBFF,#E9F1FC); }
.page-home .sponsor-mtts-mark { flex-direction:row;gap:2px;font-size:19px;letter-spacing:-.08em;background:#F3F0FC;color:#5C4597; }
.page-home .sponsor-mtts-mark i { font-style:normal;color:#9A73D4;font-size:26px; }
.page-home .sponsor-ggv-mark { background:#EDF6F2;color:#286A58;font-family:Georgia,serif;font-size:25px;letter-spacing:.02em; }
.page-home .sponsor-card-copy { min-width:0; }
.page-home .sponsor-role { display:block;margin-bottom:7px;color:#56749B;font-size:9px;font-weight:800;letter-spacing:.13em; }
.page-home .sponsor-card h3 { margin:0;color:#18365D;font-size:15px;font-weight:750;line-height:1.35; }
.page-home .sponsor-card p { margin:7px 0 0;color:#687A90;font-size:11px;line-height:1.55; }
.page-home .sponsors-note { margin:18px 0 0;color:#718096;font-size:11px;line-height:1.7; }
@media(max-width:900px) { .page-home .sponsors-grid { grid-template-columns:1fr; }.page-home .sponsor-card { min-height:120px; } }
@media(max-width:600px) { .page-home .sponsors-heading { align-items:flex-start;flex-direction:column;gap:15px; }.page-home .sponsor-card { gap:14px;padding:16px; }.page-home .sponsor-mark { flex-basis:62px;width:62px;height:62px; } }
@media(prefers-reduced-motion:reduce) { .page-home .sponsor-card { transition:none; } }

/* Dedicated sponsors page — intentionally marked as in progress */
.page-sponsors .sponsors-page-banner { padding:clamp(64px,9vw,110px) 0; }
.page-sponsors .sponsors-under-construction { display:inline-flex;margin-top:22px;padding:8px 13px;border:1px solid rgba(255,255,255,.32);border-radius:999px;background:rgba(255,255,255,.1);color:#fff;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase; }
.page-sponsors .sponsors-page-content { min-height:390px;display:flex;align-items:center;text-align:center;background:linear-gradient(180deg,#F7FAFE,#fff); }
.page-sponsors .sponsors-page-inner { max-width:720px;margin:0 auto; }
.page-sponsors .sponsors-page-symbol { width:78px;height:78px;display:grid;place-items:center;margin:0 auto 24px;border:1px solid #D7E4F5;border-radius:22px;background:linear-gradient(145deg,#fff,#EAF1FC);box-shadow:0 12px 30px rgba(0,32,80,.08);color:#17477F;font-family:Georgia,serif;font-size:25px;font-weight:700; }
.page-sponsors .sponsors-page-inner h2 { margin:10px 0 14px;color:#002050;font-family:"Space Grotesk",sans-serif;font-size:clamp(28px,4vw,42px);line-height:1.15;letter-spacing:-.04em; }
.page-sponsors .sponsors-page-inner h2 span { color:#3060A0; }
.page-sponsors .sponsors-page-inner>p:not(.eyebrow) { max-width:590px;margin:0 auto 24px;color:#5E6F85;font-size:14px;line-height:1.8; }
.page-sponsors .sponsors-page-inner .btn { display:inline-flex;align-items:center;gap:9px; }
.page-sponsors .sponsors-page-back { display:block;width:max-content;margin:18px auto 0;color:#315A94;font-size:13px;font-weight:650;text-decoration:none; }

/* Compact three-position sponsor logo carousel: crisp centre, faded neighbours */
.page-home .sponsor-logo-carousel { position:relative;max-width:760px;margin:4px auto 0;padding:0 46px 26px; }
.page-home .sponsor-logo-stage { position:relative;display:grid;grid-template-columns:1fr 1.45fr 1fr;align-items:center;gap:16px;min-height:142px; }
.page-home .sponsor-logo-item { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-width:0;transition:opacity .45s ease,transform .45s ease,filter .45s ease; }
.page-home .sponsor-logo-item img { display:block;width:100%;max-width:160px;height:70px;object-fit:contain; }
.page-home .sponsor-logo-item.is-active { opacity:1;filter:none;transform:scale(1.08); }
.page-home .sponsor-logo-item.is-active img { max-width:220px;height:88px; }
.page-home .sponsor-logo-item.is-side { opacity:.25;filter:grayscale(.45);transform:scale(.78); }
.page-home .sponsor-logo-caption { color:#23476E;font-size:12px;font-weight:750;text-align:center;line-height:1.4; }
.page-home .sponsor-carousel-arrow { position:absolute;z-index:2;top:52px;width:32px;height:32px;border:1px solid #D8E3F1;border-radius:50%;background:#fff;color:#17477F;font-size:24px;line-height:1;cursor:pointer;box-shadow:0 4px 12px rgba(0,32,80,.07); }
.page-home .sponsor-prev { left:0; }.page-home .sponsor-next { right:0; }
.page-home .sponsor-carousel-arrow:hover { background:#EAF1FC;border-color:#AFC5E0; }
.page-home .sponsor-carousel-pagination { display:flex;justify-content:center;gap:7px;margin-top:8px; }
.page-home .sponsor-carousel-pagination button { width:6px;height:6px;padding:0;border:0;border-radius:99px;background:#C9D6E6;cursor:pointer;transition:width .25s ease,background .25s ease; }
.page-home .sponsor-carousel-pagination button[aria-current="true"] { width:20px;background:#3060A0; }
@media(max-width:600px) { .page-home .sponsor-logo-carousel { padding:0 32px 24px; }.page-home .sponsor-logo-stage { grid-template-columns:.7fr 1.5fr .7fr;gap:4px;min-height:126px; }.page-home .sponsor-logo-item img { height:54px; }.page-home .sponsor-logo-item.is-active img { height:70px; }.page-home .sponsor-logo-item.is-side { opacity:.2; }.page-home .sponsor-carousel-arrow { top:44px;width:28px;height:28px; } }
@media(prefers-reduced-motion:reduce) { .page-home .sponsor-logo-item,.page-home .sponsor-carousel-pagination button { transition:none; } }

/* Large, unmistakable Under Construction landing page for Sponsors */
.page-sponsors main { min-height:0; }
.page-sponsors .sponsors-construction-hero { position:relative;isolation:isolate;display:grid;place-items:center;min-height:clamp(570px,72vh,780px);overflow:hidden;padding:80px 20px;background:radial-gradient(ellipse at 50% 38%,#123A70 0%,#062653 42%,#00142F 100%);text-align:center;color:#fff; }
.page-sponsors .sponsors-construction-grid { position:absolute;z-index:-1;inset:0;opacity:.16;background-image:linear-gradient(rgba(175,218,255,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(175,218,255,.2) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse at center,#000 0%,transparent 78%); }
.page-sponsors .sponsors-construction-orb { position:absolute;z-index:-1;width:440px;height:440px;border:1px solid rgba(135,208,255,.16);border-radius:50%;box-shadow:0 0 0 48px rgba(135,208,255,.035),0 0 0 100px rgba(135,208,255,.025);pointer-events:none; }
.page-sponsors .sponsors-orb-one { top:-270px;right:-130px; }.page-sponsors .sponsors-orb-two { bottom:-340px;left:-140px;width:560px;height:560px;border-color:rgba(177,157,255,.2);box-shadow:0 0 0 55px rgba(177,157,255,.035),0 0 0 110px rgba(177,157,255,.025); }
.page-sponsors .sponsors-construction-inner { position:relative;z-index:1;max-width:760px;margin:0 auto; }
.page-sponsors .sponsors-construction-symbol { display:flex;align-items:baseline;justify-content:center;gap:2px;width:84px;height:84px;margin:0 auto 28px;border:1px solid rgba(203,232,255,.3);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.045));box-shadow:0 14px 45px rgba(0,0,0,.18);color:#fff; }
.page-sponsors .sponsors-construction-symbol span { font-family:Georgia,serif;font-size:43px;line-height:84px; }.page-sponsors .sponsors-construction-symbol small { font-size:12px;color:#9FEAF0; }
.page-sponsors .sponsors-construction-inner .eyebrow { color:#A9DCEB;letter-spacing:.19em;font-size:10px;font-weight:800; }
.page-sponsors .sponsors-construction-inner h1 { margin:17px 0 18px;color:#fff;font-family:"DM Serif Display",Georgia,serif;font-size:clamp(42px,7vw,76px);font-weight:400;line-height:1.04;letter-spacing:-.035em; }
.page-sponsors .sponsors-construction-inner h1 span { color:#9FEAF0;background:linear-gradient(100deg,#A6F0EE,#C8D7FF);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent; }
.page-sponsors .sponsors-construction-inner>p:not(.eyebrow) { max-width:540px;margin:0 auto;color:#D0DEEF;font-size:15px;line-height:1.85; }
.page-sponsors .sponsors-construction-status { display:flex;align-items:center;justify-content:center;gap:10px;width:max-content;max-width:100%;margin:30px auto 26px;padding:12px 17px;border:1px solid rgba(159,234,240,.3);border-radius:999px;background:rgba(159,234,240,.08);color:#DFFBFC;font-size:10px;font-weight:800;letter-spacing:.15em; }
.page-sponsors .status-pulse { width:7px;height:7px;border-radius:50%;background:#9FEAF0;box-shadow:0 0 0 5px rgba(159,234,240,.12); }
.page-sponsors .sponsors-construction-inner .btn { display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border-radius:9px; }
@media(max-width:600px) { .page-sponsors .sponsors-construction-hero { min-height:calc(75vh);padding:64px 18px; }.page-sponsors .sponsors-construction-inner h1 { font-size:clamp(40px,11vw,58px); }.page-sponsors .sponsors-construction-inner>p:not(.eyebrow) { font-size:14px; }.page-sponsors .sponsors-construction-symbol { width:72px;height:72px;border-radius:20px; }.page-sponsors .sponsors-construction-symbol span { font-size:37px;line-height:72px; } }
@media(prefers-reduced-motion:reduce) { .page-sponsors .status-pulse { box-shadow:none; } }

/* Improve contrast for submission-guideline text on the dark panel */
.page-about .outcomes .outcome-list > div,
.outcomes .outcome-list > div {
  color: #FFFFFF !important;
}
.outcomes .outcome-list > div b {
  color: #FFFFFF !important;
  flex: 0 0 auto;
}
.outcomes .outcome-head h3 {
  color: #FFFFFF !important;
}
.outcomes .outcome-head .eyebrow {
  color: #BFD8FF !important;
}

/* Teal accent accents — restrained highlights across the SPECTRAM interface */
:root {
  --spectram-neon-teal: #45D9F5;
  --spectram-neon-teal-soft: #AFC8FF;
  --spectram-neon-teal-glow: rgba(69,217,245,.24);
}
/* Navigation: a fine teal underline and a crisp hover/focus state */
.nav-links a:hover,
.nav-links a:focus-visible,
.nav-links a.active { text-decoration-color:var(--spectram-neon-teal); }
.nav-links a:hover::after,
.nav-links a:focus-visible::after,
.nav-links a.active::after { background:var(--spectram-neon-teal); }
/* Homepage hero: teal joins the cyan/lavender RF palette without reducing contrast */
.page-home .hero-wallpaper-glow { background:radial-gradient(ellipse at 76% 36%,rgba(49,192,215,.18),transparent 27%),radial-gradient(ellipse at 22% 78%,rgba(119,80,210,.17),transparent 32%),radial-gradient(ellipse at 83% 76%,rgba(69,217,245,.12),transparent 25%); }
.page-home .hero .hero-text-box { border-left-color:var(--spectram-neon-teal); }
.page-home .hero .hero-meta-row b { color:var(--spectram-neon-teal-soft); }
.page-home .hero .hero-actions .primary,
.page-sponsors .sponsors-construction-inner .btn { box-shadow:0 0 0 1px rgba(69,217,245,.24),0 8px 26px rgba(69,217,245,.13); }
/* Section kickers, small links, and active indicators */
.eyebrow span { background:var(--spectram-neon-teal);box-shadow:0 0 12px var(--spectram-neon-teal-glow); }
.text-link:hover,
.page-home .sponsors-heading .text-link:hover,
.page-sponsors .sponsors-page-back:hover { color:var(--spectram-neon-teal); }
.page-home .sponsor-carousel-pagination button[aria-current="true"] { background:var(--spectram-neon-teal); }
.page-home .sponsor-carousel-arrow:hover { border-color:var(--spectram-neon-teal-soft);color:#3060A0;box-shadow:0 0 0 3px rgba(69,217,245,.1); }
/* Important-date highlight and interactive card borders */
.page-home .date-card-featured { border-color:rgba(69,217,245,.45); }
.page-home .date-card:hover,
.page-home .track-card:hover { border-color:rgba(69,217,245,.42); }
/* Sponsors construction page: a teal accent accent in the status indicator */
.page-sponsors .sponsors-construction-status { border-color:rgba(69,217,245,.38);background:rgba(69,217,245,.09); }
.page-sponsors .status-pulse { background:var(--spectram-neon-teal);box-shadow:0 0 0 5px rgba(69,217,245,.13),0 0 18px rgba(69,217,245,.35); }
@media(prefers-reduced-motion:reduce) { .page-home .hero-wallpaper-glow { animation:none!important; } }

/* Expanded teal accent palette: more presence, still balanced against academic navy */
:root {
  --spectram-teal-50: #EAFBFF;
  --spectram-teal-100: #AFC8FF;
  --spectram-teal-200: #D0F0F0;
  --spectram-teal-300: #63E8FF;
  --spectram-teal-400: #45D9F5;
  --spectram-teal-500: #45D9F5;
  --spectram-teal-600: #E91E7B;
  --spectram-teal-700: #3060A0;
}
/* Give the hero gradient and signal artwork a more noticeable teal presence. */
.page-home .hero h1 .text-gradient {
  background:linear-gradient(105deg,#FFFFFF 4%,#AFC8FF 34%,#63E8FF 66%,#CFC5FF 100%);
  background-clip:text;-webkit-background-clip:text;color:transparent;
}
.page-home .hero-wallpaper-glow {
  background:radial-gradient(ellipse at 78% 34%,rgba(49,192,215,.16),transparent 27%),radial-gradient(ellipse at 22% 78%,rgba(119,80,210,.16),transparent 32%),radial-gradient(ellipse at 76% 76%,rgba(69,217,245,.23),transparent 30%),radial-gradient(ellipse at 52% 18%,rgba(99,232,255,.11),transparent 25%);
}
.page-home .hero .hero-text-box { background:linear-gradient(110deg,rgba(69,217,245,.10),rgba(0,18,45,.32) 48%);border-left:3px solid var(--spectram-teal-400);box-shadow:inset 8px 0 24px rgba(69,217,245,.045); }
.page-home .hero .hero-meta-row span { border-color:rgba(99,232,255,.35); }
.page-home .hero .hero-meta-row b { color:var(--spectram-teal-200); }
.page-home .hero .hero-actions .primary { background:linear-gradient(110deg,var(--spectram-teal-600),var(--spectram-teal-500));border-color:var(--spectram-teal-400);color:#fff;box-shadow:0 8px 24px rgba(69,217,245,.25); }
.page-home .hero .hero-actions .primary:hover { background:linear-gradient(110deg,var(--spectram-teal-500),var(--spectram-teal-400));box-shadow:0 10px 32px rgba(69,217,245,.36); }
/* Teal-tinted section labels and active states */
.eyebrow span { background:var(--spectram-teal-400); }
.eyebrow { --eyebrow-teal-ink:var(--spectram-teal-700); }
.page-home .section-heading .eyebrow,
.page-home .sponsors-heading .eyebrow,
.page-home .tracks-section .eyebrow { color:var(--spectram-teal-700); }
.page-home .sponsors-heading h2 span { color:var(--spectram-teal-600); }
.page-home .sponsor-logo-caption { color:#7D234E; }
.page-home .sponsor-carousel-arrow { border-color:var(--spectram-teal-100); }
.page-home .sponsor-carousel-arrow:hover { background:var(--spectram-teal-50);border-color:var(--spectram-teal-400);color:var(--spectram-teal-700); }
.page-home .sponsor-carousel-pagination button[aria-current="true"] { background:var(--spectram-teal-500);box-shadow:0 0 12px rgba(69,217,245,.32); }
/* Track cards get subtle teal details and a clearer hover state, not full teal fills. */
.page-home .track-card { border-top:2px solid var(--spectram-teal-200); }
.page-home .track-card:hover { border-color:var(--spectram-teal-400);box-shadow:0 14px 34px rgba(48,96,160,.10); }
.page-home .track-card .track-number,
.page-home .track-card .track-icon { color:var(--spectram-teal-600); }
.page-home .track-card .track-icon { background:var(--spectram-teal-50);border-color:var(--spectram-teal-100); }
/* Dates and announcement cards */
.page-home .date-card-featured { background-image:linear-gradient(115deg,rgba(69,217,245,.22),rgba(19,185,206,.25)),url("assets/circuit-board.jpg");border-color:rgba(69,217,245,.72); }
.page-home .date-card-featured .date-label,
.page-home .date-card-featured .date-value { text-shadow:0 1px 12px rgba(0,0,0,.2); }
.page-home .announcement-card:hover,
.page-home .latest-announcement:hover { border-color:var(--spectram-teal-300); }
/* Site-wide buttons, form focus rings, and text links */
.btn.primary { background-image:linear-gradient(110deg,var(--spectram-teal-600),var(--spectram-teal-500));border-color:var(--spectram-teal-400);box-shadow:0 6px 18px rgba(69,217,245,.16); }
.btn.primary:hover { background-image:linear-gradient(110deg,var(--spectram-teal-500),var(--spectram-teal-400));box-shadow:0 9px 26px rgba(69,217,245,.25); }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline-color:var(--spectram-teal-400); }
.text-link { text-decoration-color:var(--spectram-teal-300);text-underline-offset:4px; }
/* Sponsors construction page: richer teal highlight across the status and headline. */
.page-sponsors .sponsors-construction-inner h1 span { background:linear-gradient(100deg,#D0F0F0,#45D9F5,#D7C7FF);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent; }
.page-sponsors .sponsors-construction-status { border-color:rgba(69,217,245,.55);background:linear-gradient(100deg,rgba(69,217,245,.16),rgba(99,232,255,.07));color:#EAFBFF; }
.page-sponsors .status-pulse { background:var(--spectram-teal-300);box-shadow:0 0 0 5px rgba(69,217,245,.17),0 0 22px rgba(69,217,245,.5); }
.page-sponsors .sponsors-construction-orb { border-color:rgba(99,232,255,.2); }
@media(max-width:700px) {
  .page-home .hero .hero-actions .primary { box-shadow:0 6px 18px rgba(69,217,245,.18); }
}
@media(prefers-reduced-motion:reduce) {
  .page-home .hero .hero-actions .primary,.btn.primary { transition:none; }
}


/* Global teal accent design accents shared by every page/tab */
:root {
  --teal-global-50:#EAFBFF;
  --teal-global-100:#AFC8FF;
  --teal-global-200:#D0F0F0;
  --teal-global-300:#63E8FF;
  --teal-global-400:#45D9F5;
  --teal-global-500:#45D9F5;
  --teal-global-600:#E91E7B;
  --teal-global-700:#3060A0;
  --teal-global-glow:rgba(69,217,245,.2);
}
/* Consistent nav and shared interactive controls across every tab */
.nav-links a:hover,.nav-links a:focus-visible,.nav-links a.active { text-decoration-color:var(--teal-global-400); }
.nav-links a:hover::after,.nav-links a:focus-visible::after,.nav-links a.active::after { background:var(--teal-global-400); }
.btn.primary { background-image:linear-gradient(110deg,var(--teal-global-600),var(--teal-global-500));border-color:var(--teal-global-400);box-shadow:0 6px 18px var(--teal-global-glow); }
.btn.primary:hover { background-image:linear-gradient(110deg,var(--teal-global-500),var(--teal-global-300));box-shadow:0 9px 26px rgba(69,217,245,.28); }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline-color:var(--teal-global-400); }
.eyebrow span { background:var(--teal-global-400);box-shadow:0 0 12px var(--teal-global-glow); }
/* Shared page headings, calls to action, links and feature accents */
.page-banner h1 span,.page-header h1 span,.section-title span,.section-heading h2 span { color:var(--teal-global-500); }
.text-link:hover,.back-link:hover,.breadcrumb a:hover { color:var(--teal-global-600); }
.card:hover,.info-card:hover,.content-card:hover,.guideline-card:hover,.committee-card:hover,.registration-card:hover,.travel-card:hover { border-color:var(--teal-global-300);box-shadow:0 12px 28px rgba(48,96,160,.08); }
.card .icon,.info-card .icon,.content-card .icon { color:var(--teal-global-600); }
/* Forms and selectable controls */
input:focus,select:focus,textarea:focus { border-color:var(--teal-global-400)!important;box-shadow:0 0 0 3px rgba(69,217,245,.13)!important; }
input[type="checkbox"],input[type="radio"] { accent-color:var(--teal-global-600); }
/* Lists, numbers, badges and inline highlights on content pages */
.page-about .outcome-list b,.outcome-list b,.step-number,.number-badge,.guideline-number { color:var(--teal-global-300); }
.badge,.status-badge,.tag { border-color:var(--teal-global-200); }
/* Under-construction pages share the same teal accent language */
.page-sponsors .sponsors-construction-status { border-color:rgba(69,217,245,.55);background:linear-gradient(100deg,rgba(69,217,245,.16),rgba(99,232,255,.07)); }
.page-sponsors .status-pulse { background:var(--teal-global-300);box-shadow:0 0 0 5px rgba(69,217,245,.17),0 0 22px rgba(69,217,245,.5); }
/* Footer accents, without changing body copy contrast */
footer a:hover,.site-footer a:hover { color:var(--teal-global-300); }
@media(prefers-reduced-motion:reduce) {
  .btn.primary { transition:none; }
}

/* SPECTRAM colour balance: make teal accent a visible brand colour beside blue and black site-wide */
:root {
  --brand-teal:#45D9F5;
  --brand-teal-bright:#45D9F5;
  --brand-teal-light:#D0F0F0;
  --brand-teal-pale:#EAFBFF;
  --brand-teal-deep:#3060A0;
  --brand-blue:#17477F;
  --brand-black:#050B18;
}
/* Shared page banners: teal light accents on the existing academic blue/black base */
.page-banner,.page-header {
  background-image:radial-gradient(ellipse at 88% 16%,rgba(69,217,245,.2),transparent 34%),radial-gradient(ellipse at 8% 100%,rgba(23,71,127,.3),transparent 42%);
}
.page-banner h1 span,.page-header h1 span,.section-title span,.section-heading h2 span {
  color:var(--brand-teal-bright);
}
/* Teal accent rails and corner glows give content sections more visual identity */
.section-heading::before,.section-title::before,.page-section-heading::before {
  background:linear-gradient(180deg,var(--brand-teal),var(--brand-blue));
}
.section-heading .eyebrow,.section-title .eyebrow,.page-banner .eyebrow {
  color:var(--brand-teal-deep);
}
/* Make primary actions clearly teal throughout every page */
.btn.primary,.button-primary,.submit-btn {
  background:linear-gradient(110deg,var(--brand-teal-deep),var(--brand-teal));
  border-color:var(--brand-teal-bright);
  box-shadow:0 7px 22px rgba(69,217,245,.22);
}
.btn.primary:hover,.button-primary:hover,.submit-btn:hover {
  background:linear-gradient(110deg,var(--brand-teal),var(--brand-teal-bright));
  box-shadow:0 10px 28px rgba(69,217,245,.32);
}
/* Cards across content tabs: teal edge, teal icon accents, blue/black text retained */
.track-card,.date-card,.info-card,.content-card,.guideline-card,.committee-card,.registration-card,.travel-card,.contact-card,.detail-card {
  --card-teal-edge:rgba(69,217,245,.42);
}
.track-card:hover,.date-card:hover,.info-card:hover,.content-card:hover,.guideline-card:hover,.committee-card:hover,.registration-card:hover,.travel-card:hover,.contact-card:hover,.detail-card:hover {
  border-color:var(--brand-teal-bright)!important;
  box-shadow:0 12px 30px rgba(48,96,160,.11);
}
.track-card .track-number,.step-number,.number-badge,.guideline-number,.feature-number {
  color:var(--brand-teal-deep);
}
.track-card .track-icon,.card-icon,.info-icon,.feature-icon {
  color:var(--brand-teal-deep);
  background:var(--brand-teal-pale);
  border-color:var(--brand-teal-light);
}
/* Lists, badges, tabs and in-page links */
.badge,.status-badge,.tag,.pill {
  border-color:rgba(69,217,245,.36);
}
.text-link,.inline-link,.breadcrumb a { text-decoration-color:var(--brand-teal-bright);text-underline-offset:4px; }
.text-link:hover,.inline-link:hover,.breadcrumb a:hover { color:var(--brand-teal-deep); }
.tab-button.active,.filter-button.active,.pagination button.active {
  color:#fff;background:var(--brand-teal-deep);border-color:var(--brand-teal-bright);
}
/* Form focus and selected controls */
input:focus,select:focus,textarea:focus {
  border-color:var(--brand-teal-bright)!important;
  box-shadow:0 0 0 3px rgba(69,217,245,.15)!important;
}
input[type="checkbox"],input[type="radio"] { accent-color:var(--brand-teal-deep); }
/* Footers and dark panels get a visible but controlled teal highlight */
footer,.site-footer {
  background-image:radial-gradient(ellipse at 90% 0%,rgba(69,217,245,.13),transparent 38%);
}
footer a:hover,.site-footer a:hover { color:var(--brand-teal-light); }
/* Small teal rules and dots are shared across pages, with no body-copy colour overrides */
.eyebrow span,.section-kicker-dot,.status-dot { background:var(--brand-teal);box-shadow:0 0 13px rgba(69,217,245,.35); }
@media(max-width:700px) {
  .btn.primary,.button-primary,.submit-btn { box-shadow:0 5px 16px rgba(69,217,245,.18); }
}

/* Visible brand-colour pass: teal is now used on actual text and surfaces, not only hover states */
/* Headings across homepage and inner pages */
.section-heading h2 span,
.announcements-heading h2 span,
.timeline-heading h2 span,
.overview-copy h2 span,
.resources-layout h2 span,
.page-banner h1 span,
.page-header h1 span { color:#45D9F5 !important; }
.section-heading h2,
.announcements-heading h2,
.timeline-heading h2 { text-decoration-color:#45D9F5; }
.section-heading .eyebrow,
.announcements-heading .eyebrow,
.timeline-heading .eyebrow,
.overview-copy .eyebrow,
.resources-layout .eyebrow { color:#3060A0 !important; }
/* Homepage announcement rows: teal label rail and a lightly teal-tinted alternating surface */
.announcement-list { border-color:#D0F0F0 !important; box-shadow:0 12px 34px rgba(48,96,160,.07); }
.announcement-item { position:relative; }
.announcement-item:nth-child(odd) { background:#EAFBFF; }
.announcement-item::before { content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:4px;background:#45D9F5; }
.announcement-tag { color:#3060A0 !important; }
/* Important dates: teal featured panel and teal numbering */
.date-card { border-color:#AFC8FF !important; }
.date-card:nth-child(2) .date-step,.date-card:nth-child(3) .date-step { color:#3060A0 !important;background:#EAFBFF !important; }
.date-card-featured { background:linear-gradient(145deg,#11172B 0%,#172F5D 58%,#5D174A 100%) !important;border-color:#45D9F5 !important; }
.date-card-featured .date-step { background:#45D9F5 !important;color:#fff !important; }
.date-card-featured .date-label { color:#D0F0F0 !important; }
.date-card-featured .date-value { color:#fff !important; }
.date-card-featured p { color:#D0F0F0 !important; }
/* Inner-page cards and heading details */
.guideline-card { border-top:3px solid #63E8FF !important; }
.guideline-icon { background:#EAFBFF !important;color:#3060A0 !important;border-color:#AFC8FF !important; }
.guideline-card h3,.contact-card h3 { color:#17345F; }
.contact-card { border-top:3px solid #45D9F5 !important;background:linear-gradient(145deg,#fff 65%,#EAFBFF 100%) !important; }
.contact-card h3::after { content:"";display:block;width:32px;height:2px;margin-top:9px;background:#45D9F5;border-radius:3px; }
/* Clear teal panels for selected content blocks; maintain contrast for text */
.guidelines-footer-box,.guidelines-notice { border-color:#D0F0F0 !important;background:#EAFBFF !important; }
.guidelines-footer-box h3,.guidelines-notice h4 { color:#3060A0 !important; }
/* Header navigation and site-wide secondary CTAs */
.nav a.active,.nav .nav-drop-toggle[aria-expanded="true"] { color:#3060A0 !important; }
.nav a.active::after { background:#45D9F5 !important; }
.nav-cta { border-color:#45D9F5 !important; }
.nav-cta:hover { background:#45D9F5 !important;color:#fff !important; }
/* Shared accent for list markers and small section rules */
.page-banner .eyebrow { color:#D0F0F0 !important; }
.page-banner:before { content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(#45D9F5,#17477F); }

/* Ensure the venue and contact links in the top information bar are readable */
.topbar .topbar-location,
.topbar .topbar-location > span:not(.topbar-icon),
.topbar .topbar-email,
.topbar .topbar-email > span:not(.topbar-icon) {
  color: #FFFFFF !important;
}
.topbar .topbar-location .topbar-icon,
.topbar .topbar-email .topbar-icon {
  color: #FFFFFF !important;
}
.topbar .topbar-location:hover,
.topbar .topbar-email:hover,
.topbar .topbar-location:hover .topbar-icon,
.topbar .topbar-email:hover .topbar-icon {
  color: #45D9F5 !important;
}

/* Blue headings for the three homepage announcement items */
.page-home .announcement-item h3 {
  color: #2F80ED !important;
}
.page-home .announcement-item h3 a {
  color: #2F80ED !important;
}
.page-home .announcement-item h3:hover,
.page-home .announcement-item h3 a:hover {
  color: #70B7FF !important;
}

/* Dark-blue category labels for AUTHOR UPDATES and ATTENDEES announcements */
.page-home .announcement-tag {
  color: #082D62 !important;
}
.page-home .announcement-item:nth-child(2n) .announcement-tag {
  color: #082D62 !important;
}

/* Swap the teal/blue emphasis in the four homepage conference fact items */
.page-home .fact-label { color:#45D9F5 !important; }
.page-home .fact-item strong { color:#2F80ED !important; }
.page-home .fact-note { color:#17477F !important; }

/* Swap the conference facts palette: teal labels, cool blue values and navy notes */
.page-home .conference-facts .fact-label { color:#45D9F5 !important; }
.page-home .conference-facts .fact-item strong { color:#2F80ED !important; }
.page-home .conference-facts .fact-note { color:#082D62 !important; }
.page-home .conference-facts .fact-item { border-color:rgba(69,217,245,.28); }
.page-home .conference-facts .fact-item + .fact-item { border-left-color:rgba(69,217,245,.25); }
.page-home .conference-facts .co-sponsor-line { color:#45D9F5 !important; }

/* ======================================================================
   SPECTRAM 2027 — premium logo palette system
   Palette: midnight navy, academic blue, signal cyan, and teal #129C8A.
   Teal is the signature accent; cyan is reserved for dark backgrounds.
   ====================================================================== */
:root {
  --spectram-ink: #10243E;
  --spectram-navy: #001638;
  --spectram-blue: #245CA6;
  --spectram-blue-bright: #3B83FF;
  --spectram-cyan: #45D9F5;
  --spectram-teal: #129C8A;
  --spectram-teal-dark: #0B7569;
  --spectram-teal-light: #55CBB8;
  --spectram-teal-pale: #E8F7F4;
  --spectram-paper: #F6F9FC;
  --spectram-surface: #FFFFFF;
  --spectram-muted: #607086;
  --spectram-border: #DCE5EF;
  --spectram-teal: #129C8A;
  --spectram-teal-dark: #0B7569;
  --spectram-teal-soft: #55CBB8;
  --spectram-teal-pale: #E8F7F4;
  --brand-teal: #129C8A;
  --brand-teal-bright: #55CBB8;
  --brand-teal-light: #A8E5DA;
  --brand-teal-deep: #0B7569;
  --teal-global-200: #BFE9E2;
  --teal-global-300: #55CBB8;
  --teal-global-400: #129C8A;
  --teal-global-500: #129C8A;
  --teal-global-600: #0B7569;
  --teal-global-700: #07584F;
}

/* Shared typography and brand accents across every page. */
body { color: var(--spectram-ink); }
:where(h1,h2,h3,h4) { text-wrap: balance; }
:where(.section-heading h2 span,.announcements-heading h2 span,.timeline-heading h2 span,
.overview-copy h2 span,.resources-layout h2 span,.page-banner h1 span,.page-header h1 span,
.section-title span,.authors-intro h2 span,.travel-intro h2 span,.missing-info-heading h2 span) {
  color: var(--spectram-teal-dark);
}
:where(.eyebrow,.section-kicker,.announcement-tag,.fact-label) { color: var(--spectram-blue); }
:where(.eyebrow span,.section-kicker-dot,.status-dot) {
  background: var(--spectram-teal);
  box-shadow: 0 0 0 4px rgba(18,156,138,.10);
}

/* Navigation: navy structure, teal active state, and a calm dropdown surface. */
:where(.nav a.active,.nav-links a.active,.nav a:hover,.nav-links a:hover,
.nav a:focus-visible,.nav-links a:focus-visible) { color: var(--spectram-teal-dark); }
:where(.nav a:after,.nav-links a.active::after,.nav-links a:hover::after,
.nav-links a:focus-visible::after) { background: var(--spectram-teal); }
:where(.nav-dropdown-menu a:hover,.nav-dropdown-menu a:focus-visible) {
  color: var(--spectram-teal-dark); background: var(--spectram-teal-pale);
}
.nav-cta { border-color: var(--spectram-teal); }
.nav-cta:hover { background: var(--spectram-teal); border-color: var(--spectram-teal); color: #fff; }

/* Buttons use a restrained teal gradient; high contrast remains the priority. */
:where(.primary,.btn.primary,.button-primary,.submit-btn,.nav-cta) {
  transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
:where(.btn.primary,.button-primary,.submit-btn,.page-home .hero .hero-actions .primary) {
  background: linear-gradient(115deg,#0B7569 0%,#129C8A 70%,#28B5A2 100%);
  border-color: var(--spectram-teal);
  color: #fff;
  box-shadow: 0 7px 20px rgba(18,156,138,.18);
}
:where(.btn.primary:hover,.button-primary:hover,.submit-btn:hover,
.page-home .hero .hero-actions .primary:hover) {
  background: linear-gradient(115deg,#07584F,#0B7569);
  box-shadow: 0 9px 24px rgba(18,156,138,.25);
}
:where(.secondary:hover,.btn.secondary:hover) { border-color: var(--spectram-teal-light); }

/* Hero: retain cinematic navy and signal-cyan lighting; teal is the small accent. */
.page-home .hero .text-gradient {
  background: linear-gradient(100deg,#FFFFFF 0%,#DCEBFF 55%,#A8E5DA 82%,#45D9F5 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.page-home .hero .eyebrow { color: #D6E6FF; }
.page-home .hero .eyebrow span { background: var(--spectram-teal); }
.page-home .hero .hero-text-box {
  border-left: 3px solid var(--spectram-teal);
  background: linear-gradient(110deg,rgba(0,22,56,.90),rgba(0,22,56,.66));
  box-shadow: 0 12px 38px rgba(0,0,0,.16),inset 3px 0 18px rgba(18,156,138,.07);
}
.page-home .hero .hero-text-box .box-title { color: #FFFFFF; }
.page-home .hero .hero-text-box p { color: #E4ECF8; }
.page-home .hero .hero-meta-row b { color: var(--spectram-teal-light); }

/* Announcements: crisp white rows, teal rail, blue headline hierarchy. */
.page-home .announcement-list { border-color: var(--spectram-border); box-shadow: 0 10px 30px rgba(16,35,63,.045); }
.page-home .announcement-item,.page-home .announcement-item:nth-child(odd) { background: #FFFFFF; }
.page-home .announcement-item::before { background: var(--spectram-teal); width: 3px; }
.page-home .announcement-item h3,.page-home .announcement-item h3 a { color: var(--spectram-blue); }
.page-home .announcement-item h3:hover,.page-home .announcement-item h3 a:hover { color: var(--spectram-teal-dark); }
.page-home .announcement-tag { color: var(--spectram-blue); }
.page-home .announcement-item .under-construction { color: var(--spectram-teal-dark); background: var(--spectram-teal-pale); border-color: #BFE9E2; }

/* Conference facts and important dates: consistent hierarchy and selective emphasis. */
.page-home .conference-facts .fact-item { border-color: var(--spectram-border); }
.page-home .conference-facts .fact-label { color: var(--spectram-teal-dark); }
.page-home .conference-facts .fact-item strong { color: var(--spectram-blue); }
.page-home .conference-facts .fact-note { color: var(--spectram-muted); }
.page-home .conference-facts .co-sponsor-line { color: var(--spectram-blue); }
.page-home .date-card:not(.date-card-featured) { background: #FFFFFF; border-color: var(--spectram-border); }
.page-home .date-card:not(.date-card-featured) .date-step { color: var(--spectram-teal-dark); background: var(--spectram-teal-pale); }
.page-home .date-card:not(.date-card-featured) .date-label { color: var(--spectram-muted); }
.page-home .date-card:not(.date-card-featured) .date-value { color: var(--spectram-ink); }
.page-home .date-card-featured {
  background: linear-gradient(145deg,#001638 0%,#173F76 100%);
  border: 1px solid rgba(69,217,245,.62);
  box-shadow: 0 14px 32px rgba(0,22,56,.14);
}
.page-home .date-card-featured .date-step { background: var(--spectram-teal); color: #FFFFFF; }
.page-home .date-card-featured .date-label { color: #A8E5DA; }
.page-home .date-card-featured .date-value { color: #FFFFFF; }
.page-home .date-card-featured p { color: #E7EEF9; }

/* Track cards: blue carries structure; teal highlights hover and action affordances. */
.page-home .track-preview-card { border-color: var(--spectram-border); }
.page-home .track-preview-card:hover { border-color: var(--spectram-teal-light); box-shadow: 0 16px 34px rgba(16,35,63,.10); }
.page-home .track-preview-card .preview-number { color: var(--spectram-blue); }
.page-home .track-preview-card .preview-symbol,.page-home .track-preview-card .preview-link { color: var(--spectram-teal-dark); }
.page-home .tracks-guidelines-link { border-color: #BFE9E2; color: var(--spectram-teal-dark); }
.page-home .tracks-guidelines-link:hover { background: var(--spectram-teal-pale); border-color: var(--spectram-teal); }

/* Shared cards and icons used on Authors, Tracks, Travel, Contact and submission tabs. */
:where(.card,.info-card,.content-card,.guideline-card,.committee-card,.registration-card,
.travel-card,.contact-card,.detail-card,.track-preview-card) {
  border-color: var(--spectram-border);
}
:where(.card:hover,.info-card:hover,.content-card:hover,.guideline-card:hover,.committee-card:hover,
.registration-card:hover,.travel-card:hover,.contact-card:hover,.detail-card:hover) {
  border-color: var(--spectram-teal-light);
  box-shadow: 0 12px 28px rgba(16,35,63,.075);
}
:where(.guideline-icon,.track-icon,.card-icon,.info-icon,.feature-icon,.resource-icon,.missing-mark) {
  color: var(--spectram-teal-dark);
  background: var(--spectram-teal-pale);
  border-color: #BFE9E2;
}
.guideline-card { border-top: 2px solid var(--spectram-teal-light); }
:where(.text-link,.inline-link,.breadcrumb a) { text-decoration-color: var(--spectram-teal-light); text-underline-offset: 4px; }
:where(.text-link:hover,.inline-link:hover,.breadcrumb a:hover,footer a:hover,.site-footer a:hover) { color: var(--spectram-teal-dark); }
:where(input:focus,select:focus,textarea:focus) { border-color: var(--spectram-teal) !important; box-shadow: 0 0 0 3px rgba(18,156,138,.13) !important; }
input[type="checkbox"],input[type="radio"] { accent-color: var(--spectram-teal-dark); }
a:focus-visible,button:focus-visible { outline-color: var(--spectram-teal); outline-offset: 3px; }

/* Topbar, footer and construction pages: preserve contrast; accent with teal only. */
:where(.topbar .topbar-location,.topbar .topbar-date,.topbar .topbar-email,
.topbar .topbar-location span,.topbar .topbar-email span) { color: #FFFFFF; }
:where(.topbar .topbar-location:hover,.topbar .topbar-email:hover) { color: var(--spectram-teal-light); }
.page-sponsors .sponsors-construction-status { border-color: rgba(18,156,138,.42); background: rgba(18,156,138,.08); }
.page-sponsors .status-pulse { background: var(--spectram-teal); box-shadow: 0 0 0 4px rgba(18,156,138,.13),0 0 18px rgba(18,156,138,.28); }

@media (prefers-reduced-motion: reduce) {
  :where(.primary,.btn.primary,.button-primary,.submit-btn,.nav-cta) { transition: none !important; }
}

/* Fix: homepage Sponsors & Partners heading had a legacy plum literal. */
.page-home .sponsors-heading h2 span {
  color: #129C8A !important;
  -webkit-text-fill-color: #129C8A !important;
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
}
.page-home .sponsors-heading .eyebrow { color: #245CA6 !important; }

/* Dropdown readability fix: Authors and Travel menus use dark navy text. */
.nav .nav-dropdown-menu,
.nav .nav-dropdown-menu a {
  color: #001638 !important;
}
.nav .nav-dropdown-menu a {
  background: transparent !important;
}
.nav .nav-dropdown-menu a:hover,
.nav .nav-dropdown-menu a:focus-visible,
.nav .nav-dropdown-menu a.active {
  color: #001638 !important;
  background: #E8F7F4 !important;
}
@media (max-width: 820px) {
  .nav .nav-dropdown-menu a,
  .nav .nav-dropdown-menu a:hover,
  .nav .nav-dropdown-menu a:focus-visible,
  .nav .nav-dropdown-menu a.active {
    color: #001638 !important;
  }
}


/* ======================================================================
   SPECTRAM 2027 — alignment and typography consistency pass
   Shared rhythm for headings, body copy, cards, lists, and page sections.
   ====================================================================== */
:root {
  --layout-content-width: 1180px;
  --layout-copy-width: 72ch;
  --layout-section-gap: clamp(44px, 6vw, 76px);
}

/* Stable text rhythm: avoid accidental inherited line heights and uneven wraps. */
body {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  overflow-wrap: break-word;
}
p { text-wrap: pretty; }
:where(h1,h2,h3,h4,h5,h6) { margin-top: 0; text-wrap: balance; }
:where(.section-heading h2,.timeline-heading h2,.announcements-heading h2,
.sponsors-heading h2,.page-header h1,.page-banner h1,.sponsors-page-inner h2,
.sponsors-construction-inner h1) {
  max-width: 22ch;
  line-height: 1.16;
  letter-spacing: -.035em;
}
:where(.section-heading p,.timeline-heading p,.announcements-heading p,
.sponsors-heading p,.page-intro,.section-intro,.lead,.intro-copy) {
  max-width: var(--layout-copy-width);
  line-height: 1.72;
}
:where(.section-heading,.timeline-heading,.announcements-heading,.sponsors-heading) {
  min-width: 0;
}
:where(.section-heading > *, .timeline-heading > *, .announcements-heading > *, .sponsors-heading > *) {
  min-width: 0;
}

/* Align repeated cards to the same top edge and keep text blocks from forcing overflow. */
:where(.announcement-list,.track-preview-grid,.sponsors-grid,.guidelines-grid,
.cards-grid,.info-grid,.contact-grid,.travel-grid,.committee-grid,.resource-grid) {
  align-items: stretch;
}
:where(.announcement-item,.track-preview-card,.sponsor-card,.guideline-card,
.info-card,.content-card,.contact-card,.travel-card,.committee-card,.resource-card) {
  min-width: 0;
  box-sizing: border-box;
}
:where(.announcement-item h3,.track-preview-card h3,.sponsor-card h3,
.guideline-card h3,.info-card h3,.content-card h3,.contact-card h3,.travel-card h3) {
  line-height: 1.38;
  text-wrap: balance;
  overflow-wrap: anywhere;
}
:where(.announcement-item p,.track-preview-card p,.sponsor-card p,.guideline-card p,
.info-card p,.content-card p,.contact-card p,.travel-card p,.committee-card p) {
  line-height: 1.7;
}
:where(.announcement-item,.track-preview-card,.sponsor-card,.guideline-card,
.info-card,.content-card,.contact-card,.travel-card) > :last-child { margin-bottom: 0; }

/* Page containers share a consistent left/right edge on desktop and mobile. */
:where(.container,.section-container,.page-container,.content-container) {
  width: min(calc(100% - 48px), var(--layout-content-width));
  margin-inline: auto;
}
:where(section.section,.page-section,.content-section) {
  scroll-margin-top: 96px;
}
:where(.section-heading,.timeline-heading,.announcements-heading,.sponsors-heading) {
  gap: 20px;
  margin-bottom: clamp(20px, 3vw, 30px);
}

/* Hero copy: consistent title/paragraph spacing and no cramped line breaks. */
.page-home .hero-grid { align-items: center; }
.page-home .hero-copy,
.page-home .hero-content,
.page-home .hero-text-box { min-width: 0; }
.page-home .hero h1 {
  max-width: 13ch;
  line-height: 1.02;
  text-wrap: balance;
  letter-spacing: -.045em;
}
.page-home .hero p { line-height: 1.72; }
.page-home .hero .hero-actions { align-items: center; flex-wrap: wrap; }
.page-home .hero .hero-meta-row { align-items: flex-start; line-height: 1.55; }
.page-home .hero .hero-meta-row > span { min-width: 0; line-height: 1.55; }
.page-home .host-line { line-height: 1.65; }

/* Inline links, labels and icons align to the first text line rather than drifting. */
:where(.inline-link,.text-link,.breadcrumb,.eyebrow,.section-kicker) {
  line-height: 1.5;
}
:where(.btn,.button,.button-primary,.button-secondary,.tracks-guidelines-link,
.construction-home-button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  line-height: 1.25;
  text-align: center;
}
:where(.icon,.track-icon,.card-icon,.info-icon,.guideline-icon) { flex-shrink: 0; }
:where(.topbar-inner,.nav-inner,.footer-inner) { min-width: 0; }
:where(.topbar-location,.topbar-date,.topbar-email,.nav-links a,footer a) {
  line-height: 1.45;
}

/* Long titles and email/venue details wrap naturally instead of stretching layouts. */
:where(.fact-item,.conference-facts,.host-line,.destination-panel,
.track-submission-copy,.track-submission-link,.sponsor-logo-caption) { min-width: 0; }
:where(.host-line,.fact-item,.contact-card,.travel-card,.track-submission-link) {
  overflow-wrap: anywhere;
}
:where(.host-destination-grid,.facts-grid,.track-submission-links,.tracks-submission-cta) {
  align-items: stretch;
}

@media (max-width: 900px) {
  :where(.container,.section-container,.page-container,.content-container) {
    width: min(calc(100% - 36px), var(--layout-content-width));
  }
  :where(.section-heading,.timeline-heading,.announcements-heading,.sponsors-heading) {
    align-items: flex-start;
  }
  .page-home .hero h1 { max-width: 15ch; }
}
@media (max-width: 600px) {
  :where(.container,.section-container,.page-container,.content-container) {
    width: calc(100% - 32px);
  }
  :where(.section-heading h2,.timeline-heading h2,.announcements-heading h2,
  .sponsors-heading h2,.page-header h1,.page-banner h1) {
    max-width: 100%;
    line-height: 1.18;
    letter-spacing: -.025em;
  }
  :where(.section-heading p,.timeline-heading p,.announcements-heading p,
  .sponsors-heading p,.page-intro,.section-intro,.lead,.intro-copy) {
    line-height: 1.68;
  }
  .page-home .hero h1 { max-width: 100%; }
  .page-home .hero .hero-actions > * { width: 100%; }
  .page-home .hero .host-line { overflow-wrap: anywhere; }
}

/* Fix the conference-facts divider colliding with the first fact's text. */
.page-home .conference-facts .facts-grid {
  align-items: stretch;
}
.page-home .conference-facts .fact-item {
  box-sizing: border-box;
  min-width: 0;
  padding: 8px 20px 10px !important;
  gap: 8px;
  border-right: 1px solid var(--logo-border, #DCE5EF) !important;
}
.page-home .conference-facts .fact-item:first-child {
  padding-left: 20px !important;
  border-left: 1px solid var(--logo-border, #DCE5EF) !important;
}
.page-home .conference-facts .fact-item strong,
.page-home .conference-facts .fact-item .fact-note {
  display: block;
  position: relative;
  max-width: 100%;
  overflow-wrap: normal;
  word-break: normal;
}
@media (max-width: 820px) {
  .page-home .conference-facts .fact-item:nth-child(3) {
    padding-left: 20px !important;
    border-left: 1px solid var(--logo-border, #DCE5EF) !important;
  }
}
@media (max-width: 560px) {
  .page-home .conference-facts .fact-item {
    padding: 8px 12px !important;
  }
  .page-home .conference-facts .fact-item:first-child,
  .page-home .conference-facts .fact-item:nth-child(3) {
    padding-left: 12px !important;
  }
  .page-home .conference-facts .fact-item strong {
    line-height: 1.4;
  }
}

/* Unified footer system — identical appearance on homepage and inner pages. */
footer,
.page-home footer,
.site-footer {
  background-color: #001638 !important;
  background-image: radial-gradient(ellipse at 90% 0%, rgba(69,217,245,.09), transparent 38%) !important;
  color: #EAF8F8 !important;
  padding-top: 48px;
}
footer .footer-grid,
.page-home footer .footer-grid,
.site-footer .footer-grid {
  display: grid;
  grid-template-columns: minmax(0,1.5fr) minmax(110px,.7fr) minmax(0,1fr) minmax(100px,.8fr);
  gap: clamp(22px,3.2vw,40px);
  padding-bottom: 38px;
}
footer .footer-grid h4,
footer .footer-grid h3,
.page-home footer .footer-grid h4,
.page-home footer .footer-grid h3,
.site-footer .footer-grid h4,
.site-footer .footer-grid h3 {
  color: #FFFFFF !important;
  font-size: 14px;
  font-weight: 700 !important;
  line-height: 1.4;
  margin: 0 0 14px;
}
footer .footer-grid p,
footer .footer-grid a:not(.brand),
.page-home footer .footer-grid p,
.page-home footer .footer-grid a:not(.brand),
.site-footer .footer-grid p,
.site-footer .footer-grid a:not(.brand) {
  color: #D0F0F0 !important;
  font-size: 12px;
  line-height: 1.75;
}
footer .footer-grid p,
.page-home footer .footer-grid p,
.site-footer .footer-grid p { margin: 0; }
footer .footer-brand,
.page-home footer .footer-brand,
.site-footer .footer-brand { color: #FFFFFF !important; }
footer .footer-grid a:not(.brand):hover,
.page-home footer .footer-grid a:not(.brand):hover,
.site-footer .footer-grid a:not(.brand):hover {
  color: #55CBB8 !important;
}
footer .footer-bottom,
.page-home footer .footer-bottom,
.site-footer .footer-bottom {
  border-top: 1px solid rgba(255,255,255,.14) !important;
  color: #D0F0F0 !important;
  padding: 16px 0;
  font-size: 11px;
  line-height: 1.6;
}
@media (max-width: 900px) {
  footer .footer-grid,
  .page-home footer .footer-grid,
  .site-footer .footer-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 28px;
  }
}
@media (max-width: 560px) {
  footer,
  .page-home footer,
  .site-footer { padding-top: 34px; }
  footer .footer-grid,
  .page-home footer .footer-grid,
  .site-footer .footer-grid {
    grid-template-columns: minmax(0,1fr);
    gap: 24px;
    padding-bottom: 28px;
  }
}

/* Larger animated orbital rings in the SPECTRAM visual overview. */
.page-home .overview-visual .visual-orbit {
  width: min(440px, 118%);
  height: 220px;
  border-width: 1.5px;
}
.page-home .overview-visual .visual-orbit.orbit-b {
  width: min(390px, 105%);
  height: 330px;
}
@media (max-width: 760px) {
  .page-home .overview-visual .visual-orbit {
    width: min(360px, 122%);
    height: 190px;
  }
  .page-home .overview-visual .visual-orbit.orbit-b {
    width: min(320px, 108%);
    height: 270px;
  }
}
@media (max-width: 420px) {
  .page-home .overview-visual .visual-orbit {
    width: 310px;
    height: 170px;
  }
  .page-home .overview-visual .visual-orbit.orbit-b {
    width: 280px;
    height: 235px;
  }
}


/* Global viewport-fit fix: no page should require horizontal scrolling. */
html {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
  scroll-padding-top: 105px;
}
body {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}
*, *::before, *::after { box-sizing: border-box; }
img, video, canvas, svg, iframe { max-width: 100%; }
main, header, footer, nav, section, article, aside { min-width: 0; }
.container { width: min(1280px, calc(100% - 48px)); max-width: 100%; }
.page-home .container { width: min(1240px, calc(100% - 48px)); max-width: 100%; }
/* Decorative artwork can extend visually inside its own panel, never the page canvas. */
.page-home .overview-visual,
.page-home .hero,
.page-home .hero-card,
.page-home .hero-wallpaper,
.page-home .hero-signal-layer,
.page-banner,
.construction-banner { max-width: 100%; min-width: 0; }
@media (max-width: 760px) {
  .container, .page-home .container { width: calc(100% - 32px); }
  .page-home .overview-visual .visual-orbit { max-width: 100%; }
  .page-home .overview-visual .visual-orbit.orbit-b { max-width: 100%; }
}

/* Homepage: make HOST INSTITUTION and DESTINATION CITY labels dark blue. */
.page-home .host-destination-section .panel-kicker {
  color: #001638 !important;
  -webkit-text-fill-color: #001638 !important;
}

/* About page: keep visitor directions and tourist/local-travel panels static. */
.page-about .missing-info-section,
.page-about .missing-info-section *,
.page-about .missing-info-section *::before,
.page-about .missing-info-section *::after {
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}
.page-about .missing-info-section .missing-mark,
.page-about .missing-info-section .missing-detail,
.page-about .missing-info-section .under-construction {
  transform: none !important;
}

/* About page visitor-info rows: remove the decorative hover sweep entirely. */
.page-about .missing-info-section .missing-detail,
.page-about .missing-info-section .missing-detail:hover,
.page-about .missing-info-section .missing-detail:focus-within {
  background: #FFFFFF !important;
  box-shadow: none !important;
  transform: none !important;
}
.page-about .missing-info-section .missing-detail::before,
.page-about .missing-info-section .missing-detail:hover::before,
.page-about .missing-info-section .missing-detail::after,
.page-about .missing-info-section .missing-detail:hover::after {
  content: none !important;
  display: none !important;
  animation: none !important;
  transition: none !important;
  transform: none !important;
}
.page-about .missing-info-section .missing-mark,
.page-about .missing-info-section .missing-detail:hover .missing-mark,
.page-about .missing-info-section .under-construction,
.page-about .missing-info-section .missing-detail:hover .under-construction {
  transform: none !important;
  box-shadow: none !important;
}

/* Buttons: remove animated colour fades and hover lift; keep clear focus feedback. */
:where(a.btn,button.btn,.button,.button-primary,.button-secondary,.nav-cta,
.tracks-guidelines-link,.construction-home-button,.submit-btn,.btn.primary,.btn.secondary) {
  transition: none !important;
  animation: none !important;
  transform: none !important;
  background-image: none !important;
}
:where(a.btn,button.btn,.button,.button-primary,.button-secondary,.nav-cta,
.tracks-guidelines-link,.construction-home-button,.submit-btn,.btn.primary,.btn.secondary):hover {
  transition: none !important;
  animation: none !important;
  transform: none !important;
  filter: none !important;
  background-image: none !important;
}
/* Preserve readable keyboard navigation without a colour-fade animation. */
:where(a.btn,button.btn,.button,.button-primary,.button-secondary,.nav-cta,
.tracks-guidelines-link,.construction-home-button,.submit-btn,.btn.primary,.btn.secondary):focus-visible {
  outline: 3px solid rgba(18,156,138,.42);
  outline-offset: 3px;
}
/* Event Details header CTA stays in its normal colour on hover. */
.nav-cta:hover,.page-home .nav-cta:hover {
  background-color: var(--logo-cyan, #129C8A) !important;
  color: #FFFFFF !important;
  box-shadow: none !important;
}

/* Stronger, easier-to-spot brand colours while keeping the navy/blue/teal palette. */
:root {
  --spectram-blue: #174A91;
  --spectram-blue-bright: #246BCE;
  --spectram-cyan: #00B8D9;
  --spectram-teal: #008F7A;
  --spectram-teal-dark: #006B5B;
  --spectram-teal-light: #21B6A0;
  --spectram-teal-soft: #21B6A0;
  --brand-teal: #008F7A;
  --brand-teal-bright: #00B8D9;
  --spectram-muted: #4D5E73;
  --spectram-border: #C5D2E2;
}

/* Make interactive and informational accents visibly distinct from pale surfaces. */
.nav-links a.active::after,
.nav a.active::after,
.eyebrow span,
.page-home .hero .eyebrow span,
.page-home .announcement-item::before,
.announcement-item::before,
.contact-card h3::after,
.page-banner::before {
  background-color: #008F7A !important;
}
:where(.page-header h1 span,.page-home .announcement-item h3,
.page-home .announcement-item h3 a,.page-home .track-preview-card .preview-number,
.page-home .conference-facts .fact-item strong,.page-home .sponsors-heading h2 span,
.page-home .tracks-section .eyebrow,.page-home .sponsors-heading .eyebrow) {
  color: #174A91 !important;
  -webkit-text-fill-color: #174A91 !important;
}
:where(.page-home .track-preview-card .preview-symbol,
.page-home .track-preview-card .preview-link,
.page-home .date-card:not(.date-card-featured) .date-step,
.page-home .tracks-guidelines-link,.text-link,.inline-link) {
  color: #006B5B !important;
}
:where(.page-home .track-preview-card,.announcement-list,.contact-card,
.guideline-card,.info-card,.content-card,.travel-card,.sponsor-card) {
  border-color: #C5D2E2;
}
:where(.page-home .track-preview-card:hover,.announcement-item:hover,
.contact-card:hover,.guideline-card:hover,.info-card:hover,.content-card:hover,
.travel-card:hover,.sponsor-card:hover) {
  border-color: #21B6A0;
}
:where(.btn.primary,.button-primary,.nav-cta,.page-home .hero .hero-actions .primary) {
  background-color: #008F7A !important;
  background-image: none !important;
  border-color: #008F7A !important;
  color: #FFFFFF !important;
  box-shadow: 0 5px 14px rgba(0,107,91,.20);
}
:where(.btn.secondary,.button-secondary,.tracks-guidelines-link) {
  border-color: #174A91 !important;
  color: #174A91 !important;
}
.page-home .hero .hero-text-box { border-left-color: #21B6A0 !important; }
.page-home .hero .hero-meta-row b { color: #8AF0E2 !important; }
.page-home .conference-facts .fact-label { color: #006B5B !important; }
.page-home .conference-facts .fact-note { color: #4D5E73 !important; }
.page-home .date-card:not(.date-card-featured) .date-label { color: #4D5E73 !important; }
:where(a:focus-visible,button:focus-visible,input:focus-visible,
select:focus-visible,textarea:focus-visible) {
  outline: 3px solid #00A991 !important;
  outline-offset: 3px;
}

/* Restore crisp button hover feedback; avoid the old long colour fade. */
:where(a.btn,button.btn,.button,.button-primary,.button-secondary,.nav-cta,
.tracks-guidelines-link,.construction-home-button,.submit-btn,.btn.primary,.btn.secondary) {
  transition: background-color .16s ease, color .16s ease, border-color .16s ease,
              box-shadow .16s ease, transform .16s ease !important;
}
:where(a.btn,button.btn,.button,.button-primary,.button-secondary,.nav-cta,
.tracks-guidelines-link,.construction-home-button,.submit-btn,.btn.primary,.btn.secondary):hover {
  background-image: none !important;
  filter: brightness(1.08) !important;
  box-shadow: 0 7px 18px rgba(0,22,56,.18) !important;
  transform: translateY(-2px) !important;
  cursor: pointer;
}
:where(.btn.primary,.button-primary,.nav-cta,.page-home .hero .hero-actions .primary):hover {
  background-color: #006B5B !important;
  border-color: #006B5B !important;
  color: #FFFFFF !important;
  filter: none !important;
}
:where(.btn.secondary,.button-secondary,.tracks-guidelines-link):hover {
  background-color: #E8F7F4 !important;
  border-color: #008F7A !important;
  color: #001638 !important;
  filter: none !important;
}
@media (prefers-reduced-motion: reduce) {
  :where(a.btn,button.btn,.button,.button-primary,.button-secondary,.nav-cta,
  .tracks-guidelines-link,.construction-home-button,.submit-btn,.btn.primary,.btn.secondary) {
    transition: none !important;
  }
}

/* Universal, clearly visible hover feedback for every button-like control site-wide. */
:where(button, input[type="button"], input[type="submit"], input[type="reset"],
a.btn, a.button, a.nav-cta, a.tracks-guidelines-link, a.construction-home-button,
.btn, .button, .button-primary, .button-secondary, .nav-cta, .tracks-guidelines-link,
.construction-home-button, .submit-btn, [role="button"], .author-cta-actions a,
.hero-actions a, .sponsor-carousel-pagination button) {
  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease,
              background-color .18s ease, border-color .18s ease, color .18s ease !important;
  transform-origin: center;
  cursor: pointer;
}
:where(button, input[type="button"], input[type="submit"], input[type="reset"],
a.btn, a.button, a.nav-cta, a.tracks-guidelines-link, a.construction-home-button,
.btn, .button, .button-primary, .button-secondary, .nav-cta, .tracks-guidelines-link,
.construction-home-button, .submit-btn, [role="button"], .author-cta-actions a,
.hero-actions a, .sponsor-carousel-pagination button):hover:not(:disabled) {
  transform: translateY(-3px) scale(1.015) !important;
  filter: brightness(1.16) saturate(1.12) !important;
  box-shadow: 0 9px 22px rgba(0, 22, 56, .24) !important;
  text-decoration: none;
}
:where(button, input[type="button"], input[type="submit"], input[type="reset"],
a.btn, a.button, a.nav-cta, a.tracks-guidelines-link, a.construction-home-button,
.btn, .button, .button-primary, .button-secondary, .nav-cta, .tracks-guidelines-link,
.construction-home-button, .submit-btn, [role="button"], .author-cta-actions a,
.hero-actions a, .sponsor-carousel-pagination button):active:not(:disabled) {
  transform: translateY(0) scale(.99) !important;
  filter: brightness(.96) !important;
  box-shadow: 0 2px 7px rgba(0, 22, 56, .16) !important;
}
@media (prefers-reduced-motion: reduce) {
  :where(button, input[type="button"], input[type="submit"], input[type="reset"],
a.btn, a.button, a.nav-cta, a.tracks-guidelines-link, a.construction-home-button,
.btn, .button, .button-primary, .button-secondary, .nav-cta, .tracks-guidelines-link,
.construction-home-button, .submit-btn, [role="button"], .author-cta-actions a,
.hero-actions a, .sponsor-carousel-pagination button) {
    transition: none !important;
  }
}

/* Unified light-blue to dark-blue hover treatment across every button/control. */
:where(button, input[type="button"], input[type="submit"], input[type="reset"],
a.btn, a.button, a.nav-cta, a.tracks-guidelines-link, a.construction-home-button,
.btn, .button, .button-primary, .button-secondary, .nav-cta, .tracks-guidelines-link,
.construction-home-button, .submit-btn, [role="button"], .author-cta-actions a,
.hero-actions a, .sponsor-carousel-pagination button) {
  background-image: none;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease,
              box-shadow .2s ease, transform .2s ease !important;
}
:where(button, input[type="button"], input[type="submit"], input[type="reset"],
a.btn, a.button, a.nav-cta, a.tracks-guidelines-link, a.construction-home-button,
.btn, .button, .button-primary, .button-secondary, .nav-cta, .tracks-guidelines-link,
.construction-home-button, .submit-btn, [role="button"], .author-cta-actions a,
.hero-actions a, .sponsor-carousel-pagination button):hover:not(:disabled) {
  background-color: #174A91 !important;
  background-image: none !important;
  border-color: #174A91 !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  filter: none !important;
  box-shadow: 0 8px 20px rgba(0, 22, 56, .22) !important;
  transform: translateY(-3px) scale(1.015) !important;
}
/* Pale-blue idle state for outlined/secondary controls; hover transitions to navy. */
:where(.btn.secondary, .button-secondary, .tracks-guidelines-link):not(:hover) {
  background-color: #EAF4FF;
  border-color: #8DB9EC;
  color: #174A91;
}
:where(button, input[type="button"], input[type="submit"], input[type="reset"],
a.btn, a.button, a.nav-cta, a.tracks-guidelines-link, a.construction-home-button,
.btn, .button, .button-primary, .button-secondary, .nav-cta, .tracks-guidelines-link,
.construction-home-button, .submit-btn, [role="button"], .author-cta-actions a,
.hero-actions a, .sponsor-carousel-pagination button):active:not(:disabled) {
  background-color: #0B2F63 !important;
  border-color: #0B2F63 !important;
  color: #FFFFFF !important;
  transform: translateY(0) scale(.99) !important;
  box-shadow: 0 2px 7px rgba(0, 22, 56, .18) !important;
}
@media (prefers-reduced-motion: reduce) {
  :where(button, input[type="button"], input[type="submit"], input[type="reset"],
a.btn, a.button, a.nav-cta, a.tracks-guidelines-link, a.construction-home-button,
.btn, .button, .button-primary, .button-secondary, .nav-cta, .tracks-guidelines-link,
.construction-home-button, .submit-btn, [role="button"], .author-cta-actions a,
.hero-actions a, .sponsor-carousel-pagination button) { transition: none !important; }
}

/* Explicit homepage hero CTA selectors: ensure both hero buttons use blue hover. */
.page-home .hero .hero-actions a,
.page-home .hero .hero-actions button,
.page-home .hero .hero-actions .btn,
.page-home .hero .hero-actions .button,
.page-home .hero .hero-actions .primary,
.page-home .hero .hero-actions .secondary,
.page-home .hero .hero-actions a[class*="btn"] {
  transition: background-color .2s ease, color .2s ease, border-color .2s ease,
              box-shadow .2s ease, transform .2s ease !important;
}
.page-home .hero .hero-actions a:hover,
.page-home .hero .hero-actions button:hover,
.page-home .hero .hero-actions .btn:hover,
.page-home .hero .hero-actions .button:hover,
.page-home .hero .hero-actions .primary:hover,
.page-home .hero .hero-actions .secondary:hover,
.page-home .hero .hero-actions a[class*="btn"]:hover {
  background: #174A91 !important;
  background-color: #174A91 !important;
  background-image: none !important;
  border-color: #174A91 !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  filter: none !important;
  box-shadow: 0 9px 22px rgba(0,22,56,.28) !important;
  transform: translateY(-3px) scale(1.02) !important;
}

/* Definitive fix: explicit class selectors for the two homepage hero links. */
html body.page-home section.hero .hero-content .hero-actions > a.btn.primary,
html body.page-home section.hero .hero-content .hero-actions > a.btn.secondary {
  transition: background-color .22s ease, color .22s ease, border-color .22s ease,
              box-shadow .22s ease, transform .22s ease !important;
  background-image: none !important;
}
html body.page-home section.hero .hero-content .hero-actions > a.btn.primary:hover,
html body.page-home section.hero .hero-content .hero-actions > a.btn.secondary:hover {
  background: #174A91 !important;
  background-color: #174A91 !important;
  background-image: none !important;
  border: 1px solid #174A91 !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  box-shadow: 0 10px 26px rgba(23,74,145,.48) !important;
  transform: translateY(-4px) scale(1.025) !important;
  filter: none !important;
  opacity: 1 !important;
}
html body.page-home section.hero .hero-content .hero-actions > a.btn.primary:active,
html body.page-home section.hero .hero-content .hero-actions > a.btn.secondary:active {
  background: #0B2F63 !important;
  background-color: #0B2F63 !important;
  border-color: #0B2F63 !important;
  transform: translateY(0) scale(.99) !important;
}

/* Definitive Event Details CTA fix: light blue at rest, dark blue on hover. */
.site-header .nav .nav-cta,
.site-header .nav a.nav-cta,
.page-home .site-header .nav .nav-cta {
  background: #8DB9EC !important;
  background-color: #8DB9EC !important;
  background-image: none !important;
  border: 1px solid #8DB9EC !important;
  color: #001638 !important;
  -webkit-text-fill-color: #001638 !important;
  box-shadow: 0 2px 7px rgba(0,22,56,.12) !important;
  transform: none !important;
  filter: none !important;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease,
              box-shadow .18s ease, transform .18s ease !important;
}
.site-header .nav .nav-cta:hover,
.site-header .nav .nav-cta:focus-visible,
.site-header .nav a.nav-cta:hover,
.page-home .site-header .nav .nav-cta:hover {
  background: #174A91 !important;
  background-color: #174A91 !important;
  background-image: none !important;
  border-color: #174A91 !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  box-shadow: 0 9px 22px rgba(0,22,56,.28) !important;
  transform: translateY(-3px) scale(1.02) !important;
  filter: none !important;
}
.site-header .nav .nav-cta:active,
.site-header .nav a.nav-cta:active {
  background: #0B2F63 !important;
  background-color: #0B2F63 !important;
  border-color: #0B2F63 !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  transform: translateY(0) scale(.99) !important;
}
