/* Restored Era Foundation — Homepage styles (from React / Tailwind design) */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600;700&display=swap');

:root {
  --re-background: hsl(38, 30%, 97%);
  --re-foreground: hsl(220, 18%, 14%);
  --re-card: hsl(0, 0%, 100%);
  --re-primary: hsl(220, 18%, 14%);
  --re-primary-fg: hsl(38, 30%, 97%);
  --re-secondary: hsl(36, 28%, 93%);
  --re-muted: hsl(36, 18%, 92%);
  --re-muted-fg: hsl(220, 10%, 38%);
  --re-gold: hsl(38, 42%, 48%);
  --re-gold-soft: hsl(38, 38%, 70%);
  --re-navy: hsl(218, 38%, 22%);
  --re-beige: hsl(36, 28%, 93%);
  --re-paper: hsl(38, 30%, 97%);
  --re-border: hsl(34, 14%, 84%);
  --re-dark: hsl(220, 18%, 12%);
  --re-dark-navy: hsl(218, 30%, 14%);
  --re-container: 80rem;
}

/**
 * Hello Elementor reset.css → Restored Era palette (scoped).
 * Parent themes/hello-elementor/assets/css/reset.css is left unchanged.
 */
body.re-restored-era-page {
  background-color: var(--re-background);
  color: var(--re-foreground);
  font-family: 'Inter', system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.re-restored-era-page h1,
body.re-restored-era-page h2,
body.re-restored-era-page h3,
body.re-restored-era-page h4,
body.re-restored-era-page h5,
body.re-restored-era-page h6 {
  color: inherit;
  font-family: 'Cormorant Garamond', Georgia, serif;
}

body.re-restored-era-page figcaption {
  color: var(--re-muted-fg);
}

body.re-restored-era-page a:link {
  color: var(--re-foreground);
  text-decoration: none;
}
body.re-restored-era-page a:visited {
  color: var(--re-foreground);
}
body.re-restored-era-page a:hover,
body.re-restored-era-page a:active {
  color: var(--re-gold);
}

body.re-restored-era-page input[type='date'],
body.re-restored-era-page input[type='email'],
body.re-restored-era-page input[type='number'],
body.re-restored-era-page input[type='password'],
body.re-restored-era-page input[type='search'],
body.re-restored-era-page input[type='tel'],
body.re-restored-era-page input[type='text'],
body.re-restored-era-page input[type='time'],
body.re-restored-era-page input[type='url'],
body.re-restored-era-page select,
body.re-restored-era-page textarea {
  border: 1px solid var(--re-border);
  border-radius: 0;
  color: var(--re-foreground);
  background-color: transparent;
  transition: border-color 0.2s ease;
}

body.re-restored-era-page input[type='date']:focus,
body.re-restored-era-page input[type='email']:focus,
body.re-restored-era-page input[type='number']:focus,
body.re-restored-era-page input[type='password']:focus,
body.re-restored-era-page input[type='search']:focus,
body.re-restored-era-page input[type='tel']:focus,
body.re-restored-era-page input[type='text']:focus,
body.re-restored-era-page input[type='time']:focus,
body.re-restored-era-page input[type='url']:focus,
body.re-restored-era-page select:focus,
body.re-restored-era-page textarea:focus {
  border-color: var(--re-foreground);
  outline: none;
}

body.re-restored-era-page button,
body.re-restored-era-page [type='button'],
body.re-restored-era-page [type='submit'],
body.re-restored-era-page [type='reset'] {
  border: 1px solid var(--re-border);
  border-radius: 0;
  color: var(--re-foreground);
  background-color: transparent;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    border-color 0.2s ease;
}

body.re-restored-era-page button:hover,
body.re-restored-era-page button:focus,
body.re-restored-era-page [type='button']:hover,
body.re-restored-era-page [type='button']:focus,
body.re-restored-era-page [type='submit']:hover,
body.re-restored-era-page [type='submit']:focus,
body.re-restored-era-page [type='reset']:hover,
body.re-restored-era-page [type='reset']:focus {
  background-color: var(--re-foreground);
  border-color: var(--re-foreground);
  color: var(--re-paper);
  text-decoration: none;
}

/* UI components replace generic reset button/link styles */
body.re-restored-era-page .re-header button,
body.re-restored-era-page .re-header [type='button'],
body.re-restored-era-page .re-search-modal button,
body.re-restored-era-page .re-search-modal [type='button'],
body.re-restored-era-page .re-video-modal button,
body.re-restored-era-page .re-video-modal [type='button'],
body.re-restored-era-page .re-page .re-filter-pill,
body.re-restored-era-page .re-page .re-header__search,
body.re-restored-era-page .re-page .re-library-list__btn {
  border: none;
  background: transparent;
  border-radius: 0;
}

body.re-restored-era-page .re-header button:hover,
body.re-restored-era-page .re-header button:focus,
body.re-restored-era-page .re-header [type='button']:hover,
body.re-restored-era-page .re-header [type='button']:focus,
body.re-restored-era-page .re-search-modal button:hover,
body.re-restored-era-page .re-search-modal button:focus,
body.re-restored-era-page .re-video-modal button:hover,
body.re-restored-era-page .re-video-modal button:focus,
body.re-restored-era-page .re-page .re-library-list__btn:hover,
body.re-restored-era-page .re-page .re-library-list__btn:focus {
  background: transparent;
  border-color: transparent;
  color: inherit;
}

body.re-restored-era-page .re-page .re-filter-pill,
body.re-restored-era-page .re-page .re-filter-pill:hover,
body.re-restored-era-page .re-page .re-filter-pill:focus {
  border: 1px solid var(--re-border);
  background: transparent;
  color: var(--re-muted-fg);
}

body.re-restored-era-page .re-page .re-filter-pill:hover,
body.re-restored-era-page .re-page .re-filter-pill:focus,
body.re-restored-era-page .re-page .re-filter-pill.is-active {
  background: var(--re-foreground);
  border-color: var(--re-foreground);
  color: var(--re-paper);
}

body.re-restored-era-page .re-footer__form-row .re-footer__form-btn,
body.re-restored-era-page .re-footer__form-row .re-footer__form-btn:hover,
body.re-restored-era-page .re-footer__form-row .re-footer__form-btn:focus {
  border: none;
  background: var(--re-foreground);
  color: var(--re-paper);
}

body.re-restored-era-page .re-footer__form-row .re-footer__form-btn:hover:not(:disabled),
body.re-restored-era-page .re-footer__form-row .re-footer__form-btn:focus:not(:disabled) {
  background: var(--re-navy);
  color: var(--re-paper);
}

body.re-restored-era-page table td,
body.re-restored-era-page table th {
  border-color: var(--re-border);
  color: var(--re-foreground);
}

body.re-restored-era-page table tbody > tr:nth-child(odd) > td,
body.re-restored-era-page table tbody > tr:nth-child(odd) > th {
  background-color: var(--re-secondary);
}

body.re-restored-era-page table tbody tr:hover > td,
body.re-restored-era-page table tbody tr:hover > th {
  background-color: var(--re-muted);
}

.re-page {
  font-family: 'Inter', system-ui, sans-serif;
  background: var(--re-background);
  color: var(--re-foreground);
  -webkit-font-smoothing: antialiased;
  font-feature-settings: 'ss01', 'cv02', 'cv11';
  margin: 0;
  padding: 0;
}

.re-page h1,
.re-page h2,
.re-page h3,
.re-page h4,
.re-page h5 {
  font-family: 'Cormorant Garamond', 'Times New Roman', serif;
  font-feature-settings: 'liga', 'dlig';
}

.re-page *,
.re-page *::before,
.re-page *::after {
  box-sizing: border-box;
}

.re-page img {
  max-width: 100%;
  height: auto;
  display: block;
}
.re-page a {
  color: inherit;
  text-decoration: none;
}

.re-container {
  max-width: var(--re-container);
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
@media (min-width: 1024px) {
  .re-container {
    padding-left: 3rem;
    padding-right: 3rem;
  }
}

.re-eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.22em;
  font-size: 11px;
  font-weight: 500;
  color: var(--re-muted-fg);
}

.re-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Header */
.re-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 50;
  transition:
    background-color 0.3s ease,
    border-color 0.3s ease;
}
.re-header.is-transparent {
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.55), transparent);
  border-bottom: none;
}
.re-header.is-solid {
  background: var(--re-paper);
  border-bottom: 1px solid var(--re-border);
}
.re-header__utility {
  display: none;
  border-bottom: 1px solid var(--re-border);
}
.re-header.is-transparent .re-header__utility {
  border-color: rgba(255, 255, 255, 0.15);
}
@media (min-width: 1024px) {
  .re-header__utility {
    display: flex;
    height: 2.25rem;
    align-items: center;
    justify-content: space-between;
    font-size: 11px;
    letter-spacing: 0.05em;
  }
}
.re-header__utility-text {
  color: var(--re-muted-fg);
  transition: color 0.2s ease;
}
.re-header.is-transparent .re-header__utility-text {
  color: rgba(255, 255, 255, 0.8);
}
.re-header__utility-links {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
.re-header__utility-en,
.re-header__utility-links a {
  color: var(--re-muted-fg);
  transition: color 0.2s ease;
}
.re-header.is-transparent .re-header__utility-en,
.re-header.is-transparent .re-header__utility-links a {
  color: rgba(255, 255, 255, 0.8);
}
.re-header__utility-en {
  text-transform: uppercase;
  background: none;
  border: none;
  padding: 0;
  font: inherit;
  font-size: 11px;
  letter-spacing: 0.05em;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}
.re-header__utility-links a:hover,
.re-header__utility-en:hover {
  color: var(--re-foreground);
}
.re-header.is-transparent .re-header__utility-links a:hover,
.re-header.is-transparent .re-header__utility-en:hover {
  color: #fff;
}

.re-header__main {
  display: flex;
  height: 5rem;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}
.re-header__brand,
.re-header__brand:link,
.re-header__brand:visited,
.re-header__brand:hover,
.re-header__brand:focus,
.re-header__brand:active {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-shrink: 0;
  color: var(--re-foreground);
  text-decoration: none;
  transition: color 0.3s ease;
}
.re-header.is-transparent .re-header__brand,
.re-header.is-transparent .re-header__brand:link,
.re-header.is-transparent .re-header__brand:visited,
.re-header.is-transparent .re-header__brand:hover,
.re-header.is-transparent .re-header__brand:focus,
.re-header.is-transparent .re-header__brand:active {
  color: #fff;
}
.re-header__brand .re-header__title,
.re-header__brand .re-header__title > span,
.re-header__brand .re-header__title-accent {
  color: inherit;
}
.re-header__logo {
  height: 2.5rem;
  width: 2.5rem;
}
.re-header__brand-text {
  line-height: 1.2;
}
.re-header__title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 18px;
  letter-spacing: 0.025em;
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
}
.re-header__title-dash {
  font-weight: 300;
  color: var(--re-muted-fg);
}
.re-header.is-transparent .re-header__title-dash {
  color: rgba(255, 255, 255, 0.6);
}
.re-header__title-accent {
  font-weight: 300;
  font-style: italic;
  letter-spacing: 0.05em;
}
.re-header__subtitle {
  display: none;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.28em;
  color: var(--re-muted-fg);
  transition: color 0.3s ease;
}
.re-header.is-transparent .re-header__subtitle {
  color: rgba(255, 255, 255, 0.75);
}
@media (min-width: 640px) {
  .re-header__subtitle {
    display: block;
  }
}

