:root {
  --brand-radius-xs: 3px;
  --brand-radius-sm: 7px;
  --brand-radius-md: 11px;
  --brand-radius-lg: 16px;
  --brand-radius-pill: 999px;
  --brand-outline: rgba(201, 168, 76, 0.35);
  --brand-outline-soft: rgba(201, 168, 76, 0.2);
  --brand-surface: linear-gradient(180deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.015) 100%);
  --brand-btn-fill: linear-gradient(180deg, #e5c66f 0%, #c9a84c 100%);
}

/* Signature corner language */
:is(.nav-card, .pillar, .contact-card, .pr-card, .assistant-panel, .feature-card, .timeline-card, .academic-card) {
  border-radius: var(--brand-radius-md) !important;
}

:is(.card-icon, .contact-card-icon, .ncaa-icon, .pillar-icon, .success-icon) {
  border-radius: var(--brand-radius-sm) !important;
  position: relative;
  overflow: hidden;
}

:is(.card-icon, .contact-card-icon, .ncaa-icon, .pillar-icon, .success-icon)::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(201,168,76,0.24);
  border-radius: inherit;
  pointer-events: none;
}

/* Unified custom icon language */
:is(.card-icon, .contact-card-icon, .ncaa-icon, .pillar-icon, .success-icon) svg {
  stroke-linecap: round;
  stroke-linejoin: round;
}

:is(.card-icon, .contact-card-icon, .ncaa-icon, .pillar-icon, .success-icon) svg * {
  vector-effect: non-scaling-stroke;
}

/* Signature button system */
:is(.nav-cta a, .drawer-cta a, .hero-cta-btn, .transcript-cta, .support-inline-cta) {
  border-radius: var(--brand-radius-sm) !important;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 800;
}

:is(.nav-cta a, .drawer-cta a, .hero-cta-btn, .transcript-cta, .support-inline-cta)::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid var(--brand-outline-soft);
  border-radius: inherit;
  pointer-events: none;
}

:is(.nav-cta a, .drawer-cta a, .hero-cta-primary, .assistant-submit) {
  background: var(--brand-btn-fill) !important;
  color: #091a2f !important;
  border-color: rgba(201,168,76,0.5) !important;
  box-shadow: 0 8px 22px rgba(201,168,76,0.24), inset 0 1px 0 rgba(255,255,255,0.3);
}

:is(.hero-cta-secondary) {
  background: var(--brand-surface) !important;
  border: 1px solid var(--brand-outline) !important;
  color: rgba(255,255,255,0.95) !important;
}

:is(.transcript-cta, .support-inline-cta) {
  background: rgba(255,255,255,0.9) !important;
  border: 1px solid rgba(201,168,76,0.45) !important;
  color: #0d2a52 !important;
}

:is(.nav-cta a, .drawer-cta a, .hero-cta-btn, .transcript-cta, .support-inline-cta):hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(201,168,76,0.18);
}

:is(.nav-cta a, .drawer-cta a, .hero-cta-btn, .transcript-cta, .support-inline-cta):focus-visible {
  outline: 2px solid #f2d88a !important;
  outline-offset: 3px;
}

/* Repeating brand motif: gold rail accent */
:is(.nav-card, .pillar, .contact-card, .pr-card, .timeline-card, .academic-card) {
  position: relative;
}

:is(.nav-card, .pillar, .contact-card, .pr-card, .timeline-card, .academic-card)::before {
  box-shadow: inset 0 0 0 1px rgba(201,168,76,0.08);
}

:is(.hero h1, .page-title, .section-title, .story-title, .contact-title, .stats-title) {
  text-wrap: balance;
}

:is(.eyebrow, .section-eyebrow, .panel-eyebrow, .kicker, .label) {
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

/* keep mobile tap targets consistent */
@media (max-width: 768px) {
  :is(.nav-cta a, .drawer-cta a, .hero-cta-btn, .transcript-cta, .support-inline-cta) {
    min-height: 42px;
    align-items: center;
  }
}
