/* FiscalEdge Insights: an editorial library within the approved brand.
   Presentation only. Native posts, media, search and pagination stay unchanged. */

.fe-insights,
.fe-latest-insights,
.fe-single-article,
.fe-related {
  --fe-editorial-paper: #f6f5ef;
  --fe-editorial-rule: #cbd2ce;
  --fe-editorial-ink: #082f42;
}

/* The library toolbar reads like an index, with quiet topic navigation. */
.fe-insights-toolbar {
  align-items: end;
  gap: 32px 48px;
  padding-bottom: 32px;
  margin-bottom: 50px;
  border-color: var(--fe-editorial-rule);
}
.fe-insights-search { max-width: 440px; }
.fe-insights-search label {
  color: var(--fe-editorial-ink);
  font: 500 .69rem/1.7 ui-monospace, Consolas, monospace;
  text-transform: uppercase;
  letter-spacing: .11em;
}
.fe-search-field { gap: 0; }
.fe-insights-search input[type=search] {
  background: transparent;
  border: 1px solid #8b9c9e;
  border-right: 0;
  border-radius: 0;
  padding: 14px;
  font-size: .9rem;
  line-height: 1.5;
}
.fe-insights-search button {
  border-radius: 0;
  padding: 14px 19px;
  background: #082f42;
  box-shadow: none;
}
.fe-insights-search button span { margin-left: 12px; }
.fe-topic-links { gap: 4px 20px; }
.fe-topic-links a {
  border: 0;
  border-bottom: 1px solid transparent;
  border-radius: 0;
  padding: 10px 0;
  min-height: 44px;
  background: transparent;
  color: #095764;
  font: 500 .77rem/1.5 var(--fe-font-sans, Arial, Helvetica, sans-serif);
  letter-spacing: 0;
}
.fe-topic-links a:hover,
.fe-topic-links a[aria-current] {
  background: transparent;
  color: #082f42;
  border-color: #bd8b2c;
}
.fe-insights .fe-section-heading,
.fe-latest-insights .fe-section-heading,
.fe-related .fe-section-heading {
  align-items: end;
  gap: 24px;
  margin-bottom: 36px;
}
.fe-insights .fe-section-heading h2,
.fe-latest-insights .fe-section-heading h2,
.fe-related .fe-section-heading h2 {
  font-family: var(--fe-font-serif, Georgia, 'Times New Roman', serif);
  font-weight: 400;
  font-size: clamp(2.35rem, 3.6vw, 3.6rem);
  letter-spacing: -.045em;
  line-height: 1.08;
}
.fe-insights .fe-section-heading > p {
  margin: 0 0 4px;
  font: .7rem/1.6 ui-monospace, Consolas, monospace;
  color: #52656a;
}

/* Stories sit on the page, separated by rules rather than floating panels. */
.fe-article-grid { gap: 42px 28px; }
.fe-article-card {
  display: flex;
  flex-direction: column;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transition: none;
}
.fe-article-card:hover,
.fe-article-card:focus-within,
.fe-article-card.fe-revealed:hover {
  transform: none;
  border-color: transparent;
  box-shadow: none;
}
.fe-article-image,
.fe-article-art {
  flex: 0 0 auto;
  aspect-ratio: 16 / 10;
  border-radius: 0;
}
.fe-article-image img { border-radius: 0; }
.fe-article-card:hover .fe-article-image img { transform: scale(1.02); }
.fe-article-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: start;
  padding: 24px 0 22px;
  border-bottom: 1px solid var(--fe-editorial-rule);
}
.fe-article-body h2,
.fe-article-body h3 {
  font-family: var(--fe-font-serif, Georgia, 'Times New Roman', serif);
  font-weight: 400;
  font-size: clamp(1.55rem, 2.05vw, 2rem);
  line-height: 1.15;
  letter-spacing: -.03em;
  margin-bottom: 16px;
}
.fe-article-body h2 a:hover,
.fe-article-body h3 a:hover { text-decoration-thickness: 1px; }
.fe-article-body .fe-article-excerpt {
  margin-top: 0;
  margin-bottom: 24px;
  font-size: .92rem;
  line-height: 1.75;
  color: #52656a;
}
.fe-article-category {
  color: #095764;
  font-size: .65rem;
  font-weight: 500;
  letter-spacing: .1em;
  margin-bottom: 15px;
}
.fe-article-meta {
  margin-top: auto;
  color: #52656a;
  gap: 6px 16px;
  font: .68rem/1.65 ui-monospace, Consolas, monospace;
}
.fe-article-link {
  display: inline-flex;
  align-items: center;
  gap: 20px;
  margin-top: 23px;
  padding-block: 7px;
  min-height: 40px;
  color: #082f42;
  font-size: .79rem;
}
.fe-article-link span { transition: transform .2s ease; }
.fe-article-link:hover span { transform: translate(3px, -3px); }

