/* =====================================================================
   Financial News Pro: section, topic, date, author, search, 404 and page templates.
   Loaded after style.css on those templates only. Uses the :root tokens from style.css.
   ===================================================================== */

/* ---------------------------------------------------------------- Shared */
.fn-ax-eyebrow { display: inline-flex; align-items: center; gap: 9px; font-size: 12.5px; font-weight: 650; letter-spacing: .085em; text-transform: uppercase; color: var(--royal); line-height: 1; }
.fn-ax-eyebrow__bars { width: 17px; height: 15px; fill: var(--royal); flex: none; }
.fn-ax-num { font-family: var(--f-mono); font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.fn-ax-h2 { display: flex; align-items: center; gap: 10px; font-size: 22px; font-weight: 700; letter-spacing: -.02em; margin-bottom: 20px; }
.fn-ax-h2::after { content: ""; flex: 1; height: 1px; background: var(--rule); margin-left: 6px; }
.fn-ax-h2 .fn-bars, .fn-ax-empty__h .fn-bars, .fn-ax-rail__h .fn-bars { width: 17px; height: 15px; fill: var(--royal); flex: none; }
.fn-ax-label { display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; color: var(--partner); background: var(--partner-bg); padding: 4px 8px 3px; border-radius: 2px; line-height: 1.2; white-space: nowrap; }
.fn-ax-label::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: currentColor; opacity: .7; }
.fn-ax-kicker { display: inline-block; font-size: 12.5px; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; color: var(--royal); line-height: 1.3; }
.fn-ax-kicker:hover { color: var(--royal-d); text-decoration: underline; text-underline-offset: 3px; }
.fn-ax-live { width: 8px; height: 8px; border-radius: 50%; background: var(--royal); box-shadow: 0 0 0 0 rgba(28, 76, 254, .5); animation: fn-ax-pulse 2.2s infinite; flex: none; }
@keyframes fn-ax-pulse { 0% { box-shadow: 0 0 0 0 rgba(28, 76, 254, .45); } 70% { box-shadow: 0 0 0 9px rgba(28, 76, 254, 0); } 100% { box-shadow: 0 0 0 0 rgba(28, 76, 254, 0); } }
.fn-ax-underline a, .fn-ax-row__t a, .fn-ax-lead__t a, .fn-ax-sec__t a, .fn-ax-card__t a {
	background-image: linear-gradient(currentColor, currentColor); background-size: 0 1.5px; background-repeat: no-repeat; background-position: 0 100%;
	transition: background-size .25s var(--ease), color .15s;
}
.fn-ax-row__t a:hover, .fn-ax-lead__t a:hover, .fn-ax-sec__t a:hover, .fn-ax-card__t a:hover { color: var(--ink); background-size: 100% 1.5px; }

