/* FAFA: printed editorial typography with an ink, pine, and brass palette. */
.em-brief.fafa-brief {
  --em-canvas: #f7f6f0;
  --em-sage: #eef3ee;
  --em-copy: #263746;
  --fafa-brass: #ac8044;
  --fafa-warm-rule: #dbd6c7;
}

.fafa-brief .em-header {
  position: relative;
  z-index: 4;
  background: #fffefb;
  border-bottom-color: var(--fafa-warm-rule);
  box-shadow: 0 3px 14px rgb(23 48 87 / 5%);
}
.fafa-brief .em-utility {
  background: #173057;
  color: #f9f8ee;
  border-bottom: 0;
}
.fafa-brief .em-utility :is(a, nav a) { color: #f9f8ee; }
.fafa-brief .em-utility .em-shell { min-height: 37px; }
.fafa-brief .em-utility a { text-underline-offset: 4px; }
.fafa-brief .em-utility .fafa-verify-link { color: #ffe1a8; }
.fafa-brief .em-main-nav:is(.em-shell) { min-height: 86px; }
.fafa-brief .em-brand {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  padding-block: 8px;
}
.fafa-brief .em-main-nav .em-desktop-nav { gap: clamp(16px, 2.55vw, 36px); }
.fafa-brief .em-main-nav .em-desktop-nav a {
  position: relative;
  font-size: .94rem;
  letter-spacing: .015em;
  transition: color .2s ease, background-color .2s ease, border-color .2s ease;
}
.fafa-brief .em-main-nav .em-desktop-nav a:not(.fafa-verify-link)::after {
  position: absolute;
  inset: auto 0 5px;
  height: 2px;
  background: var(--fafa-brass);
  content: "";
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .2s ease;
}
.fafa-brief .em-main-nav .em-desktop-nav a:not(.fafa-verify-link):is(:hover, [aria-current="page"]) {
  color: var(--em-green);
  text-decoration: none;
}
.fafa-brief .em-main-nav .em-desktop-nav a:not(.fafa-verify-link):is(:hover, [aria-current="page"])::after {
  transform: scaleX(1);
}
.fafa-brief .em-main-nav .em-desktop-nav .fafa-verify-link {
  padding-inline: 14px;
  color: var(--em-green);
  background: #edf5eb;
  border-color: #bfd1be;
  border-radius: 5px;
}
.fafa-brief .em-main-nav .em-desktop-nav .fafa-verify-link:is(:hover, [aria-current="page"]) {
  color: #fff;
  background: var(--em-green);
  border-color: var(--em-green);
  text-decoration: none;
}
.fafa-brief .em-menu summary {
  border-radius: 5px;
  border-color: #a6b9ac;
  color: var(--em-green-dark);
  background: #f0f6ee;
}
.fafa-brief .em-menu[open] summary { background: #e3eee1; }
.fafa-brief .em-menu nav { box-shadow: 0 15px 35px rgb(23 48 87 / 16%); }

.fafa-brief .em-hero {
  background: radial-gradient(ellipse at 82% 16%, #e8efe8, transparent 62%), var(--em-canvas);
  border-bottom-color: var(--fafa-warm-rule);
}
.fafa-brief .em-detail-hero {
  background: radial-gradient(ellipse at 85% 12%, #e9f1ed, transparent 67%), #f8f7f2;
}
.fafa-brief h1 { letter-spacing: -.038em; }
.fafa-brief .em-hero .em-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.fafa-brief .em-hero .em-eyebrow::before {
  width: 21px;
  height: 2px;
  background: var(--fafa-brass);
  content: "";
}
.fafa-brief .em-hero-image img {
  border: 1px solid #aebfaf;
  border-radius: 6px;
  box-shadow: 0 20px 48px rgb(23 48 87 / 12%);
}
.fafa-brief .em-side { border-color: #c8d6cb; border-top: 3px solid var(--em-green); }
.fafa-brief .em-alt { border-color: var(--fafa-warm-rule); }

.fafa-brief .em-footer-cta {
  padding-block: clamp(29px, 4.5vw, 55px);
  background: linear-gradient(105deg, #e9f1e8, #f8f4e7);
  border-block: 1px solid #d8dfd4;
}
.fafa-brief .em-footer-cta .em-eyebrow { margin-bottom: 8px; }
.fafa-brief .em-footer-cta .em-button { border-radius: 5px; }
.fafa-brief .em-footer {
  padding-block: clamp(35px, 5vw, 64px) 0;
  background: linear-gradient(135deg, #173057 8%, #172e4b 58%, #173e34);
  border-top: 3px solid var(--fafa-brass);
  color: #f7f9fd;
}
.fafa-brief .em-footer-grid {
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1.25fr);
  gap: clamp(22px, 4vw, 64px);
}
.fafa-brief .em-footer-grid > :first-child strong {
  display: block;
  max-width: 22ch;
  margin-bottom: 8px;
  font: 600 clamp(1.2rem, 2vw, 1.6rem)/1.3 var(--em-serif);
}
.fafa-brief .em-footer-grid > :first-child p { color: #dce5ef; margin-bottom: 5px; }
.fafa-brief .em-footer-grid .em-footer-heading {
  color: #ffe0a7;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.fafa-brief .em-footer-grid nav { gap: 1px; }
.fafa-brief .em-footer-grid :is(a, p) { font-size: .95rem; }
.fafa-brief .em-footer-grid nav a {
  width: fit-content;
  max-width: 100%;
  padding-block: 5px;
  color: #f1f6fa;
  text-decoration: none;
  transition: color .18s ease;
}
.fafa-brief .em-footer-grid nav a:is(:hover, :focus-visible) {
  color: #ffe0a7;
  text-decoration: underline;
}
.fafa-brief .em-footer :focus-visible, .fafa-brief .em-utility :focus-visible { outline-color: #ffe0a7; }
.fafa-brief .em-footer-base {
  margin-top: clamp(28px, 4vw, 52px);
  padding-block: 15px;
  background: rgb(8 20 38 / 30%);
  border-color: #a9b5c44d;
  color: #dce5ef;
}
@media (max-width: 660px) {
  .fafa-brief .em-utility .em-shell { font-size: .8rem; }
  .fafa-brief .em-main-nav:is(.em-shell) { min-height: 68px; }
  .fafa-brief .em-utility .em-shell { justify-content: space-between; gap: 8px; padding-block: 0; }
  .fafa-brief .em-utility nav { display: flex; }
  .fafa-brief .em-utility nav a:not(.fafa-verify-link) { display: none; }
  .fafa-brief .em-utility .em-shell a { display: inline-flex; min-height: 44px; align-items: center; }
  .fafa-brief .em-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; }
  .fafa-brief .em-footer-grid > :first-child { grid-column: 1 / -1; }
  .fafa-brief .em-footer-grid nav a { min-height: 40px; display: flex; align-items: center; }
}
@media (prefers-reduced-motion: reduce) {
  .fafa-brief .em-main-nav .em-desktop-nav a,
  .fafa-brief .em-main-nav .em-desktop-nav a::after,
  .fafa-brief .em-footer-grid nav a { transition: none; }
}
