/* Newsroom — index and article pages. Uses only tokens from tokens.css. */

.av-news-head { padding: 190px var(--av-gutter) 0; }
.av-news-head__intro {
  margin: 32px 0 0; max-width: 620px;
  font-size: var(--av-text-body-lg); line-height: var(--av-leading-body);
  color: var(--av-text-secondary);
}
.av-news-h1 {
  margin: 28px 0 0; max-width: 900px;
  font-size: var(--av-text-d1); line-height: .98;
  letter-spacing: var(--av-tracking-display);
}

/* featured card */
.av-news-feature {
  position: relative; display: block; margin-top: 72px;
  padding: clamp(36px, 5vw, 72px); box-sizing: border-box;
  border-radius: var(--av-radius-3xl); overflow: hidden;
  background: var(--av-black); color: var(--av-white);
  transition: transform var(--av-dur-mid) var(--av-ease);
}
.av-news-feature:hover { transform: translateY(-5px); }
.av-news-feature__grid {
  position: relative; display: grid; align-items: center;
  grid-template-columns: repeat(auto-fit, minmax(min(400px, 100%), 1fr));
  gap: clamp(36px, 4vw, 72px);
}
.av-news-feature__text { max-width: 620px; }
.av-news-feature__title {
  margin: 28px 0 0; font-size: clamp(36px, 4.6vw, 64px);
  line-height: .98; letter-spacing: var(--av-tracking-display); color: var(--av-white);
}
.av-news-feature__stand {
  margin: 24px 0 0; max-width: 620px;
  font-size: var(--av-text-body); line-height: var(--av-leading-body);
  color: var(--av-text-secondary-inverse);
}
.av-news-feature__media {
  position: relative; min-width: 0; aspect-ratio: 16 / 10;
  border-radius: var(--av-radius-lg); overflow: hidden;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.14);
}
.av-news-feature__media img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* meta row */
.av-news-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.av-news-meta__item {
  font-size: var(--av-text-caption); line-height: 1;
  letter-spacing: var(--av-tracking-eyebrow); text-transform: uppercase;
  color: var(--av-n500);
}
.av-news-meta__item--inverse { color: var(--av-n400); }
.av-news-meta__dot { width: 3px; height: 3px; border-radius: 50%; background: var(--av-n300); }

.av-news-pill {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 5px 12px; border-radius: var(--av-radius-pill);
  font-family: var(--av-font-heading); font-weight: var(--av-weight-heading);
  font-size: var(--av-text-caption); line-height: 1; letter-spacing: .04em;
}
.av-news-pill--solid { background: var(--av-black); color: var(--av-white); }
.av-news-pill--inverse { background: var(--av-white); color: var(--av-black); }
.av-news-pill--outline { box-shadow: inset 0 0 0 1px var(--av-border); color: var(--av-black); }

.av-news-cta {
  display: inline-flex; align-items: center; gap: 10px; margin-top: 40px;
  font-size: var(--av-text-caption); line-height: 1;
  letter-spacing: var(--av-tracking-eyebrow); text-transform: uppercase;
}
.av-news-cta svg { transition: transform var(--av-dur-fast) var(--av-ease); }
.av-news-feature:hover .av-news-cta svg,
.av-news-card:hover .av-news-cta svg { transform: translateX(4px); }

/* card grid */
.av-news-grid {
  display: grid; gap: var(--av-space-4); margin-top: var(--av-space-4);
  grid-template-columns: repeat(auto-fit, minmax(min(340px, 100%), 1fr));
}
.av-news-card {
  display: flex; flex-direction: column; gap: 20px;
  padding: 32px; box-sizing: border-box;
  border-radius: var(--av-radius-2xl); background: var(--av-white);
  box-shadow: inset 0 0 0 1px var(--av-border);
  transition: box-shadow var(--av-dur-mid) var(--av-ease), transform var(--av-dur-mid) var(--av-ease);
}
.av-news-card:hover { box-shadow: inset 0 0 0 1px var(--av-black); transform: translateY(-4px); }
.av-news-card__title {
  max-width: 20ch; font-size: clamp(24px, 2.2vw, 30px);
  line-height: 1.08; letter-spacing: var(--av-tracking-display);
}
.av-news-card__stand {
  margin: 0; max-width: 54ch;
  font-size: var(--av-text-body); line-height: var(--av-leading-body);
  color: var(--av-text-secondary);
}

/* article */
.av-article { max-width: 820px; margin: 0 auto; }
.av-article__back {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: var(--av-text-caption); line-height: 1;
  letter-spacing: var(--av-tracking-eyebrow); text-transform: uppercase;
  color: var(--av-n500); transition: color var(--av-dur-fast) var(--av-ease);
}
.av-article__back:hover { color: var(--av-black); }
.av-article__title {
  margin: 28px 0 0; font-size: clamp(38px, 4.4vw, 62px);
  line-height: 1; letter-spacing: var(--av-tracking-display); text-wrap: balance;
}
.av-article__stand {
  margin: 32px 0 0; font-size: clamp(18px, 1.5vw, 22px);
  line-height: 1.6; color: var(--av-text-secondary); text-wrap: pretty;
}
.av-article__rule { margin: 56px 0 0; height: 1px; background: var(--av-rule); }
.av-article__h2 {
  margin: 60px 0 0; font-size: clamp(26px, 2.4vw, 36px);
  line-height: 1.1; letter-spacing: var(--av-tracking-display);
}
.av-article__p {
  margin: 24px 0 0; font-size: 18px; line-height: 1.75; color: var(--av-n800);
}
.av-article__cta {
  margin: 88px 0 0; padding: clamp(36px, 5vw, 56px); box-sizing: border-box;
  border-radius: var(--av-radius-2xl); background: var(--av-black);
}
.av-article__cta-title {
  font-size: clamp(26px, 2.6vw, 38px); line-height: 1.05;
  letter-spacing: var(--av-tracking-display); color: var(--av-white); text-wrap: balance;
}
.av-article__cta-sub {
  margin: 20px 0 0; max-width: 520px;
  font-size: var(--av-text-body); line-height: var(--av-leading-body);
  color: var(--av-text-secondary-inverse);
}
.av-article__cta-row { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 40px; }

/* thank-you */
.av-thanks { padding: clamp(150px, 17vh, 210px) var(--av-gutter) clamp(120px, 15vh, 180px);
  display: flex; flex-direction: column; align-items: center; text-align: center; }
.av-thanks__badge { display: grid; place-items: center; width: 74px; height: 74px;
  border-radius: 50%; background: var(--av-black); }
.av-thanks__title { margin: 36px 0 0; max-width: 16ch;
  font-size: clamp(40px, 5.2vw, 72px); line-height: 1;
  letter-spacing: var(--av-tracking-display); text-wrap: balance; }
.av-thanks__body { margin: 24px 0 0; max-width: 520px; font-size: 17px;
  line-height: 1.7; color: var(--av-text-secondary); text-wrap: pretty; }
.av-thanks__note { margin: 28px 0 0; max-width: 540px;
  font-size: var(--av-text-body); line-height: var(--av-leading-body); color: var(--av-n500); }
.av-thanks__row { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; margin-top: 44px; }