/* ---------------------------------------------------------------- Masthead (section, topic, date) */
.fn-ax-mast { background: #fff; padding-top: 22px; }
.fn-ax-mast > .fn-wrap { position: relative; }
.fn-ax-mast__grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px 56px; align-items: end; padding: 26px 0 30px; border-bottom: 3px solid var(--ink); }
.fn-ax-mast__t { font-size: clamp(38px, 5vw, 60px); font-weight: 760; letter-spacing: -.036em; line-height: 1; margin-top: 14px; text-wrap: balance; }
.fn-ax-mast__d { font-family: var(--f-read); font-size: 19px; line-height: 1.55; color: var(--ink-2); margin-top: 16px; max-width: 62ch; }
.fn-ax-mast__d p + p { margin-top: .6em; }
.fn-ax-stats { display: flex; gap: 0; margin: 0; }
.fn-ax-stats__i { padding: 2px 0 2px 22px; margin-left: 22px; border-left: 1px solid var(--rule); min-width: 0; }
.fn-ax-stats__i:first-child { margin-left: 0; border-left: 0; padding-left: 0; }
.fn-ax-stats dt { font-size: 11.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); }
.fn-ax-stats dd { margin: 7px 0 0; font-size: 19px; font-weight: 600; color: var(--ink); white-space: nowrap; }
.fn-ax-stats dd .fn-ax-num { font-size: 19px; font-weight: 500; }
.fn-ax-stats dd time.fn-ax-num { font-size: 15px; }
.fn-ax-rss { display: inline-flex; align-items: center; gap: 7px; font-size: 14.5px; font-weight: 600; color: var(--royal); }
.fn-ax-rss svg { width: 15px; height: 15px; fill: currentColor; }
.fn-ax-rss:hover { color: var(--royal-d); }
.fn-ax-mast__note { padding: 16px 0 0; }
.fn-ax-disclose { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; font-size: 14.5px; color: var(--ink-2); background: var(--partner-bg); border: 1px solid #f1dfb2; border-radius: 6px; padding: 12px 16px; }
.fn-ax-disclose a { color: var(--partner); font-weight: 650; text-decoration: underline; text-underline-offset: 3px; }
.fn-ax-mast--partner .fn-ax-eyebrow { color: var(--partner); }
.fn-ax-mast--partner .fn-ax-eyebrow__bars { fill: var(--partner); }
.fn-ax-mast--partner .fn-ax-mast__grid { border-bottom-color: var(--partner); }

/* Sub-section tabs */
.fn-ax-tabs { border-bottom: 1px solid var(--rule); background: #fff; }
.fn-ax-tabs__l { list-style: none; display: flex; gap: 28px; overflow-x: auto; scrollbar-width: none; -ms-overflow-style: none; }
.fn-ax-tabs__l::-webkit-scrollbar { display: none; }
.fn-ax-tabs__l a { display: block; position: relative; padding: 15px 0 14px; font-size: 14.5px; font-weight: 600; color: var(--ink-2); white-space: nowrap; }
.fn-ax-tabs__l a:hover { color: var(--royal); }
.fn-ax-tabs__l a[aria-current] { color: var(--ink); }
.fn-ax-tabs__l a[aria-current]::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 3px; background: var(--royal); border-radius: 2px 2px 0 0; }

/* Date navigation */
.fn-ax-period { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0 0; }
.fn-ax-period__a { display: inline-flex; align-items: center; gap: 8px; font-size: 14.5px; font-weight: 600; color: var(--royal); }
.fn-ax-period__a .fn-i { width: 16px; height: 16px; }
.fn-ax-period__a--prev .fn-i { transform: rotate(180deg); }
.fn-ax-period__a:last-child:not(:first-child) { margin-left: auto; }
.fn-ax-mast--date .fn-ax-mast__t { font-family: var(--f-ui); }

/* ---------------------------------------------------------------- Lead block */
.fn-ax-lead { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 40px; padding: 36px 0 40px; border-bottom: 1px solid var(--rule); }
.fn-ax-lead__img, .fn-ax-sec__img, .fn-ax-row__img, .fn-ax-card__img { display: block; overflow: hidden; border-radius: 4px; background: var(--paper-2); aspect-ratio: 16 / 9; }
.fn-ax-chart { aspect-ratio: 15 / 8 !important; background: #0b1020; }
.fn-ax-lead__img img, .fn-ax-sec__img img, .fn-ax-row__img img, .fn-ax-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.fn-ax-lead__main:hover .fn-ax-lead__img img, .fn-ax-sec:hover .fn-ax-sec__img img, .fn-ax-row:hover .fn-ax-row__img img, .fn-ax-card:hover .fn-ax-card__img img { transform: scale(1.025); }
.fn-ax-lead__body { padding-top: 22px; }
.fn-ax-lead__k, .fn-ax-sec__k, .fn-ax-row__k, .fn-ax-card__k { margin-bottom: 8px; }
.fn-ax-lead__t { font-size: clamp(28px, 3.1vw, 42px); font-weight: 720; letter-spacing: -.03em; line-height: 1.08; text-wrap: balance; }
.fn-ax-lead__ex { font-family: var(--f-read); font-size: 19px; line-height: 1.55; color: var(--ink-2); margin-top: 14px; max-width: 64ch; }
.fn-ax-lead__meta, .fn-ax-sec__meta, .fn-ax-row__meta, .fn-ax-card__m { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 0; font-size: 13px; color: var(--ink-3); margin-top: 12px; }
.fn-ax-lead__meta > * + *::before, .fn-ax-sec__meta > * + *::before, .fn-ax-row__meta > * + *::before { content: ""; display: inline-block; width: 3px; height: 3px; border-radius: 50%; background: var(--rule-2); margin: 0 10px; vertical-align: middle; }
.fn-ax-lead__by, .fn-ax-row__by { color: var(--ink-2); font-weight: 600; }
.fn-ax-lead__by:hover, .fn-ax-row__by:hover { color: var(--royal); }
.fn-ax-lead__side { display: grid; gap: 28px; align-content: start; border-left: 1px solid var(--rule); padding-left: 32px; }
.fn-ax-sec__img { margin-bottom: 14px; }
.fn-ax-sec__t { font-size: 19px; font-weight: 660; line-height: 1.24; letter-spacing: -.014em; text-wrap: pretty; }
.fn-ax-sec__ex { font-family: var(--f-read); font-size: 15.5px; line-height: 1.5; color: var(--ink-2); margin-top: 8px; }
.fn-ax-sec + .fn-ax-sec { padding-top: 26px; border-top: 1px solid var(--rule); }
.fn-ax-sec__meta { margin-top: 9px; }

/* Typographic lead: no picture, so the type carries it. */
.fn-ax-lead--text .fn-ax-lead__main { position: relative; overflow: hidden; background: var(--paper); border-radius: 8px; padding: 44px 48px 44px 52px; border-left: 6px solid var(--royal); align-self: start; }
.fn-ax-lead--text .fn-ax-lead__main::after { content: ""; position: absolute; right: 28px; bottom: 26px; width: 150px; height: 134px; opacity: .085; pointer-events: none; background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 16'%3E%3Crect x='0' y='9' width='4' height='7' rx='1' fill='%231c4cfe'/%3E%3Crect x='7' y='5' width='4' height='11' rx='1' fill='%231c4cfe'/%3E%3Crect x='14' y='0' width='4' height='16' rx='1' fill='%231c4cfe'/%3E%3C/svg%3E"); }
.fn-ax-lead--text .fn-ax-lead__body { padding-top: 0; position: relative; z-index: 1; }
.fn-ax-lead--text .fn-ax-lead__t { font-size: clamp(32px, 3.7vw, 50px); line-height: 1.04; }
.fn-ax-lead--text .fn-ax-lead__ex { font-size: 20px; margin-top: 18px; }
.fn-ax-lead__cta { display: inline-flex; align-items: center; gap: 8px; margin-top: 24px; height: 46px; padding: 0 20px; border-radius: 999px; background: var(--ink); color: #fff; font-weight: 600; font-size: 15px; transition: background .15s, transform .15s var(--ease); }
.fn-ax-lead__cta .fn-i { width: 17px; height: 17px; transition: transform .2s var(--ease); }
.fn-ax-lead__cta:hover { background: var(--royal); color: #fff; }
.fn-ax-lead__cta:hover .fn-i { transform: translateX(3px); }

/* ---------------------------------------------------------------- Stream + rail */
.fn-ax-body { display: grid; grid-template-columns: minmax(0, 1fr) 336px; gap: 64px; padding-top: 36px; padding-bottom: 88px; align-items: start; }
.fn-ax-body--solo { grid-template-columns: minmax(0, 860px); }
.fn-ax-main { min-width: 0; }
.fn-ax-main__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding-bottom: 12px; border-bottom: 2px solid var(--ink); }
.fn-ax-main__t { font-size: 22px; font-weight: 720; letter-spacing: -.02em; }
.fn-ax-main__n { font-family: var(--f-mono); font-size: 12.5px; color: var(--ink-3); white-space: nowrap; }
.fn-ax-day { display: flex; align-items: center; gap: 10px; padding: 26px 0 4px; font-family: var(--f-mono); font-size: 12px; font-weight: 500; letter-spacing: .04em; text-transform: uppercase; color: var(--ink-3); }
.fn-ax-day::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--royal); flex: none; }
.fn-ax-day::after { content: ""; flex: 1; height: 1px; background: var(--rule); }
.fn-ax-dayg:first-child .fn-ax-day { padding-top: 18px; }

.fn-ax-row { display: grid; grid-template-columns: 62px minmax(0, 1fr) 216px; gap: 0 26px; padding: 22px 0; border-bottom: 1px solid var(--rule); align-items: start; }
.fn-ax-dayg__rows > .fn-ax-row:last-child { border-bottom: 0; }
.fn-ax-row--noimg { grid-template-columns: 62px minmax(0, 1fr); }
.fn-ax-row__when { padding-top: 3px; }
.fn-ax-row__clock { font-family: var(--f-mono); font-size: 13px; font-weight: 500; color: var(--royal); font-variant-numeric: tabular-nums; }
.fn-ax-row__date { display: flex; flex-direction: column; gap: 2px; font-family: var(--f-mono); font-size: 11.5px; color: var(--ink-3); line-height: 1.2; }
.fn-ax-row__date span { font-size: 14px; font-weight: 500; color: var(--royal); }
.fn-ax-row__t { font-size: 21px; font-weight: 660; line-height: 1.24; letter-spacing: -.016em; text-wrap: pretty; }
.fn-ax-row__ex { font-family: var(--f-read); font-size: 16.5px; line-height: 1.55; color: var(--ink-2); margin-top: 8px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.fn-ax-row__meta { margin-top: 10px; }
.fn-ax-row__img { align-self: start; }
.fn-ax-row--partner .fn-ax-row__t { font-weight: 620; }
.fn-ax-list mark, .fn-ax-row mark { background: var(--royal-t); color: var(--ink); border-radius: 2px; padding: 0 1px; box-decoration-break: clone; -webkit-box-decoration-break: clone; }

/* Pager */
.fn-ax-pager { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; margin-top: 8px; padding-top: 24px; border-top: 2px solid var(--ink); }
.fn-ax-pager__of { font-size: 14px; color: var(--ink-3); }
.fn-ax-pager__of strong { color: var(--ink); font-weight: 650; }
.fn-ax-pager .fn-pager { margin: 0; padding: 0; border: 0; }

/* Rail */
.fn-ax-rail { position: sticky; top: 92px; display: grid; gap: 34px; min-width: 0; }
.fn-ax-rail__box { border-top: 3px solid var(--ink); padding-top: 14px; }
.fn-ax-rail__h { display: flex; align-items: center; gap: 9px; font-size: 17px; font-weight: 720; letter-spacing: -.01em; padding-bottom: 6px; }
.fn-ax-tl { list-style: none; }
.fn-ax-tl li { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 10px; padding: 11px 0; border-bottom: 1px solid var(--rule); }
.fn-ax-tl li:last-child { border-bottom: 0; }
.fn-ax-tl .fn-time { font-family: var(--f-mono); font-size: 12px; color: var(--royal); padding-top: 2px; font-variant-numeric: tabular-nums; }
.fn-ax-tl a { font-size: 15px; font-weight: 560; line-height: 1.33; }
.fn-ax-secs { list-style: none; }
.fn-ax-secs a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 0 10px 0; border-bottom: 1px solid var(--rule); font-size: 15px; font-weight: 560; transition: padding .15s var(--ease), color .15s; }
.fn-ax-secs li:last-child a { border-bottom: 0; }
.fn-ax-secs a:hover { color: var(--royal); padding-left: 4px; }
.fn-ax-secs a[aria-current] { color: var(--royal); font-weight: 680; box-shadow: inset 3px 0 0 var(--royal); padding-left: 12px; }
.fn-ax-secs__n { font-family: var(--f-mono); font-size: 12px; color: var(--ink-3); font-weight: 500; }

/* Empty states */
.fn-ax-empty { padding: 26px 0 8px; }
.fn-ax-empty__t { font-size: 26px; font-weight: 720; letter-spacing: -.02em; line-height: 1.2; }
.fn-ax-empty__t q, .fn-ax-shead__t q { quotes: "\201C" "\201D"; color: var(--royal); }
.fn-ax-empty__d { color: var(--ink-2); margin-top: 10px; font-size: 16px; }
.fn-ax-tips { list-style: none; margin-top: 14px; display: grid; gap: 8px; color: var(--ink-2); font-size: 16px; }
.fn-ax-tips li { position: relative; padding-left: 20px; }
.fn-ax-tips li::before { content: ""; position: absolute; left: 2px; top: .62em; width: 7px; height: 7px; border-radius: 2px; background: var(--royal); }
.fn-ax-tips a { color: var(--royal); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.fn-ax-empty__h { display: flex; align-items: center; gap: 10px; font-size: 19px; font-weight: 720; margin: 40px 0 16px; }
.fn-ax-chips { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.fn-ax-chips a { display: inline-flex; align-items: center; height: 36px; padding: 0 15px; border-radius: 999px; border: 1px solid var(--rule-2); font-size: 14.5px; font-weight: 560; background: #fff; transition: border-color .15s, color .15s; }
.fn-ax-chips a:hover { border-color: var(--royal); color: var(--royal); }
.fn-ax-secgrid { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.fn-ax-secgrid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.fn-ax-secgrid a { position: relative; display: flex; flex-direction: column; gap: 4px; padding: 16px 44px 16px 18px; border: 1px solid var(--rule); border-radius: 8px; background: #fff; transition: border-color .15s, box-shadow .2s var(--ease), transform .2s var(--ease); }
.fn-ax-secgrid a:hover { border-color: var(--royal); box-shadow: var(--shadow); transform: translateY(-1px); }
.fn-ax-secgrid__n { font-size: 16.5px; font-weight: 680; letter-spacing: -.01em; color: var(--ink); }
.fn-ax-secgrid__c { font-family: var(--f-mono); font-size: 12px; color: var(--ink-3); }
.fn-ax-secgrid .fn-i { position: absolute; right: 16px; top: 50%; width: 18px; height: 18px; margin-top: -9px; color: var(--royal); transition: transform .2s var(--ease); }
.fn-ax-secgrid a:hover .fn-i { transform: translateX(3px); }

/* ---------------------------------------------------------------- Author */
.fn-ax-prof { background: var(--paper); padding-top: 22px; }
.fn-ax-prof__grid { display: grid; grid-template-columns: 152px minmax(0, 1fr) auto; gap: 18px 40px; align-items: start; padding: 28px 0 30px; }
.fn-ax-prof__grid > .fn-ax-prof__av { grid-row: span 2; }
.fn-ax-prof__grid > .fn-ax-prof__id { align-self: end; }
.fn-ax-prof__grid > .fn-ax-prof__bio { grid-column: 2 / -1; margin-top: 0; }
.fn-ax-prof__av { position: relative; width: 152px; height: 152px; border-radius: 50%; border: 2px solid var(--royal); }
.fn-ax-prof__av::before { content: attr(data-initials); position: absolute; inset: 5px; border-radius: 50%; background: var(--royal); display: grid; place-items: center; font-size: 50px; font-weight: 700; letter-spacing: -.03em; color: #fff; }
.fn-ax-prof__av img { position: absolute; inset: 5px; z-index: 1; width: calc(100% - 10px); height: calc(100% - 10px); object-fit: cover; border-radius: 50%; }
.fn-ax-prof__t { font-size: clamp(34px, 4.4vw, 54px); font-weight: 760; letter-spacing: -.035em; line-height: 1.02; margin-top: 12px; }
.fn-ax-prof__bio { font-family: var(--f-read); font-size: 18px; line-height: 1.65; color: var(--ink-2); margin-top: 14px; max-width: 66ch; }
.fn-ax-prof__links { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.fn-ax-prof__links a { display: inline-flex; align-items: center; gap: 7px; height: 36px; padding: 0 14px; border-radius: 999px; background: #fff; border: 1px solid var(--rule-2); font-size: 14px; font-weight: 600; }
.fn-ax-prof__links a:hover { border-color: var(--royal); color: var(--royal); }
.fn-ax-prof__links .fn-i { width: 16px; height: 16px; }
.fn-ax-stats--prof { align-self: end; padding-bottom: 6px; }
.fn-ax-beat { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 16px 28px; align-items: center; padding: 18px 0 22px; border-top: 1px solid var(--rule-2); border-bottom: 3px solid var(--ink); }
.fn-ax-beat__h { font-size: 11.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); }
.fn-ax-beat__l { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px 24px; }
.fn-ax-beat__l a { display: flex; flex-direction: column; gap: 7px; font-size: 14.5px; font-weight: 620; }
.fn-ax-beat__l a:hover { color: var(--royal); }
.fn-ax-beat__bar { display: block; height: 5px; border-radius: 3px; background: var(--rule); position: relative; overflow: hidden; }
.fn-ax-beat__bar::after { content: ""; position: absolute; inset: 0 auto 0 0; width: var(--w, 50%); background: var(--royal); border-radius: 3px; }

/* ---------------------------------------------------------------- Search */
.fn-ax-shead { background: var(--paper); border-bottom: 1px solid var(--rule); padding: 34px 0 0; }
.fn-ax-shead__t { font-size: clamp(30px, 3.8vw, 46px); font-weight: 750; letter-spacing: -.03em; line-height: 1.08; margin-top: 12px; overflow-wrap: anywhere; }
.fn-ax-sbox { display: flex; align-items: center; max-width: 820px; height: 64px; margin-top: 22px; padding: 0 8px 0 20px; background: #fff; border: 1.5px solid var(--rule-2); border-radius: 10px; box-shadow: 0 1px 2px rgba(8, 25, 71, .05); transition: border-color .15s, box-shadow .15s; }
.fn-ax-sbox:focus-within { border-color: var(--royal); box-shadow: 0 0 0 4px rgba(28, 76, 254, .14); }
.fn-ax-sbox .fn-i { width: 22px; height: 22px; color: var(--ink-3); flex: none; }
.fn-ax-sbox input { flex: 1; min-width: 0; height: 100%; border: 0; outline: 0; background: transparent; padding: 0 14px; font: 500 18px/1 var(--f-ui); color: var(--ink); }
.fn-ax-sbox input::placeholder { color: #7f89a8; font-weight: 400; }
.fn-ax-sbox input::-webkit-search-cancel-button { -webkit-appearance: none; }
.fn-ax-sbox button { height: 48px; padding: 0 26px; border: 0; border-radius: 7px; background: var(--royal); color: #fff; font: 600 16px/1 var(--f-ui); cursor: pointer; transition: background .15s; }
.fn-ax-sbox button:hover { background: var(--royal-d); }
.fn-ax-sbox--md { height: 56px; max-width: 560px; }
.fn-ax-sbox--md button { height: 42px; padding: 0 20px; font-size: 15px; }
.fn-ax-sbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; max-width: 100%; margin-top: 26px; }
.fn-ax-sbar__n { font-size: 15px; color: var(--ink-2); font-weight: 500; }
.fn-ax-sbar__n .fn-ax-num { font-size: 17px; color: var(--ink); font-weight: 500; }
.fn-ax-sort { display: inline-flex; padding: 3px; background: #fff; border: 1px solid var(--rule-2); border-radius: 999px; }
.fn-ax-sort a { display: inline-flex; align-items: center; height: 32px; padding: 0 14px; border-radius: 999px; font-size: 13.5px; font-weight: 600; color: var(--ink-2); }
.fn-ax-sort a:hover { color: var(--royal); }
.fn-ax-sort a[aria-current] { background: var(--ink); color: #fff; }
.fn-ax-filter { margin-top: 14px; }
.fn-ax-filter ul { list-style: none; display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; padding-bottom: 18px; }
.fn-ax-filter ul::-webkit-scrollbar { display: none; }
.fn-ax-filter a { display: inline-flex; align-items: center; height: 34px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--rule-2); background: #fff; font-size: 14px; font-weight: 560; white-space: nowrap; transition: border-color .15s, color .15s; }
.fn-ax-filter a:hover { border-color: var(--royal); color: var(--royal); }
.fn-ax-filter a[aria-current] { background: var(--royal); border-color: var(--royal); color: #fff; }
.fn-ax-shead .fn-ax-sbox:last-child { margin-bottom: 34px; }

/* ---------------------------------------------------------------- 404 */
.fn-ax-404 { background: linear-gradient(180deg, var(--paper) 0, #fff 100%); border-bottom: 1px solid var(--rule); }
.fn-ax-404__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 56px; align-items: center; padding-top: 64px; padding-bottom: 64px; }
.fn-ax-404__t { font-size: clamp(36px, 4.6vw, 58px); font-weight: 770; letter-spacing: -.038em; line-height: 1.02; margin-top: 16px; text-wrap: balance; }
.fn-ax-404__d { font-family: var(--f-read); font-size: 19px; line-height: 1.55; color: var(--ink-2); margin-top: 16px; max-width: 50ch; }
.fn-ax-404__home { margin-top: 18px; }
.fn-ax-404__home a { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 600; color: var(--royal); }
.fn-ax-404__home .fn-i { width: 16px; height: 16px; transform: rotate(180deg); }
.fn-ax-404__chart { margin: 0; background: var(--ink); border-radius: 12px; padding: 22px 22px 18px; box-shadow: 0 24px 48px -24px rgba(8, 25, 71, .55); color: #fff; }
.fn-ax-404__tick { display: flex; align-items: baseline; gap: 14px; font-family: var(--f-mono); padding-bottom: 14px; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.fn-ax-404__sym { font-size: 13px; letter-spacing: .08em; color: rgba(255, 255, 255, .7); }
.fn-ax-404__px { font-size: 26px; font-weight: 500; letter-spacing: -.02em; }
.fn-ax-404__chg { font-size: 15px; color: var(--down-n); margin-left: auto; }
.fn-ax-404__chart svg { display: block; width: 100%; height: 200px; margin-top: 12px; overflow: visible; }
.fn-ax-404__gridl path { stroke: rgba(255, 255, 255, .08); stroke-width: 1; fill: none; }
.fn-ax-404__line { fill: none; stroke: #7d9bff; stroke-width: 3; stroke-linejoin: round; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.fn-ax-404__fall { fill: none; stroke: var(--down-n); stroke-width: 3; stroke-linecap: round; stroke-dasharray: 4 6; vector-effect: non-scaling-stroke; }
.fn-ax-404__dot { fill: var(--down-n); }
.fn-ax-404__cap { display: flex; justify-content: space-between; margin-top: 12px; padding-top: 12px; border-top: 1px solid rgba(255, 255, 255, .1); font-family: var(--f-mono); font-size: 11.5px; letter-spacing: .06em; text-transform: uppercase; color: rgba(255, 255, 255, .62); }
.fn-ax-404__cap span:first-child { display: inline-flex; align-items: center; gap: 8px; }
.fn-ax-404__cap span:first-child::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--down-n); }
.fn-ax-404__secs { padding-top: 48px; }
.fn-ax-404__latest { padding-top: 48px; padding-bottom: 80px; }
.fn-ax-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
.fn-ax-card__img { margin-bottom: 14px; }
.fn-ax-card__t { font-size: 17.5px; font-weight: 660; line-height: 1.26; letter-spacing: -.012em; text-wrap: pretty; }
.fn-ax-card__m { font-family: var(--f-mono); font-size: 12px; margin-top: 9px; }

/* ---------------------------------------------------------------- Pages */
.fn-ax-phd { background: var(--paper); border-bottom: 1px solid var(--rule); padding: 22px 0 44px; position: relative; overflow: hidden; }
.fn-ax-phd > .fn-wrap { position: relative; }
.fn-ax-phd > .fn-wrap::after { content: ""; position: absolute; right: var(--gut); bottom: -44px; width: 190px; height: 170px; opacity: .07; pointer-events: none; background: no-repeat right bottom / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 16'%3E%3Crect x='0' y='9' width='4' height='7' rx='1' fill='%231c4cfe'/%3E%3Crect x='7' y='5' width='4' height='11' rx='1' fill='%231c4cfe'/%3E%3Crect x='14' y='0' width='4' height='16' rx='1' fill='%231c4cfe'/%3E%3C/svg%3E"); }
.fn-ax-phd .fn-ax-eyebrow { margin-top: 26px; }
.fn-ax-phd__t { font-size: clamp(36px, 4.6vw, 58px); font-weight: 770; letter-spacing: -.036em; line-height: 1.02; margin-top: 14px; max-width: 18ch; text-wrap: balance; }
.fn-ax-phd__d { font-family: var(--f-read); font-size: 20px; line-height: 1.5; color: var(--ink-2); margin-top: 14px; max-width: 60ch; }
.fn-ax-phd__meta { margin-top: 16px; font-family: var(--f-mono); font-size: 12.5px; color: var(--ink-3); letter-spacing: .02em; }

.fn-ax-pbody { display: grid; grid-template-columns: minmax(0, 720px) 300px; justify-content: space-between; gap: 64px; padding-top: 52px; padding-bottom: 96px; align-items: start; }
.fn-ax-page--policy .fn-ax-pbody { grid-template-columns: 260px minmax(0, 720px); justify-content: start; gap: 80px; }
.fn-ax-page--contact .fn-ax-pbody { grid-template-columns: minmax(0, 900px) 260px; }
.fn-ax-page--contact .fn-ax-prose--lede { max-width: 720px; }
.fn-ax-pmain { min-width: 0; }
.fn-ax-paside { position: sticky; top: 92px; display: grid; gap: 28px; min-width: 0; }

.fn-ax-prose { font-family: var(--f-read); font-size: 18.5px; line-height: 1.75; color: #14224f; overflow-wrap: break-word; }
.fn-ax-prose > * + * { margin-top: 1.05em; }
.fn-ax-prose p { margin: 0; }
.fn-ax-prose > p + p { margin-top: 1.05em; }
.fn-ax-prose h2, .fn-ax-prose h3 { font-family: var(--f-ui); color: var(--ink); letter-spacing: -.02em; line-height: 1.2; scroll-margin-top: 100px; }
.fn-ax-prose h2 { font-size: 26px; margin-top: 1.8em; }
.fn-ax-prose h3 { font-size: 21px; margin-top: 1.5em; }
.fn-ax-prose a { color: var(--royal-d); text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 3px; text-decoration-color: rgba(28, 76, 254, .4); overflow-wrap: anywhere; }
.fn-ax-prose a:hover { color: var(--royal); text-decoration-color: var(--royal); }
.fn-ax-prose strong, .fn-ax-prose b { font-weight: 650; color: var(--ink); }
.fn-ax-prose ul, .fn-ax-prose ol { padding-left: 1.25em; }
.fn-ax-prose li + li { margin-top: .4em; }
.fn-ax-prose li::marker { color: var(--royal); }
.fn-ax-prose li > p { margin: 0; }
.fn-ax-prose > ul + p, .fn-ax-prose > ol + p, .fn-ax-prose > ul + *, .fn-ax-prose > ol + * { margin-top: 1em; }
.fn-ax-prose em { color: var(--ink-2); }
.fn-ax-prose iframe { width: 100%; border: 0; display: block; }
/* Lede: the first paragraph reads as a standfirst; a bold-only first line becomes a kicker. */
.fn-ax-prose--lede > p:first-child:not(:has(> strong:only-child)),
.fn-ax-prose--lede > p:first-child:has(> strong:only-child) + p { font-size: 22px; line-height: 1.55; color: var(--ink); }
.fn-ax-prose--lede > p:first-child:has(> strong:only-child) { font-family: var(--f-ui); font-size: 13px; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
.fn-ax-prose--lede > p:first-child:has(> strong:only-child) strong { color: var(--royal); font-weight: 650; }

/* Policy clauses */
.fn-ax-prose--policy > p { font-size: 18px; }
.fn-ax-prose .fn-ax-clause { position: relative; padding-top: 22px; margin-top: 22px; border-top: 1px solid var(--rule); scroll-margin-top: 100px; }
.fn-ax-prose .fn-ax-clause > strong:first-child { display: block; font-family: var(--f-ui); font-size: 19px; font-weight: 700; letter-spacing: -.012em; line-height: 1.3; margin-bottom: 6px; color: var(--ink); }
.fn-ax-prose .fn-ax-subh { font-family: var(--f-ui); scroll-margin-top: 100px; }
.fn-ax-prose .fn-ax-subh strong { font-size: 24px; font-weight: 720; letter-spacing: -.02em; }
.fn-ax-prose .fn-ax-subh:first-child strong { font-size: 13px; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; color: var(--royal); }
.fn-ax-prose .fn-ax-subh:first-child + p { font-family: var(--f-ui); font-size: 24px; font-weight: 700; letter-spacing: -.02em; color: var(--ink); line-height: 1.25; margin-top: .4em; }

/* Contents list and page links */
.fn-ax-toc { border-top: 3px solid var(--ink); padding-top: 14px; }
.fn-ax-toc__h, .fn-ax-plinks__h { font-size: 11.5px; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); margin-bottom: 6px; }
.fn-ax-toc ol { list-style: none; counter-reset: fn-toc; }
.fn-ax-toc li { counter-increment: fn-toc; }
.fn-ax-toc a { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 4px; padding: 8px 0; font-size: 14.5px; font-weight: 540; line-height: 1.35; color: var(--ink-2); border-bottom: 1px solid var(--rule); }
.fn-ax-toc a::before { content: counter(fn-toc, decimal-leading-zero); font-family: var(--f-mono); font-size: 12px; color: var(--royal); padding-top: 2px; }
.fn-ax-toc a:hover { color: var(--royal); }
.fn-ax-toc li:last-child a { border-bottom: 0; }
.fn-ax-plinks { border-top: 2px solid var(--ink); padding-top: 14px; }
.fn-ax-plinks ul { list-style: none; }
.fn-ax-plinks a { display: block; padding: 9px 0 9px 0; font-size: 14.5px; font-weight: 540; color: var(--ink-2); border-bottom: 1px solid var(--rule); transition: color .15s, padding .15s var(--ease); }
.fn-ax-plinks li:last-child a { border-bottom: 0; }
.fn-ax-plinks a:hover { color: var(--royal); padding-left: 4px; }
.fn-ax-plinks a[aria-current] { color: var(--royal); font-weight: 680; box-shadow: inset 3px 0 0 var(--royal); padding-left: 12px; }

/* Contact cards */
.fn-ax-cards2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 36px; }
.fn-ax-cards2 > :last-child:nth-child(odd) { grid-column: 1 / -1; }
.fn-ax-ccard { border: 1px solid var(--rule); border-radius: 10px; padding: 26px 28px 28px; background: #fff; transition: border-color .15s, box-shadow .2s var(--ease); }
.fn-ax-ccard:hover { border-color: var(--rule-2); box-shadow: var(--shadow); }
.fn-ax-ccard__h { display: flex; align-items: center; gap: 12px; font-size: 20px; font-weight: 720; letter-spacing: -.016em; line-height: 1.25; }
.fn-ax-ccard__i { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 10px; background: var(--royal-t); color: var(--royal); flex: none; }
.fn-ax-ccard__i .fn-i { width: 20px; height: 20px; }
.fn-ax-ccard__b { font-size: 16.5px; line-height: 1.65; margin-top: 16px; }
.fn-ax-ccard__b > * + * { margin-top: .8em; }
.fn-ax-ccard__b a[href^="mailto:"] { display: inline-flex; align-items: center; margin-top: 4px; padding: 7px 12px; border-radius: 6px; background: var(--paper); font-family: var(--f-mono); font-size: 14.5px; text-decoration: none; color: var(--royal-d); }
.fn-ax-ccard__b a[href^="mailto:"]:hover { background: var(--royal-t); }

/* Advertise: ways to work with us + contact card */
.fn-ax-offer { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; padding-top: 44px; }
.fn-ax-offer__i { display: flex; flex-direction: column; gap: 10px; padding: 26px 26px 24px; border: 1px solid var(--rule); border-radius: 12px; background: #fff; transition: border-color .15s, box-shadow .2s var(--ease), transform .2s var(--ease); }
.fn-ax-offer__i:hover { border-color: var(--royal); box-shadow: var(--shadow); transform: translateY(-2px); color: inherit; }
.fn-ax-offer__n { font-family: var(--f-mono); font-size: 12.5px; color: var(--royal); }
.fn-ax-offer__t { font-size: 21px; font-weight: 720; letter-spacing: -.02em; line-height: 1.2; }
.fn-ax-offer__d { font-family: var(--f-read); font-size: 16px; line-height: 1.55; color: var(--ink-2); flex: 1; }
.fn-ax-offer__a { display: inline-flex; align-items: center; gap: 7px; margin-top: 6px; font-size: 14.5px; font-weight: 650; color: var(--royal); }
.fn-ax-offer__a .fn-i { width: 16px; height: 16px; transition: transform .2s var(--ease); }
.fn-ax-offer__i:hover .fn-ax-offer__a .fn-i { transform: translateX(3px); }
.fn-ax-page--advertise .fn-ax-pbody { padding-top: 44px; }
.fn-ax-cta { background: var(--ink); color: #fff; border-radius: 12px; padding: 26px 26px 24px; position: relative; overflow: hidden; }
.fn-ax-cta::after { content: ""; position: absolute; right: 18px; top: 18px; width: 54px; height: 48px; opacity: .2; background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 16'%3E%3Crect x='0' y='9' width='4' height='7' rx='1' fill='%23ffffff'/%3E%3Crect x='7' y='5' width='4' height='11' rx='1' fill='%23ffffff'/%3E%3Crect x='14' y='0' width='4' height='16' rx='1' fill='%23ffffff'/%3E%3C/svg%3E"); pointer-events: none; }
.fn-ax-cta__k { padding-right: 64px; font-size: 11.5px; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; color: rgba(255, 255, 255, .66); }
.fn-ax-cta__t { font-size: 22px; font-weight: 720; letter-spacing: -.02em; line-height: 1.2; margin-top: 8px; }
.fn-ax-cta__mail { position: relative; z-index: 1; display: flex; align-items: center; gap: 9px; margin-top: 18px; padding: 12px 14px; border-radius: 8px; background: var(--royal); color: #fff; font-size: 14.5px; font-weight: 600; overflow-wrap: anywhere; transition: background .15s; }
.fn-ax-cta__mail:hover { background: #3a64ff; color: #fff; }
.fn-ax-cta__mail .fn-i { width: 18px; height: 18px; flex: none; }
.fn-ax-cta__d { position: relative; z-index: 1; margin-top: 14px; font-size: 14px; line-height: 1.5; color: rgba(255, 255, 255, .75); }

/* Submission pages: accept / do not accept cards, then the form panel */
.fn-ax-cards2--rules { margin-top: 32px; }
.fn-ax-rule { border-radius: 10px; padding: 24px 26px 26px; background: #fff; border: 1px solid var(--rule); border-top-width: 4px; }
.fn-ax-rule--yes { border-top-color: var(--up); }
.fn-ax-rule--no { border-top-color: var(--down); }
.fn-ax-rule__h { display: flex; align-items: center; gap: 10px; font-size: 19px; font-weight: 720; letter-spacing: -.015em; margin-bottom: 12px; }
.fn-ax-rule__h::before { content: ""; width: 26px; height: 26px; border-radius: 50%; flex: none; background: no-repeat center / 14px; }
.fn-ax-rule--yes .fn-ax-rule__h::before { background-color: #e3f5ec; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b7d55' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E"); }
.fn-ax-rule--no .fn-ax-rule__h::before { background-color: #fbe6e8; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c42b38' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E"); }
.fn-ax-rule .fn-ax-prose { font-size: 16.5px; line-height: 1.6; }
.fn-ax-rule .fn-ax-prose ul { list-style: none; padding-left: 0; margin-top: .7em; }
.fn-ax-rule .fn-ax-prose li { position: relative; padding-left: 22px; }
.fn-ax-rule .fn-ax-prose li + li { margin-top: .45em; }
.fn-ax-rule .fn-ax-prose li::before { content: ""; position: absolute; left: 2px; top: .62em; width: 8px; height: 8px; border-radius: 2px; }
.fn-ax-rule--yes .fn-ax-prose li::before { background: var(--up); }
.fn-ax-rule--no .fn-ax-prose li::before { background: var(--down); }
.fn-ax-rule .fn-ax-prose > p:last-child { color: var(--ink-3); font-size: 15px; }

.fn-ax-formp { margin-top: 36px; background: var(--paper); border-radius: 14px; padding: 34px 36px 36px; border: 1px solid var(--rule); }
.fn-ax-formp__head { padding-bottom: 20px; margin-bottom: 24px; border-bottom: 1px solid var(--rule-2); }
.fn-ax-formp__t { font-size: 24px; font-weight: 740; letter-spacing: -.02em; }
.fn-ax-formp__d { font-size: 14.5px; color: var(--ink-3); margin-top: 6px; }
.fn-ax-formp--embed { padding: 0; overflow: hidden; background: #fff; }
.fn-ax-formp--embed .fn-ax-formp__head { padding: 26px 30px 20px; margin: 0; background: var(--paper); }
.fn-ax-formp--embed iframe { display: block; width: 100%; border: 0; }

.fn-ax-pitch { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; }
.fn-ax-pitch__mail { display: inline-flex; align-items: center; gap: 10px; height: 52px; padding: 0 22px; border-radius: 999px; background: var(--royal); color: #fff; font-size: 16px; font-weight: 650; box-shadow: 0 6px 16px -8px rgba(28, 76, 254, .6); transition: background .15s; }
.fn-ax-pitch__mail:hover { background: var(--royal-d); color: #fff; }
.fn-ax-pitch__mail .fn-i { width: 19px; height: 19px; }
.fn-ax-pitch__alt { display: inline-flex; align-items: center; gap: 6px; font-size: 14.5px; font-weight: 600; color: var(--royal); }
.fn-ax-pitch__alt .fn-i { width: 15px; height: 15px; }
.fn-ax-deadembed[hidden] { display: none !important; }

/* WPForms, brought into the house style (the form's own block styles set variables inline, so these win with !important). */
.fn-ax-formp .wpforms-container, .fn-ax-formp .wpforms-container.wpforms-render-modern {
	--wpforms-label-color: #081947 !important; --wpforms-label-sublabel-color: #56638a !important; --wpforms-label-error-color: #c42b38 !important;
	--wpforms-field-border-radius: 8px !important; --wpforms-field-border-color: #c3cce6 !important; --wpforms-field-text-color: #081947 !important;
	--wpforms-field-background-color: #ffffff !important; --wpforms-button-border-radius: 999px !important; --wpforms-button-background-color: #1c4cfe !important;
	--wpforms-button-border-color: #1c4cfe !important; --wpforms-button-text-color: #ffffff !important; --wpforms-container-padding: 0px !important;
	--wpforms-container-border-width: 0px !important; --wpforms-container-border-radius: 0px !important; --wpforms-background-color: transparent !important;
	--wpforms-container-shadow-size-box-shadow: none !important; --wpforms-field-size-input-height: 48px !important; --wpforms-field-size-font-size: 16px !important;
	--wpforms-field-size-padding-h: 14px !important; --wpforms-label-size-font-size: 15px !important; --wpforms-button-size-height: 50px !important;
	--wpforms-button-size-font-size: 16px !important; --wpforms-button-size-padding-h: 28px !important; --wpforms-page-break-color: #1c4cfe !important;
	margin: 0 !important; padding: 0 !important; background: transparent !important; box-shadow: none !important; border: 0 !important; font-family: var(--f-ui);
}
.fn-ax-formp .wpforms-container .wpforms-form { padding: 0 !important; background: transparent !important; }
.fn-ax-formp .wpforms-container .wpforms-field { padding: 10px 0 !important; }
.fn-ax-formp .wpforms-container .wpforms-field-label { font-family: var(--f-ui) !important; font-weight: 600 !important; font-size: 15px !important; color: var(--ink) !important; margin-bottom: 7px !important; }
.fn-ax-formp .wpforms-container .wpforms-required-label { color: var(--royal) !important; }
.fn-ax-formp .wpforms-container .wpforms-field-description { font-size: 13.5px !important; color: var(--ink-3) !important; margin-top: 6px !important; }
.fn-ax-formp .wpforms-container input[type=text], .fn-ax-formp .wpforms-container input[type=email], .fn-ax-formp .wpforms-container input[type=url],
.fn-ax-formp .wpforms-container input[type=tel], .fn-ax-formp .wpforms-container input[type=number], .fn-ax-formp .wpforms-container select, .fn-ax-formp .wpforms-container textarea {
	width: 100% !important; max-width: 100% !important; font-family: var(--f-ui) !important; font-size: 16px !important; color: var(--ink) !important;
	background: #fff !important; border: 1.5px solid var(--rule-2) !important; border-radius: 8px !important; box-shadow: none !important; transition: border-color .15s, box-shadow .15s !important;
}
.fn-ax-formp .wpforms-container textarea { min-height: 180px !important; line-height: 1.55 !important; padding: 12px 14px !important; }
.fn-ax-formp .wpforms-container input:focus, .fn-ax-formp .wpforms-container select:focus, .fn-ax-formp .wpforms-container textarea:focus { border-color: var(--royal) !important; box-shadow: 0 0 0 4px rgba(28, 76, 254, .14) !important; outline: 0 !important; }
.fn-ax-formp .wpforms-container .wpforms-uploader { border: 1.5px dashed var(--rule-2) !important; border-radius: 10px !important; background: #fff !important; padding: 26px !important; transition: border-color .15s !important; }
.fn-ax-formp .wpforms-container .wpforms-uploader:hover { border-color: var(--royal) !important; }
.fn-ax-formp .wpforms-container .wpforms-uploader .modern-title { font-family: var(--f-ui) !important; color: var(--ink-2) !important; font-size: 15px !important; }
.fn-ax-formp .wpforms-container .wpforms-uploader .modern-title span { color: var(--royal) !important; text-decoration: underline; }
.fn-ax-formp .wpforms-container .wpforms-submit-container { padding-top: 14px !important; }
.fn-ax-formp .wpforms-container button[type=submit], .fn-ax-formp .wpforms-container .wpforms-submit {
	height: 50px !important; padding: 0 30px !important; border-radius: 999px !important; background: var(--royal) !important; border: 0 !important;
	color: #fff !important; font-family: var(--f-ui) !important; font-size: 16px !important; font-weight: 650 !important; box-shadow: 0 6px 16px -8px rgba(28, 76, 254, .6) !important; cursor: pointer;
}
.fn-ax-formp .wpforms-container button[type=submit]:hover { background: var(--royal-d) !important; }
.fn-ax-formp .wpforms-container .wpforms-field-row { max-width: 100% !important; }
.fn-ax-formp .wpforms-container label.wpforms-error, .fn-ax-formp .wpforms-container em.wpforms-error { color: var(--down) !important; font-size: 13.5px !important; }

/* ---------------------------------------------------------------- Responsive */
@media (max-width: 1179px) {
	.fn-ax-body { grid-template-columns: minmax(0, 1fr) 296px; gap: 44px; }
	.fn-ax-lead { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 32px; }
	.fn-ax-lead__side { padding-left: 26px; }
	.fn-ax-row { grid-template-columns: 56px minmax(0, 1fr) 180px; gap: 0 20px; }
	.fn-ax-row--noimg { grid-template-columns: 56px minmax(0, 1fr); }
	.fn-ax-pbody { grid-template-columns: minmax(0, 1fr) 270px; gap: 48px; }
	.fn-ax-page--policy .fn-ax-pbody { grid-template-columns: 230px minmax(0, 1fr); gap: 52px; }
	.fn-ax-secgrid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.fn-ax-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 899px) {
	.fn-ax-mast__grid { grid-template-columns: minmax(0, 1fr); gap: 22px; padding: 18px 0 24px; }
	.fn-ax-stats { flex-wrap: wrap; row-gap: 14px; }
	.fn-ax-body { grid-template-columns: minmax(0, 1fr); gap: 48px; padding-bottom: 64px; }
	.fn-ax-rail { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
	.fn-ax-lead { grid-template-columns: minmax(0, 1fr); gap: 28px; padding: 26px 0 30px; }
	.fn-ax-lead__side { grid-template-columns: repeat(2, minmax(0, 1fr)); border-left: 0; padding-left: 0; gap: 24px; }
	.fn-ax-sec + .fn-ax-sec { padding-top: 0; border-top: 0; }
	.fn-ax-lead--text .fn-ax-lead__main { padding: 32px 30px 32px 32px; }
	.fn-ax-prof__grid { grid-template-columns: 112px minmax(0, 1fr); gap: 20px 26px; align-items: start; }
	.fn-ax-prof__av { width: 112px; height: 112px; }
	.fn-ax-prof__av::before { font-size: 38px; }
	.fn-ax-prof__grid > .fn-ax-prof__av { grid-row: auto; }
	.fn-ax-prof__grid > .fn-ax-prof__id { align-self: center; }
	.fn-ax-stats--prof { grid-column: 1 / -1; grid-row: 3; }
	.fn-ax-prof__grid > .fn-ax-prof__bio { grid-column: 1 / -1; grid-row: 2; }
	.fn-ax-beat { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	.fn-ax-beat__l { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.fn-ax-404__grid { grid-template-columns: minmax(0, 1fr); gap: 36px; padding-top: 44px; padding-bottom: 48px; }
	.fn-ax-pbody, .fn-ax-page--policy .fn-ax-pbody, .fn-ax-page--contact .fn-ax-pbody { grid-template-columns: minmax(0, 1fr); gap: 40px; padding-top: 36px; padding-bottom: 72px; }
	.fn-ax-paside { position: static; }
	.fn-ax-offer { grid-template-columns: minmax(0, 1fr); gap: 14px; padding-top: 32px; }
	.fn-ax-cards2 { grid-template-columns: minmax(0, 1fr); }
	.fn-ax-page--policy .fn-ax-plinks { display: none; }
}
@media (max-width: 599px) {
	.fn-ax-mast { padding-top: 16px; }
	.fn-ax-mast__t { font-size: 36px; }
	.fn-ax-mast__d { font-size: 17px; }
	.fn-ax-stats__i { padding-left: 16px; margin-left: 16px; }
	.fn-ax-stats dd, .fn-ax-stats dd .fn-ax-num { font-size: 16px; }
	.fn-ax-stats dd time.fn-ax-num { font-size: 13.5px; }
	.fn-ax-lead__t { font-size: 27px; }
	.fn-ax-lead__ex { font-size: 17px; }
	.fn-ax-lead--text .fn-ax-lead__t { font-size: 30px; }
	.fn-ax-lead--text .fn-ax-lead__main { padding: 26px 22px 26px 24px; border-left-width: 5px; }
	.fn-ax-lead--text .fn-ax-lead__main::after { width: 96px; height: 86px; right: 14px; bottom: 14px; }
	.fn-ax-lead__side { grid-template-columns: minmax(0, 1fr); }
	.fn-ax-sec { display: grid; grid-template-columns: minmax(0, 1fr) 112px; gap: 0 14px; align-items: start; }
	.fn-ax-sec + .fn-ax-sec { padding-top: 20px; border-top: 1px solid var(--rule); }
	.fn-ax-sec__img { grid-column: 2; grid-row: 1 / span 3; margin: 0; }
	.fn-ax-sec__t { font-size: 17px; }
	.fn-ax-sec--noimg { display: block; }
	.fn-ax-row, .fn-ax-row--noimg { grid-template-columns: minmax(0, 1fr) 108px; gap: 0 14px; padding: 18px 0; }
	.fn-ax-row--noimg { grid-template-columns: minmax(0, 1fr); }
	.fn-ax-row__when { grid-column: 1 / -1; padding: 0 0 6px; }
	.fn-ax-row__date { flex-direction: row; gap: 6px; align-items: baseline; }
	.fn-ax-row__date span { font-size: 12.5px; }
	.fn-ax-row__img { grid-column: 2; grid-row: 2; }
	.fn-ax-row__body { grid-column: 1; grid-row: 2; }
	.fn-ax-row__t { font-size: 17.5px; }
	.fn-ax-row__ex { font-size: 15px; -webkit-line-clamp: 2; }
	.fn-ax-row__meta { font-size: 12.5px; }
	.fn-ax-rail { grid-template-columns: minmax(0, 1fr); }
	.fn-ax-pager { justify-content: center; }
	.fn-ax-pager__of { width: 100%; text-align: center; }
	.fn-ax-main__t { font-size: 19px; }
	.fn-ax-prof { padding-top: 16px; }
	.fn-ax-prof__grid { display: flex; flex-direction: column; gap: 0; padding: 20px 0 22px; }
	.fn-ax-prof__av { margin-bottom: 18px; }
	.fn-ax-prof__grid > .fn-ax-prof__bio { order: 3; }
	.fn-ax-stats--prof { order: 4; margin-top: 20px; }
	.fn-ax-prof__av { width: 84px; height: 84px; }
	.fn-ax-prof__av::before { font-size: 28px; inset: 4px; }
	.fn-ax-prof__t { font-size: 32px; }
	.fn-ax-prof__bio { font-size: 16.5px; margin-top: 16px; }
	.fn-ax-shead { padding-top: 24px; }
	.fn-ax-shead__t { font-size: 28px; }
	.fn-ax-sbox { height: 56px; padding-left: 14px; }
	.fn-ax-sbox input { font-size: 16px; padding: 0 10px; }
	.fn-ax-sbox button { height: 42px; padding: 0 16px; font-size: 15px; }
	.fn-ax-secgrid, .fn-ax-secgrid--4 { grid-template-columns: minmax(0, 1fr); }
	.fn-ax-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 16px; }
	.fn-ax-card__t { font-size: 15.5px; }
	.fn-ax-404__t { font-size: 34px; }
	.fn-ax-404__d { font-size: 17px; }
	.fn-ax-404__chart svg { height: 150px; }
	.fn-ax-phd { padding-bottom: 32px; }
	.fn-ax-phd__t { font-size: 34px; }
	.fn-ax-phd > .fn-wrap::after { width: 110px; height: 98px; bottom: -32px; }
	.fn-ax-prose { font-size: 17px; }
	.fn-ax-prose--lede > p:first-child:not(:has(> strong:only-child)),
	.fn-ax-prose--lede > p:first-child:has(> strong:only-child) + p { font-size: 19px; }
	.fn-ax-ccard { padding: 22px 20px 22px; }
	.fn-ax-formp { padding: 24px 18px 26px; border-radius: 12px; }
	.fn-ax-formp--embed { padding: 0; }
	.fn-ax-formp--embed .fn-ax-formp__head { padding: 22px 18px 18px; }
}
@media (prefers-reduced-motion: reduce) {
	.fn-ax-live { animation: none; }
	.fn-ax-chart { aspect-ratio: 15 / 8 !important; background: #0b1020; }
.fn-ax-lead__img img, .fn-ax-sec__img img, .fn-ax-row__img img, .fn-ax-card__img img, .fn-ax-secgrid a, .fn-ax-offer__i, .fn-ax-secgrid .fn-i { transition: none; }
	.fn-ax-lead__main:hover .fn-ax-lead__img img, .fn-ax-sec:hover .fn-ax-sec__img img, .fn-ax-row:hover .fn-ax-row__img img, .fn-ax-card:hover .fn-ax-card__img img { transform: none; }
	.fn-ax-secgrid a:hover, .fn-ax-offer__i:hover { transform: none; }
}
@media print {
	.fn-ax-rail, .fn-ax-tabs, .fn-ax-pager, .fn-ax-paside, .fn-ax-sbox, .fn-ax-filter, .fn-ax-sort { display: none !important; }
}