.re-header__nav {
  display: none;
  align-items: center;
  gap: 1.5rem;
}
@media (min-width: 1280px) {
  .re-header__nav {
    gap: 2rem;
  }
}
@media (min-width: 1024px) {
  .re-header__nav {
    display: flex;
  }
}
.re-header__nav-item {
  position: relative;
}
.re-header__nav a {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 13px;
  letter-spacing: 0.025em;
  color: var(--re-foreground);
  transition: color 0.2s ease;
}
.re-header.is-solid .re-header__nav a:hover {
  color: var(--re-gold);
}
.re-header.is-transparent .re-header__nav a {
  color: #fff;
}
.re-header.is-transparent .re-header__nav a:hover {
  color: var(--re-gold-soft);
}
.re-header__chevron {
  flex-shrink: 0;
}
.re-header__search {
  display: inline-flex;
  padding: 0.5rem;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--re-foreground);
  transition: color 0.2s ease;
  appearance: none;
  -webkit-appearance: none;
}
.re-header.is-solid .re-header__search:hover {
  color: var(--re-gold);
}
.re-header.is-transparent .re-header__search {
  color: #fff;
}
.re-header.is-transparent .re-header__search:hover {
  color: var(--re-gold-soft);
}

.re-header__menu-btn {
  display: block;
  padding: 0.5rem;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--re-foreground);
  transition: color 0.2s ease;
  appearance: none;
  -webkit-appearance: none;
}
.re-header.is-transparent .re-header__menu-btn {
  color: #fff;
}
@media (min-width: 1024px) {
  .re-header__menu-btn {
    display: none;
  }
}

.re-mega {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  background: var(--re-paper);
  border-top: 1px solid var(--re-border);
  box-shadow: 0 24px 40px -20px rgba(0, 0, 0, 0.15);
}
.re-mega.is-open {
  display: block;
}
@media (max-width: 1023px) {
  .re-mega.is-open {
    display: none !important;
  }
}
@media (min-width: 1024px) {
  .re-mega__inner {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 2.5rem;
    padding: 3rem 0;
  }
  .re-mega__intro {
    grid-column: span 3;
    border-right: 1px solid var(--re-border);
    padding-right: 2rem;
  }
  .re-mega__grid {
    grid-column: span 9;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem 2rem;
  }
}
@media (min-width: 1024px) {
  .re-mega__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
.re-mega__link {
  display: flex;
  align-items: baseline;
  gap: 0.75rem;
  border-bottom: 1px solid var(--re-border);
  padding-bottom: 0.75rem;
  color: var(--re-foreground);
  transition:
    border-color 0.2s ease,
    color 0.2s ease;
}
.re-mega__num {
  font-size: 10px;
  font-variant-numeric: tabular-nums;
  color: var(--re-muted-fg);
  flex-shrink: 0;
}
.re-mega__link-body {
  display: block;
  min-width: 0;
}
.re-mega__name {
  display: block;
  font-family: 'Cormorant Garamond', serif;
  font-size: 17px;
  line-height: 1.2;
  transition: color 0.2s ease;
}
.re-mega__tagline {
  display: block;
  margin-top: 0.125rem;
  font-size: 11px;
  color: var(--re-muted-fg);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.re-mega__link:hover {
  border-color: var(--re-gold);
}
.re-mega__link:hover .re-mega__name {
  color: var(--re-gold);
}

.re-mobile-nav {
  display: none;
  background: var(--re-paper);
  border-top: 1px solid var(--re-border);
  max-height: calc(100vh - 5rem);
  overflow-y: auto;
}
.re-mobile-nav.is-open {
  display: block;
}
@media (min-width: 1024px) {
  .re-mobile-nav {
    display: none !important;
  }
}
.re-mobile-nav__inner {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  display: flex;
  flex-direction: column;
}
.re-mobile-nav a {
  display: block;
  padding: 0.75rem 0;
  font-size: 0.875rem;
  color: var(--re-foreground);
  border-top: 1px solid var(--re-border);
  transition: color 0.2s ease;
}
.re-mobile-nav a:first-child {
  border-top: none;
}
.re-mobile-nav a:hover {
  color: var(--re-gold);
}

/* Hero */
.re-hero {
  position: relative;
  min-height: 100vh;
  width: 100%;
  overflow: hidden;
  background: var(--re-dark);
  color: #fff;
}
.re-hero__bg {
  position: absolute;
  inset: 0;
}
.re-hero__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  animation: reSlowZoom 22s ease-out forwards;
}
.re-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.55),
    rgba(0, 0, 0, 0.3) 50%,
    rgba(0, 0, 0, 0.8)
  );
}
.re-hero__content {
  position: relative;
  z-index: 10;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-top: 11rem;
  padding-bottom: 8rem;
}
.re-hero__grid {
  display: grid;
  gap: 3rem;
  align-items: end;
}
@media (min-width: 1024px) {
  .re-hero__grid {
    grid-template-columns: repeat(12, 1fr);
  }
  .re-hero__main {
    grid-column: span 8;
  }
  .re-hero__featured {
    grid-column: span 4;
  }
}
.re-hero__rule {
  height: 1px;
  width: 4rem;
  background: var(--re-gold);
}
.re-hero__eyebrow {
  color: var(--re-gold-soft);
  margin-bottom: 2rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}
