:root {
  --ifa-ink: #14232b;
  --ifa-slate: #203741;
  --ifa-rust: #a8463d;
  --ifa-rust-dark: #84332d;
  --ifa-sand: #f3eee4;
  --ifa-cream: #fbf8f2;
  --ifa-mist: #e4eceb;
  --ifa-white: #ffffff;
  --ifa-muted: #58676d;
  --ifa-line: #d7dedc;
  --ifa-radius: 18px;
  --ifa-shadow: 0 18px 55px rgba(20, 35, 43, 0.12);
  --ifa-space-section: clamp(56px, 5vw, 72px);
  --ifa-space-hero: clamp(60px, 5vw, 76px);
  --ifa-space-grid: 24px;
}

/* Avada supplies a 30px page gutter. IFA sections provide their own responsive
   inner gutters, so remove the theme gutter only on pages using this layout. */
body:has(.ifa-page) #main {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.ifa-page,
.ifa-page * {
  box-sizing: border-box;
}

.ifa-page {
  color: var(--ifa-ink);
  font-size: 18px;
  line-height: 1.65;
  overflow: hidden;
}

.ifa-page h1,
.ifa-page h2,
.ifa-page h3 {
  color: var(--ifa-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.12;
  margin-top: 0;
}

.ifa-page h1 { font-size: clamp(2.7rem, 6vw, 5.4rem); }
.ifa-page h2 { font-size: clamp(2rem, 4vw, 3.5rem); }
.ifa-page h3 { font-size: clamp(1.25rem, 2vw, 1.65rem); }
.ifa-page p { color: var(--ifa-muted); }
.ifa-page a { text-underline-offset: 0.18em; }

.ifa-shell {
  margin: 0 auto;
  max-width: 1180px;
  padding-left: 28px;
  padding-right: 28px;
}

.ifa-section { padding: var(--ifa-space-section) 0; }
.ifa-section--sand { background: var(--ifa-sand); }
.ifa-section--cream { background: var(--ifa-cream); }
.ifa-section--dark { background: var(--ifa-ink); color: var(--ifa-white); }
.ifa-section--dark h1,
.ifa-section--dark h2,
.ifa-section--dark h3,
.ifa-section--dark p { color: var(--ifa-white) !important; }

.ifa-kicker {
  color: var(--ifa-rust) !important;
  font-size: 0.78rem;
  font-weight: 750;
  letter-spacing: 0.13em;
  margin: 0 0 14px;
  text-transform: uppercase;
}

.ifa-lede {
  font-size: clamp(1.13rem, 2vw, 1.35rem);
  max-width: 720px;
}

.ifa-hero {
  align-items: center;
  background-color: var(--ifa-ink);
  background-position: center;
  background-size: cover;
  color: var(--ifa-white);
  display: flex;
  min-height: min(660px, calc(82vh - 70px));
  position: relative;
}

.ifa-hero::before {
  background: linear-gradient(90deg, rgba(13, 26, 33, 0.9) 0%, rgba(13, 26, 33, 0.66) 47%, rgba(13, 26, 33, 0.08) 78%);
  content: "";
  inset: 0;
  position: absolute;
}

.ifa-hero__content {
  max-width: 720px;
  padding-bottom: 72px;
  padding-top: 72px;
  position: relative;
  z-index: 1;
}

.ifa-hero h1,
.ifa-hero p { color: var(--ifa-white) !important; }
.ifa-hero .ifa-lede { color: rgba(255, 255, 255, 0.88); }

.ifa-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 28px;
}

.ifa-button {
  align-items: center;
  background: var(--ifa-rust);
  border: 2px solid var(--ifa-rust);
  border-radius: 999px;
  color: var(--ifa-white) !important;
  display: inline-flex;
  font-size: 0.92rem;
  font-weight: 750;
  justify-content: center;
  min-height: 48px;
  padding: 10px 21px;
  text-decoration: none !important;
  transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.ifa-button:hover,
.ifa-button:focus-visible {
  background: var(--ifa-rust-dark);
  border-color: var(--ifa-rust-dark);
  color: var(--ifa-white) !important;
  transform: translateY(-2px);
}

.ifa-button--ghost {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.72);
}

.ifa-button--ghost:hover,
.ifa-button--ghost:focus-visible {
  background: var(--ifa-white);
  border-color: var(--ifa-white);
  color: var(--ifa-ink) !important;
}

.ifa-button--outline {
  background: transparent;
  border-color: var(--ifa-rust);
  color: var(--ifa-rust-dark) !important;
}

.ifa-button--outline:hover,
.ifa-button--outline:focus-visible {
  background: var(--ifa-rust-dark);
  border-color: var(--ifa-rust-dark);
  color: var(--ifa-white) !important;
}

.ifa-trust-strip {
  background: var(--ifa-ink);
  color: var(--ifa-white);
}

.ifa-trust-grid {
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(3, 1fr);
}

.ifa-trust-item {
  border-left: 1px solid rgba(255, 255, 255, 0.15);
  padding: 22px;
  text-align: center;
}

.ifa-trust-item:first-child { border-left: 0; }
.ifa-trust-item strong { display: block; font-size: 1.05rem; }
.ifa-trust-item span { color: rgba(255, 255, 255, 0.67); font-size: 0.84rem; }

.ifa-split {
  align-items: center;
  display: grid;
  gap: clamp(36px, 5vw, 66px);
  grid-template-columns: 1fr 1fr;
}

.ifa-photo {
  background-position: center;
  background-size: cover;
  border-radius: var(--ifa-radius);
  box-shadow: var(--ifa-shadow);
  min-height: 400px;
}

.ifa-card-grid,
.ifa-story-grid {
  display: grid;
  gap: var(--ifa-space-grid);
  grid-template-columns: repeat(3, 1fr);
  margin-top: 36px;
}

.ifa-card,
.ifa-story-card {
  background: var(--ifa-white);
  border: 1px solid var(--ifa-line);
  border-radius: var(--ifa-radius);
  box-shadow: 0 10px 35px rgba(20, 35, 43, 0.07);
  overflow: hidden;
}

.ifa-card { padding: 26px; }

.ifa-bird-grid {
  display: grid;
  gap: var(--ifa-space-grid);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 42px;
}

.ifa-bird-card {
  background: var(--ifa-white);
  border: 1px solid var(--ifa-line);
  border-radius: var(--ifa-radius);
  box-shadow: 0 10px 35px rgba(20, 35, 43, 0.07);
  overflow: hidden;
}

.ifa-bird-card__image {
  aspect-ratio: 3 / 2;
  background-position: center;
  background-size: cover;
  display: block;
  width: 100%;
}

.ifa-bird-card__body { padding: 24px; }
.ifa-bird-card__body h3 { margin-bottom: 12px; }
.ifa-bird-card__body p { font-size: 0.9rem; margin-bottom: 0; }
.ifa-bird-diversity .ifa-section-heading > p { max-width: 430px; text-align: right; }
.ifa-bird-diversity .ifa-note { margin-top: 28px; }
.ifa-card__number {
  align-items: center;
  background: var(--ifa-mist);
  border-radius: 50%;
  color: var(--ifa-slate);
  display: flex;
  font-weight: 800;
  height: 44px;
  justify-content: center;
  margin-bottom: 22px;
  width: 44px;
}

.ifa-story-image {
  background-position: center;
  background-size: cover;
  display: block;
  min-height: 220px;
}

