/*
Theme Name: Financial News Pro
Theme URI: https://www.financial-news.co.uk/
Author: WebBox
Description: Custom newsroom theme for Financial News. Lightweight, no page builder dependency; Yoast owns SEO and schema.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 8.0
License: Proprietary
Text Domain: financial-news-pro
*/

/* ===================================================================== Tokens */
:root {
	--ink: #081947;
	--ink-2: #2b3a63;
	--ink-3: #56638a;
	--royal: #1c4cfe;
	--royal-d: #0f3ad8;
	--royal-t: #e8eeff;
	--paper: #f4f6fe;
	--paper-2: #eaeefb;
	--rule: #dce2f2;
	--rule-2: #c3cce6;
	--white: #fff;
	--up: #0b7d55;
	--down: #c42b38;
	--up-n: #4ade9b;
	--down-n: #ff8a96;
	--partner: #7a4d00;
	--partner-bg: #fff4dc;

	--f-ui: "Outfit", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--f-read: "Source Serif 4", Georgia, "Times New Roman", serif;
	--f-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

	--wrap: 1280px;
	--gut: 24px;
	--gap: 24px;
	--r: 3px;
	--shadow: 0 1px 2px rgba(8, 25, 71, .06), 0 8px 24px -12px rgba(8, 25, 71, .18);
	--ease: cubic-bezier(.2, .7, .2, 1);
}
@media (max-width: 599px) { :root { --gut: 16px; --gap: 18px; } }