.re-hero h1 {
  font-weight: 300;
  font-size: clamp(2.5rem, 5vw, 5.25rem);
  line-height: 1.04;
  letter-spacing: -0.02em;
  animation: reFadeUp 1s ease-out both;
}
.re-hero__lead {
  margin-top: 2.5rem;
  max-width: 42rem;
  font-size: clamp(1.125rem, 2vw, 1.25rem);
  line-height: 1.6;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.85);
}
.re-hero__actions {
  margin-top: 3rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.re-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  background: var(--re-paper);
  color: var(--re-foreground) !important;
  padding: 1rem 2rem;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  transition:
    background 0.2s,
    color 0.2s;
}
.re-btn-primary:hover {
  background: var(--re-gold);
}
.re-btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  border: 1px solid rgba(255, 255, 255, 0.4);
  color: #fff;
  padding: 1rem 2rem;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  transition:
    background 0.2s,
    color 0.2s;
}
.re-btn-outline:hover {
  background: #fff;
  color: var(--re-foreground);
}

.re-hero__featured-box {
  border-left: 2px solid var(--re-gold);
  padding-left: 1.5rem;
}
.re-hero__featured-box .re-eyebrow {
  color: var(--re-gold-soft);
  margin-bottom: 0.75rem;
}
.re-hero__featured-box h3 {
  font-size: 1.5rem;
  line-height: 1.3;
  color: #fff;
}
.re-hero__meta {
  margin-top: 1rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.7);
}
.re-hero__meta-dot {
  height: 4px;
  width: 4px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.4);
}
.re-hero__read {
  margin-top: 1.25rem;
  display: inline-block;
  font-size: 0.875rem;
  color: #fff !important;
  border-bottom: 1px solid var(--re-gold);
  padding-bottom: 2px;
  transition: color 0.2s ease;
}
.re-hero__read:hover {
  color: #fff !important;
}

.re-ticker {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  background: rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(4px);
}
.re-ticker__inner {
  display: flex;
  align-items: center;
  height: 3rem;
  overflow: hidden;
}
.re-ticker__label {
  flex-shrink: 0;
  padding: 0 1.5rem;
  height: 100%;
  display: flex;
  align-items: center;
  background: var(--re-gold);
  color: var(--re-foreground);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.25em;
  font-weight: 500;
}
.re-ticker__track {
  flex: 1;
  overflow: hidden;
  white-space: nowrap;
}
.re-ticker__items {
  display: inline-flex;
  gap: 3rem;
  padding: 0 2rem;
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.85);
  animation: reTicker 50s linear infinite;
}
.re-ticker__dot {
  display: inline-block;
  height: 4px;
  width: 4px;
  border-radius: 50%;
  background: var(--re-gold);
  margin-right: 0.75rem;
  vertical-align: middle;
}

/* Sections */
.re-section {
  padding: 6rem 0;
}
@media (min-width: 1024px) {
  .re-section {
    padding: 8rem 0;
  }
}
.re-section--beige {
  background: var(--re-beige);
}
.re-section--paper {
  background: var(--re-paper);
}
.re-section--dark {
  background: var(--re-dark);
  color: #fff;
}
.re-section--navy {
  background: var(--re-dark-navy);
  color: #fff;
}

.re-section-head {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.re-section-head .re-rule {
  height: 1px;
  width: 3rem;
  background: var(--re-gold);
}
.re-section-title {
  font-weight: 300;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.08;
}
.re-section-title--lg {
  font-size: clamp(2.25rem, 5vw, 3.75rem);
}

.re-grid-12 {
  display: grid;
  gap: 4rem;
}
@media (min-width: 1024px) {
  .re-grid-12 {
    grid-template-columns: repeat(12, 1fr);
    gap: 4rem;
  }
  .re-col-5 {
    grid-column: span 5;
  }
  .re-col-7 {
    grid-column: span 7;
  }
  .re-col-4 {
    grid-column: span 4;
  }
  .re-col-8 {
    grid-column: span 8;
  }
  .re-col-6 {
    grid-column: span 6;
  }
}

.re-prose {
  font-size: 1.125rem;
  line-height: 1.7;
  font-weight: 300;
  color: rgba(34, 40, 48, 0.8);
}
.re-prose p + p {
  margin-top: 1.5rem;
}
.re-domains {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem 1.5rem;
  padding-top: 1.5rem;
  margin-top: 2.5rem;
  border-top: 1px solid var(--re-border);
}
@media (min-width: 640px) {
  .re-domains {
    grid-template-columns: repeat(4, 1fr);
  }
}
.re-domain {
  font-size: 0.875rem;
  border-left: 2px solid var(--re-gold);
  padding-left: 0.75rem;
}

/* Pillars grid */
.re-pillars-head {
  margin-bottom: 5rem;
}
@media (min-width: 1024px) {
  .re-pillars-head {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 3rem;
    align-items: end;
  }
  .re-pillars-head__title {
    grid-column: span 7;
  }
  .re-pillars-head__desc {
    grid-column: span 5;
    padding-bottom: 0.5rem;
  }
}
.re-pillars-grid {
  display: grid;
  grid-template-columns: 1fr;
  border-top: 1px solid var(--re-border);
  border-left: 1px solid var(--re-border);
  background: var(--re-background);
}
@media (min-width: 640px) {
  .re-pillars-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .re-pillars-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1280px) {
  .re-pillars-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.re-pillar {
  position: relative;
  padding: 2rem;
  border-right: 1px solid var(--re-border);
  border-bottom: 1px solid var(--re-border);
  transition: background 0.2s;
}
.re-pillar:hover {
  background: var(--re-secondary);
}
.re-pillar__top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.re-pillar__num {
  font-family: 'Cormorant Garamond', serif;
  font-size: 0.75rem;
  color: var(--re-muted-fg);
  font-variant-numeric: tabular-nums;
}
.re-pillar__arrow {
  width: 1rem;
  height: 1rem;
  opacity: 0.5;
  transition: color 0.2s;
}
.re-pillar:hover .re-pillar__arrow {
  color: var(--re-gold);
  opacity: 1;
}
.re-pillar h3 {
  font-size: 1.25rem;
  margin-top: 2rem;
  line-height: 1.3;
}
.re-pillar p {
  margin-top: 0.75rem;
  font-size: 0.875rem;
  color: rgba(34, 40, 48, 0.65);
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.re-pillar__tags {
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid var(--re-border);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--re-muted-fg);
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.re-pillar__hover-line {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 1px;
  width: 0;
  background: var(--re-gold);
  transition: width 0.5s;
}
.re-pillar:hover .re-pillar__hover-line {
  width: 100%;
}

/* Research */
.re-section-bar {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  border-bottom: 1px solid var(--re-border);
  padding-bottom: 1.5rem;
  margin-bottom: 4rem;
}
@media (min-width: 768px) {
  .re-section-bar {
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
  }
}
.re-link-gold {
  font-size: 0.875rem;
  border-bottom: 1px solid var(--re-gold);
  padding-bottom: 2px;
  transition: color 0.2s;
}
.re-link-gold:hover {
  color: var(--re-gold);
}

.re-research-grid {
  display: grid;
  gap: 3rem;
}
@media (min-width: 1024px) {
  .re-research-grid {
    grid-template-columns: repeat(12, 1fr);
  }
}
.re-research-featured {
  overflow: hidden;
  border: 1px solid var(--re-border);
}
.re-research-featured img {
  width: 100%;
  transition: transform 0.7s;
}
.re-research-featured:hover img {
  transform: scale(1.02);
}
@media (min-width: 1024px) {
  .re-research-featured {
    grid-column: span 7;
  }
}
.re-research-list {
  border-top: 1px solid var(--re-border);
}
@media (min-width: 1024px) {
  .re-research-list {
    grid-column: span 5;
    border-top: none;
  }
}
.re-research-item {
  display: block;
  padding: 1.75rem 0;
  border-bottom: 1px solid var(--re-border);
}
.re-research-item:first-child {
  padding-top: 0;
}
.re-research-item__cat {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--re-gold);
}
.re-research-item h3 {
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  margin-top: 0.75rem;
  line-height: 1.3;
  transition: color 0.2s;
}
.re-research-item:hover h3 {
  color: var(--re-navy);
}

/* Essay */
.re-essay-grid {
  display: grid;
  gap: 3rem;
  align-items: center;
}
@media (min-width: 1024px) {
  .re-essay-grid {
    grid-template-columns: repeat(12, 1fr);
  }
  .re-essay-image {
    grid-column: span 6;
    order: 1;
  }
  .re-essay-text {
    grid-column: span 6;
    order: 2;
    padding-left: 2rem;
  }
}
.re-essay-image figcaption {
  margin-top: 0.75rem;
  font-size: 0.75rem;
  color: var(--re-muted-fg);
  font-style: italic;
}
.re-essay-image .re-img-wrap {
  overflow: hidden;
  border: 1px solid var(--re-border);
}
.re-btn-bordered {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  border: 1px solid var(--re-foreground);
  padding: 0.75rem 1.75rem;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  margin-top: 2rem;
  transition:
    background 0.2s,
    color 0.2s;
}
.re-btn-bordered:hover {
  background: var(--re-foreground);
  color: var(--re-paper);
}

/* Vision points */
.re-vision-grid {
  border-top: 1px solid var(--re-border);
  padding-top: 4rem;
}
.re-points {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem 1.5rem;
  padding-top: 1.5rem;
  margin-top: 2rem;
  border-top: 1px solid var(--re-border);
}
@media (min-width: 640px) {
  .re-points {
    grid-template-columns: repeat(4, 1fr);
  }
}
.re-points dt {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.5rem;
}
.re-points dd {
  margin-top: 0.75rem;
  font-size: 0.875rem;
  color: var(--re-muted-fg);
  line-height: 1.5;
}

/* Media cards */
.re-media-grid {
  display: grid;
  gap: 2rem;
}
@media (min-width: 768px) {
  .re-media-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .re-media-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
.re-media-card {
  display: block;
}
.re-media-card__img {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--re-border);
  aspect-ratio: 4/5;
}
.re-media-card__img img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(15%);
  transition:
    transform 0.7s,
    filter 0.7s;
}
.re-media-card:hover .re-media-card__img img {
  transform: scale(1.05);
  filter: grayscale(0);
}
.re-media-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.7),
    rgba(0, 0, 0, 0.1) 40%,
    transparent
  );
}
.re-media-card__meta {
  position: absolute;
  top: 1rem;
  left: 1rem;
  right: 1rem;
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.9);
}
.re-media-card__bottom {
  position: absolute;
  bottom: 1.5rem;
  left: 1.5rem;
  right: 1.5rem;
  color: #fff;
}
.re-media-card__play-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.re-media-card__category {
  margin-top: 0.75rem;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: rgba(255, 255, 255, 0.7);
}
.re-play-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 2.5rem;
  width: 2.5rem;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.6);
  flex-shrink: 0;
  transition:
    background 0.2s,
    border-color 0.2s;
}
.re-media-card:hover .re-play-btn {
  background: var(--re-gold);
  border-color: var(--re-gold);
  color: var(--re-foreground);
}
.re-media-card__title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.25rem;
  line-height: 1.25;
}

