.frj-editorial {
  --frj-accent: #5f8680;
  --frj-accent-soft: #789893;
  --frj-accent-line: #a9c4bf;
  --frj-text: #111111;
  --frj-muted: rgba(17, 17, 17, 0.66);
  --frj-line: rgba(17, 17, 17, 0.08);
  --frj-shell: 1240px;
  --frj-font: Inter, "Segoe UI", Arial, sans-serif;
  font-family: var(--frj-font);
  color: var(--frj-text);
  background: #fff;
}
.frj-editorial *, .frj-editorial *::before, .frj-editorial *::after { box-sizing: border-box; }

.frj-editorial,
.frj-editorial p,
.frj-editorial div,
.frj-editorial span,
.frj-editorial small,
.frj-editorial a,
.frj-editorial strong,
.frj-editorial em,
.frj-editorial h1,
.frj-editorial h2,
.frj-editorial h3,
.frj-editorial h4,
.frj-editorial h5,
.frj-editorial h6 {
  font-family: var(--frj-font) !important;
}

.frj-title,
.frj-cta-title,
.frj-statement-top,
.frj-statement-bottom,
.frj-metric-title,
.frj-heading .frj-title {
  font-family: var(--frj-font) !important;
  font-weight: 900 !important;
  letter-spacing: -.05em !important;
}

.frj-lead,
.frj-metric-text,
.frj-metric-text p,
.frj-cta-text,
.frj-cta-text p,
.frj-statement-text,
.frj-statement-text p {
  font-family: var(--frj-font) !important;
}

.frj-heading h1,
.frj-heading h2,
.frj-heading h3,
.frj-heading h4,
.frj-heading h5,
.frj-heading h6,
.frj-metric h3,
.frj-cta h3 {
  margin: 0 !important;
}
.frj-shell { max-width: var(--frj-shell); margin: 0 auto; padding: 0 20px; }
.frj-section { border-top: 1px solid var(--frj-line); }
.frj-section:first-of-type { border-top: 0; }
.frj-pad-m { padding: 64px 0; }
.frj-pad-l { padding: 96px 0; }
.frj-pad-xl { padding: 128px 0; }
.frj-heading-top { display: flex; align-items: end; gap: 14px; margin-bottom: 14px; flex-wrap: wrap; }
.frj-eyebrow { margin: 0; font-size: 12px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--frj-accent); }
.frj-meta { font-size: 10px; letter-spacing: .28em; text-transform: uppercase; color: var(--frj-accent-soft); }
.frj-title { margin: 0; font-size: clamp(34px, 6vw, 92px); line-height: .94; letter-spacing: -.05em; font-weight: 900; text-wrap: balance; }
.frj-lead { margin: 24px 0 0; max-width: 760px; font-size: clamp(18px, 2.1vw, 21px); line-height: 1.8; color: var(--frj-muted); }
.frj-cols { display: grid; }
.frj-cols-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.frj-cols-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.frj-gap-m { gap: 24px; }
.frj-gap-l { gap: 48px; }
.frj-gap-xl { gap: 72px; }
.frj-image { position: relative; border: 1px solid var(--frj-line); background: #fafafa; }
.frj-image.ph-sm { min-height: 180px; }
.frj-image.ph-md { min-height: 240px; }
.frj-image.ph-lg { min-height: 360px; }
.frj-image::before { content: ""; position: absolute; right: 0; top: 0; width: 56px; height: 1px; background: rgba(17,17,17,.10); }
.frj-image::after { content: ""; position: absolute; right: 0; top: 0; width: 1px; height: 56px; background: rgba(17,17,17,.10); }
.frj-corner-label { position: absolute; right: 14px; top: 14px; font-size: 10px; text-transform: uppercase; letter-spacing: .28em; color: var(--frj-accent-soft); }
.frj-image-index { position: absolute; left: 16px; bottom: 16px; font-size: 10px; text-transform: uppercase; letter-spacing: .28em; color: var(--frj-accent-soft); font-weight: 700; }
.frj-image-caption { margin-top: 10px; display: flex; align-items: center; gap: 14px; font-size: 11px; text-transform: uppercase; letter-spacing: .2em; color: rgba(17,17,17,.35); }
.frj-image-line { height: 1px; flex: 1; background: var(--frj-line); }
.frj-metric { border-top: 1px solid rgba(17,17,17,.10); padding-top: 18px; position: relative; }
.frj-metric::after { content:""; position:absolute; top:0; right:0; width:32px; height:1px; background:rgba(17,17,17,.10); }
.frj-metric-top { display:flex; align-items:center; gap:14px; }
.frj-metric-number { font-size: 14px; letter-spacing: .2em; text-transform: uppercase; font-weight: 700; color: var(--frj-accent); }
.frj-metric-line { height:1px; width:42px; background: var(--frj-line); }
.frj-metric-title { margin:16px 0 0; font-size: clamp(24px, 2.2vw, 34px); line-height: 1.05; letter-spacing: -.04em; font-weight: 900; }
.frj-metric-text, .frj-metric-text p { margin: 14px 0 0; font-size: 18px; line-height: 1.8; color: var(--frj-muted); }
.frj-divider { margin: 38px 0; display:flex; align-items:center; gap:18px; color: rgba(17,17,17,.16); }
.frj-divider span { flex:1; height:1px; background: currentColor; }
.frj-divider small { font-size:10px; font-weight:700; letter-spacing:.34em; text-transform:uppercase; color: var(--frj-accent); }
.frj-link { display:inline-flex; align-items:center; gap:8px; padding-bottom:2px; border-bottom:1px solid rgba(17,17,17,.15); font-size:15px; font-weight:700; color: rgba(17,17,17,.82); text-decoration:none; }
.frj-link::after { content:""; width:6px; height:6px; border-radius:999px; background: rgba(17,17,17,.2); }
.frj-link-accent { color: var(--frj-accent); border-bottom-color: var(--frj-accent-line); }
.frj-link-accent::after { background: var(--frj-accent); }
.frj-cta-title { margin:0 0 18px; font-size: clamp(30px, 4vw, 64px); line-height: .96; letter-spacing: -.05em; font-weight: 900; }
.frj-cta-text, .frj-cta-text p { margin:0; font-size: 18px; line-height: 1.8; color: var(--frj-muted); }
.frj-statement { border-left: 1px solid var(--frj-accent-line); padding-left: 28px; }
.frj-statement-top, .frj-statement-bottom { font-size: clamp(34px, 4vw, 54px); line-height: .9; letter-spacing: -.05em; font-weight: 900; }
.frj-statement-top { color: var(--frj-accent); margin-bottom: 10px; }
.frj-statement-bottom { color: var(--frj-text); }
.frj-statement-text, .frj-statement-text p { margin: 18px 0 0; font-size: 17px; line-height: 1.75; color: var(--frj-muted); }
@media (max-width: 900px) {
  .frj-cols-2, .frj-cols-3 { grid-template-columns: 1fr; }
  .frj-pad-m { padding: 48px 0; }
  .frj-pad-l { padding: 64px 0; }
  .frj-pad-xl { padding: 84px 0; }
  .frj-statement { padding-left: 20px; }
}