/* One prominent opening feature gives the directory a magazine hierarchy. */
.fe-article-card--featured {
  display: grid;
  grid-template-columns: 1.08fr 1fr;
  border-block: 1px solid var(--fe-editorial-rule);
  margin-bottom: 6px;
  background: var(--fe-editorial-paper);
}
.fe-article-card--featured:hover,
.fe-article-card--featured:focus-within { border-color: var(--fe-editorial-rule); }
.fe-article-card--featured .fe-article-image,
.fe-article-card--featured .fe-article-art {
  align-self: stretch;
  height: 100%;
  min-height: 440px;
  aspect-ratio: auto;
}
.fe-article-card--featured .fe-article-body {
  padding: 44px clamp(28px, 4vw, 58px);
  align-self: stretch;
  justify-content: center;
  border: 0;
}
.fe-article-card--featured h2,
.fe-article-card--featured h3 {
  font-size: clamp(2rem, 3vw, 3.25rem);
  line-height: 1.08;
  letter-spacing: -.04em;
}
.fe-article-card--featured .fe-featured-label {
  color: #095764;
  font-size: .63rem !important;
  margin: 0 0 32px;
}
.fe-article-card--featured .fe-article-meta { margin-top: 0; }

/* Original abstract plates: architecture and connected systems, not fake data. */
.fe-article-art {
  color: #f6f5ef;
  background: #082f42;
  isolation: isolate;
}
.fe-article-art::before,
.fe-article-art::after {
  content: '';
  position: absolute;
  left: 30%;
  top: 12%;
  width: 62%;
  height: 76%;
  aspect-ratio: auto;
  border: 1px solid #f6f5ef88;
  border-radius: 0;
  transform: skewY(-16deg);
  box-shadow: none;
  z-index: -1;
}
.fe-article-art::after {
  left: 46%;
  top: 4%;
  width: 62%;
  border-color: #bd8b2c;
}
.fe-article-art .fe-art-orbit {
  display: block;
  left: 15%;
  top: 24%;
  bottom: auto;
  width: 62%;
  height: 76%;
  border: 1px solid #f6f5ef44;
  transform: skewY(-16deg);
  z-index: -1;
}
.fe-article-art .fe-art-grid {
  display: block;
  left: 0;
  right: 0;
  top: 66%;
  bottom: auto;
  height: 1px;
  background: #f6f5ef33;
  transform: rotate(-16deg) scaleX(1.1);
  z-index: -1;
}
.fe-article-art .fe-art-mark {
  left: 24px;
  bottom: 24px;
  font-family: var(--fe-font-serif, Georgia, 'Times New Roman', serif);
  font-size: 2.3rem;
  font-weight: 400;
  letter-spacing: -.06em;
}
.fe-article-art .fe-art-mark > span {
  margin-top: 9px;
  font-size: .56rem;
  letter-spacing: .15em;
}
.fe-article-card:nth-child(3n+2) .fe-article-art {
  background: #dce4dc;
  color: #082f42;
}
.fe-article-card:nth-child(3n+2) .fe-article-art::before,
.fe-article-card:nth-child(3n+2) .fe-article-art .fe-art-orbit { border-color: #09576488; }
.fe-article-card:nth-child(3n+2) .fe-article-art::after { border-color: #095764; }
.fe-article-card:nth-child(3n+2) .fe-article-art .fe-art-grid { background: #09576444; }
.fe-article-card:nth-child(3n+3) .fe-article-art {
  background: #e5d8b9;
  color: #082f42;
}
.fe-article-card:nth-child(3n+3) .fe-article-art::before,
.fe-article-card:nth-child(3n+3) .fe-article-art .fe-art-orbit { border-color: #082f4288; }
.fe-article-card:nth-child(3n+3) .fe-article-art::after { border-color: #082f42; }
.fe-article-card:nth-child(3n+3) .fe-article-art .fe-art-grid { background: #082f4244; }
.fe-article-card--featured .fe-art-mark { left: 32px; bottom: 32px; font-size: 3rem; }

/* An honest empty library remains a substantial, useful part of the website. */
.fe-insights-empty {
  background: #082f42;
  border: 0;
  border-radius: 0;
  color: #f6f5ef;
  padding: clamp(30px, 5vw, 64px);
}
.fe-insights-empty:has(.fe-empty-symbol) {
  display: grid;
  grid-template-columns: minmax(160px, .6fr) minmax(0, 1.4fr);
  gap: clamp(30px, 5vw, 70px);
  align-items: center;
}
.fe-insights-empty h2,
.fe-insights-empty h3 {
  font-family: var(--fe-font-serif, Georgia, 'Times New Roman', serif);
  color: #f6f5ef;
  font-weight: 400;
  font-size: clamp(2.15rem, 3.7vw, 3.6rem);
  line-height: 1.1;
  letter-spacing: -.04em;
  margin: 0 0 25px;
  max-width: 760px;
}
.fe-insights-empty p { color: #cad8dc; font-size: .94rem; line-height: 1.8; }
.fe-empty-copy .fe-eyebrow {
  color: #dfc78e;
  margin-bottom: 25px !important;
  letter-spacing: .12em;
}
.fe-empty-symbol {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  max-width: 275px;
  margin: 0;
  transform: none;
  border: 1px solid #f6f5ef22;
}
.fe-empty-symbol::before {
  inset: 13%;
  border: 1px solid #f6f5ef33;
  border-radius: 0;
  transform: none;
}
.fe-empty-symbol::after {
  content: '';
  position: absolute;
  left: 50%;
  top: -12%;
  bottom: -12%;
  width: 1px;
  background: #f6f5ef22;
}
.fe-empty-symbol span,
.fe-empty-symbol span:nth-child(2),
.fe-empty-symbol span:nth-child(3) {
  position: absolute;
  width: 38%;
  height: 55%;
  left: 18%;
  top: 27%;
  padding: 0;
  border: 1px solid #9eb4b7;
  border-radius: 0;
  background: #082f42;
  transform: skewY(-21deg);
  box-shadow: none;
}
.fe-empty-symbol span:nth-child(2) {
  left: 32%;
  top: 19%;
  border-color: #f6f5ef;
  background: #095764;
}
.fe-empty-symbol span:nth-child(3) {
  left: 46%;
  top: 11%;
  border-color: #bd8b2c;
  background: #082f42;
}
.fe-empty-topics {
  display: flex;
  flex-wrap: wrap;
  gap: 2px 27px;
  padding-top: 23px;
  margin-top: 32px;
  border-top: 1px solid #f6f5ef44;
}
.fe-empty-topics a {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 13px;
  min-height: 44px;
  padding: 8px 0;
  border: 0;
  color: #f6f5ef;
  font-size: .77rem;
  font-weight: 400;
}
.fe-empty-topics a span { color: #dfc78e; }
.fe-insights-empty .fe-text-link { color: #f6f5ef; }
.fe-insights-no-results:not(:has(.fe-empty-symbol)) { padding-block: 44px; }
.fe-latest-insights { background: #f6f5ef; border-top: 1px solid #cbd2ce; padding-block: 86px; }
.fe-insights-empty--compact:has(.fe-empty-symbol) { grid-template-columns: minmax(140px, .5fr) minmax(0, 1.5fr); }
.fe-insights-empty--compact h3 { font-size: clamp(2rem, 3.2vw, 3.2rem); }
.fe-pagination { justify-content: start; margin-top: 44px; padding-top: 26px; border-top: 1px solid #cbd2ce; }
.fe-pagination .page-numbers { border-radius: 0; border-color: #cbd2ce; min-height: 44px; min-width: 44px; }
.fe-pagination > ul.page-numbers { padding: 0; border: 0; }

/* Native article content keeps a calm reading measure and a clear side index. */
.fe-article-header { background: #f6f5ef; border-color: #cbd2ce; padding-block: 65px 62px; }
.fe-article-header h1 {
  font-family: var(--fe-font-serif, Georgia, 'Times New Roman', serif);
  font-weight: 400;
  font-size: clamp(2.7rem, 5.3vw, 5.3rem);
  letter-spacing: -.05em;
  line-height: 1.05;
  margin-block: 26px 30px;
  max-width: 1020px;
  overflow-wrap: anywhere;
}
.fe-article-header .fe-lead { max-width: 760px; color: #52656a; font-size: 1.1rem; }
.fe-article-header .fe-article-meta { margin-top: 30px; font-size: .73rem; gap: 10px 24px; }
.fe-article-back { margin-bottom: 32px; font-size: .75rem; }
.fe-article-layout { grid-template-columns: minmax(0, 760px) minmax(200px, 1fr); gap: 72px; padding-block: 68px 85px; }
.fe-article-cover img,
.fe-article-content img { border-radius: 0; }
.fe-article-cover figcaption { padding-top: 10px; color: #52656a; line-height: 1.65; }
.fe-article-content { color: #23424b; font-size: 1.08rem; line-height: 1.9; }
.fe-article-content h2,
.fe-article-content h3 { font-family: var(--fe-font-serif, Georgia, 'Times New Roman', serif); font-weight: 400; letter-spacing: -.025em; line-height: 1.2; }
.fe-article-content h2 { font-size: 2.4rem; }
.fe-article-content h3 { font-size: 1.8rem; }
.fe-article-content blockquote {
  background: #f6f5ef;
  border: 0;
  border-left: 2px solid #bd8b2c;
  padding: 25px 32px;
  margin-block: 34px;
  font-family: var(--fe-font-serif, Georgia, 'Times New Roman', serif);
  font-size: 1.4rem;
  line-height: 1.6;
}
.fe-article-sidebar { background: transparent; border: 0; border-top: 1px solid #bd8b2c; border-radius: 0; padding: 26px 0; }
.fe-article-sidebar .fe-article-category { padding-block: 7px; margin-bottom: 4px; font-size: .84rem; }
.fe-article-conversation { border-color: #cbd2ce; padding-top: 26px; margin-top: 27px; }
.fe-article-conversation h2 { font-family: var(--fe-font-serif, Georgia, serif) !important; font-weight: 400 !important; font-size: 1.95rem !important; }
.fe-article-tags { border-color: #cbd2ce; }
.fe-article-tags a { border-radius: 0; padding: 10px 14px; min-height: 44px; border-color: #cbd2ce; }
.fe-related { background: #f6f5ef; padding-block: 68px 80px; margin: 0; border-color: #cbd2ce; }

@media (max-width: 1050px) {
  .fe-article-card--featured .fe-article-image,
  .fe-article-card--featured .fe-article-art { min-height: 380px; }
  .fe-article-card--featured .fe-article-body { padding: 32px; }
  .fe-article-layout { gap: 42px; }
}
@media (max-width: 900px) {
  .fe-article-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fe-article-layout { grid-template-columns: minmax(0, 1fr); }
  .fe-article-sidebar { position: static; max-width: none; }
  .fe-insights-empty:has(.fe-empty-symbol) { grid-template-columns: 140px minmax(0, 1fr); gap: 30px; }
  .fe-empty-symbol { transform: none; }
}
@media (max-width: 781px) {
  .fe-insights-toolbar { gap: 25px; margin-bottom: 36px; }
  .fe-insights-search { max-width: none; }
  .fe-insights-search input[type=search] { font-size: .85rem; }
  .fe-insights-search button { padding-inline: 15px; }
  .fe-insights-search button span { margin-left: 5px; }
  .fe-topic-links { gap: 4px 18px; }
  .fe-article-grid { gap: 36px 22px; }
  .fe-article-card--featured { display: block; }
  .fe-article-card--featured .fe-article-image,
  .fe-article-card--featured .fe-article-art { height: auto; min-height: 0; aspect-ratio: 16 / 10; }
  .fe-article-card--featured .fe-article-body { padding: 29px 24px; }
  .fe-article-card--featured h2,
  .fe-article-card--featured h3 { font-size: 2.15rem; }
  .fe-article-card--featured .fe-featured-label { margin-bottom: 23px; }
  .fe-article-card--featured .fe-art-mark { left: 24px; bottom: 24px; font-size: 2.4rem; }
  .fe-insights .fe-section-heading,
  .fe-latest-insights .fe-section-heading,
  .fe-related .fe-section-heading { display: block; }
  .fe-insights .fe-section-heading h2,
  .fe-latest-insights .fe-section-heading h2,
  .fe-related .fe-section-heading h2 { font-size: clamp(2.2rem, 7vw, 3rem); }
  .fe-insights .fe-section-heading > p { margin-top: 16px; }
  .fe-insights-empty,
  .fe-insights-empty--compact { padding: 36px 28px; }
  .fe-insights-empty:has(.fe-empty-symbol) { display: block; }
  .fe-empty-symbol { width: 135px; height: 135px; margin: 0 0 35px; transform: none; }
  .fe-insights-empty h2,
  .fe-insights-empty h3 { font-size: clamp(2.1rem, 7vw, 3rem); }
  .fe-empty-topics { display: grid; grid-template-columns: 1fr; gap: 0; margin-top: 25px; padding-top: 16px; }
  .fe-empty-topics a { border-bottom: 1px solid #f6f5ef22; }
  .fe-empty-topics a:last-child { border-bottom: 0; }
  .fe-latest-insights { padding-block: 58px; }
  .fe-article-header { padding-block: 42px 46px; }
  .fe-article-header h1 { font-size: clamp(2.6rem, 8vw, 3.8rem); }
  .fe-article-header .fe-lead { font-size: 1rem; }
  .fe-article-layout { padding-block: 42px 60px; gap: 38px; }
  .fe-article-content { font-size: 1rem; }
  .fe-article-content h2 { font-size: 2rem; }
  .fe-article-content blockquote { padding: 22px; font-size: 1.22rem; }
  .fe-related { padding-block: 52px 60px; }
}
@media (max-width: 600px) {
  .fe-article-grid { grid-template-columns: minmax(0, 1fr); }
  .fe-article-body h2,
  .fe-article-body h3 { font-size: 1.9rem; }
  .fe-article-card--featured h2,
  .fe-article-card--featured h3 { font-size: 2.1rem; }
}
@media (prefers-reduced-motion: reduce) {
  .fe-article-link span,
  .fe-article-card:hover .fe-article-image img { transform: none; transition: none; }
}
@media print {
  .fe-insights-empty,
  .fe-latest-insights,
  .fe-related,
  .fe-article-card--featured { background: #fff; color: #000; }
  .fe-insights-empty h2,
  .fe-insights-empty h3,
  .fe-insights-empty p,
  .fe-insights-empty a { color: #000; }
  .fe-empty-symbol { display: none; }
  .fe-article-grid,
  .fe-article-card--featured { display: block; }
  .fe-article-card { break-inside: avoid; margin-bottom: 30px; }
}