/* Insights */
.re-insights-grid {
  display: grid;
  gap: 1px;
  background: var(--re-border);
}
@media (min-width: 768px) {
  .re-insights-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .re-insights-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
.re-insight {
  background: var(--re-paper);
  padding: 2rem;
}
@media (min-width: 1024px) {
  .re-insight {
    padding: 2.5rem;
  }
}
.re-insight__num {
  font-family: 'Cormorant Garamond', serif;
  font-size: 0.875rem;
  color: var(--re-gold);
  letter-spacing: 0.1em;
}
.re-insight h3 {
  font-size: 1.5rem;
  margin-top: 1rem;
  line-height: 1.3;
}
.re-insight p {
  margin-top: 1rem;
  font-size: 0.875rem;
  color: var(--re-muted-fg);
  line-height: 1.6;
}

/* World map */
.re-world-map {
  position: relative;
  border: 1px solid rgba(255, 255, 255, 0.15);
  overflow: hidden;
}
.re-world-map img {
  width: 100%;
  opacity: 0.5;
}
.re-world-map__gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, var(--re-dark-navy), transparent 50%);
}
.re-map-node {
  position: absolute;
  transform: translate(-50%, -50%);
}
.re-map-node__pulse {
  position: absolute;
  display: inline-flex;
  height: 100%;
  width: 100%;
  border-radius: 50%;
  background: var(--re-gold);
  opacity: 0.6;
  animation: rePing 1.5s cubic-bezier(0, 0, 0.2, 1) infinite;
}
.re-map-node__dot {
  position: relative;
  display: inline-flex;
  height: 12px;
  width: 12px;
  border-radius: 50%;
  background: var(--re-gold);
}
.re-map-node__label {
  position: absolute;
  left: 1.25rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 11px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.85);
  white-space: nowrap;
}
.re-stats-row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 3rem;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}
@media (min-width: 768px) {
  .re-stats-row {
    grid-template-columns: repeat(4, 1fr);
  }
}
.re-stats-row > div {
  padding: 1.5rem 1rem;
  border-right: 1px solid rgba(255, 255, 255, 0.15);
}
.re-stats-row > div:last-child {
  border-right: none;
}
.re-stat-num {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.875rem;
  color: var(--re-gold-soft);
}
.re-stat-label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  color: rgba(255, 255, 255, 0.7);
  margin-top: 0.5rem;
}

