```css
/* ============================================================
   APS DNP 2026 INDICO Custom CSS
   Official APS colors + APS typography
   Layout intentionally preserved
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Faustina:wght@300;400;500;600;700&family=Jost:wght@300;400;500;600;700;800&display=swap');

:root {
  --aps-blue: #00538B;
  --aps-teal: #00B48D;
  --aps-gray: #49494A;

  --aps-purple: #1F1C6B;
  --aps-raspberry: #A20055;
  --aps-lightblue: #00AFE9;
  --aps-orange: #FF8F1C;

  --aps-primary: var(--aps-blue);
  --aps-primary-dark: var(--aps-purple);
  --aps-accent: var(--aps-orange);

  --aps-text: #222222;
  --aps-muted: #666666;
  --aps-bg: #F7F9FB;
  --aps-white: #FFFFFF;
  --aps-border: #D8DEE6;

  --aps-font: "Faustina", Georgia, serif;
  --aps-heading-font: "Jost", "Helvetica Neue", Arial, sans-serif;
}

/* ============================================================
   GLOBAL TYPOGRAPHY
   ============================================================ */

body {
  font-family: var(--aps-font);
  color: var(--aps-text);
  background: var(--aps-bg);
  line-height: 1.7;
  font-size: 16px;
  font-weight: 400;
}

h1, h2, h3, h4, h5, h6,
.event-title,
.page-title {
  font-family: var(--aps-heading-font);
  color: var(--aps-primary-dark);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.15;
}

a {
  color: var(--aps-primary);
  text-decoration-thickness: 1.5px;
  text-underline-offset: 2px;
}

a:hover,
a:focus {
  color: var(--aps-raspberry);
}

/* ============================================================
   EVENT HEADER / BANNER
   ============================================================ */

.event-header,
.conf-header,
.conference-title,
#conf-title {
  background: linear-gradient(
    135deg,
    var(--aps-primary-dark),
    var(--aps-primary)
  ) !important;
  color: var(--aps-white) !important;
  border-bottom: 5px solid var(--aps-teal);
}

.event-header h1,
.conf-header h1,
.conference-title h1,
#conf-title h1 {
  color: var(--aps-white) !important;
  font-family: var(--aps-heading-font);
  font-weight: 800;
}

.event-date,
.event-location,
.event-timezone {
  color: rgba(255, 255, 255, 0.92) !important;
  font-family: var(--aps-heading-font);
}

/* ============================================================
   NAVIGATION
   ============================================================ */

.menu,
.side-menu,
.conf_leftMenu,
.event-menu {
  background: var(--aps-white);
  border-right: 1px solid var(--aps-border);
}

.menu a,
.side-menu a,
.conf_leftMenu a,
.event-menu a {
  font-family: var(--aps-heading-font);
  color: var(--aps-gray) !important;
  font-weight: 500;
  letter-spacing: 0.01em;
}

.menu a:hover,
.side-menu a:hover,
.conf_leftMenu a:hover,
.event-menu a:hover {
  background: rgba(0, 180, 141, 0.08) !important;
  color: var(--aps-primary-dark) !important;
}

.menu .active,
.side-menu .active,
.conf_leftMenu .active,
.event-menu .active,
.menu a.active,
.side-menu a.active {
  background: var(--aps-primary) !important;
  color: var(--aps-white) !important;
  border-left: 4px solid var(--aps-orange);
}

/* ============================================================
   MAIN CONTENT AREA
   ============================================================ */

.main,
.main-content,
.event-page-content,
.page-content,
.confBodyBox {
  background: var(--aps-white);
}

/* ============================================================
   CONTENT BOXES / PANELS
   ============================================================ */

.i-box,
.info-message-box,
.event-description,
.infogrid,
.details,
.conference-page .description {
  background: var(--aps-white);
  border: 1px solid var(--aps-border);
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  padding: 0.5rem;
}

/* ============================================================
   SECTION HEADERS
   ============================================================ */

.section-title,
.i-box-header,
.info-message-box .title,
h2 {
  border-bottom: 3px solid var(--aps-orange);
  padding-bottom: 0.35rem;
  margin-bottom: 0.75rem;
}

/* ============================================================
   BUTTONS
   ============================================================ */

button,
.i-button,
.action-button,
.btn,
input[type="submit"],
input[type="button"] {
  font-family: var(--aps-heading-font);
  background: var(--aps-primary) !important;
  color: var(--aps-white) !important;
  border: 1px solid var(--aps-primary-dark) !important;
  border-radius: 6px;
  font-weight: 600;
}

button:hover,
.i-button:hover,
.action-button:hover,
.btn:hover,
input[type="submit"]:hover,
input[type="button"]:hover {
  background: var(--aps-primary-dark) !important;
  color: var(--aps-white) !important;
}

/* ============================================================
   TABLES / SCIENTIFIC PROGRAM
   ============================================================ */

table,
.i-table,
.event-service-table {
  border-color: var(--aps-border);
}

th,
.i-table th {
  font-family: var(--aps-heading-font);
  background: var(--aps-primary-dark) !important;
  color: var(--aps-white) !important;
  font-weight: 700;
}

td,
.i-table td {
  border-color: var(--aps-border);
}

tr:nth-child(even) td {
  background: #FAFBFC;
}

/* ============================================================
   CALLOUTS / HIGHLIGHT BOXES
   ============================================================ */

.warning,
.warning-message,
.info-message,
.highlight,
.callout {
  border-left: 5px solid var(--aps-orange);
  background: rgba(255, 143, 28, 0.08);
  color: var(--aps-text);
  padding: 0.75rem 1rem;
  border-radius: 4px;
}

/* ============================================================
   ANNOUNCEMENTS / IMPORTANT DATES
   ============================================================ */

.important,
.deadline,
.notice {
  border-left: 5px solid var(--aps-raspberry);
  background: rgba(162, 0, 85, 0.06);
}

/* ============================================================
   FOOTER
   ============================================================ */

footer,
.page-footer,
#footer {
  background: var(--aps-primary-dark);
  color: var(--aps-white);
}

footer a,
.page-footer a,
#footer a {
  color: var(--aps-lightblue);
}

footer a:hover,
.page-footer a:hover,
#footer a:hover {
  color: var(--aps-white);
}

/* ============================================================
   ACCESSIBILITY / FOCUS STATES
   ============================================================ */

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
  outline: 3px solid var(--aps-lightblue);
  outline-offset: 2px;
}

/* ============================================================
   MOBILE IMPROVEMENTS
   ============================================================ */

@media (max-width: 768px) {
  body {
    font-size: 15px;
  }

  .event-header h1,
  .conference-title h1 {
    font-size: 1.8rem;
  }

  .i-box,
  .info-message-box {
    padding: 0.25rem;
  }
}
```