/* Akademik Retina V5.3.2 — site-wide readability and contrast normalization
   Goal: keep brand palette intact while separating decorative coral from text-safe coral.
   WCAG-oriented text tokens are used for normal-size interface copy on light/dark surfaces. */

:root{
  --ar-text-strong:#1D3557;
  --ar-text-body:#394D66;
  --ar-text-muted:#596775;
  --ar-text-subtle:#596775;
  --ar-text-accent:#A94330;
  --ar-dark-text:#FFFFFF;
  --ar-dark-body:#E3EAF1;
  --ar-dark-muted:#CBD6E2;
  --ar-dark-accent:#FFD1C7;
  --ar-control-border:#7A8794;
  --ar-control-hover:#142844;
  --ar-focus-light:#A94330;
  --ar-focus-dark:#FFD1C7;
}

/* Headings inherit their section surface instead of a global hard-coded navy.
   This prevents navy-on-navy headings in academic, publication, CTA and footer surfaces. */
body h1,body h2,body h3,body h4,body h5,body h6{color:inherit!important}
body{color:var(--ar-text-strong)}

/* Explicitly restore all dark surfaces after legacy brand-layer collisions. */
.ar5-topbar,
.ar5-mobile-nav,
.kn-search-overlay,
.kn-stream-wrap,
.ar5-publication-section,
.ar5-contact-band,
.ar5-academic-hero,
.kn-footer,
.ar5-footer{
  color:var(--ar-dark-text)!important;
}
.ar5-mobile-nav{background:var(--brand-navy)!important}
.kn-search-overlay{background:rgba(var(--brand-navy-rgb),.97)!important}
.ar5-contact-band,.kn-footer,.ar5-footer{background:#1D3557!important}

/* Standard readable body/meta copy on light surfaces. */
.kn-brand small,
.kn-query-links span,
.kn-note-no,
.kn-feature-note p,
.kn-indexgrid small,
.kn-section-title p,
.kn-topic-row small,
.kn-topic-row p,
.kn-image-copy p,
.kn-metrics span,

.ar-profile-role,
.ar-stat span,
.ar-paper-authors,.ar-paper-citation,.ar-paper-excerpt,
.ar-article-authors,.ar-article-meta,
.ar-data-list strong,
.ar-feed-header p,
.ar-topic span,
.ar5-mega-intro p,
.ar5-section-head p,
.ar5-cluster-card p,
.ar5-cluster-card span,
.ar5-authority-copy p,
.ar5-page-hero p,.ar5-blog-hero p,.ar5-search-page-hero p,.ar5-contact-hero p,
.ar5-breadcrumbs,
.ar5-sidecard p,
.ar5-toc nav a,
.ar5-safety-note p,
.ar5-publication-card p,
.ar5-contact-copy p,
.ar5-contact-form small,
.ar5-blog-card-copy p,
.ar5-article-meta,
.ar5-search-results p,
.ar5-social-card p,
.ar5-404 p,
.ar5-publication-list p,
.ar5-pub-rail dt,
.ar5-faq-answer,
.ar5-home-contact-copy p{
  color:var(--ar-text-muted)!important;
}

/* Small coral text on light backgrounds used the decorative brand coral, which is not
   strong enough for normal text. Keep #E76F51 for shapes/lines and use a darker text coral. */
.kn-label,
.kn-section-title>span,
.kn-block-head>span,
.kn-image-copy small,
.kn-topic-index,


.ar-paper-type,
.primary-link,
.ar-author-tabs .active,
.ar5-eyebrow,
.ar5-section-head>span,
.ar5-mega-intro small,.ar5-mega-panel small,
.ar5-sidecard>span,.ar5-academic-index>span,
.ar5-toc>span,
.ar5-publication-card small,
.ar5-blog-card-copy small,
.ar5-search-results article small,
.ar5-social-card small,
.ar5-404-inner>span,
.ar5-publication-list small,
.ar5-pub-abstract span,
.ar5-pub-rail dd a,
.ar5-prose a,
.ar5-home-contact-copy>span,
.ar5-home-hero .kn-feature-note>a,
.ar5-restored-index .kn-indexgrid>a span,
.ar5-entry-grid small,
.ar5-cluster-card small{
  color:var(--ar-text-accent)!important;
}

/* The large hero accent also stays readable over the cream/photo veil. */
.ar5-home-hero h1 em{color:var(--ar-text-accent)!important}
.ar5-home-hero .kn-motion-track i{color:var(--ar-text-accent)!important}

/* Primary text links on light surfaces use a readable foreground and coral underline. */
.ar5-sidecard a,
.ar5-blog-card-copy>a,
.ar5-back-link,
.ar5-search-results article>a,
.ar5-publication-list article>a,
.kn-block-head a{
  color:var(--ar-text-strong)!important;
}
.ar5-sidecard a:hover,.ar5-sidecard a:focus-visible,
.ar5-blog-card-copy>a:hover,.ar5-blog-card-copy>a:focus-visible,
.ar5-back-link:hover,.ar5-back-link:focus-visible,
.ar5-search-results article>a:hover,.ar5-search-results article>a:focus-visible,
.ar5-publication-list article>a:hover,.ar5-publication-list article>a:focus-visible,
.kn-block-head a:hover,.kn-block-head a:focus-visible,
.ar5-home-contact-copy .ar5-text-link:hover,.ar5-home-contact-copy .ar5-text-link:focus-visible{
  color:var(--ar-text-strong)!important;
  text-decoration:underline;
  text-decoration-color:var(--ar-text-accent)!important;
  text-decoration-thickness:2px;
  text-underline-offset:3px;
}

/* Light-surface interactive states never switch to low-contrast coral text. */
.kn-search-open:hover,.kn-search-open:focus-visible,
.kn-query-links a:hover,.kn-query-links a:focus-visible,
.kn-topic-row:hover h3,.kn-topic-row:focus-visible h3,
.kn-topic-row:hover b,.kn-topic-row:focus-visible b,
.ar5-breadcrumbs a:hover,.ar5-breadcrumbs a:focus-visible,
.ar5-toc nav a:hover,.ar5-toc nav a:focus-visible,
.ar5-mega-links a:hover,.ar5-mega-links a:focus-visible,:focus-visible,
.primary-link:hover,.primary-link:focus-visible,
.ar5-prose a:hover,.ar5-prose a:focus-visible{
  color:var(--ar-text-strong)!important;
}

/* Dark surfaces get dedicated light text tokens. */
.kn-stream-title>span,
.ar5-publication-section .kn-stream-title>span,
.ar5-contact-band span,
.ar5-academic-hero .ar5-eyebrow,
.ar5-mobile-nav section>span,
.kn-search-kicker,
.kn-footer-column>span,
.ar5-footer-col>span{
  color:var(--ar-dark-accent)!important;
}
.ar5-topbar,
.ar5-academic-hero p,
.ar5-academic-hero .ar5-breadcrumbs,
.ar5-academic-mark small,
.kn-stream-title p,
.kn-stream-empty p,
.kn-paper-meta,
.kn-paper p,
.ar5-contact-band p,
.kn-footer-brand p,.kn-footer-bottom,
.ar5-footer-col a,
.ar5-search-links,.ar5-search-links span{
  color:var(--ar-dark-muted)!important;
}
.ar5-academic-mark span{color:var(--ar-dark-accent)!important}
.ar5-academic-hero .ar5-breadcrumbs a,
.ar5-mobile-nav a,
.ar5-mobile-brand,
.ar5-topbar a,
.kn-search-overlay a,
.kn-read,
.kn-paper h3,.kn-paper h3 a,
.kn-footer a,.ar5-footer a{
  color:var(--ar-dark-text)!important;
}

/* Publication backbone remains dark in every state. */
.ar5-publication-section .kn-stream-title h2,
.ar5-publication-section .kn-paper,
.ar5-publication-section .kn-paper h3,
.ar5-publication-section .kn-paper h3 a,
.ar5-publication-section .kn-read{color:#fff!important}
.ar5-publication-section .kn-stream-title p,
.ar5-publication-section .kn-paper p{color:var(--ar-dark-muted)!important}
.ar5-publication-section .kn-paper-meta{color:var(--ar-dark-body)!important}
.ar5-publication-section .kn-stream-title .ar5-text-link{color:var(--ar-dark-accent)!important}
.ar5-publication-section .kn-paper h3 a:hover,
.ar5-publication-section .kn-paper h3 a:focus-visible,
.ar5-publication-section .kn-read:hover,
.ar5-publication-section .kn-read:focus-visible,
.ar5-publication-section .kn-stream-title .ar5-text-link:hover,
.ar5-publication-section .kn-stream-title .ar5-text-link:focus-visible{
  color:#fff!important;
  text-decoration:underline;
  text-decoration-color:var(--ar-dark-accent)!important;
  text-underline-offset:4px;
}

/* Dark cards / tiles: force every textual descendant into the dark-surface palette. */
.kn-indexgrid>a:hover,.kn-indexgrid>a:focus-visible,
.ar5-entry-grid>a:hover,.ar5-entry-grid>a:focus-visible,
.ar5-cluster-card:hover,.ar5-cluster-card:focus-visible,
.ar5-related-card:hover,.ar5-related-card:focus-visible{
  color:#fff!important;
}
.kn-indexgrid>a:hover span,.kn-indexgrid>a:focus-visible span,
.ar5-entry-grid>a:hover small,.ar5-entry-grid>a:focus-visible small,
.ar5-cluster-card:hover small,.ar5-cluster-card:focus-visible small,
.ar5-related-card:hover small,.ar5-related-card:focus-visible small{
  color:var(--ar-dark-accent)!important;
}
.ar5-cluster-card:hover p,.ar5-cluster-card:focus-visible p,
.ar5-cluster-card:hover span,.ar5-cluster-card:focus-visible span,
.ar5-related-card:hover p,.ar5-related-card:focus-visible p{
  color:var(--ar-dark-body)!important;
}

/* Buttons and active controls: white on navy, including hover/focus.
   White on the decorative coral is intentionally avoided for normal-size labels. */
.kn-search button,
.kn-contact-button,
.ar-button:not(.secondary):not(.ghost),
.ar5-button-primary,
.ar5-actions .kn-contact-button,
.kn-search-modal-form button,
.ar5-search-page-form button,
.ar5-publication-toolbar button,
.ar5-publication-toolbar .ar5-gallery-filters a.is-active,
.ar5-gallery-filters button.is-active,
.ar-chip.active,
.nav-links .current,
.ar5-home-hero .kn-note-tag{
  background:var(--brand-navy)!important;
  border-color:var(--brand-navy)!important;
  color:#fff!important;
}
.kn-search button:hover,.kn-search button:focus-visible,
.kn-contact-button:hover,.kn-contact-button:focus-visible,
.ar-button:not(.secondary):not(.ghost):hover,.ar-button:not(.secondary):not(.ghost):focus-visible,
.ar5-button-primary:hover,.ar5-button-primary:focus-visible,
.ar5-actions .kn-contact-button:hover,.ar5-actions .kn-contact-button:focus-visible,
.kn-search-modal-form button:hover,.kn-search-modal-form button:focus-visible,
.ar5-search-page-form button:hover,.ar5-search-page-form button:focus-visible,
.ar5-publication-toolbar button:hover,.ar5-publication-toolbar button:focus-visible,
.ar5-publication-toolbar .ar5-gallery-filters a.is-active:hover,.ar5-publication-toolbar .ar5-gallery-filters a.is-active:focus-visible,
.ar5-gallery-filters button.is-active:hover,.ar5-gallery-filters button.is-active:focus-visible,
.ar-chip.active:hover,.ar-chip.active:focus-visible{
  background:var(--ar-control-hover)!important;
  border-color:var(--ar-control-hover)!important;
  color:#fff!important;
  box-shadow:inset 0 -3px 0 var(--brand-coral);
}
.ar-button.secondary,.ar-button.ghost,.ar5-button-ghost{
  background:#fff!important;
  border-color:var(--brand-navy)!important;
  color:var(--brand-navy)!important;
}
.ar-button.secondary:hover,.ar-button.secondary:focus-visible,
.ar-button.ghost:hover,.ar-button.ghost:focus-visible,
.ar5-button-ghost:hover,.ar5-button-ghost:focus-visible{
  background:var(--brand-beige)!important;
  border-color:var(--brand-navy)!important;
  color:var(--brand-navy)!important;
  box-shadow:inset 0 -2px 0 var(--brand-coral);
}
.ar5-button-light{background:#fff!important;border-color:#fff!important;color:var(--brand-navy)!important}
.ar5-button-light:hover,.ar5-button-light:focus-visible{background:transparent!important;border-color:#fff!important;color:#fff!important}

/* Form controls: readable values, placeholders and visible control boundaries. */
.kn-search,
.ar5-search-page-form,
.ar5-contact-form input,.ar5-contact-form textarea,.ar5-contact-form select,
.ar5-home-contact-form input,.ar5-home-contact-form textarea,.ar5-home-contact-form select{
  border-color:var(--ar-control-border)!important;
}
.kn-search input,
.kn-search-modal-form input,
.ar5-search-page-form input,
.ar5-contact-form input,.ar5-contact-form textarea,.ar5-contact-form select,
.ar5-home-contact-form input,.ar5-home-contact-form textarea,.ar5-home-contact-form select{
  color:var(--ar-text-strong)!important;
  opacity:1;
}
.kn-search input::placeholder,
.kn-search-modal-form input::placeholder,
.ar5-search-page-form input::placeholder,
.ar5-contact-form input::placeholder,.ar5-contact-form textarea::placeholder,
.ar5-home-contact-form input::placeholder,.ar5-home-contact-form textarea::placeholder{
  color:var(--ar-text-subtle)!important;
  opacity:1;
}
.ar5-contact-form label,.ar5-home-contact-form label{color:var(--ar-text-strong)!important}

/* Pagination and filter states. */
.nav-links a,.nav-links span,
.ar5-gallery-filters button,
.ar5-publication-toolbar .ar5-gallery-filters a,
.ar-chip{
  color:var(--ar-text-strong)!important;
}
.nav-links a:hover,.nav-links a:focus-visible,
.ar5-gallery-filters button:hover,.ar5-gallery-filters button:focus-visible,
.ar5-publication-toolbar .ar5-gallery-filters a:hover,.ar5-publication-toolbar .ar5-gallery-filters a:focus-visible,
.ar-chip:hover,.ar-chip:focus-visible{
  border-color:var(--brand-navy)!important;
  color:var(--brand-navy)!important;
  background:var(--brand-beige)!important;
}

/* Focus visibility: separate rings for light and dark surfaces. */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:3px solid var(--ar-focus-light)!important;
  outline-offset:3px;
}
.ar5-topbar a:focus-visible,
.ar5-mobile-nav a:focus-visible,.ar5-mobile-nav button:focus-visible,
.kn-search-overlay a:focus-visible,.kn-search-overlay button:focus-visible,
.kn-stream-wrap a:focus-visible,
.ar5-publication-section a:focus-visible,
.ar5-contact-band a:focus-visible,.ar5-contact-band button:focus-visible,
.ar5-academic-hero a:focus-visible,
.kn-footer a:focus-visible,.ar5-footer a:focus-visible{
  outline-color:var(--ar-focus-dark)!important;
}

/* Dark-surface hover links remain bright; no navy-on-navy interaction state. */
.ar5-topbar a:hover,
.ar5-mobile-nav a:hover,
.kn-search-overlay a:hover,
.ar5-academic-hero a:hover,
.ar5-contact-band a:hover,
.kn-footer a:hover,.ar5-footer a:hover{
  color:#fff!important;
  text-decoration:underline;
  text-decoration-color:var(--ar-dark-accent)!important;
  text-underline-offset:3px;
}

/* Image captions keep an opaque-enough navy plate over unpredictable photography. */
.ar5-gallery-preview-grid>a>span,
.ar5-gallery-item span{
  background:rgba(20,40,68,.92)!important;
  color:#fff!important;
}

/* Home contact block: override prior raw-coral important rules with accessible text coral. */
.ar5-home-contact-copy>span{color:var(--ar-text-accent)!important}
.ar5-home-contact-copy .ar5-text-link{color:var(--ar-text-strong)!important}
.ar5-home-contact-copy .ar5-text-link:hover,.ar5-home-contact-copy .ar5-text-link:focus-visible{color:var(--ar-text-strong)!important}
.ar5-home-hero .kn-feature-note>a{color:var(--ar-text-accent)!important}
.ar5-home-hero .kn-note-no{color:var(--ar-text-muted)!important}

@media(max-width:760px){
  /* Small-screen UI copy receives the same text-safe palette; no lighter mobile-only colors. */
  .ar5-brand small,.ar5-topbar-inner>span{opacity:1}
}