/* Principles */
.re-principles-grid {
  display: grid;
  gap: 3rem 2.5rem;
}
@media (min-width: 640px) {
  .re-principles-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .re-principles-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
.re-principle {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  padding-top: 1.5rem;
}
.re-principle__num {
  font-family: 'Cormorant Garamond', serif;
  font-size: 0.875rem;
  color: var(--re-gold);
  letter-spacing: 0.1em;
}
.re-principle h3 {
  font-size: 1.5rem;
  margin-top: 0.75rem;
}
.re-principle p {
  margin-top: 0.75rem;
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.6;
}

/* Initiatives */
.re-initiatives-grid {
  display: grid;
  border-top: 1px solid var(--re-border);
}
@media (min-width: 768px) {
  .re-initiatives-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
.re-initiative {
  padding: 2.5rem;
  border-bottom: 1px solid var(--re-border);
  transition: background 0.2s;
}
@media (min-width: 768px) {
  .re-initiative {
    border-bottom: none;
    border-right: 1px solid var(--re-border);
  }
  .re-initiative:last-child {
    border-right: none;
  }
}
.re-initiative:hover {
  background: var(--re-beige);
}
.re-initiative .re-eyebrow {
  color: var(--re-gold);
}
.re-initiative h3 {
  font-size: 1.5rem;
  margin-top: 1.5rem;
  line-height: 1.3;
}
.re-initiative p {
  margin-top: 1rem;
  font-size: 0.875rem;
  color: var(--re-muted-fg);
  line-height: 1.6;
}
.re-initiative__link {
  margin-top: 2rem;
  font-size: 0.875rem;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border-bottom: 1px solid var(--re-gold);
  padding-bottom: 2px;
}

/* CTA */
.re-cta-grid {
  display: grid;
  gap: 3rem;
  align-items: center;
}
@media (min-width: 1024px) {
  .re-cta-grid {
    grid-template-columns: repeat(12, 1fr);
  }
  .re-cta-main {
    grid-column: span 7;
  }
  .re-cta-actions {
    grid-column: span 5;
    padding-left: 2rem;
    border-left: 1px solid var(--re-border);
  }
}
.re-cta-actions {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.re-cta-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.25rem 1.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  transition:
    background 0.2s,
    color 0.2s;
}
.re-cta-btn--primary {
  background: var(--re-foreground);
  color: var(--re-paper);
}
.re-cta-btn--primary:hover {
  background: var(--re-navy);
}
.re-cta-btn--outline {
  border: 1px solid var(--re-foreground);
  color: var(--re-foreground);
}
.re-cta-btn--outline:hover {
  background: var(--re-foreground);
  color: var(--re-paper);
}
.re-cta-btn--text:hover {
  color: var(--re-gold);
}

/* Footer */
.re-footer {
  background: var(--re-background);
  border-top: 1px solid var(--re-border);
}
.re-footer__main {
  display: grid;
  gap: 3rem;
  padding: 5rem 0;
}
@media (min-width: 1024px) {
  .re-footer__main {
    grid-template-columns: repeat(12, 1fr);
  }
  .re-footer__brand {
    grid-column: span 4;
  }
  .re-footer__links {
    grid-column: span 8;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5rem;
  }
}
.re-footer__logo {
  height: 3rem;
  width: 3rem;
}
.re-footer__newsletter {
  margin-top: 2rem;
}
.re-footer__newsletter .re-eyebrow {
  display: block;
  margin-bottom: 0.75rem;
}
.re-footer__brand > a {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  color: var(--re-foreground);
  transition: color 0.2s ease;
}
.re-footer__brand-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.125rem;
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
}
.re-footer__brand-dash {
  color: var(--re-muted-fg);
  font-weight: 300;
}
.re-footer__brand-accent {
  font-weight: 300;
  font-style: italic;
  letter-spacing: 0.05em;
}
.re-footer__brand-desc {
  margin-top: 1.5rem;
  font-size: 0.875rem;
  color: rgba(34, 40, 48, 0.7);
  max-width: 20rem;
  line-height: 1.6;
}
.re-footer__form {
  display: flex;
  border: 1px solid var(--re-border);
  margin-top: 0;
}
.re-footer__form input {
  flex: 1;
  background: transparent;
  border: none;
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
  outline: none;
}
.re-footer__form button {
  background: var(--re-foreground);
  color: var(--re-paper);
  border: none;
  padding: 0 1.5rem;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  cursor: pointer;
  transition: background 0.2s;
}
.re-footer__form button:hover {
  background: var(--re-navy);
}
.re-footer__col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.re-footer__col li + li {
  margin-top: 0.75rem;
}
.re-footer__col a {
  font-size: 0.875rem;
  color: rgba(34, 40, 48, 0.8);
  transition: color 0.2s ease;
}
.re-footer__col a:hover {
  color: var(--re-foreground);
}
.re-footer__bottom {
  border-top: 1px solid var(--re-border);
  padding: 1.5rem 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: center;
  font-size: 0.75rem;
  color: var(--re-muted-fg);
}
.re-footer__bottom a {
  color: var(--re-muted-fg);
  transition: color 0.2s ease;
}
@media (min-width: 768px) {
  .re-footer__bottom {
    flex-direction: row;
    justify-content: space-between;
  }
}
.re-footer__bottom-links {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
  justify-content: center;
}
.re-footer__bottom a:hover {
  color: var(--re-foreground);
}

/* Animations */
@keyframes reFadeUp {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes reSlowZoom {
  from {
    transform: scale(1.04);
  }
  to {
    transform: scale(1.12);
  }
}
@keyframes reTicker {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
@keyframes rePing {
  75%,
  100% {
    transform: scale(2);
    opacity: 0;
  }
}

/* Hide WP theme chrome on restored era pages */
body.re-restored-era-page .site-header,
body.re-restored-era-page .site-footer,
body.re-restored-era-page .page-header,
body.re-restored-era-page #site-header,
body.re-restored-era-page #site-footer {
  display: none !important;
}
body.re-restored-era-page #content,
body.re-restored-era-page .site-main,
body.re-restored-era-page .page-content {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
}

/* Inner pages (About, Vision, etc.) */
.re-breadcrumbs {
  padding-top: 7rem;
  background: var(--re-background);
}
@media (min-width: 1024px) {
  .re-breadcrumbs {
    padding-top: 8rem;
  }
}
.re-breadcrumbs__nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  font-size: 12px;
  color: var(--re-muted-fg);
}
.re-breadcrumbs__nav a:hover {
  color: var(--re-foreground);
}
.re-breadcrumbs__current {
  color: var(--re-foreground);
}
.re-breadcrumbs__sep {
  opacity: 0.5;
  font-size: 10px;
}

.re-page-hero--editorial {
  background: var(--re-paper);
  padding: 3rem 0 5rem;
  border-bottom: 1px solid var(--re-border);
}
@media (min-width: 1024px) {
  .re-page-hero--editorial {
    padding: 5rem 0 7rem;
  }
}
.re-page-hero__title {
  font-weight: 300;
  font-size: clamp(2.25rem, 4vw, 3.75rem);
  line-height: 1.05;
  max-width: 56rem;
  color: var(--re-foreground);
}
.re-page-hero__lede {
  margin-top: 2rem;
  max-width: 42rem;
  font-size: 1.125rem;
  color: var(--re-muted-fg);
  line-height: 1.7;
}

.re-page-hero--image {
  position: relative;
  height: 70vh;
  min-height: 480px;
  overflow: hidden;
}
.re-page-hero__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.re-page-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.6),
    rgba(0, 0, 0, 0.35) 50%,
    rgba(0, 0, 0, 0.7)
  );
}
.re-page-hero__content {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-bottom: 4rem;
  z-index: 1;
}
@media (min-width: 1024px) {
  .re-page-hero__content {
    padding-bottom: 6rem;
  }
}
.re-page-hero__title--light {
  color: var(--re-paper);
  font-size: clamp(2.5rem, 5vw, 4.5rem);
  max-width: 56rem;
}
.re-page-hero__lede--light {
  color: rgba(248, 246, 243, 0.85);
}

.re-prose--lg {
  font-size: 17px;
  line-height: 1.7;
  color: rgba(34, 40, 48, 0.85);
}
.re-prose--lg p + p {
  margin-top: 1.5rem;
}

.re-quote-band {
  position: relative;
  height: 420px;
  overflow: hidden;
}
.re-quote-band--tall {
  height: 440px;
}
.re-quote-band__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.re-quote-band__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
}
.re-quote-band__overlay--dark {
  background: rgba(0, 0, 0, 0.55);
}
.re-quote-band__content {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.re-quote-band__text {
  font-family: 'Cormorant Garamond', serif;
  color: var(--re-paper);
  font-size: clamp(1.875rem, 4vw, 3rem);
  line-height: 1.2;
  max-width: 56rem;
  margin: 0;
  font-weight: 300;
}

.re-principles-grid--light .re-principle--light {
  border-top: 1px solid var(--re-border);
  padding-top: 2rem;
}
.re-principles-grid--light .re-principle__num {
  color: var(--re-gold);
}
.re-principles-grid--light .re-principle h3 {
  font-size: 1.5rem;
  margin-top: 1rem;
  color: var(--re-foreground);
}
.re-principles-grid--light .re-principle p {
  margin-top: 1rem;
  font-size: 0.875rem;
  color: var(--re-muted-fg);
  line-height: 1.6;
}
@media (min-width: 768px) {
  .re-principles-grid--light {
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem 3rem;
  }
}

.re-stats-inline {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-top: 2.5rem;
  padding-top: 2rem;
  border-top: 1px solid var(--re-border);
}

.re-chapters-grid {
  display: grid;
  gap: 3rem;
  margin-top: 4rem;
}
@media (min-width: 768px) {
  .re-chapters-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem;
  }
}
.re-chapter {
  border-top: 1px solid var(--re-border);
  padding-top: 2rem;
}
.re-chapter h3 {
  font-size: 1.5rem;
  margin-top: 0.75rem;
  line-height: 1.3;
}
.re-chapter p {
  margin-top: 1rem;
  font-size: 0.875rem;
  color: var(--re-muted-fg);
  line-height: 1.6;
}

/* Active nav link */
.re-header__nav a.is-active {
  color: var(--re-gold);
}
.re-header.is-transparent .re-header__nav a.is-active {
  color: var(--re-gold-soft);
}
body.re-restored-era-page .re-header.is-solid .re-header__nav a.is-active,
body.re-restored-era-page .re-header.is-solid .re-header__nav a.is-active:visited {
  color: var(--re-gold);
}
body.re-restored-era-page .re-header.is-transparent .re-header__nav a.is-active,
body.re-restored-era-page .re-header.is-transparent .re-header__nav a.is-active:visited {
  color: var(--re-gold-soft);
}

/* Category grid */
.re-cat-grid {
  display: grid;
  grid-template-columns: 1fr;
  border-top: 1px solid var(--re-border);
  border-left: 1px solid var(--re-border);
}
@media (min-width: 768px) {
  .re-cat-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .re-cat-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
.re-cat-card {
  display: block;
  border-right: 1px solid var(--re-border);
  border-bottom: 1px solid var(--re-border);
  background: var(--re-background);
  transition: background 0.2s;
}
.re-cat-card:hover {
  background: var(--re-paper);
}
.re-cat-card__img {
  aspect-ratio: 4/3;
  overflow: hidden;
}
.re-cat-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(20%);
  transition:
    transform 0.7s,
    filter 0.7s;
}
.re-cat-card:hover .re-cat-card__img img {
  transform: scale(1.05);
  filter: grayscale(0);
}
.re-cat-card__body {
  padding: 2rem;
}
.re-cat-card__top {
  display: flex;
  justify-content: space-between;
  font-size: 0.75rem;
  color: var(--re-muted-fg);
}
.re-cat-card h3 {
  font-size: 1.5rem;
  margin-top: 1.25rem;
  line-height: 1.3;
}
.re-cat-card p {
  margin-top: 0.75rem;
  font-size: 0.875rem;
  color: var(--re-muted-fg);
  line-height: 1.5;
}
.re-cat-card__foot {
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid var(--re-border);
  display: flex;
  justify-content: space-between;
  font-size: 0.75rem;
  color: rgba(34, 40, 48, 0.7);
}