.ifa-story-body { padding: 28px; }
.ifa-story-card h3 a { color: var(--ifa-ink); text-decoration: none; }
.ifa-text-link { color: var(--ifa-rust-dark) !important; font-weight: 750; }

.ifa-story-card {
  display: flex;
  flex-direction: column;
  transition: box-shadow 180ms ease, transform 180ms ease;
}
.ifa-story-card:hover { box-shadow: 0 18px 48px rgba(20, 35, 43, 0.13); transform: translateY(-3px); }
.ifa-story-card .ifa-story-body { display: flex; flex: 1; flex-direction: column; }
.ifa-story-card .ifa-story-body > p { flex: 1; }
.ifa-story-card .ifa-story-image { overflow: hidden; transition: filter 180ms ease; }
.ifa-story-card:hover .ifa-story-image { filter: saturate(1.06) contrast(1.02); }

.ifa-story-meta {
  align-items: center;
  color: var(--ifa-rust-dark);
  display: flex;
  font-size: 0.72rem;
  font-weight: 750;
  gap: 10px;
  justify-content: space-between;
  letter-spacing: 0.08em;
  margin-bottom: 16px;
  text-transform: uppercase;
}
.ifa-story-meta time { color: var(--ifa-muted); font-weight: 650; letter-spacing: 0.03em; }