/* ===================================================================== Base */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: 84px; }
body {
	margin: 0; background: var(--white); color: var(--ink);
	font-family: var(--f-ui); font-size: 16px; line-height: 1.5;
	-webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
	font-feature-settings: "ss01" 0;
	overflow-x: hidden;
}
img, svg, video, iframe { max-width: 100%; }
img { height: auto; display: block; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--royal); }
:focus-visible { outline: 2px solid var(--royal); outline-offset: 3px; border-radius: 2px; }
button, input { font: inherit; color: inherit; }
button { cursor: pointer; background: none; border: 0; padding: 0; }
h1, h2, h3, h4, h5, h6 { margin: 0; font-weight: 700; line-height: 1.15; letter-spacing: -.015em; }
p { margin: 0; }
ul, ol { margin: 0; padding: 0; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.fn-skip { position: absolute; left: 12px; top: -60px; z-index: 1000; background: var(--royal); color: #fff; padding: 10px 16px; border-radius: var(--r); font-weight: 600; }
.fn-skip:focus { top: 12px; color: #fff; }
.fn-wrap { width: 100%; max-width: calc(var(--wrap) + var(--gut) * 2); margin: 0 auto; padding: 0 var(--gut); }
.fn-main { display: block; outline: none; }
.fn-noscroll, .fn-noscroll body { overflow: hidden; }
.fn-i { width: 20px; height: 20px; flex: none; }
.fn-i--caret { width: 14px; height: 14px; }
.fn-bars { width: 18px; height: 16px; fill: var(--royal); flex: none; }
.fn-bars rect:nth-child(1) { opacity: .55; }
.fn-bars rect:nth-child(2) { opacity: .78; }

/* ===================================================================== Markets strip */
.fn-strip { background: var(--ink); color: #c9d3f2; font-size: 13px; }
.fn-strip__in { display: flex; align-items: center; gap: 24px; min-height: 38px; }
.fn-strip__day { display: flex; align-items: center; gap: 16px; flex: none; color: #fff; font-weight: 500; }
.fn-strip__lse { display: inline-flex; align-items: center; gap: 7px; color: #c9d3f2; font-weight: 400; }
.fn-strip__lse i { width: 7px; height: 7px; border-radius: 50%; background: #8a96bd; }
.fn-strip__lse--open i { background: var(--up-n); box-shadow: 0 0 0 3px rgba(74, 222, 155, .18); }
.fn-strip__lse--pre i { background: #fbbf24; }
.fn-quotes { list-style: none; display: flex; gap: 22px; overflow: hidden; flex: 1; min-width: 0; justify-content: flex-end; mask-image: linear-gradient(90deg, transparent, #000 24px); -webkit-mask-image: linear-gradient(90deg, transparent, #000 24px); }
.fn-quotes .fn-q { display: inline-flex; align-items: baseline; gap: 7px; white-space: nowrap; flex: none; }
.fn-quotes .fn-q__l { color: #9fb0e0; font-weight: 500; }
.fn-quotes .fn-q__p { font-family: var(--f-mono); font-size: 12.5px; color: #fff; font-variant-numeric: tabular-nums; }
.fn-quotes .fn-q__c { font-family: var(--f-mono); font-size: 12px; font-variant-numeric: tabular-nums; }
.fn-quotes .fn-q--up .fn-q__c { color: var(--up-n); }
.fn-quotes .fn-q--down .fn-q__c { color: var(--down-n); }
.fn-quotes .fn-q--up .fn-q__c::before { content: "\25B2"; font-size: 8px; margin-right: 3px; vertical-align: 1px; }
.fn-quotes .fn-q--down .fn-q__c::before { content: "\25BC"; font-size: 8px; margin-right: 3px; vertical-align: 1px; }
.fn-strip__note { flex: none; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: #8a96bd; }
@media (max-width: 1099px) { .fn-strip__note { display: none; } }
@media (max-width: 899px) {
	.fn-strip__in { gap: 14px; }
	.fn-strip__lse { display: none; }
	.fn-quotes { justify-content: flex-start; }
}
@media (max-width: 599px) {
	.fn-strip { font-size: 12px; }
	.fn-strip__in { min-height: 34px; }
	.fn-strip__day time { display: none; }
	.fn-strip__day { display: none; }
	.fn-quotes { mask-image: linear-gradient(90deg, #000 85%, transparent); -webkit-mask-image: linear-gradient(90deg, #000 85%, transparent); gap: 16px; }
}

/* ===================================================================== Header */
.fn-head { position: relative; z-index: 50; background: rgba(255, 255, 255, .97); border-bottom: 1px solid var(--rule); }
.fn-head::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--royal); }
.fn-head__in { display: flex; align-items: center; gap: 28px; min-height: 78px; }
.fn-logo { flex: none; display: block; line-height: 0; }
.fn-logo img { width: 232px; height: auto; transition: width .2s var(--ease); }
.fn-nav { flex: 1; min-width: 0; display: flex; align-items: center; justify-content: center; gap: 2px; }
.fn-nav__list { list-style: none; display: flex; align-items: center; gap: 2px; flex-wrap: nowrap; }
.fn-nav__list a, .fn-more__btn {
	display: inline-flex; align-items: center; gap: 4px; height: 40px; padding: 0 11px; border-radius: var(--r);
	font-size: 15.5px; font-weight: 550; color: var(--ink); white-space: nowrap; position: relative;
}
.fn-nav__list a::after { content: ""; position: absolute; left: 11px; right: 11px; bottom: 4px; height: 2px; background: var(--royal); transform: scaleX(0); transform-origin: left; transition: transform .18s var(--ease); }
.fn-nav__list a:hover { color: var(--royal); }
.fn-nav__list a:hover::after, .fn-nav__list .current-menu-item > a::after, .fn-nav__list .current-category-ancestor > a::after, .fn-nav__list .current-post-ancestor > a::after { transform: scaleX(1); }
.fn-nav__list .current-menu-item > a, .fn-nav__list .current-post-ancestor > a { color: var(--royal); }
.fn-more { position: relative; }
.fn-more__btn:hover, .fn-more__btn[aria-expanded="true"] { color: var(--royal); background: var(--paper); }
.fn-more__btn[aria-expanded="true"] .fn-i--caret { transform: rotate(180deg); }
.fn-more__panel { position: absolute; right: 0; top: calc(100% + 10px); min-width: 230px; background: #fff; border: 1px solid var(--rule); border-radius: 6px; box-shadow: var(--shadow); padding: 8px; z-index: 60; }
.fn-more__list { list-style: none; display: grid; gap: 1px; }
.fn-more__list a { display: block; padding: 9px 12px; border-radius: var(--r); font-weight: 500; font-size: 15px; }
.fn-more__list a:hover { background: var(--paper); }
.fn-search-btn { flex: none; display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 14px; border: 1px solid var(--rule-2); border-radius: 999px; font-weight: 500; font-size: 14.5px; color: var(--ink-2); transition: border-color .15s, color .15s; }
.fn-search-btn:hover, .fn-search-btn[aria-expanded="true"] { border-color: var(--royal); color: var(--royal); }
.fn-search-btn .fn-i { width: 18px; height: 18px; }
.fn-burger { display: none; width: 44px; height: 44px; margin-left: -10px; align-items: center; justify-content: center; border-radius: var(--r); }
.fn-burger .fn-i { width: 24px; height: 24px; }
.fn-search { border-top: 1px solid var(--rule); background: var(--paper); padding: 18px 0; }
.fn-search .fn-sform { max-width: 760px; margin: 0 auto; }

/* Compact sticky */
.fn-head.is-stuck { position: fixed; top: 0; left: 0; right: 0; box-shadow: 0 6px 20px -14px rgba(8, 25, 71, .45); animation: fn-drop .22s var(--ease); }
.fn-head.is-stuck .fn-head__in { min-height: 60px; }
.fn-head.is-stuck .fn-logo img { width: 176px; }
.admin-bar .fn-head.is-stuck { top: 32px; }
@keyframes fn-drop { from { transform: translateY(-100%); } to { transform: none; } }
.fn-head-spacer { height: 0; }

@media (max-width: 1179px) {
	.fn-nav { display: none; }
	.fn-burger { display: inline-flex; }
	.fn-head__in { gap: 12px; justify-content: space-between; min-height: 64px; }
	.fn-logo { margin-right: auto; }
	.fn-logo img { width: 200px; }
	.fn-head.is-stuck .fn-head__in { min-height: 56px; }
	.fn-head.is-stuck .fn-logo img { width: 168px; }
}
@media (max-width: 599px) {
	.fn-logo img { width: 168px; }
	.fn-search-btn { width: 44px; padding: 0; justify-content: center; border-color: transparent; }
	.fn-search-btn__t { display: none; }
}

/* Drawer */
.fn-drawer { position: fixed; inset: 0; z-index: 200; }
.fn-drawer__scrim { position: absolute; inset: 0; background: rgba(8, 25, 71, .45); opacity: 0; transition: opacity .2s; }
.fn-drawer__panel { position: absolute; top: 0; bottom: 0; left: 0; width: min(380px, 88vw); background: #fff; overflow-y: auto; padding: 16px 20px 40px; transform: translateX(-100%); transition: transform .22s var(--ease); }
.fn-drawer.is-open .fn-drawer__scrim { opacity: 1; }
.fn-drawer.is-open .fn-drawer__panel { transform: none; }
.fn-drawer__top { display: flex; align-items: center; justify-content: space-between; min-height: 48px; margin-bottom: 14px; }
.fn-drawer__top img { width: 168px; }
.fn-drawer__x { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; margin-right: -10px; }
.fn-drawer__search { margin-bottom: 18px; }
.fn-drawer__h { font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); margin: 20px 0 6px; }
.fn-drawer__list { list-style: none; }
.fn-drawer__list a { display: flex; align-items: center; min-height: 46px; border-bottom: 1px solid var(--rule); font-size: 17px; font-weight: 550; }
.fn-drawer__list--more a, .fn-drawer__list--co a { font-size: 15.5px; font-weight: 450; min-height: 42px; color: var(--ink-2); }

/* Search form */
.fn-sform { display: flex; align-items: center; gap: 0; background: #fff; border: 1.5px solid var(--rule-2); border-radius: 999px; padding: 0 6px 0 16px; height: 50px; transition: border-color .15s, box-shadow .15s; }
.fn-sform:focus-within { border-color: var(--royal); box-shadow: 0 0 0 4px rgba(28, 76, 254, .12); }
.fn-sform .fn-i { color: var(--ink-3); }
.fn-sform__i { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; height: 100%; padding: 0 10px; font-size: 16px; }
.fn-sform__i::placeholder { color: #8892b0; }
.fn-sform__i::-webkit-search-cancel-button { display: none; }
.fn-sform__b { height: 38px; padding: 0 18px; border-radius: 999px; background: var(--royal); color: #fff; font-weight: 600; font-size: 14.5px; transition: background .15s; }
.fn-sform__b:hover { background: var(--royal-d); }

/* ===================================================================== Shared pieces */
.fn-kicker { display: inline-block; font-size: 12.5px; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; color: var(--royal); line-height: 1.3; }
a.fn-kicker:hover { color: var(--ink); }
.fn-kicker--partner { color: var(--partner); background: var(--partner-bg); padding: 2px 7px; border-radius: 2px; letter-spacing: .05em; }
.fn-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; font-size: 13px; color: var(--ink-3); margin-top: 10px; }
.fn-meta > * + *::before { content: ""; display: inline-block; width: 3px; height: 3px; border-radius: 50%; background: var(--rule-2); margin-right: 12px; vertical-align: middle; }
.fn-meta__by { color: var(--ink-2); font-weight: 550; }
.fn-time { font-variant-numeric: tabular-nums; }

/* Section heading */
.fn-shead { display: flex; align-items: center; gap: 16px; margin-bottom: 20px; }
.fn-shead::after { content: ""; flex: 1; height: 1px; background: var(--rule); order: 2; }
.fn-shead__t { display: inline-flex; align-items: center; gap: 10px; font-size: 22px; font-weight: 700; letter-spacing: -.02em; order: 1; }
.fn-shead__t span { display: inline-block; }
.fn-shead__more { order: 3; display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; color: var(--royal); white-space: nowrap; }
.fn-shead__more .fn-i { width: 16px; height: 16px; transition: transform .15s var(--ease); }
.fn-shead__more:hover .fn-i { transform: translateX(3px); }

/* ===================================================================== Cards */
.fn-card { position: relative; min-width: 0; }
.fn-card__img { display: block; overflow: hidden; border-radius: var(--r); background: var(--paper-2); aspect-ratio: 191 / 100; }
.fn-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease); }
.fn-card:hover .fn-card__img img { transform: scale(1.025); }
.fn-card__title { font-size: 19px; font-weight: 650; line-height: 1.25; letter-spacing: -.012em; margin-top: 6px; text-wrap: pretty; }
.fn-card__title 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-card__title a:hover { color: var(--ink); background-size: 100% 1.5px; }
.fn-card__ex { font-family: var(--f-read); font-size: 16px; line-height: 1.55; color: var(--ink-2); margin-top: 8px; }

/* stack */
.fn-card--stack .fn-card__body { padding-top: 14px; }
.fn-card--stack .fn-card__title { font-size: 18px; }

/* lead */
.fn-card--lead .fn-card__img { aspect-ratio: 191 / 100; border-radius: 4px; }
.fn-card--lead .fn-card__body { padding-top: 20px; }
.fn-card--lead .fn-card__title { font-size: clamp(30px, 3.4vw, 44px); line-height: 1.08; letter-spacing: -.028em; font-weight: 700; margin-top: 10px; }
.fn-card--lead .fn-card__ex { font-size: 19px; line-height: 1.55; margin-top: 14px; max-width: 62ch; }
.fn-card--lead .fn-meta { margin-top: 14px; }

/* row: text left, thumb right */
.fn-card--row { display: grid; grid-template-columns: minmax(0, 1fr) 132px; gap: 18px; align-items: start; padding: 18px 0; border-top: 1px solid var(--rule); }
.fn-card--row .fn-card__img { grid-column: 2; grid-row: 1; aspect-ratio: 191 / 100; }
.fn-card--row .fn-card__body { grid-column: 1; grid-row: 1; }
.fn-card--row .fn-card__title { font-size: 17.5px; margin-top: 4px; }
.fn-card--row .fn-meta { margin-top: 8px; }

/* text only */
.fn-card--text { padding: 16px 0; border-top: 1px solid var(--rule); }
.fn-card--text .fn-card__title { font-size: 17px; margin-top: 4px; }
.fn-card--text .fn-card__ex { font-size: 15px; margin-top: 6px; }
.fn-card--text .fn-meta { margin-top: 8px; }

/* ===================================================================== Homepage */
.fn-top { display: grid; grid-template-columns: minmax(0, 2.15fr) minmax(0, 1fr) minmax(0, 1fr); gap: 32px; padding-top: 32px; padding-bottom: 8px; }
.fn-top__lead { min-width: 0; }
.fn-top__second > .fn-card--text { padding-top: 0; border-top: 0; }
.fn-top__second { display: grid; gap: 28px; align-content: start; border-left: 1px solid var(--rule); padding-left: 32px; }
.fn-top__second .fn-card__img { aspect-ratio: 191 / 100; }
.fn-top__under { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 32px; margin-top: 26px; }
.fn-top__under .fn-card--text { border-top: 1px solid var(--rule); }
.fn-top__latest { min-width: 0; }

/* rail + timeline */
.fn-rail { background: var(--paper); border-radius: 6px; padding: 18px 20px 8px; }
.fn-rail__head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 12px; border-bottom: 2px solid var(--ink); margin-bottom: 4px; }
.fn-rail__t { display: inline-flex; align-items: center; gap: 9px; font-size: 18px; font-weight: 700; }
.fn-live { width: 9px; height: 9px; border-radius: 50%; background: var(--royal); position: relative; }
.fn-live::after { content: ""; position: absolute; inset: -4px; border-radius: 50%; border: 2px solid var(--royal); opacity: 0; animation: fn-pulse 2.4s infinite; }
@keyframes fn-pulse { 0% { transform: scale(.5); opacity: .7; } 80%, 100% { transform: scale(1.4); opacity: 0; } }
.fn-timeline { list-style: none; position: relative; }
.fn-timeline li { position: relative; display: grid; grid-template-columns: 50px minmax(0, 1fr); gap: 10px; padding: 12px 0; border-bottom: 1px solid var(--rule); }
.fn-timeline li:last-child { border-bottom: 0; }
.fn-timeline .fn-time { font-family: var(--f-mono); font-size: 12px; color: var(--royal); padding-top: 2px; }
.fn-timeline a { font-size: 15px; font-weight: 550; line-height: 1.33; }
.fn-timeline a:hover { color: var(--royal); }

/* strip of four text stories */
.fn-strip4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 32px; margin-top: 28px; }
.fn-strip4 .fn-card--text { border-top: 2px solid var(--ink); padding-top: 14px; }

/* briefing band */
.fn-band { background: var(--paper); border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); margin: 48px 0 8px; padding: 40px 0 44px; }
.fn-band__grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) minmax(0, .95fr); gap: 40px; }
.fn-band .fn-shead::after { background: var(--rule-2); }
.fn-brief__dek { font-family: var(--f-read); font-style: italic; color: var(--ink-2); margin: -8px 0 6px; font-size: 16px; }
.fn-brief__list { list-style: none; counter-reset: b; }
.fn-brief__list li { padding: 14px 0 14px 34px; border-bottom: 1px solid var(--rule-2); position: relative; counter-increment: b; }
.fn-brief__list li:last-child { border-bottom: 0; }
.fn-brief__list li::before { content: counter(b, decimal-leading-zero); position: absolute; left: 0; top: 16px; font-family: var(--f-mono); font-size: 12px; color: var(--royal); }
.fn-brief__list a { font-size: 17px; font-weight: 650; line-height: 1.3; letter-spacing: -.01em; }
.fn-brief__list p { font-family: var(--f-read); font-size: 15px; color: var(--ink-2); margin-top: 5px; line-height: 1.5; }
.fn-brief__list .fn-time { display: block; margin-top: 6px; font-size: 12.5px; color: var(--ink-3); }

.fn-num { list-style: none; }
.fn-num li { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 0; padding: 14px 0; border-bottom: 1px solid var(--rule-2); }
.fn-num li:last-child { border-bottom: 0; }
.fn-num__n { font-family: var(--f-mono); font-size: 12px; color: var(--royal); padding-top: 3px; }
.fn-num .fn-time { display: block; margin-top: 6px; font-size: 12.5px; color: var(--ink-3); }
.fn-num__a { display: block; font-size: 16px; font-weight: 600; line-height: 1.32; margin-top: 3px; }

.fn-mkts { background: #fff; border: 1px solid var(--rule); border-radius: 6px; padding: 18px 18px 14px; align-self: start; }
.fn-mkts .fn-shead { margin-bottom: 8px; }
.fn-mkts__t { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.fn-mkts__t thead th { font-size: 11.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-3); text-align: right; padding: 6px 0; border-bottom: 1px solid var(--rule); }
.fn-mkts__t thead th:first-child { text-align: left; }
.fn-mkts__t tbody th { text-align: left; font-weight: 600; padding: 10px 0; }
.fn-mkts__t .fn-mk__p { color: var(--ink); }
.fn-mkts__t td { text-align: right; font-family: var(--f-mono); font-size: 13px; font-variant-numeric: tabular-nums; padding: 10px 0 10px 10px; white-space: nowrap; }
.fn-mkts__t tbody tr + tr > * { border-top: 1px solid var(--rule); }
.fn-mkts__t .fn-q--up .fn-q__c { color: var(--up); }
.fn-mkts__t .fn-q--down .fn-q__c { color: var(--down); }
.fn-mkts__t .fn-q__c { min-width: 70px; }
.fn-mkts__note { font-size: 12px; color: var(--ink-3); margin-top: 10px; }
.fn-mkcol { display: grid; gap: 28px; align-content: start; }
.fn-mkcol__more .fn-card--text:first-of-type { border-top: 0; padding-top: 0; }
.fn-mkcol__more .fn-card--text { padding: 12px 0; }
.fn-mkcol__more .fn-card__title { font-size: 15.5px; }

/* section bands */
.fn-sec { padding-top: 44px; }
.fn-sec--feature .fn-sec__grid, .fn-sec--feature-r .fn-sec__grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr) minmax(0, .9fr); gap: 0 32px; }
.fn-sec--feature-r .fn-sec__grid { grid-template-columns: minmax(0, 1fr) minmax(0, .9fr) minmax(0, 1.55fr); }
.fn-sec--feature-r .fn-sec__main { order: 3; }
.fn-sec--feature-r .fn-sec__side { order: 1; }
.fn-sec--feature-r .fn-sec__list { order: 2; }
.fn-sec__main .fn-card__title { font-size: 26px; letter-spacing: -.02em; line-height: 1.15; }
.fn-sec__side > .fn-card--row:first-child, .fn-sec__list > .fn-card--text:first-child { border-top: 0; padding-top: 0; }
.fn-sec__side .fn-card--row { grid-template-columns: minmax(0, 1fr) 112px; }
.fn-sec__list { border-left: 1px solid var(--rule); padding-left: 32px; }
.fn-sec--feature-r .fn-sec__list { border-left: 1px solid var(--rule); padding-left: 32px; border-right: 1px solid var(--rule); padding-right: 32px; }
.fn-sec--four .fn-sec__grid, .fn-grid4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
.fn-sec--pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 48px; }
.fn-pair > .fn-card--row:first-of-type { border-top: 0; padding-top: 0; grid-template-columns: minmax(0, 1fr) 200px; }
.fn-pair > .fn-card--row:first-of-type .fn-card__title { font-size: 21px; }
.fn-pair > .fn-card--row:first-of-type .fn-card__img { aspect-ratio: 191 / 100; }
.fn-latest-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 48px; }
.fn-latest-grid .fn-card--row:nth-child(-n+2) { border-top: 0; padding-top: 0; }
.fn-sec--latest { padding-bottom: 56px; }

@media (max-width: 1179px) {
	.fn-top { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); }
	.fn-top__latest { grid-column: 1 / -1; }
	.fn-top__second { border-left: 0; padding-left: 0; }
	.fn-band__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.fn-mkcol { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.fn-sec--feature .fn-sec__grid, .fn-sec--feature-r .fn-sec__grid { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); }
	.fn-sec__list, .fn-sec--feature-r .fn-sec__list { grid-column: 1 / -1; border: 0; padding: 0; margin-top: 18px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 24px; }
	.fn-sec__list > .fn-card--text:first-child { border-top: 1px solid var(--rule); padding-top: 16px; }
	.fn-sec--feature-r .fn-sec__main { order: 0; }
	.fn-sec--four .fn-sec__grid, .fn-grid4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.fn-strip4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1179px) and (min-width: 760px) {
	.fn-top__latest .fn-timeline { columns: 2; column-gap: 32px; }
	.fn-top__latest .fn-timeline li { break-inside: avoid; }
}
@media (max-width: 759px) {
	.fn-strip4 .fn-card__ex, .fn-top__under .fn-card__ex { display: none; }
	.fn-top { grid-template-columns: minmax(0, 1fr); gap: 24px; padding-top: 18px; }
	.fn-top__second { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
	.fn-top__under { grid-template-columns: minmax(0, 1fr); margin-top: 8px; }
	.fn-top__second .fn-card__title { font-size: 16.5px; }
	.fn-card--lead .fn-card__title { font-size: 30px; }
	.fn-card--lead .fn-card__ex { font-size: 17px; }
	.fn-band { padding: 32px 0; margin-top: 36px; }
	.fn-band__grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.fn-mkcol { grid-template-columns: minmax(0, 1fr); }
	.fn-sec { padding-top: 36px; }
	.fn-sec--feature .fn-sec__grid, .fn-sec--feature-r .fn-sec__grid { grid-template-columns: minmax(0, 1fr); }
	.fn-sec__side { margin-top: 18px; }
	.fn-sec__side > .fn-card--row:first-child { border-top: 1px solid var(--rule); padding-top: 18px; }
	.fn-sec__list, .fn-sec--feature-r .fn-sec__list { grid-template-columns: minmax(0, 1fr); margin-top: 0; }
	.fn-sec__list > .fn-card--text:first-child { border-top: 1px solid var(--rule); }
	.fn-sec__main .fn-card__title { font-size: 22px; }
	.fn-sec--pair, .fn-latest-grid { grid-template-columns: minmax(0, 1fr); gap: 36px 0; }
	.fn-latest-grid { gap: 0; }
	.fn-latest-grid .fn-card--row:nth-child(2) { border-top: 1px solid var(--rule); padding-top: 18px; }
	.fn-pair > .fn-card--row:first-of-type { grid-template-columns: minmax(0, 1fr) 120px; }
	.fn-pair > .fn-card--row:first-of-type .fn-card__title { font-size: 18px; }
	.fn-card--row { grid-template-columns: minmax(0, 1fr) 104px; gap: 14px; }
	.fn-shead__t { font-size: 20px; }
}
@media (max-width: 479px) {
	.fn-top__second { grid-template-columns: minmax(0, 1fr); }
	.fn-top__second .fn-card--stack { display: grid; grid-template-columns: minmax(0, 1fr) 112px; gap: 14px; padding-top: 16px; border-top: 1px solid var(--rule); }
	.fn-top__second .fn-card--stack .fn-card__img { grid-column: 2; grid-row: 1; aspect-ratio: 191 / 100; }
	.fn-top__second .fn-card--stack .fn-card__body { grid-column: 1; grid-row: 1; padding-top: 0; }
	.fn-top__second .fn-meta__read { display: none; }
	.fn-sec--four .fn-sec__grid, .fn-grid4, .fn-strip4 { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.fn-sec--four .fn-card--stack, .fn-grid4 .fn-card--stack { display: grid; grid-template-columns: minmax(0, 1fr) 112px; gap: 14px; padding: 16px 0; border-top: 1px solid var(--rule); }
	.fn-sec--four .fn-card--stack .fn-card__img, .fn-grid4 .fn-card--stack .fn-card__img { grid-column: 2; grid-row: 1; aspect-ratio: 191 / 100; }
	.fn-sec--four .fn-card--stack .fn-card__body, .fn-grid4 .fn-card--stack .fn-card__body { grid-column: 1; grid-row: 1; padding-top: 0; }
	.fn-sec--four .fn-card--stack .fn-card__title, .fn-grid4 .fn-card--stack .fn-card__title { font-size: 16.5px; }
	.fn-sec--four .fn-meta__read, .fn-grid4 .fn-meta__read { display: none; }
	.fn-strip4 .fn-card--text { border-top: 1px solid var(--rule); }
	.fn-strip4 .fn-card--text:first-child { border-top: 2px solid var(--ink); }
}

/* ===================================================================== Page heads (archive, author, search, page) */
.fn-phead { background: var(--paper); border-bottom: 1px solid var(--rule); padding: 26px 0 34px; position: relative; overflow: hidden; }
.fn-phead::after { content: ""; position: absolute; right: -40px; bottom: -30px; width: 260px; height: 220px; opacity: .07; 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"); pointer-events: none; }
.fn-phead__k { display: inline-flex; align-items: center; gap: 9px; font-size: 13px; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; color: var(--royal); margin-top: 18px; }
.fn-phead__t { font-size: clamp(32px, 4.2vw, 52px); font-weight: 750; letter-spacing: -.03em; line-height: 1.04; margin-top: 8px; }
.fn-phead__d { font-family: var(--f-read); font-size: 18px; color: var(--ink-2); margin-top: 14px; max-width: 70ch; }
.fn-phead__d p + p { margin-top: 8px; }
.fn-phead__search { max-width: 720px; margin-top: 20px; }
.fn-phead__count { margin-top: 14px; font-size: 14px; color: var(--ink-3); font-weight: 500; }
.fn-chips { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.fn-chips a { display: inline-flex; align-items: center; height: 34px; padding: 0 14px; border-radius: 999px; background: #fff; border: 1px solid var(--rule-2); font-size: 14px; font-weight: 550; transition: border-color .15s, color .15s, background .15s; }
.fn-chips a:hover { border-color: var(--royal); color: var(--royal); }

.fn-crumbs { font-size: 13px; color: var(--ink-3); display: flex; flex-wrap: wrap; gap: 4px 6px; align-items: center; }
.fn-crumbs a { color: var(--ink-2); font-weight: 500; }
.fn-crumbs a:hover { color: var(--royal); }
.fn-crumbs .breadcrumb_last { color: var(--ink-3); max-width: 46ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: inline-block; vertical-align: bottom; }
.fn-crumbs > span > span { display: inline; }

/* archive layout */
.fn-archive { padding-top: 32px; padding-bottom: 64px; }
.fn-archive__h { display: flex; align-items: center; gap: 10px; font-size: 20px; padding-bottom: 6px; }
.fn-alead { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 32px; padding-bottom: 32px; margin-bottom: 8px; border-bottom: 2px solid var(--ink); }
.fn-alead__side { display: grid; gap: 26px; align-content: start; border-left: 1px solid var(--rule); padding-left: 32px; }
.fn-stream-wrap { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 56px; padding-top: 8px; }
.fn-stream .fn-card--row { grid-template-columns: minmax(0, 1fr) 220px; gap: 24px; padding: 24px 0; }
.fn-stream .fn-card--row .fn-card__img { aspect-ratio: 191 / 100; }
.fn-stream .fn-card--row .fn-card__title { font-size: 21px; letter-spacing: -.015em; }
.fn-stream .fn-card--row:first-child { border-top: 0; }
.fn-stream__rail { min-width: 0; }
.fn-rail--sticky { position: sticky; top: 84px; }
.fn-empty { padding: 32px 0 48px; max-width: 640px; }
.fn-empty__t { font-size: 24px; font-weight: 700; margin-bottom: 8px; }
.fn-empty p { color: var(--ink-2); }
.fn-empty .fn-sform, .fn-empty .fn-chips { margin-top: 18px; }

.fn-pager { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--rule); }
.fn-pager .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; height: 42px; padding: 0 12px; border-radius: var(--r); border: 1px solid var(--rule-2); font-weight: 600; font-variant-numeric: tabular-nums; }
.fn-pager a.page-numbers:hover { border-color: var(--royal); color: var(--royal); }
.fn-pager .current { background: var(--royal); border-color: var(--royal); color: #fff; }
.fn-pager .dots { border: 0; min-width: 24px; }
.fn-pager .prev .fn-i { transform: rotate(180deg); }

/* author */
.fn-phead--author { padding-bottom: 38px; }
.fn-prof { display: grid; grid-template-columns: 168px minmax(0, 1fr); gap: 36px; align-items: center; }
.fn-prof__av img, .fn-prof__av .fn-avatar { width: 168px; height: 168px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 6px #fff, 0 0 0 7px var(--rule-2); }
.fn-prof__bio { font-family: var(--f-read); font-size: 18px; line-height: 1.6; color: var(--ink-2); margin-top: 14px; max-width: 68ch; }
.fn-prof__facts { list-style: none; display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 16px; font-size: 14.5px; color: var(--ink-2); }
.fn-prof__facts a { color: var(--royal); font-weight: 600; display: inline-flex; align-items: center; gap: 6px; }
.fn-prof__facts .fn-i { width: 16px; height: 16px; }

/* search head */
.fn-phead--search .fn-phead__t { font-size: clamp(28px, 3.4vw, 42px); }

/* ===================================================================== Article */
.fn-progress { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 300; pointer-events: none; }
.fn-progress span { display: block; height: 100%; background: var(--royal); transform-origin: 0 50%; transform: scaleX(0); }
.admin-bar .fn-progress { top: 32px; }

.fn-ahead { padding-top: 24px; max-width: calc(1040px + var(--gut) * 2); }
.fn-ahead__k { margin-top: 22px; }
.fn-ahead__t { font-size: clamp(32px, 4.4vw, 54px); font-weight: 750; line-height: 1.06; letter-spacing: -.03em; margin-top: 12px; text-wrap: balance; max-width: 22ch; }
.fn-ahead__dek { font-family: var(--f-read); font-size: clamp(19px, 1.8vw, 22px); line-height: 1.5; color: var(--ink-2); margin-top: 18px; max-width: 60ch; }
.fn-byline { display: flex; align-items: center; gap: 14px; margin-top: 26px; padding: 16px 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); flex-wrap: wrap; }
.fn-byline__av img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
.fn-byline__txt { display: grid; gap: 2px; flex: 1; min-width: 220px; }
.fn-byline__by { font-weight: 600; font-size: 15.5px; }
.fn-byline__by a { color: var(--ink); border-bottom: 1.5px solid var(--royal); }
.fn-byline__by a:hover { color: var(--royal); }
.fn-byline__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 14px; font-size: 13.5px; color: var(--ink-3); }
.fn-byline__meta > span { display: inline-flex; align-items: center; gap: 5px; }
.fn-byline__meta .fn-i { width: 15px; height: 15px; }
.fn-share { display: flex; gap: 6px; }
.fn-share a, .fn-share button { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; border: 1px solid var(--rule-2); color: var(--ink-2); position: relative; transition: border-color .15s, color .15s, background .15s; }
.fn-share a:hover, .fn-share button:hover { border-color: var(--royal); color: var(--royal); }
.fn-share .fn-i { width: 17px; height: 17px; }
.fn-share button.is-ok { background: var(--royal); color: #fff; border-color: var(--royal); }
.fn-share__ok { position: absolute; top: calc(100% + 6px); right: 0; font-size: 12px; white-space: nowrap; color: var(--royal); font-weight: 600; }

.fn-ahero { margin: 28px auto 0; max-width: calc(1040px + var(--gut) * 2); }
.fn-ahero img { width: 100%; max-height: 620px; object-fit: cover; border-radius: 4px; background: var(--paper-2); }
.fn-ahero figcaption { font-size: 13.5px; color: var(--ink-3); margin-top: 10px; line-height: 1.45; }

.fn-abody { display: grid; grid-template-columns: minmax(0, 700px) 300px; gap: 40px 64px; justify-content: center; padding-top: 36px; padding-bottom: 56px; max-width: calc(1064px + var(--gut) * 2); }
.fn-abody__main { min-width: 0; }
.fn-abody__rail { min-width: 0; }

.fn-partner-note { background: var(--partner-bg); color: #4d3200; border-left: 3px solid #d8a234; padding: 12px 16px; font-size: 14.5px; line-height: 1.5; border-radius: 0 var(--r) var(--r) 0; margin-bottom: 26px; }
.fn-partner-note a { color: #4d3200; text-decoration: underline; }

/* prose */
.fn-prose { font-family: var(--f-read); font-size: 19px; line-height: 1.72; color: #14224f; overflow-wrap: break-word; }
.fn-prose > * + * { margin-top: 1.1em; }
.fn-prose > :first-child { margin-top: 0; }
.fn-prose p { margin: 0; }
.fn-prose > p + p { margin-top: 1.05em; }
.fn-prose h2, .fn-prose h3, .fn-prose h4 { font-family: var(--f-ui); color: var(--ink); letter-spacing: -.018em; line-height: 1.22; }
.fn-prose h2 { font-size: 27px; margin-top: 1.7em; }
.fn-prose h3 { font-size: 22px; margin-top: 1.5em; }
.fn-prose h4 { font-size: 19px; margin-top: 1.4em; }
.fn-prose h2 + *, .fn-prose h3 + *, .fn-prose h4 + * { margin-top: .6em; }
.fn-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); transition: text-decoration-color .15s; }
.fn-prose a:hover { text-decoration-color: var(--royal); color: var(--royal); }
.fn-prose strong, .fn-prose b { font-weight: 650; color: var(--ink); }
.fn-prose ul, .fn-prose ol { padding-left: 1.3em; }
.fn-prose li + li { margin-top: .45em; }
.fn-prose li::marker { color: var(--royal); }
.fn-prose blockquote { margin: 1.6em 0; padding: 4px 0 4px 26px; border-left: 4px solid var(--royal); font-style: italic; font-size: 1.14em; line-height: 1.55; color: var(--ink); }
.fn-prose blockquote p + p { margin-top: .6em; }
.fn-prose blockquote cite { display: block; margin-top: 10px; font-style: normal; font-family: var(--f-ui); font-size: 14px; font-weight: 600; color: var(--ink-3); }
.fn-prose .wp-block-pullquote { border: 0; border-top: 3px solid var(--ink); border-bottom: 1px solid var(--rule); padding: 22px 0; margin: 2em 0; text-align: left; }
.fn-prose .wp-block-pullquote blockquote { border: 0; padding: 0; margin: 0; font-family: var(--f-ui); font-style: normal; font-weight: 650; font-size: 27px; line-height: 1.25; letter-spacing: -.02em; }
.fn-prose figure { margin: 1.8em 0; }
.fn-prose img { border-radius: var(--r); }
.fn-prose figcaption, .fn-prose .wp-caption-text { font-family: var(--f-ui); font-size: 13.5px; color: var(--ink-3); margin-top: 8px; line-height: 1.45; }
.fn-prose .wp-caption { max-width: 100%; }
.fn-prose .aligncenter { margin-left: auto; margin-right: auto; }
.fn-prose .alignleft { float: left; margin: .3em 1.4em 1em 0; max-width: 50%; }
.fn-prose .alignright { float: right; margin: .3em 0 1em 1.4em; max-width: 50%; }
.fn-prose hr { border: 0; height: 1px; background: var(--rule); margin: 2.2em 0; }
.fn-prose table { width: 100%; border-collapse: collapse; font-family: var(--f-ui); font-size: 15px; display: block; overflow-x: auto; }
.fn-prose table th, .fn-prose table td { padding: 10px 12px; border-bottom: 1px solid var(--rule); text-align: left; vertical-align: top; }
.fn-prose table thead th, .fn-prose table tr:first-child th { background: var(--paper); font-weight: 650; font-size: 13.5px; letter-spacing: .02em; color: var(--ink); border-bottom: 2px solid var(--ink); }
.fn-prose table td { font-variant-numeric: tabular-nums; }
.fn-prose .wp-block-table { overflow-x: auto; }
.fn-prose .wp-block-table table { display: table; }
.fn-prose code { font-family: var(--f-mono); font-size: .82em; background: var(--paper); padding: 2px 5px; border-radius: 3px; }
.fn-prose pre { font-family: var(--f-mono); font-size: 14px; background: var(--ink); color: #e6ebff; padding: 18px 20px; border-radius: 6px; overflow-x: auto; line-height: 1.6; }
.fn-prose pre code { background: none; padding: 0; color: inherit; }
.fn-prose iframe, .fn-prose embed, .fn-prose video { max-width: 100%; }
.fn-prose .wp-block-embed__wrapper { position: relative; }
.fn-prose > p:first-of-type::first-line { font-weight: 600; }
.fn-prose::after { content: ""; display: block; clear: both; }
/* Related-posts boxes injected by Intelly Related Posts */
.fn-prose .irp-box, .fn-prose [class*="irp-"] { font-family: var(--f-ui); }

.fn-tags { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin-top: 32px; }
.fn-tags a { display: inline-flex; align-items: center; height: 32px; padding: 0 12px; border-radius: 999px; background: var(--paper); font-size: 13.5px; font-weight: 550; color: var(--ink-2); }
.fn-tags a:hover { background: var(--royal-t); color: var(--royal); }

.fn-authorbox { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 20px; margin-top: 36px; padding: 22px; border: 1px solid var(--rule); border-radius: 6px; background: linear-gradient(180deg, var(--paper), #fff 70%); }
.fn-authorbox img { width: 76px; height: 76px; border-radius: 50%; object-fit: cover; }
.fn-authorbox__k { font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); }
.fn-authorbox__n { font-size: 20px; font-weight: 700; margin-top: 2px; }
.fn-authorbox__d { font-family: var(--f-read); font-size: 16px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
.fn-authorbox__more { display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; font-weight: 600; font-size: 14.5px; color: var(--royal); }
.fn-authorbox__more .fn-i { width: 16px; height: 16px; }

.fn-related { background: var(--paper); border-top: 1px solid var(--rule); padding: 44px 0 56px; }
.fn-related .fn-shead::after { background: var(--rule-2); }

@media (max-width: 1179px) {
	.fn-abody { grid-template-columns: minmax(0, 700px); }
	.fn-abody__rail { display: none; }
	.fn-stream-wrap { grid-template-columns: minmax(0, 1fr); }
	.fn-stream__rail { display: none; }
}
@media (max-width: 899px) {
	.fn-alead { grid-template-columns: minmax(0, 1fr); }
	.fn-alead__side { grid-template-columns: repeat(2, minmax(0, 1fr)); border-left: 0; padding-left: 0; }
	.fn-stream .fn-card--row { grid-template-columns: minmax(0, 1fr) 160px; }
	.fn-stream .fn-card--row .fn-card__title { font-size: 19px; }
}
@media (max-width: 599px) {
	.fn-ahead__t { font-size: 31px; }
	.fn-ahead__dek { font-size: 18.5px; }
	.fn-byline { gap: 12px; }
	.fn-share { width: 100%; padding-top: 4px; }
	.fn-ahero { padding: 0; margin-top: 22px; }
	.fn-ahero img { border-radius: 0; }
	.fn-ahero figcaption { padding: 0 var(--gut); }
	.fn-prose { font-size: 18px; line-height: 1.68; }
	.fn-prose h2 { font-size: 23px; }
	.fn-prose h3 { font-size: 20px; }
	.fn-prose .alignleft, .fn-prose .alignright { float: none; margin: 1.4em 0; max-width: 100%; }
	.fn-alead__side { grid-template-columns: minmax(0, 1fr); }
	.fn-stream .fn-card--row { grid-template-columns: minmax(0, 1fr) 104px; gap: 14px; padding: 18px 0; }
	.fn-stream .fn-card--row .fn-card__img { aspect-ratio: 191 / 100; }
	.fn-stream .fn-card--row .fn-card__title { font-size: 17px; }
	.fn-stream .fn-card__ex { display: none; }
	.fn-prof { grid-template-columns: minmax(0, 1fr); gap: 18px; }
	.fn-prof__av img, .fn-prof__av .fn-avatar { width: 104px; height: 104px; }
	.fn-authorbox { grid-template-columns: 56px minmax(0, 1fr); gap: 14px; padding: 18px; }
	.fn-authorbox img { width: 56px; height: 56px; }
	.fn-phead { padding: 18px 0 26px; }
}

/* ===================================================================== Pages */
.fn-page__body { display: grid; grid-template-columns: minmax(0, 720px) 260px; gap: 64px; justify-content: center; padding-top: 40px; padding-bottom: 72px; }
.fn-prose--page { font-size: 18px; }
.fn-page__nav { align-self: start; position: sticky; top: 90px; border-top: 2px solid var(--ink); padding-top: 14px; }
.fn-page__navh { font-weight: 700; font-size: 16px; margin-bottom: 6px; }
.fn-page__list { list-style: none; }
.fn-page__list a { display: block; padding: 9px 0; border-bottom: 1px solid var(--rule); font-size: 15px; font-weight: 500; color: var(--ink-2); }
.fn-page__list .current-menu-item a { color: var(--royal); font-weight: 650; }
.fn-elementor { min-height: 40vh; }
.fn-prose input[type="text"], .fn-prose input[type="email"], .fn-prose input[type="url"], .fn-prose input[type="tel"], .fn-prose textarea, .fn-prose select {
	width: 100%; font-family: var(--f-ui); font-size: 16px; padding: 12px 14px; border: 1.5px solid var(--rule-2); border-radius: var(--r); background: #fff; color: var(--ink);
}
.fn-prose input:focus, .fn-prose textarea:focus, .fn-prose select:focus { outline: none; border-color: var(--royal); box-shadow: 0 0 0 4px rgba(28, 76, 254, .12); }
.fn-prose input[type="submit"], .fn-prose button[type="submit"], .fn-prose .wpforms-submit {
	font-family: var(--f-ui); font-weight: 650; background: var(--royal) !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; padding: 13px 26px !important; cursor: pointer; font-size: 15.5px !important;
}
.fn-prose label { font-family: var(--f-ui); font-weight: 600; font-size: 15px; }
@media (max-width: 899px) {
	.fn-page__body { grid-template-columns: minmax(0, 1fr); gap: 36px; }
	.fn-page__nav { position: static; }
}

/* ===================================================================== 404 */
.fn-404 { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 56px; align-items: center; padding-top: 64px; padding-bottom: 24px; max-width: 1000px; }
.fn-404__art svg { width: 100%; height: auto; }
.fn-404__art rect { fill: var(--royal); }
.fn-404__art rect:nth-child(1) { opacity: .55; }
.fn-404__art rect:nth-child(2) { opacity: .8; }
.fn-404__art .fn-404__drop { fill: var(--rule-2); opacity: 1; }
.fn-404__line { stroke: var(--ink); }
.fn-404__t { font-size: clamp(32px, 4vw, 48px); font-weight: 750; letter-spacing: -.03em; line-height: 1.08; margin-top: 10px; }
.fn-404__d { font-family: var(--f-read); font-size: 18.5px; color: var(--ink-2); margin: 14px 0 24px; max-width: 52ch; }
@media (max-width: 759px) { .fn-404 { grid-template-columns: minmax(0, 1fr); gap: 24px; padding-top: 36px; } .fn-404__art { max-width: 180px; } }

/* ===================================================================== Footer */
.fn-foot { background: var(--ink); color: #c4cdee; margin-top: 0; }
.fn-foot__top { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr); gap: 48px; padding: 56px 0 44px; }
.fn-foot__logo img { width: 220px; }
.fn-foot__about { margin-top: 18px; font-size: 15px; line-height: 1.6; max-width: 40ch; color: #aeb9e2; }
.fn-foot__search { display: flex; margin-top: 22px; max-width: 360px; border: 1px solid #2c3e78; border-radius: 999px; overflow: hidden; background: #0d2159; }
.fn-foot__search input { flex: 1; min-width: 0; border: 0; background: transparent; color: #fff; padding: 0 16px; height: 44px; outline: none; }
.fn-foot__search input::placeholder { color: #8b98c8; }
.fn-foot__search button { width: 48px; display: inline-flex; align-items: center; justify-content: center; color: #fff; background: var(--royal); }
.fn-foot__search:focus-within { border-color: var(--royal); }
.fn-foot__h { font-size: 12px; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; color: #fff; margin-bottom: 12px; }
.fn-foot__list, .fn-foot .fn-nav__list { list-style: none; display: grid; gap: 2px; }
.fn-foot .fn-nav__list { display: grid; }
.fn-foot__col .fn-nav__list a { height: auto; padding: 6px 0; font-size: 15px; font-weight: 400; color: #c4cdee; }
.fn-foot__col .fn-nav__list a::after { display: none; }
.fn-foot__list a { display: inline-block; padding: 6px 0; font-size: 15px; color: #c4cdee; }
.fn-foot a:hover { color: #fff; }
.fn-foot__col:nth-child(2) .fn-foot__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 24px; }
.fn-foot__base { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; border-top: 1px solid #1d3172; padding: 20px 0 28px; font-size: 13px; color: #8b98c8; }
@media (max-width: 899px) {
	.fn-foot__top { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.fn-foot__brand { grid-column: 1 / -1; }
}
@media (max-width: 479px) {
	.fn-foot__top { grid-template-columns: minmax(0, 1fr); gap: 32px; padding-top: 40px; }
	.fn-foot__col:nth-child(2) .fn-foot__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ===================================================================== Motion preferences */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media print {
	.fn-strip, .fn-head, .fn-foot, .fn-share, .fn-abody__rail, .fn-related, .fn-progress { display: none !important; }
	.fn-abody { display: block; }
}

/* ===================================================================== Market tape: static, never a marquee (integrator override, WCAG 2.2.2) */
.fnc-tape .fnc-tape__track { animation: none !important; transform: none !important; width: 100%; }
.fnc-tape .fnc-tape__list[aria-hidden="true"] { display: none; }
.fnc-tape .fnc-tape__vp { mask-image: none; -webkit-mask-image: none; }
.fnc-tape .fnc-tape__list { width: 100%; }
.fnc-tape .fnc-t { display: grid; grid-template-columns: auto auto; grid-template-rows: auto auto; gap: 3px 6px; align-items: baseline; padding: 0 12px; }
.fnc-tape .fnc-t .fn-q__l { grid-column: 1 / -1; font-size: 10.5px; letter-spacing: .07em; }
.fnc-tape .fnc-t .fn-q__p { font-size: 13px; }
.fnc-tape .fnc-t .fn-q__c { font-size: 11.5px; min-width: 0; }
.fnc-tape .fnc-tape__in { height: 44px; }
.fnc-tape .fnc-t { gap: 2px 6px; }
@media (min-width: 1180px) {
	.fnc-tape .fnc-tape__list { justify-content: space-between; }
	.fnc-tape .fnc-t:first-child { padding-left: 0; }
	.fnc-tape .fnc-t:last-child { border-right: 0; padding-right: 0; }
}
@media (min-width: 1180px) and (max-width: 1319px) {
	.fnc-tape .fnc-tape__h { display: none; }
	.fnc-tape .fnc-t { padding: 0 8px; }
}
@media (max-width: 1179px) {
	.fnc-tape .fnc-tape__vp { overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; mask-image: linear-gradient(90deg, #000 calc(100% - 32px), transparent); -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 32px), transparent); }
	.fnc-tape .fnc-tape__vp::-webkit-scrollbar { display: none; }
	.fnc-tape .fnc-tape__track { width: max-content; }
	.fnc-tape .fnc-t { scroll-snap-align: start; }
	.fnc-tape .fnc-t:first-child { padding-left: 0; }
}

/* Rail headlines never run past three lines. */
.fn-timeline a { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* Breadcrumb separator spacing, every template. */
.fn-crumbs .fn-crumbs__sep { display: inline-block; margin: 0 8px; color: var(--rule-2); }