/* Filters */
.re-filter-bar {
  background: var(--re-paper);
  padding: 2.5rem 0;
  border-bottom: 1px solid var(--re-border);
  position: sticky;
  top: 5rem;
  z-index: 30;
}
.re-filter-bar--media {
  padding: 2rem 0;
}
.re-filter-bar__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 1.5rem;
}
.re-filter-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.re-filter-pill {
  font-size: 12px;
  padding: 0.375rem 0.75rem;
  border: 1px solid var(--re-border);
  background: transparent;
  color: var(--re-muted-fg);
  cursor: pointer;
  transition: all 0.2s;
}
.re-filter-pill.is-active,
.re-filter-pill:hover {
  border-color: var(--re-foreground);
  background: var(--re-foreground);
  color: var(--re-paper);
}
.re-filter-select,
.re-filter-input {
  font-size: 12px;
  background: transparent;
  border: 1px solid var(--re-border);
  padding: 0.375rem 0.75rem;
  color: var(--re-foreground);
  outline: none;
}
.re-filter-input {
  flex: 1;
  min-width: 200px;
  font-size: 13px;
}
.re-filter-empty {
  text-align: center;
  padding: 4rem 0;
  color: var(--re-muted-fg);
}

/* List rows */
.re-list-rows {
  border-top: 1px solid var(--re-border);
}
.re-list-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  padding: 2rem 0;
  border-bottom: 1px solid var(--re-border);
  transition: background 0.2s;
}
.re-list-row:hover {
  background: var(--re-paper);
}
@media (min-width: 768px) {
  .re-list-row {
    grid-template-columns: 2fr 5fr 3fr;
    gap: 1.5rem;
    align-items: start;
  }
  .re-list-row__date {
    font-size: 0.75rem;
    color: var(--re-muted-fg);
    padding-top: 0.5rem;
  }
  .re-list-row__meta {
    font-size: 0.75rem;
    color: var(--re-muted-fg);
    text-align: right;
    padding-top: 0.5rem;
  }
}
.re-list-row h3 {
  font-size: 1.5rem;
  line-height: 1.3;
  margin-top: 0.5rem;
  transition: color 0.2s;
}
.re-list-row:hover h3 {
  color: var(--re-gold);
}

/* Card grids */
.re-card-grid-3 {
  display: grid;
  gap: 3rem;
}
@media (min-width: 768px) {
  .re-card-grid-3 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .re-card-grid-3 {
    grid-template-columns: repeat(3, 1fr);
  }
}
.re-article-card {
  display: block;
}
.re-article-card__img {
  aspect-ratio: 4/3;
  overflow: hidden;
  margin-bottom: 0;
}
.re-article-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s;
}
.re-article-card:hover .re-article-card__img img {
  transform: scale(1.05);
}
.re-article-card h3 {
  font-size: 1.5rem;
  line-height: 1.3;
  margin-top: 0.75rem;
  transition: color 0.2s;
}
.re-article-card:hover h3 {
  color: var(--re-gold);
}
.re-article-card p {
  margin-top: 0.75rem;
  font-size: 0.875rem;
  color: var(--re-muted-fg);
  line-height: 1.6;
}

/* Featured film */
.re-featured-film {
  position: relative;
  aspect-ratio: 21/9;
  overflow: hidden;
}
.re-featured-film img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.re-featured-film__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.8),
    rgba(0, 0, 0, 0.2) 50%,
    transparent
  );
}
.re-featured-film__content {
  position: absolute;
  bottom: 2.5rem;
  left: 2.5rem;
  right: 2.5rem;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  color: var(--re-paper);
}

/* Initiatives grid */
.re-init-grid {
  display: grid;
  gap: 1px;
  background: var(--re-border);
  border: 1px solid var(--re-border);
}
@media (min-width: 768px) {
  .re-init-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
.re-init-grid__item {
  display: block;
  background: var(--re-background);
  padding: 2.5rem;
  transition: background 0.2s;
}
.re-init-grid__item:hover {
  background: var(--re-paper);
}
.re-init-grid__item h3 {
  font-size: 1.875rem;
  margin-top: 1rem;
  line-height: 1.3;
}

/* Library */
.re-alpha-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}
.re-alpha-nav a {
  font-size: 11px;
  padding: 0.25rem 0.5rem;
  border: 1px solid var(--re-border);
  color: var(--re-foreground);
  text-decoration: none;
}
.re-alpha-nav a.is-disabled {
  color: rgba(107, 114, 128, 0.4);
  pointer-events: none;
}
.re-alpha-nav a:hover:not(.is-disabled) {
  border-color: var(--re-gold);
}
.re-library-index {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
.re-library-letter-head {
  display: flex;
  align-items: baseline;
  gap: 1.5rem;
  border-bottom: 1px solid var(--re-border);
  padding-bottom: 0.75rem;
  margin-bottom: 1.5rem;
}
.re-library-letter {
  font-family: 'Cormorant Garamond', serif;
  font-size: 3rem;
}
.re-library-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 0.75rem;
}
@media (min-width: 768px) {
  .re-library-list {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 3rem;
  }
}
.re-library-list a {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid rgba(214, 211, 205, 0.6);
}
.re-library-list a:hover .re-library-list__title {
  color: var(--re-gold);
}
.re-library-list__title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.125rem;
}
.re-library-list__meta {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--re-muted-fg);
  white-space: nowrap;
}

/* Forms */
.re-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.re-form input,
.re-form select,
.re-form textarea {
  width: 100%;
  border: 1px solid var(--re-border);
  background: var(--re-background);
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
  outline: none;
  font-family: inherit;
}
.re-form input:focus,
.re-form select:focus,
.re-form textarea:focus {
  border-color: var(--re-foreground);
}
.re-form__submit {
  align-self: flex-start;
  background: var(--re-foreground);
  color: var(--re-paper);
  border: none;
  padding: 0.75rem 2rem;
  font-size: 0.875rem;
  cursor: pointer;
  transition: background 0.2s;
}
.re-form__submit:hover:not(:disabled) {
  background: var(--re-navy);
}
.re-form__submit:disabled {
  opacity: 0.65;
  cursor: wait;
}
.re-form__honeypot {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.re-form__messages {
  margin-top: 0.25rem;
}
.re-form__notice {
  padding: 1rem 1.25rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border: 1px solid var(--re-border);
}
.re-form__notice--success {
  background: #f4f7f2;
  border-color: #c5d4bc;
  color: #2d3a28;
}
.re-form__notice--error {
  background: #fdf6f4;
  border-color: #e8d0c8;
  color: #5c3d34;
}
.re-form__field.has-error input,
.re-form__field.has-error select,
.re-form__field.has-error textarea {
  border-color: #b85445;
}
.re-form__error {
  display: block;
  font-size: 0.75rem;
  color: #b85445;
  margin-top: 0.25rem;
  min-height: 0;
}
.re-form__field label:not(.screen-reader-text) {
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--re-muted-fg);
  margin-bottom: 0.35rem;
  display: block;
}
.re-footer__form.re-ajax-form {
  display: block;
  border: none;
  margin-top: 0.75rem;
}
.re-footer__form-row {
  display: flex;
  border: 1px solid var(--re-border);
}
.re-footer__form-row input {
  flex: 1;
  background: transparent;
  border: none;
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
  outline: none;
}
.re-footer__form-row .re-footer__form-btn {
  background: var(--re-foreground);
  color: var(--re-paper);
  border: none;
  padding: 0 1.5rem;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  cursor: pointer;
  transition: background 0.2s;
}
.re-footer__form-row .re-footer__form-btn:hover:not(:disabled) {
  background: var(--re-navy);
}
.re-footer__form .re-form__messages {
  margin-top: 0.5rem;
}
.re-correspondence__box .re-form {
  margin-top: 1rem;
}
.re-correspondence__box .re-form__messages {
  margin-bottom: 0.5rem;
}