.ifa-articles-hero {
  background:
    radial-gradient(circle at 84% 30%, rgba(168, 70, 61, 0.2), transparent 30%),
    linear-gradient(135deg, #14232b 0%, #1e3540 100%);
  color: var(--ifa-white);
  padding: var(--ifa-space-hero) 0;
}
.ifa-articles-hero__grid { align-items: end; display: grid; gap: clamp(36px, 8vw, 110px); grid-template-columns: 1.25fr 0.75fr; }
.ifa-articles-hero h1,
.ifa-articles-hero p { color: var(--ifa-white) !important; }
.ifa-articles-hero h1 { margin-bottom: 0; }
.ifa-articles-legend { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 28px; }
.ifa-articles-legend span { border: 1px solid rgba(255,255,255,.28); border-radius: 999px; color: var(--ifa-white); font-size: .74rem; font-weight: 700; padding: 7px 12px; }
.ifa-articles-library .ifa-section-heading > p { max-width: 470px; text-align: right; }

.ifa-story-grid--archive { grid-template-columns: repeat(3, 1fr); }
.ifa-story-grid--archive .ifa-story-image { aspect-ratio: 3 / 2; min-height: 0; }
.ifa-story-grid--archive .ifa-story-card:first-child,
.ifa-story-grid--archive .ifa-story-card:last-child {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
}
.ifa-story-grid--archive .ifa-story-card:first-child {
  grid-template-columns: minmax(300px, 0.82fr) minmax(390px, 1.18fr);
}
.ifa-story-grid--archive .ifa-story-card:first-child .ifa-story-image {
  background-position: center 24%;
  min-height: 440px;
}
.ifa-story-grid--archive .ifa-story-card:first-child .ifa-story-image,
.ifa-story-grid--archive .ifa-story-card:last-child .ifa-story-image { aspect-ratio: auto; min-height: 360px; }
.ifa-story-grid--archive .ifa-story-card:first-child h3,
.ifa-story-grid--archive .ifa-story-card:last-child h3 { font-size: clamp(1.65rem, 3vw, 2.35rem); }
.ifa-story-grid--archive .ifa-story-card:first-child .ifa-story-body,
.ifa-story-grid--archive .ifa-story-card:last-child .ifa-story-body { justify-content: center; padding: clamp(32px, 5vw, 58px); }

/* Single-story reading experience */
.single-post .fusion-page-title-bar,
.single-post .fusion-meta-info,
.single-post .about-author,
.single-post .related-posts,
.single-post .fusion-sharing-box { display: none !important; }
.single-post .fusion-builder-column-3.fusion-no-medium-visibility.fusion-no-large-visibility { display: none !important; }
.single-post #main { padding-bottom: 0; padding-top: 0; }
.single-post #content { width: 100% !important; }
.single-post .post { margin-bottom: 0; }
.ifa-post-page,
.ifa-post-page * { box-sizing: border-box; }
.ifa-post-page {
  color: var(--ifa-ink);
  font-size: 18px;
  line-height: 1.76;
  margin-left: calc(50% - 50vw);
  overflow: hidden;
  width: 100vw;
}
.ifa-post-hero {
  align-items: flex-end;
  background-color: var(--ifa-ink);
  background-position: center;
  background-size: cover;
  color: var(--ifa-white);
  display: flex;
  min-height: clamp(480px, 60vh, 650px);
  position: relative;
}
.ifa-post-hero__overlay { background: linear-gradient(90deg, rgba(11,25,32,.95) 0%, rgba(11,25,32,.76) 44%, rgba(11,25,32,.18) 78%), linear-gradient(0deg, rgba(11,25,32,.65), transparent 55%); inset: 0; position: absolute; }
.ifa-post-hero__content { padding-bottom: clamp(54px, 6vw, 78px); position: relative; width: 100%; z-index: 1; }
.ifa-post-hero h1 { color: var(--ifa-white) !important; font-family: Georgia, "Times New Roman", serif; font-size: clamp(3rem, 6vw, 5rem); font-weight: 600; letter-spacing: -.035em; line-height: 1.02; margin: 12px 0 22px; max-width: 900px; }
.ifa-post-back { color: rgba(255,255,255,.82) !important; display: inline-block; font-size: .82rem; font-weight: 700; margin-bottom: 38px; text-decoration: none; }
.ifa-post-byline { align-items: center; color: rgba(255,255,255,.82); display: flex; flex-wrap: wrap; font-size: .84rem; gap: 10px; }
.ifa-post-art-note { background: var(--ifa-ink); border-top: 1px solid rgba(255,255,255,.14); color: rgba(255,255,255,.68); font-size: .72rem; letter-spacing: .06em; padding: 10px 0; text-transform: uppercase; }
.ifa-post-main { background: var(--ifa-cream); padding: clamp(56px, 7vw, 88px) 0; }
.ifa-post-layout { align-items: start; display: grid; gap: clamp(38px, 6vw, 72px); grid-template-columns: minmax(0, 760px) minmax(250px, 310px); justify-content: center; }
.ifa-post-article { background: var(--ifa-white); border: 1px solid var(--ifa-line); border-radius: 16px; box-shadow: 0 16px 48px rgba(20,35,43,.08); max-width: none; padding: clamp(32px, 5vw, 56px); }
.ifa-post-article > p:first-child { color: var(--ifa-slate); font-family: Georgia, "Times New Roman", serif; font-size: 1.16em; }
.ifa-post-article p { color: #354850; margin-bottom: 1.45em; }
.ifa-post-article img { box-shadow: 0 12px 32px rgba(20,35,43,.14); }
.ifa-post-aside { background: var(--ifa-sand); border-radius: 14px; padding: 30px; position: sticky; top: 120px; }
.ifa-post-aside h2 { color: var(--ifa-ink); font-family: Georgia, "Times New Roman", serif; font-size: 1.7rem; line-height: 1.15; margin: 0 0 16px; }
.ifa-post-aside p { color: var(--ifa-muted); font-size: .9rem; }
.ifa-post-aside dl { border-bottom: 1px solid var(--ifa-line); border-top: 1px solid var(--ifa-line); margin: 26px 0; }
.ifa-post-aside dl div { display: grid; gap: 8px; grid-template-columns: 1fr 1fr; padding: 13px 0; }
.ifa-post-aside dt { color: var(--ifa-muted); font-size: .74rem; font-weight: 700; text-transform: uppercase; }
.ifa-post-aside dd { color: var(--ifa-ink); font-size: .83rem; margin: 0; text-align: right; }
.ifa-post-aside .ifa-button { text-align: center; width: 100%; }

.ifa-section-heading {
  align-items: end;
  display: flex;
  gap: 32px;
  justify-content: space-between;
}

.ifa-section-heading > div {
  max-width: 780px;
}

.ifa-section-heading .ifa-text-link {
  flex: 0 0 auto;
  margin-bottom: 8px;
}

.ifa-event-grid {
  display: grid;
  gap: var(--ifa-space-grid);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 44px;
}

.ifa-event-card {
  background: var(--ifa-white);
  border: 1px solid var(--ifa-line);
  border-radius: var(--ifa-radius);
  box-shadow: 0 10px 35px rgba(20, 35, 43, 0.07);
  overflow: hidden;
}

.ifa-event-date {
  align-items: baseline;
  background: var(--ifa-slate);
  color: var(--ifa-white);
  display: flex;
  gap: 10px;
  padding: 18px 26px;
  text-transform: uppercase;
}

.ifa-event-date strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 2.2rem;
  line-height: 1;
}

.ifa-event-date span {
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.ifa-event-card__body {
  padding: 28px;
}

.ifa-event-card__body h3 {
  margin-top: 0;
}

.ifa-event-meta {
  border-bottom: 1px solid var(--ifa-line);
  display: grid;
  font-size: 0.88rem;
  gap: 6px;
  padding-bottom: 18px;
}

.ifa-event-empty {
  background: var(--ifa-white);
  border: 1px solid var(--ifa-line);
  border-left: 6px solid var(--ifa-rust);
  border-radius: var(--ifa-radius);
  box-shadow: 0 10px 35px rgba(20, 35, 43, 0.06);
  margin-top: 44px;
  max-width: 900px;
  padding: clamp(30px, 5vw, 52px);
}

.ifa-event-empty h3 {
  margin-top: 0;
}

/* Media, press, and affiliate features */
.ifa-media > .ifa-section { padding: clamp(54px, 5vw, 70px) 0; }
.ifa-media > .ifa-section:first-child { padding: var(--ifa-space-hero) 0; }
.ifa-media > .ifa-section:last-child { padding: 38px 0; }
.ifa-media .ifa-section-heading { margin-bottom: 28px; }

.ifa-media-grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ifa-media-grid--print {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ifa-events-hero,
.ifa-media-hero {
  align-items: center;
  background-position: center;
  background-size: cover;
  display: flex;
  min-height: 460px;
  position: relative;
}

/* Preserve the faces in the supplied group portrait when the wide hero crops it. */
.ifa-events-hero { background-position: center 28%; }

.ifa-events-hero::before,
.ifa-media-hero::before {
  background: linear-gradient(90deg, rgba(11, 27, 35, 0.94) 0%, rgba(11, 27, 35, 0.72) 48%, rgba(11, 27, 35, 0.2) 82%);
  content: "";
  inset: 0;
  position: absolute;
}

.ifa-events-hero > .ifa-shell,
.ifa-media-hero > .ifa-shell {
  position: relative;
  z-index: 1;
}

.ifa-start-cover-photo {
  margin: 0;
}

.ifa-start-cover-photo img {
  aspect-ratio: 4 / 3;
  border-radius: var(--ifa-radius);
  box-shadow: var(--ifa-shadow);
  display: block;
  object-fit: cover;
  width: 100%;
}

.ifa-start-cover-photo figcaption {
  color: var(--ifa-muted);
  font-size: 0.76rem;
  margin-top: 10px;
}

.ifa-start-questions {
  margin-top: 36px;
}

.ifa-start-questions .ifa-checklist {
  columns: 2;
  column-gap: 42px;
}

.ifa-media-archive-panel {
  align-items: center;
  display: grid;
  gap: clamp(32px, 6vw, 80px);
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
}

.ifa-media-archive-panel .ifa-card {
  border-top: 4px solid var(--ifa-rust);
}

.ifa-journal-story-grid .ifa-story-image {
  aspect-ratio: 8 / 5;
  min-height: 0;
}

.ifa-media-grid--videos { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.ifa-media-card {
  background: var(--ifa-white);
  border: 1px solid rgba(14, 37, 48, 0.11);
  border-radius: 16px;
  box-shadow: 0 18px 45px rgba(14, 37, 48, 0.08);
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
}

.ifa-media-card__image {
  background: var(--ifa-ink);
  display: block;
  overflow: hidden;
  position: relative;
}

.ifa-media-card__image img {
  aspect-ratio: 16 / 9;
  display: block;
  height: auto;
  object-fit: cover;
  transition: transform 240ms ease;
  width: 100%;
}

.ifa-media-card__image:hover img { transform: scale(1.025); }

.ifa-media-card__type {
  background: rgba(14, 37, 48, 0.9);
  border-radius: 999px;
  bottom: 16px;
  color: var(--ifa-white);
  font-size: 0.72rem;
  font-weight: 800;
  left: 16px;
  letter-spacing: 0.09em;
  padding: 7px 11px;
  position: absolute;
  text-transform: uppercase;
}

.ifa-media-card__body { display: flex; flex: 1; flex-direction: column; padding: 24px; }
.ifa-media-card__body h2,
.ifa-media-card__body h3 { margin-bottom: 12px; }
.ifa-media-card__body p { color: var(--ifa-muted); }
.ifa-media-card__body .ifa-text-link { margin-top: auto; padding-top: 8px; }

.ifa-affiliate-panel {
  align-items: center;
  display: grid;
  gap: 56px;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
}

.ifa-affiliate-mark {
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 16px;
  padding: 30px;
}

.ifa-affiliate-mark strong {
  color: var(--ifa-white);
  display: block;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.45rem, 3vw, 2.2rem);
  line-height: 1.12;
  margin-bottom: 8px;
}

.ifa-affiliate-mark span { color: rgba(255, 255, 255, 0.72); }
.ifa-footer-affiliate { font-size: 0.82rem; }
.ifa-footer-affiliate a { color: var(--ifa-white); font-weight: 800; }

@media (min-width: 1100px) {
  .ifa-media-grid--videos { gap: 18px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .ifa-media-grid--videos .ifa-media-card__body { padding: 20px; }
  .ifa-media-grid--videos .ifa-media-card__body h3 { font-size: 1.25rem; line-height: 1.16; }
  .ifa-media-grid--videos .ifa-media-card__body p { font-size: 0.88rem; line-height: 1.55; }
  .ifa-media-grid--videos .ifa-kicker { font-size: 0.64rem; }
  .ifa-media .ifa-affiliate-panel { gap: 38px; }
  .ifa-media .ifa-affiliate-mark { padding: 24px; }
}

.ifa-contact-hero {
  padding: var(--ifa-space-hero) 0;
}

.ifa-contact-hero__grid {
  align-items: end;
  display: grid;
  gap: clamp(44px, 8vw, 110px);
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
}

.ifa-contact-hero h1 {
  margin-bottom: 0;
  max-width: 760px;
}

.ifa-contact-hero__intro {
  border-left: 1px solid rgba(255, 255, 255, 0.24);
  padding-left: clamp(28px, 4vw, 52px);
}

.ifa-contact-hero__intro p {
  color: rgba(255, 255, 255, 0.78) !important;
  margin: 0 0 14px;
}

.ifa-contact-hero__intro .ifa-lede {
  color: var(--ifa-white) !important;
}

.ifa-contact-main {
  padding: var(--ifa-space-section) 0;
}

.ifa-contact-layout {
  align-items: start;
  display: grid;
  gap: 34px;
  grid-template-columns: minmax(0, 1fr) 400px;
}

.ifa-contact-layout > p:empty {
  display: none;
}

.ifa-contact-panel,
.ifa-contact-aside {
  background: var(--ifa-white);
  border: 1px solid var(--ifa-line);
  border-radius: var(--ifa-radius);
  box-shadow: 0 12px 40px rgba(20, 35, 43, 0.08);
}

.ifa-contact-panel {
  border-top: 5px solid var(--ifa-rust);
  padding: clamp(28px, 5vw, 58px);
}

.ifa-contact-panel > h2 {
  margin-top: 0;
}

.ifa-contact-panel__intro {
  max-width: 680px;
}

.ifa-contact-aside {
  overflow: hidden;
  position: sticky;
  top: 112px;
}

.ifa-contact-aside__intro {
  background: var(--ifa-slate);
  color: var(--ifa-white);
  padding: 26px 28px;
}

.ifa-contact-aside__intro h3,
.ifa-contact-aside__intro p {
  color: var(--ifa-white) !important;
}

.ifa-contact-aside__intro .ifa-kicker {
  color: #ef9e94 !important;
  margin-bottom: 12px;
}

.ifa-contact-route {
  align-items: start;
  border-top: 1px solid var(--ifa-line);
  display: grid;
  gap: 13px;
  grid-template-columns: 32px 1fr;
  padding: 18px 26px;
}

.ifa-contact-route:first-of-type {
  border-top: 0;
}

.ifa-contact-route h3 {
  font-size: 1.02rem;
  line-height: 1.22;
  margin: 0 0 8px;
}

.ifa-contact-route > div {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
}

.ifa-contact-route p {
  font-size: 0.82rem;
  margin: 0;
}

.ifa-contact-route a {
  color: var(--ifa-rust-dark);
  font-weight: 750;
  text-decoration: none;
}

.ifa-contact-route__number {
  align-items: center;
  background: var(--ifa-mist);
  border-radius: 50%;
  color: var(--ifa-slate);
  display: flex;
  font-size: 0.7rem;
  font-weight: 850;
  height: 30px;
  justify-content: center;
  letter-spacing: 0.04em;
  grid-column: 1;
  grid-row: 1;
  width: 30px;
}

.ifa-contact-aside__footer {
  background: var(--ifa-sand);
  border-top: 1px solid var(--ifa-line);
  padding: 18px 26px;
}

.ifa-contact-aside__footer p {
  font-size: 0.84rem;
  margin: 6px 0 0;
}

.ifa-contact-form {
  margin-top: 36px;
}

.ifa-form-grid {
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ifa-field {
  margin-bottom: 22px;
}

.ifa-field label {
  color: var(--ifa-ink);
  display: block;
  font-size: 0.88rem;
  font-weight: 800;
  margin-bottom: 8px;
}

.ifa-optional {
  color: var(--ifa-muted);
  font-size: 0.75rem;
  font-weight: 500;
  margin-left: 6px;
}

.ifa-contact-form input,
.ifa-contact-form select,
.ifa-contact-form textarea {
  appearance: none;
  background: var(--ifa-cream);
  border: 1px solid #bdc8c6;
  border-radius: 10px;
  color: var(--ifa-ink);
  font: inherit;
  font-size: 1rem;
  line-height: 1.4;
  padding: 14px 16px;
  width: 100%;
}

.ifa-contact-form input,
.ifa-contact-form select {
  min-height: 52px;
}

.ifa-contact-form select {
  background-image: linear-gradient(45deg, transparent 50%, var(--ifa-slate) 50%), linear-gradient(135deg, var(--ifa-slate) 50%, transparent 50%);
  background-position: calc(100% - 20px) 50%, calc(100% - 14px) 50%;
  background-repeat: no-repeat;
  background-size: 6px 6px, 6px 6px;
  padding-right: 42px;
}

.ifa-contact-form textarea {
  min-height: 180px;
  resize: vertical;
}

.ifa-contact-form input:focus,
.ifa-contact-form select:focus,
.ifa-contact-form textarea:focus {
  border-color: var(--ifa-rust);
  box-shadow: 0 0 0 3px rgba(168, 70, 61, 0.16);
  outline: 0;
}

.ifa-field-help,
.ifa-form-privacy {
  color: var(--ifa-muted) !important;
  font-size: 0.78rem;
}

.ifa-field-help {
  margin: 8px 0 0;
}

.ifa-form-submit {
  cursor: pointer;
  min-width: 180px;
}

.ifa-form-privacy {
  margin: 18px 0 0;
  max-width: 650px;
}

.ifa-form-notice {
  border-radius: 10px;
  font-weight: 700;
  margin: 0 0 24px;
  padding: 16px 18px;
}

.ifa-form-notice--success {
  background: #e1f1e7;
  border: 1px solid #8db69b;
  color: #234f32;
}

.ifa-form-notice--error {
  background: #fae9e6;
  border: 1px solid #d79b93;
  color: #742d26;
}

.ifa-honeypot {
  height: 1px;
  left: -10000px;
  overflow: hidden;
  position: absolute;
  top: auto;
  width: 1px;
}

.ifa-contact-links {
  padding: var(--ifa-space-section) 0;
}

.ifa-contact-links .ifa-section-heading > p {
  max-width: 280px;
  text-align: right;
}

.ifa-contact-links .ifa-card-grid {
  margin-top: 34px;
}

.ifa-contact-links .ifa-card {
  display: flex;
  flex-direction: column;
  min-height: 245px;
}

.ifa-contact-links .ifa-text-link {
  margin-top: auto;
}

.ifa-band {
  background-position: center;
  background-size: cover;
  color: var(--ifa-white);
  position: relative;
}

.ifa-band::before {
  background: rgba(20, 35, 43, 0.76);
  content: "";
  inset: 0;
  position: absolute;
}

.ifa-band__inner {
  max-width: 820px;
  padding-bottom: clamp(66px, 8vw, 100px);
  padding-top: clamp(66px, 8vw, 100px);
  position: relative;
  z-index: 1;
}

.ifa-band h2,
.ifa-band p { color: var(--ifa-white); }

.ifa-steps {
  counter-reset: ifa-step;
  display: grid;
  gap: 22px;
  margin: 44px 0 0;
}

.ifa-step {
  background: var(--ifa-white);
  border: 1px solid var(--ifa-line);
  border-radius: var(--ifa-radius);
  display: grid;
  gap: 20px;
  grid-template-columns: 58px 1fr;
  padding: 28px;
}

.ifa-step::before {
  align-items: center;
  background: var(--ifa-rust);
  border-radius: 50%;
  color: var(--ifa-white);
  content: counter(ifa-step);
  counter-increment: ifa-step;
  display: flex;
  font-weight: 800;
  height: 48px;
  justify-content: center;
  width: 48px;
}

.ifa-step h3 { margin-bottom: 8px; }
.ifa-step p { margin: 0; }

.ifa-note {
  background: #fff8e8;
  border-left: 5px solid #ce8e32;
  border-radius: 0 12px 12px 0;
  margin: 36px 0;
  padding: 22px 26px;
}

.ifa-social-card {
  align-items: center;
  background: linear-gradient(135deg, var(--ifa-slate), var(--ifa-ink));
  border-radius: var(--ifa-radius);
  box-shadow: var(--ifa-shadow);
  color: var(--ifa-white);
  display: grid;
  gap: clamp(24px, 4vw, 48px);
  grid-template-columns: auto 1fr;
  overflow: hidden;
  padding: clamp(30px, 4vw, 50px);
  position: relative;
}

.ifa-social-card::after {
  background: rgba(255, 255, 255, 0.06);
  border-radius: 50%;
  content: "";
  height: 320px;
  position: absolute;
  right: -130px;
  top: -170px;
  width: 320px;
}

.ifa-social-card__mark {
  align-items: flex-end;
  background: #1877f2;
  border-radius: 22px;
  box-shadow: 0 14px 35px rgba(0, 0, 0, 0.22);
  color: #fff;
  display: flex;
  font-family: Arial, sans-serif;
  font-size: clamp(3.5rem, 8vw, 6rem);
  font-weight: 700;
  height: clamp(82px, 10vw, 108px);
  justify-content: center;
  line-height: 0.88;
  padding-top: 18px;
  width: clamp(82px, 10vw, 108px);
}

.ifa-social-card__content {
  max-width: 770px;
  position: relative;
  z-index: 1;
}

.ifa-social-card h2,
.ifa-social-card p {
  color: var(--ifa-white) !important;
}

.ifa-social-card .ifa-kicker {
  color: #8dbdff !important;
}

.ifa-social-card__note {
  font-size: 0.82rem;
  margin: 18px 0 0;
  opacity: 0.72;
}

.ifa-price-grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(3, 1fr);
  margin: 40px 0;
}

.ifa-price {
  background: var(--ifa-white);
  border: 1px solid var(--ifa-line);
  border-radius: var(--ifa-radius);
  padding: 30px;
  text-align: center;
}

.ifa-price strong {
  color: var(--ifa-ink);
  display: block;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 2.4rem;
  line-height: 1;
  margin: 12px 0;
}

.ifa-checklist { list-style: none; margin: 28px 0; padding: 0; }
.ifa-checklist li { margin: 12px 0; padding-left: 30px; position: relative; }
.ifa-checklist li::before { color: var(--ifa-rust); content: "✓"; font-weight: 900; left: 0; position: absolute; }

.ifa-contact-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 38px;
}

.ifa-contact-card {
  background: var(--ifa-white);
  border: 1px solid var(--ifa-line);
  border-radius: 14px;
  padding: 24px;
}

.ifa-contact-card h3 { font-size: 1.2rem; margin-bottom: 5px; }
.ifa-contact-card p { margin: 0; }

.ifa-gallery-hero {
  background:
    radial-gradient(circle at 82% 18%, rgba(178, 67, 52, 0.28), transparent 34%),
    linear-gradient(135deg, #0f212a 0%, #19333e 100%);
  color: var(--ifa-white);
  overflow: hidden;
  padding: var(--ifa-space-hero) 0;
  position: relative;
}
.ifa-gallery-hero__grid { align-items: end; display: grid; gap: 72px; grid-template-columns: 1.3fr 0.7fr; }
.ifa-gallery-hero h1,
.ifa-gallery-hero p { color: var(--ifa-white) !important; }
.ifa-gallery-hero h1 { max-width: 660px; }
.ifa-gallery-hero .ifa-lede { max-width: 700px; }
.ifa-gallery-stats { display: grid; gap: 12px; grid-template-columns: repeat(2, 1fr); }
.ifa-gallery-stat {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 16px;
  padding: 24px;
}
.ifa-gallery-stat strong { display: block; font-family: Georgia, "Times New Roman", serif; font-size: 2.5rem; line-height: 1; }
.ifa-gallery-stat span { color: rgba(255, 255, 255, 0.75); display: block; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.07em; margin-top: 10px; text-transform: uppercase; }
.ifa-gallery-app { margin-top: 38px; }
.ifa-gallery-toolbar {
  align-items: center;
  backdrop-filter: blur(12px);
  background: rgba(250, 247, 240, 0.92);
  border: 1px solid var(--ifa-line);
  border-radius: 16px;
  display: flex;
  gap: 24px;
  justify-content: space-between;
  padding: 12px;
  position: sticky;
  top: 82px;
  z-index: 8;
}
.ifa-gallery-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.ifa-gallery-filters button {
  background: transparent;
  border: 0;
  border-radius: 999px;
  color: var(--ifa-ink);
  cursor: pointer;
  font: inherit;
  font-size: 0.88rem;
  font-weight: 800;
  padding: 11px 15px;
}
.ifa-gallery-filters button span { color: var(--ifa-muted); font-size: 0.76rem; margin-left: 5px; }
.ifa-gallery-filters button[aria-pressed="true"] { background: var(--ifa-ink); color: var(--ifa-white); }
.ifa-gallery-filters button[aria-pressed="true"] span { color: rgba(255, 255, 255, 0.68); }
.ifa-gallery-status { color: var(--ifa-muted); flex: 0 0 auto; font-size: 0.82rem; margin: 0 10px 0 0; }
.ifa-gallery-grid { display: grid; gap: 14px; grid-auto-rows: 190px; grid-template-columns: repeat(4, 1fr); margin-top: 28px; }
.ifa-gallery-item {
  background: #d9d5cc;
  border-radius: 14px;
  box-shadow: 0 8px 25px rgba(20, 35, 43, 0.1);
  display: block;
  height: 100%;
  overflow: hidden;
  position: relative;
}
.ifa-gallery-item[hidden] { display: none !important; }
.ifa-gallery-item.is-featured { grid-column: span 2; grid-row: span 2; }
.ifa-gallery-item img { display: block; height: 100%; object-fit: cover; transition: transform 240ms ease; width: 100%; }
.ifa-gallery-item::after { background: linear-gradient(transparent 48%, rgba(7, 19, 25, 0.86)); content: ""; inset: 0; pointer-events: none; position: absolute; }
.ifa-gallery-item__caption { bottom: 17px; color: var(--ifa-white); display: flex; flex-direction: column; left: 18px; line-height: 1.25; position: absolute; right: 18px; transform: translateY(6px); transition: transform 200ms ease; z-index: 2; }
.ifa-gallery-item__caption strong { color: inherit; font-family: Georgia, "Times New Roman", serif; font-size: 1rem; }
.ifa-gallery-item__caption span { color: rgba(255, 255, 255, 0.72); font-size: 0.72rem; margin-top: 3px; }
.ifa-gallery-item__zoom { background: rgba(255, 255, 255, 0.9); border-radius: 999px; color: var(--ifa-ink); font-size: 0.7rem; font-weight: 900; opacity: 0; padding: 7px 10px; position: absolute; right: 12px; text-transform: uppercase; top: 12px; transform: translateY(-4px); transition: opacity 180ms ease, transform 180ms ease; z-index: 2; }
.ifa-gallery-item:hover img,
.ifa-gallery-item:focus-visible img { transform: scale(1.045); }
.ifa-gallery-item:hover .ifa-gallery-item__caption,
.ifa-gallery-item:focus-visible .ifa-gallery-item__caption,
.ifa-gallery-item:hover .ifa-gallery-item__zoom,
.ifa-gallery-item:focus-visible .ifa-gallery-item__zoom { opacity: 1; transform: translateY(0); }
.ifa-gallery-more-wrap { display: flex; justify-content: center; margin-top: 32px; }
.ifa-gallery-more-wrap [hidden] { display: none; }
.ifa-gallery-archive-callout { align-items: center; display: flex; gap: 50px; justify-content: space-between; }
.ifa-gallery-archive-callout > div:first-child { max-width: 720px; }
html.ifa-lightbox-open { overflow: hidden; }
.ifa-lightbox { background: rgba(6, 15, 20, 0.96); border: 0; color: var(--ifa-white); height: 100dvh; margin: 0; max-height: none; max-width: none; padding: 0; width: 100vw; }
.ifa-lightbox::backdrop { background: rgba(6, 15, 20, 0.96); }
.ifa-lightbox__stage { display: grid; height: 100%; place-items: center; position: relative; width: 100%; }
.ifa-lightbox figure { display: flex; flex-direction: column; height: calc(100dvh - 100px); justify-content: center; margin: 0; max-width: min(1200px, calc(100vw - 190px)); }
.ifa-lightbox img { display: block; max-height: calc(100dvh - 170px); max-width: 100%; object-fit: contain; }
.ifa-lightbox figcaption { align-items: center; display: flex; gap: 24px; justify-content: space-between; padding-top: 18px; }
.ifa-lightbox figcaption strong { color: var(--ifa-white); font-family: Georgia, "Times New Roman", serif; font-size: 1rem; }
.ifa-lightbox figcaption span { color: rgba(255, 255, 255, 0.65); font-size: 0.8rem; }
.ifa-lightbox button { align-items: center; background: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 999px; color: white; cursor: pointer; display: flex; font-family: inherit; justify-content: center; position: absolute; z-index: 2; }
.ifa-lightbox button:hover,
.ifa-lightbox button:focus-visible { background: var(--ifa-rust); }
.ifa-lightbox__close { font-size: 1.8rem; height: 48px; right: 26px; top: 24px; width: 48px; }
.ifa-lightbox__previous,
.ifa-lightbox__next { font-size: 2.2rem; height: 58px; top: calc(50% - 29px); width: 58px; }
.ifa-lightbox__previous { left: 26px; }
.ifa-lightbox__next { right: 26px; }

.ifa-article__shell {
  max-width: 850px;
}
.ifa-article__shell > p,
.ifa-article__shell > ul,
.ifa-article__shell > ol,
.ifa-article__shell > blockquote { margin-bottom: 1.35em; }
.ifa-article__shell img {
  border-radius: 12px;
  height: auto;
  margin: 22px auto;
  max-width: 100%;
}
.ifa-article__shell blockquote {
  border-left: 4px solid var(--ifa-rust);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.2em;
  margin-left: 0;
  padding-left: 24px;
}

.ifa-archive details {
  background: var(--ifa-white);
  border: 1px solid var(--ifa-line);
  border-radius: 14px;
  margin: 20px 0;
  padding: 22px 26px;
}
.ifa-archive summary {
  color: var(--ifa-ink);
  cursor: pointer;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.25rem;
  font-weight: 600;
}

/* Idaho Beginnings / history page */
.ifa-history > .ifa-section { padding: clamp(56px, 5vw, 72px) 0; }

.ifa-history-hero {
  align-items: center;
  background-color: var(--ifa-ink);
  background-position: center;
  background-size: cover;
  color: var(--ifa-white);
  display: flex;
  min-height: 520px;
  overflow: hidden;
  position: relative;
}

.ifa-history-hero::before {
  background: linear-gradient(90deg, rgba(12, 27, 35, 0.96) 0%, rgba(12, 27, 35, 0.84) 39%, rgba(12, 27, 35, 0.24) 72%, rgba(12, 27, 35, 0.08) 100%);
  content: "";
  inset: 0;
  position: absolute;
}

.ifa-history-hero__content {
  max-width: 650px;
  padding-bottom: 72px;
  padding-top: 72px;
  position: relative;
  z-index: 1;
}

.ifa-history-hero h1,
.ifa-history-hero p { color: var(--ifa-white) !important; }
.ifa-history-hero p { font-size: 1.18rem; max-width: 590px; }

.ifa-history-overview .ifa-section-heading > p {
  max-width: 570px;
  text-align: right;
}

.ifa-history-timeline {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 34px;
}

.ifa-history-milestone {
  background: var(--ifa-white);
  border: 1px solid var(--ifa-line);
  border-radius: 14px;
  box-shadow: 0 10px 30px rgba(20, 35, 43, 0.06);
  min-height: 0;
  padding: 24px;
}

.ifa-history-milestone strong {
  color: var(--ifa-rust);
  display: block;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.9rem;
  line-height: 1;
  margin-bottom: 15px;
}

.ifa-history-milestone > span { display: block; font-size: 0.94rem; line-height: 1.6; }
.ifa-history-milestone--accent { background: var(--ifa-ink); border-color: var(--ifa-ink); }
.ifa-history-milestone--accent > span { color: var(--ifa-white); }

.ifa-history-archive {
  background: var(--ifa-white);
  border: 1px solid var(--ifa-line);
  border-radius: 14px;
  margin-top: 28px;
  overflow: hidden;
}

.ifa-history-archive summary {
  color: var(--ifa-ink);
  cursor: pointer;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.18rem;
  font-weight: 600;
  padding: 24px 28px;
}

.ifa-history-archive__body { border-top: 1px solid var(--ifa-line); padding: 28px; }
.ifa-history-archive__body > *:last-child { margin-bottom: 0; }

.ifa-history-founding__grid {
  align-items: center;
  display: grid;
  gap: clamp(36px, 5vw, 64px);
  grid-template-columns: minmax(0, 1.04fr) minmax(0, 0.96fr);
}

.ifa-history-illustration { margin: 0; }
.ifa-history-illustration img {
  border-radius: 16px;
  box-shadow: 0 22px 55px rgba(20, 35, 43, 0.16);
  display: block;
  height: auto;
  width: 100%;
}
.ifa-history-illustration figcaption { font-size: 0.78rem; line-height: 1.5; margin-top: 14px; opacity: 0.72; }

.ifa-history-chapters {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 36px;
}

.ifa-history-chapters article:first-child {
  grid-column: 1 / -1;
}

.ifa-history-chapters article:first-child p {
  column-count: 2;
  column-gap: 44px;
}

.ifa-history-chapters article {
  background: var(--ifa-white);
  border: 1px solid var(--ifa-line);
  border-radius: 14px;
  padding: 28px;
}

.ifa-history-chapters span {
  align-items: center;
  background: var(--ifa-rust);
  border-radius: 50%;
  color: var(--ifa-white);
  display: flex;
  font-size: 0.78rem;
  font-weight: 800;
  height: 34px;
  justify-content: center;
  margin-bottom: 18px;
  width: 34px;
}
.ifa-history-chapters h3 { font-size: 1.25rem; }
.ifa-history-chapters p { font-size: 0.95rem; margin-bottom: 0; }

.ifa-history-portraits {
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 32px;
}

.ifa-history-portraits figure {
  background: var(--ifa-white);
  border: 1px solid var(--ifa-line);
  border-radius: 14px;
  margin: 0;
  overflow: hidden;
}
.ifa-history-portraits img {
  aspect-ratio: 4 / 3;
  background: #e9e5dc;
  display: block;
  object-fit: contain;
  width: 100%;
}
.ifa-history-portraits figcaption { padding: 20px 22px 22px; }
.ifa-history-portraits figcaption strong { color: var(--ifa-ink); display: block; font-family: Georgia, "Times New Roman", serif; font-size: 1.15rem; }
.ifa-history-portraits figcaption span { display: block; font-size: 0.84rem; margin-top: 4px; opacity: 0.72; }

body .fusion-header-wrapper .fusion-header,
body .fusion-header-wrapper .fusion-secondary-main-menu {
  background-color: rgba(255, 255, 255, 0.98);
}

body .fusion-main-menu > ul > li > a {
  color: var(--ifa-slate);
  font-weight: 700;
}

body .fusion-main-menu > ul > li > a:hover,
body .fusion-main-menu > ul > li.current-menu-item > a {
  color: var(--ifa-rust);
}

/* Compact the Avada layout-builder header while keeping menu touch targets. */
.fusion-tb-header .fusion-imageframe,
.fusion-tb-header .fusion-imageframe img {
  height: auto !important;
  width: 120px !important;
}

/* Global site footer */
.fusion-tb-footer.fusion-footer { display: none; }
.ifa-site-footer { background: #0b1b23; color: rgba(255, 255, 255, 0.72); }
.ifa-footer-cta { background: var(--ifa-rust); color: var(--ifa-white); }
.ifa-footer-cta__inner { align-items: center; display: flex; gap: 40px; justify-content: space-between; padding-bottom: 32px; padding-top: 32px; }
.ifa-footer-cta .ifa-kicker { color: rgba(255, 255, 255, 0.76); margin-bottom: 7px; }
.ifa-footer-cta h2 { color: var(--ifa-white); font-size: clamp(2rem, 3vw, 3rem); margin: 0; }
.ifa-footer-cta__actions { display: flex; flex: 0 0 auto; gap: 10px; }
.ifa-footer-cta .ifa-button { background: var(--ifa-white); border-color: var(--ifa-white); color: var(--ifa-ink) !important; }
.ifa-footer-cta .ifa-button:hover,
.ifa-footer-cta .ifa-button:focus-visible { background: var(--ifa-ink); border-color: var(--ifa-ink); color: var(--ifa-white) !important; }
.ifa-footer-cta .ifa-button--ghost { background: transparent; color: var(--ifa-white) !important; }
.ifa-footer-main { padding: 54px 0 44px; }
.ifa-footer-grid { display: grid; gap: 42px; grid-template-columns: minmax(280px, 1.45fr) repeat(2, minmax(135px, 0.62fr)) minmax(230px, 0.9fr); }
.ifa-footer-brand { max-width: 370px; }
.ifa-footer-logo { background: var(--ifa-white); border-radius: 10px; display: inline-block; margin-bottom: 22px; overflow: hidden; padding: 7px 12px; }
.ifa-footer-logo img { display: block; height: 64px; object-fit: contain; width: auto; }
.ifa-footer-brand > p,
.ifa-footer-contact p { color: rgba(255, 255, 255, 0.64); font-size: 0.92rem; line-height: 1.65; margin: 0; }
.ifa-footer-social { align-items: center; border: 1px solid rgba(255, 255, 255, 0.14); border-radius: 12px; color: var(--ifa-white); display: grid; gap: 10px; grid-template-columns: 32px 1fr auto; margin-top: 24px; padding: 11px 13px; transition: background 180ms ease, border-color 180ms ease; }
.ifa-footer-social > span { align-items: center; background: #1877f2; border-radius: 8px; display: flex; font-family: Arial, sans-serif; font-size: 1.25rem; height: 32px; justify-content: center; }
.ifa-footer-social strong { color: inherit; font-size: 0.78rem; }
.ifa-footer-social em { color: rgba(255, 255, 255, 0.48); font-style: normal; }
.ifa-footer-social:hover,
.ifa-footer-social:focus-visible { background: rgba(255, 255, 255, 0.07); border-color: rgba(255, 255, 255, 0.28); color: var(--ifa-white); }
.ifa-footer-nav,
.ifa-footer-contact { padding-top: 9px; }
.ifa-footer-nav h3,
.ifa-footer-contact h3 { color: var(--ifa-white); font-family: Georgia, "Times New Roman", serif; font-size: 1.12rem; margin: 0 0 20px; }
.ifa-footer-nav a { color: rgba(255, 255, 255, 0.67); display: block; font-size: 0.86rem; margin: 0 0 13px; }
.ifa-footer-nav a:hover,
.ifa-footer-nav a:focus-visible { color: var(--ifa-white); }
.ifa-footer-contact .ifa-text-link { color: var(--ifa-white); display: inline-block; margin-top: 22px; }
.ifa-footer-bottom { border-top: 1px solid rgba(255, 255, 255, 0.12); }
.ifa-footer-bottom__inner { align-items: center; display: flex; gap: 30px; justify-content: space-between; padding-bottom: 23px; padding-top: 23px; }
.ifa-footer-bottom p { color: rgba(255, 255, 255, 0.45); font-size: 0.72rem; margin: 0; }

@media (max-width: 900px) {
  .ifa-media-grid--print { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ifa-split,
  .ifa-card-grid,
  .ifa-story-grid,
  .ifa-price-grid,
  .ifa-event-grid,
  .ifa-contact-layout,
  .ifa-contact-hero__grid,
  .ifa-history-founding__grid,
  .ifa-articles-hero__grid,
  .ifa-post-layout { grid-template-columns: 1fr; }
  .ifa-affiliate-panel { gap: 30px; grid-template-columns: 1fr; }
  .ifa-gallery-hero__grid { gap: 38px; grid-template-columns: 1fr; }
  .ifa-gallery-hero { padding: 76px 0; }
  .ifa-gallery-grid { grid-auto-rows: 180px; grid-template-columns: repeat(3, 1fr); }
  .ifa-articles-library .ifa-section-heading > p { text-align: left; }
  .ifa-story-grid--archive { grid-template-columns: repeat(2, 1fr); }
  .ifa-story-grid--archive .ifa-story-card:first-child { grid-template-columns: minmax(280px, .82fr) minmax(340px, 1.18fr); }
  .ifa-story-grid--archive .ifa-story-card:last-child { grid-template-columns: 1.1fr .9fr; }
  .ifa-post-aside { position: static; }
  .ifa-history-timeline { grid-template-columns: repeat(2, 1fr); }
  .ifa-history-chapters,
  .ifa-history-portraits { grid-template-columns: 1fr; }
  .ifa-bird-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ifa-history-chapters article:first-child { grid-row: auto; }
  .ifa-history-chapters article:first-child { grid-column: auto; }
  .ifa-history-chapters article:first-child p { column-count: 1; }
  .ifa-contact-aside { position: static; }
  .ifa-contact-hero__intro { border-left: 0; border-top: 1px solid rgba(255, 255, 255, 0.24); padding-left: 0; padding-top: 28px; }
  .ifa-photo { min-height: 380px; }
  .ifa-hero { min-height: 600px; background-position: 58% center; }
  .ifa-hero::before { background: linear-gradient(90deg, rgba(13, 26, 33, 0.92), rgba(13, 26, 33, 0.5)); }
  .ifa-footer-cta__inner { align-items: flex-start; flex-direction: column; gap: 26px; }
  .ifa-footer-grid { grid-template-columns: 1.4fr repeat(2, 0.8fr); }
  .ifa-footer-contact { grid-column: 1 / -1; max-width: 680px; }
}

@media (max-width: 640px) {
  .ifa-page { font-size: 16px; }
  .ifa-media > .ifa-section { padding: 50px 0; }
  .ifa-media > .ifa-section:first-child,
  .ifa-articles-hero,
  .ifa-contact-hero,
  .ifa-gallery-hero { padding: 54px 0; }
  .ifa-media > .ifa-section:last-child { padding: 30px 0; }
  .ifa-media .ifa-section-heading { margin-bottom: 22px; }
  .ifa-media-card__body { padding: 20px; }
  .ifa-shell { padding-left: 20px; padding-right: 20px; }
  .ifa-section { padding: 50px 0; }
  .ifa-hero { min-height: 550px; }
  .ifa-hero__content { padding-bottom: 58px; padding-top: 58px; }
  .ifa-trust-grid { grid-template-columns: 1fr; }
  .ifa-trust-item { border-left: 0; border-top: 1px solid rgba(255, 255, 255, 0.15); padding: 20px; }
  .ifa-trust-item:first-child { border-top: 0; }
  .ifa-contact-grid { grid-template-columns: 1fr; }
  .ifa-gallery-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ifa-gallery-stat { padding: 18px; }
  .ifa-gallery-stat strong { font-size: 2rem; }
  .ifa-gallery-toolbar { align-items: stretch; flex-direction: column; gap: 10px; padding: 10px; position: static; }
  .ifa-gallery-filters { flex-wrap: nowrap; margin: 0 -2px; overflow-x: auto; padding: 2px 2px 8px; }
  .ifa-gallery-filters button { flex: 0 0 auto; }
  .ifa-gallery-status { margin: 0 5px 2px; }
  .ifa-gallery-grid { gap: 10px; grid-auto-rows: 145px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 18px; }
  .ifa-gallery-item__caption { bottom: 12px; left: 12px; right: 12px; }
  .ifa-gallery-item__caption strong { font-size: 0.88rem; }
  .ifa-gallery-item__zoom { display: none; }
  .ifa-gallery-archive-callout { align-items: flex-start; flex-direction: column; gap: 22px; }
  .ifa-lightbox figure { height: calc(100dvh - 150px); max-width: calc(100vw - 24px); }
  .ifa-lightbox img { max-height: calc(100dvh - 225px); }
  .ifa-lightbox figcaption { align-items: flex-start; flex-direction: column; gap: 5px; }
  .ifa-lightbox__close { height: 44px; right: 12px; top: 12px; width: 44px; }
  .ifa-lightbox__previous,
  .ifa-lightbox__next { bottom: 18px; height: 48px; top: auto; width: 48px; }
  .ifa-lightbox__previous { left: 20px; }
  .ifa-lightbox__next { right: 20px; }
  .ifa-step { grid-template-columns: 1fr; }
  .ifa-actions { align-items: stretch; flex-direction: column; }
  .ifa-button { width: 100%; }
  .ifa-form-grid { grid-template-columns: 1fr; gap: 0; }
  .ifa-contact-panel { padding: 26px 20px; }
  .ifa-contact-route { padding: 22px; }
  .ifa-contact-aside__intro,
  .ifa-contact-aside__footer { padding: 26px 22px; }
  .ifa-contact-links .ifa-section-heading > p { text-align: left; }
  .ifa-section-heading { align-items: flex-start; flex-direction: column; }
  .ifa-section-heading .ifa-text-link { margin-bottom: 0; }
  .ifa-social-card { grid-template-columns: 1fr; }
  .ifa-social-card__mark { border-radius: 16px; }
  .ifa-story-grid--archive { grid-template-columns: 1fr; }
  .ifa-bird-grid { grid-template-columns: 1fr; margin-top: 30px; }
  .ifa-bird-diversity .ifa-section-heading > p { text-align: left; }
  .ifa-media-grid,
  .ifa-media-grid--videos { grid-template-columns: 1fr; }
  .ifa-media-grid--print,
  .ifa-media-archive-panel { grid-template-columns: 1fr; }
  .ifa-start-questions .ifa-checklist { columns: 1; }
  .ifa-events-hero,
  .ifa-media-hero { min-height: 430px; }
  .ifa-story-grid--archive .ifa-story-card:first-child,
  .ifa-story-grid--archive .ifa-story-card:last-child { display: flex; grid-column: auto; }
  .ifa-story-grid--archive .ifa-story-card:first-child .ifa-story-image,
  .ifa-story-grid--archive .ifa-story-card:last-child .ifa-story-image { aspect-ratio: 3 / 2; min-height: 0; }
  .ifa-story-grid--archive .ifa-story-card:first-child .ifa-story-image {
    aspect-ratio: 4 / 5;
    background-position: center 20%;
  }
  .ifa-story-grid--archive .ifa-story-card:first-child .ifa-story-body,
  .ifa-story-grid--archive .ifa-story-card:last-child .ifa-story-body { padding: 28px; }
  .ifa-post-hero { background-position: 62% center; min-height: 510px; }
  .ifa-post-hero__overlay { background: linear-gradient(90deg, rgba(11,25,32,.94), rgba(11,25,32,.56)), linear-gradient(0deg, rgba(11,25,32,.72), transparent 55%); }
  .ifa-post-hero h1 { font-size: clamp(2.6rem, 13vw, 4rem); }
  .ifa-post-article { border-left: 0; border-radius: 0; border-right: 0; margin-left: -20px; margin-right: -20px; padding: 32px 20px; }
  .ifa-post-page { font-size: 16px; }
  .ifa-history-hero { background-position: 68% center; min-height: 480px; }
  .ifa-history-hero::before { background: linear-gradient(90deg, rgba(12, 27, 35, 0.97), rgba(12, 27, 35, 0.62)); }
  .ifa-history-hero__content { padding-bottom: 56px; padding-top: 56px; }
  .ifa-history > .ifa-section { padding: 50px 0; }
  .ifa-history-overview .ifa-section-heading > p { text-align: left; }
  .ifa-history-timeline { grid-template-columns: 1fr; }
  .ifa-history-milestone { min-height: 0; }
  .ifa-history-archive summary,
  .ifa-history-archive__body { padding: 22px 20px; }
  .ifa-footer-cta__inner { padding-bottom: 28px; padding-top: 28px; }
  .ifa-footer-cta__actions { align-items: stretch; flex-direction: column; width: 100%; }
  .ifa-footer-main { padding: 44px 0 36px; }
  .ifa-footer-grid { gap: 38px 24px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ifa-footer-brand,
  .ifa-footer-contact { grid-column: 1 / -1; }
  .ifa-footer-logo img { height: 62px; }
  .ifa-footer-bottom__inner { align-items: flex-start; flex-direction: column; gap: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  .ifa-button,
  .ifa-gallery-item img,
  .ifa-gallery-item__caption,
  .ifa-gallery-item__zoom { scroll-behavior: auto; transition: none; }
}
