/* ===========================================================================
   Portal to the Public -- shared site CSS.
   Mirrors the pattern of stemsaic-www/assets/site.css: reset, hover/focus
   states, responsive nav, small-screen overrides. Adapted to the Portal's
   PILL buttons, larger touch targets (min-height: 56px), and warmer tokens
   per tokens-portal.css.
   =========================================================================== */

* { box-sizing: border-box; }
body { margin: 0; }
img { max-width: 100%; display: block; }

/* --- Portal pill buttons (touch-first, min-height 56px) ------------------- */
.btn-gold {
  transition: background-color .15s ease, border-color .15s ease;
}
.btn-gold:hover {
  background: #c4933f !important;
  border-color: #c4933f !important;
}

.btn-outline {
  transition: background-color .15s ease, color .15s ease;
}
.btn-outline:hover {
  background: #1a2744 !important;
  color: #ffffff !important;
}

.btn-ondark {
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.btn-ondark:hover {
  background: #d4a843 !important;
  color: #1a2744 !important;
  border-color: #d4a843 !important;
}

.btn-back {
  transition: background-color .15s ease, color .15s ease;
}
.btn-back:hover {
  background: #1a2744 !important;
  color: #ffffff !important;
}

/* --- Card lift (portal: -5px lift, stronger shadow) ----------------------- */
.card-lift {
  transition: transform .18s ease, box-shadow .18s ease;
}
.card-lift:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 40px rgba(26,39,68,0.18) !important;
}

/* --- Involve card lift ---------------------------------------------------- */
.involve-lift {
  transition: transform .18s ease, box-shadow .18s ease;
}
.involve-lift:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 40px rgba(26,39,68,0.18) !important;
}

/* --- Focus rings ---------------------------------------------------------- */
a:focus-visible, button:focus-visible {
  outline: 3px solid #4a90d9;
  outline-offset: 3px;
}

/* --- Equalizer animation (Microplastics page) ----------------------------- */
@keyframes eq {
  0%, 100% { transform: scaleY(0.35); }
  50%       { transform: scaleY(1); }
}

/* --- Responsive navigation ------------------------------------------------ */
.nav-desktop { display: flex; }
.nav-mobile-btn { display: none; }
.nav-mobile-panel { display: none; }
.nav-mobile-panel.open { display: block; }

@media (max-width: 819px) {
  .nav-desktop   { display: none; }
  .nav-mobile-btn { display: inline-flex; }
}

/* --- Small-screen type / spacing overrides (portal scale is bigger) ------- */
@media (max-width: 640px) {
  .h-display  { font-size: 48px !important; }
  .h-hero     { font-size: 42px !important; }
  .h-section  { font-size: 30px !important; }
  .h-statement { font-size: 26px !important; }
  .pad-block  { padding-left: 20px !important; padding-right: 20px !important; }
  .stack-sm   { flex-direction: column !important; align-items: flex-start !important; }
  .grid-2col  { grid-template-columns: 1fr !important; }
}