/* Framework articles */
.re-framework-article {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  border-top: 1px solid var(--re-border);
  padding-top: 2.5rem;
  margin-top: 2.5rem;
}
.re-framework-article:first-child {
  border-top: none;
  margin-top: 0;
  padding-top: 0;
}
@media (min-width: 768px) {
  .re-framework-article {
    grid-template-columns: 1fr 2fr;
    gap: 2rem;
  }
}

/* Leaders */
.re-leaders-grid {
  display: grid;
  gap: 3rem;
}
@media (min-width: 768px) {
  .re-leaders-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
.re-leader-card {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 1.5rem;
  border-top: 1px solid var(--re-border);
  padding-top: 2rem;
}
.re-leader-card__photo {
  aspect-ratio: 3/4;
  background: var(--re-beige);
}
.re-board-grid {
  display: grid;
  gap: 1rem;
}
@media (min-width: 768px) {
  .re-board-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .re-board-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
.re-board-item {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  border-top: 1px solid var(--re-border);
  padding-top: 1rem;
  gap: 1rem;
}

/* Regions */
.re-region-grid {
  display: grid;
  gap: 1px;
  background: var(--re-border);
  border: 1px solid var(--re-border);
}
@media (min-width: 768px) {
  .re-region-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .re-region-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
.re-region-card {
  background: var(--re-paper);
  padding: 2rem;
}

.re-disciplines-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem 2rem;
}
@media (min-width: 768px) {
  .re-disciplines-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1024px) {
  .re-disciplines-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
.re-discipline {
  border-top: 1px solid var(--re-border);
  padding-top: 0.75rem;
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.25rem;
}

/* Timeline */
.re-roadmap {
  display: grid;
  gap: 3rem;
}
@media (min-width: 768px) {
  .re-roadmap {
    grid-template-columns: 1fr 2fr;
  }
}
@media (min-width: 768px) {
  .re-roadmap__sidebar {
    position: sticky;
    top: 8rem;
    align-self: start;
  }
}
.re-timeline {
  list-style: none;
  padding: 0 0 0 2.5rem;
  margin: 0;
  border-left: 1px solid var(--re-border);
}
.re-timeline__item {
  position: relative;
  padding-bottom: 3rem;
}
.re-timeline__item::before {
  content: '';
  position: absolute;
  left: -2.75rem;
  top: 0.5rem;
  width: 12px;
  height: 12px;
  background: var(--re-gold);
  border-radius: 50%;
}
.re-timeline__year {
  font-family: 'Cormorant Garamond', serif;
  font-size: 3rem;
  line-height: 1;
}

.re-offices-grid {
  display: grid;
  gap: 1px;
  background: var(--re-border);
  border: 1px solid var(--re-border);
}
@media (min-width: 768px) {
  .re-offices-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .re-offices-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
.re-office-card {
  background: var(--re-paper);
  padding: 2rem;
}

/* Subsystems list */
.re-subs-list--desktop {
  display: none;
  border-top: 1px solid var(--re-border);
  padding-top: 2rem;
}
@media (min-width: 768px) {
  .re-subs-list--desktop {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0 2.5rem;
  }
  .re-accordion-mobile {
    display: none;
  }
}
.re-subs-list__item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid var(--re-border);
  padding: 0.75rem 0;
  transition: color 0.2s;
}
.re-subs-list__item:hover {
  color: var(--re-gold);
}
.re-subs-num {
  font-size: 10px;
  color: var(--re-muted-fg);
  margin-right: 0.75rem;
}
.re-subs-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.125rem;
}
.re-accordion-mobile details {
  border-bottom: 1px solid var(--re-border);
}
.re-accordion-mobile summary {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.125rem;
  padding: 1rem 0;
  cursor: pointer;
  list-style: none;
}
.re-accordion-mobile summary::-webkit-details-marker {
  display: none;
}
.re-accordion-mobile ul {
  padding: 0 0 1rem 1rem;
  margin: 0;
  color: var(--re-muted-fg);
  line-height: 1.8;
}

.re-domain-nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.re-domain-nav a {
  padding: 2.5rem 0;
  transition: color 0.2s;
}
.re-domain-nav a:hover {
  color: var(--re-gold);
}
.re-domain-nav__prev {
  border-right: 1px solid var(--re-border);
  padding-right: 1.5rem;
}
.re-domain-nav__next {
  text-align: right;
  padding-left: 1.5rem;
}

/* Article detail */
.re-article-meta {
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--re-border);
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 2rem;
  font-size: 0.75rem;
  color: var(--re-muted-fg);
}
.re-article-body {
  max-width: 48rem;
  margin-top: 4rem;
}
.re-article-p {
  font-size: 18px;
  line-height: 1.85;
  color: rgba(34, 40, 48, 0.9);
  margin-top: 1.75rem;
}
.re-article-p--dropcap:first-letter {
  font-family: 'Cormorant Garamond', serif;
  font-size: 3.75rem;
  float: left;
  margin-right: 0.75rem;
  line-height: 0.9;
}
.re-article-share {
  margin-top: 4rem;
  padding-top: 2rem;
  border-top: 1px solid var(--re-border);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
}
.re-article-share__links {
  display: flex;
  gap: 1rem;
  font-size: 0.75rem;
  color: var(--re-muted-fg);
}
.re-article-share__links a:hover {
  color: var(--re-foreground);
}
.re-correspondence {
  margin-top: 4rem;
}
.re-correspondence__box {
  border: 1px solid var(--re-border);
  padding: 2rem;
  background: var(--re-paper);
}
.re-correspondence__box textarea {
  width: 100%;
  margin-top: 1.25rem;
  min-height: 120px;
  border: 1px solid var(--re-border);
  padding: 1rem;
  font-size: 0.875rem;
  outline: none;
  font-family: inherit;
}
.re-correspondence__box .re-form__submit {
  margin-top: 1rem;
}

/* Elementor canvas homepage — preserve Restored Era layout */
body.re-restored-era-page .elementor-section-wrap,
body.re-restored-era-page .elementor-inner,
body.re-restored-era-page .elementor-row {
  width: 100%;
}
body.re-restored-era-page .elementor-section.elementor-section-stretched {
  left: 0 !important;
  width: 100% !important;
}
body.re-restored-era-page .elementor-widget-html .elementor-widget-container {
  line-height: normal;
  padding: 0;
  margin: 0;
}
body.re-restored-era-page .elementor-section,
body.re-restored-era-page .e-con {
  background: transparent;
}
body.re-restored-era-page .entry-title,
body.re-restored-era-page .page-header,
body.re-restored-era-page .site-header,
body.re-restored-era-page .site-footer,
body.re-restored-era-page .elementor-page-title {
  display: none !important;
}
body.re-restored-era-page #content.site-main {
  padding: 0;
  margin: 0;
  max-width: none;
}

/* Video modal — Lovable palette tokens only */
.re-video-modal[hidden] {
  display: none !important;
}
body.re-video-modal-open {
  overflow: hidden;
}
.re-video-modal {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
}
.re-video-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.85);
}
.re-video-modal__dialog {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 960px;
  background: var(--re-foreground);
  color: var(--re-paper);
  padding: 1.5rem;
}
.re-video-modal__close {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  border: 0;
  background: transparent;
  color: var(--re-paper);
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
  padding: 0.25rem 0.5rem;
}
.re-video-modal__close:hover {
  color: var(--re-gold-soft);
}
.re-video-modal__title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.5rem;
  margin: 0 2.5rem 1rem 0;
  font-weight: 400;
}
.re-video-modal__embed {
  position: relative;
  aspect-ratio: 16/9;
  background: var(--re-dark);
}
.re-video-modal__embed iframe,
.re-video-modal__embed video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.re-library-list__btn {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  padding: 0.5rem 0;
  border: 0;
  border-bottom: 1px solid var(--re-border);
  background: transparent;
  text-align: left;
  font: inherit;
  color: inherit;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}
.re-library-list__btn:hover .re-library-list__title {
  color: var(--re-gold);
}
/* Override Hello Elementor global link/button colors (#c36) on Restored Era pages */
body.re-restored-era-page .re-page a,
body.re-restored-era-page .re-page a:visited,
body.re-restored-era-page .re-page a:hover,
body.re-restored-era-page .re-page a:focus,
body.re-restored-era-page .re-page a:active {
  color: inherit;
  text-decoration: none;
}
body.re-restored-era-page .re-page a.re-media-card,
body.re-restored-era-page .re-page a.re-media-card:visited,
body.re-restored-era-page .re-page a.re-media-card:hover,
body.re-restored-era-page .re-page a.re-media-card:focus,
body.re-restored-era-page .re-page a.re-media-card:active {
  color: #fff;
}
body.re-restored-era-page .re-page a.re-btn-primary,
body.re-restored-era-page .re-page a.re-btn-primary:visited {
  color: var(--re-foreground);
}
body.re-restored-era-page .re-page a.re-btn-primary:hover {
  color: var(--re-foreground);
  background: var(--re-gold);
}
body.re-restored-era-page .re-page button.re-filter-pill,
body.re-restored-era-page .re-page .re-filter-pill {
  font-family: inherit;
  line-height: inherit;
  border-radius: 0;
  box-shadow: none;
  appearance: none;
  -webkit-appearance: none;
}
body.re-restored-era-page .re-page button.re-filter-pill {
  color: var(--re-muted-fg);
  background: transparent;
}
body.re-restored-era-page .re-page .re-filter-pill:hover,
body.re-restored-era-page .re-page .re-filter-pill.is-active {
  color: var(--re-paper);
}
body.re-restored-era-page .re-page .re-filter-select,
body.re-restored-era-page .re-page .re-filter-input {
  font-family: inherit;
  border-radius: 0;
  box-shadow: none;
}
body.re-restored-era-page .re-page .re-library-list__btn,
body.re-restored-era-page .re-page .re-library-list__btn:hover,
body.re-restored-era-page .re-page .re-library-list__btn:focus {
  color: inherit;
  text-decoration: none;
}
/* Header & footer — block Hello Elementor #c36 link tint */
body.re-restored-era-page .re-header a,
body.re-restored-era-page .re-header a:visited,
body.re-restored-era-page .re-footer a,
body.re-restored-era-page .re-footer a:visited {
  text-decoration: none;
}
body.re-restored-era-page .re-header__brand,
body.re-restored-era-page .re-header__brand:link,
body.re-restored-era-page .re-header__brand:visited,
body.re-restored-era-page .re-header__brand:hover,
body.re-restored-era-page .re-header__brand:focus,
body.re-restored-era-page .re-header__brand:active {
  color: var(--re-foreground);
}
body.re-restored-era-page .re-header.is-transparent .re-header__brand,
body.re-restored-era-page .re-header.is-transparent .re-header__brand:link,
body.re-restored-era-page .re-header.is-transparent .re-header__brand:visited,
body.re-restored-era-page .re-header.is-transparent .re-header__brand:hover,
body.re-restored-era-page .re-header.is-transparent .re-header__brand:focus,
body.re-restored-era-page .re-header.is-transparent .re-header__brand:active {
  color: #fff;
}
body.re-restored-era-page .re-header__brand .re-header__title-dash {
  color: var(--re-muted-fg);
}
body.re-restored-era-page .re-header.is-transparent .re-header__brand .re-header__title-dash {
  color: rgba(255, 255, 255, 0.6);
}
body.re-restored-era-page .re-header__brand .re-header__subtitle {
  color: var(--re-muted-fg);
}
body.re-restored-era-page .re-header.is-transparent .re-header__brand .re-header__subtitle {
  color: rgba(255, 255, 255, 0.75);
}
body.re-restored-era-page .re-header.is-solid .re-header__nav a,
body.re-restored-era-page .re-header.is-solid .re-header__nav a:visited {
  color: var(--re-foreground);
}
body.re-restored-era-page .re-header.is-solid .re-header__nav a:hover {
  color: var(--re-gold);
}
body.re-restored-era-page .re-header.is-transparent .re-header__nav a,
body.re-restored-era-page .re-header.is-transparent .re-header__nav a:visited {
  color: #fff;
}
body.re-restored-era-page .re-header.is-transparent .re-header__nav a:hover {
  color: var(--re-gold-soft);
}
body.re-restored-era-page .re-footer__col a,
body.re-restored-era-page .re-footer__col a:visited {
  color: rgba(34, 40, 48, 0.8);
}
body.re-restored-era-page .re-footer__col a:hover {
  color: var(--re-foreground);
}
body.re-restored-era-page .re-footer__bottom a,
body.re-restored-era-page .re-footer__bottom a:visited {
  color: var(--re-muted-fg);
}
body.re-restored-era-page .re-footer__bottom a:hover {
  color: var(--re-foreground);
}
body.re-restored-era-page .re-mega__link,
body.re-restored-era-page .re-mega__link:visited {
  color: var(--re-foreground);
}
body.re-restored-era-page .re-mega__link:hover .re-mega__name {
  color: var(--re-gold);
}
body.re-restored-era-page .re-hero .re-btn-primary,
body.re-restored-era-page .re-hero .re-btn-primary:visited,
body.re-restored-era-page .re-hero .re-btn-primary:hover {
  color: var(--re-foreground) !important;
}
body.re-restored-era-page .re-hero .re-btn-outline,
body.re-restored-era-page .re-hero .re-btn-outline:visited {
  color: #fff !important;
}
body.re-restored-era-page .re-hero .re-btn-outline:hover {
  color: var(--re-foreground) !important;
  background: #fff;
}

/* Header search modal */
.re-search-modal {
  position: fixed;
  inset: 0;
  z-index: 200;
}
.re-search-modal[hidden] {
  display: none;
}
.re-search-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
}
.re-search-modal__panel {
  position: absolute;
  top: 5.5rem;
  right: 1.5rem;
  width: min(22rem, calc(100vw - 2rem));
  max-height: min(20rem, calc(100vh - 7rem));
  display: flex;
  flex-direction: column;
  background: var(--re-paper);
  border: 1px solid var(--re-border);
  box-shadow: 0 16px 40px -12px rgba(0, 0, 0, 0.2);
}
@media (min-width: 1024px) {
  .re-search-modal__panel {
    right: max(1.5rem, calc((100vw - var(--re-container)) / 2 + 1.5rem));
  }
}
.re-search-modal__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--re-border);
}
.re-search-modal__title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.125rem;
  font-weight: 500;
  margin: 0;
  line-height: 1.2;
}
.re-search-modal__close {
  background: none;
  border: none;
  font-size: 1.25rem;
  line-height: 1;
  padding: 0.25rem 0.5rem;
  cursor: pointer;
  color: var(--re-muted-fg);
  transition: color 0.2s ease;
  appearance: none;
  -webkit-appearance: none;
}
.re-search-modal__close:hover {
  color: var(--re-foreground);
}
.re-search-modal__field {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 1rem;
  border-bottom: 1px solid var(--re-border);
}
.re-search-modal__icon {
  flex-shrink: 0;
  color: var(--re-muted-fg);
}
.re-search-modal__input {
  flex: 1;
  min-width: 0;
  border: none;
  background: transparent;
  font-size: 0.8125rem;
  outline: none;
  color: var(--re-foreground);
}
.re-search-modal__input::placeholder {
  color: var(--re-muted-fg);
}
.re-search-modal__hint {
  margin: 0;
  padding: 0.5rem 1rem 0;
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--re-muted-fg);
}
.re-search-modal__results {
  overflow-y: auto;
  padding: 0.375rem 0 0.5rem;
  min-height: 2.5rem;
}
.re-search-modal__empty {
  margin: 0;
  padding: 0.75rem 1rem 1rem;
  font-size: 0.8125rem;
  color: var(--re-muted-fg);
}
.re-search-modal__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.re-search-modal__hit {
  display: block;
  padding: 0.5rem 1rem;
  border-top: 1px solid var(--re-border);
  transition: background 0.15s ease;
}
.re-search-modal__list li:first-child .re-search-modal__hit {
  border-top: none;
}
.re-search-modal__hit:hover {
  background: var(--re-secondary);
}
.re-search-modal__hit-type {
  display: block;
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--re-gold);
}
.re-search-modal__hit-title {
  display: block;
  font-size: 0.875rem;
  line-height: 1.3;
  color: var(--re-foreground);
  margin-top: 0.125rem;
}
.re-search-modal__hit-sub {
  display: block;
  font-size: 0.75rem;
  color: var(--re-muted-fg);
  margin-top: 0.125rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.re-search-modal-open {
  overflow: hidden;
}
body.re-restored-era-page .re-search-modal__hit,
body.re-restored-era-page .re-search-modal__hit:visited {
  color: inherit;
  text-decoration: none;
}
body.re-restored-era-page .re-search-modal__hit:hover .re-search-modal__hit-title {
  color: var(--re-foreground);
}
