/* Editorial entrances and source-backed themes; approved shared styles stay intact. */
.editorial-themes,.fi-themes{--theme-blue:#103d80;--theme-deep:#071d49;--theme-gold:#e8cd95;--theme-gold-dark:#88652d;--theme-copy:#506783;--theme-line:#cbd9e9;--focus-color:#b68935}
.editorial-themes{background:linear-gradient(122deg,#071d49,#0a3d81);color:#f2f6ff;position:relative}
.editorial-themes .section-wrap{padding-block:clamp(70px,8vw,112px)}
.editorial-themes .editorial-themes-heading{display:flex;align-items:end;justify-content:space-between;gap:26px 48px;margin-bottom:44px}
.editorial-themes .editorial-themes-heading>div,:is(.editorial-themes,.fi-themes) .theme-portal-copy,:is(.editorial-themes,.fi-themes) .theme-record-copy{min-width:0}
.editorial-themes .editorial-themes-heading .eyebrow,.editorial-themes .theme-portal-copy>.eyebrow{color:var(--theme-gold)}
.editorial-themes .editorial-themes-heading h2{font-size:clamp(27px,3.5vw,45px);line-height:1.55;letter-spacing:.02em;margin:12px 0 0;text-wrap:balance}
.editorial-themes .theme-inline-link{color:#f5e6c6;border-color:#e8cd9560;flex-shrink:0}
.editorial-themes .theme-portal-number{color:#e8cd95}
:is(.editorial-themes,.fi-themes) .theme-portal-rows{list-style:none;margin:0;padding:0}
:is(.editorial-themes,.fi-themes) .theme-portal-row{min-width:0;border-top:1px solid #dfc38b66}
:is(.editorial-themes,.fi-themes) .theme-portal-row:last-child{border-bottom:1px solid #dfc38b66}
:is(.editorial-themes,.fi-themes) .theme-portal-row>a{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(30px,5vw,76px);align-items:center;padding-block:42px;text-decoration:none;color:inherit;min-width:0}
:is(.editorial-themes,.fi-themes) .theme-portal-row:nth-child(2)>a{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
:is(.editorial-themes,.fi-themes) .theme-portal-row:nth-child(2) .theme-portal-picture{order:2}
:is(.editorial-themes,.fi-themes) .theme-portal-row:nth-child(3)>a{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
:is(.editorial-themes,.fi-themes) .theme-portal-picture{margin:0;min-width:0;position:relative}
:is(.editorial-themes,.fi-themes) .theme-portal-picture img{display:block;width:100%;height:auto;object-fit:contain;object-position:center}
:is(.editorial-themes,.fi-themes) .theme-portal-picture figcaption{font-size:11px;line-height:1.8;margin-top:12px;color:#d0ddf0;text-wrap:pretty}
:is(.editorial-themes,.fi-themes) .theme-portal-number{font-family:Georgia,'Times New Roman',serif;font-size:clamp(32px,4vw,49px);font-weight:400;line-height:1.1;letter-spacing:-.025em;color:var(--theme-gold-dark);margin:0 0 22px}
:is(.editorial-themes,.fi-themes) .theme-portal-copy>.eyebrow{font-size:11px;line-height:1.9;letter-spacing:.13em;margin:0 0 12px;overflow-wrap:anywhere}
:is(.editorial-themes,.fi-themes) .theme-portal-copy>h2,:is(.editorial-themes,.fi-themes) .theme-portal-copy>h3{font-size:clamp(24px,3.1vw,39px);line-height:1.55;letter-spacing:.025em;text-wrap:balance;margin:0;overflow-wrap:anywhere}
:is(.editorial-themes,.fi-themes) .theme-portal-lead{font-size:15px;line-height:2;max-width:48ch;margin:22px 0;color:#dae4f4;text-wrap:pretty;overflow-wrap:anywhere}
:is(.editorial-themes,.fi-themes) .theme-portal-action{display:inline-flex;gap:18px;align-items:center;font-size:14px;line-height:1.8;font-weight:700;color:#f4dfb8;padding-block:6px}
:is(.editorial-themes,.fi-themes) .theme-portal-action>span{flex-shrink:0}
:is(.editorial-themes,.fi-themes) .theme-inline-link,:is(.editorial-themes,.fi-themes) .theme-source-link{display:inline-flex;align-items:center;gap:13px;color:var(--theme-blue);font-size:14px;line-height:1.8;text-decoration:none;font-weight:700;max-width:100%;padding-block:6px;border-bottom:1px solid #aa854457;overflow-wrap:anywhere}
:is(.editorial-themes,.fi-themes) .theme-inline-link>span[aria-hidden],:is(.editorial-themes,.fi-themes) .theme-source-link>span[aria-hidden]{flex-shrink:0;color:#88652d}
.fi-themes :is(h1,h2,h3,p,dd){overflow-wrap:anywhere}
.fi-themes :is(.page-hero .hero-split,.theme-chapter-heading,.theme-records>li>a){min-width:0}
.fi-themes .theme-index-hero,.fi-themes .theme-detail-hero{background:linear-gradient(126deg,#061b40,#0a438d);color:#f4f7ff;border-color:#a98b5b66}
.fi-themes .theme-detail-hero .hero-split{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(34px,5vw,68px)}
.fi-themes :is(.theme-detail-hero,.theme-index-hero) h1{font-size:clamp(32px,4.3vw,51px);line-height:1.6;max-width:18ch;text-wrap:balance}
.fi-themes :is(.theme-detail-hero,.theme-index-hero) .eyebrow{color:var(--theme-gold)}
.fi-themes :is(.theme-detail-hero,.theme-index-hero) .lead{color:#dae6f7;font-size:16px;line-height:2;max-width:48ch;text-wrap:pretty}
.fi-themes .theme-hero-links{display:flex;flex-wrap:wrap;gap:14px 26px;margin-top:28px}
.fi-themes .theme-hero-links .theme-inline-link{color:#f2dfb8;border-color:#e8cd9560}
.fi-themes .theme-cover{margin:0;min-width:0}
.fi-themes .theme-cover img{display:block;width:100%;height:auto;object-fit:contain;object-position:center}
.fi-themes .theme-cover figcaption{display:flex;flex-direction:column;align-items:start;gap:8px;margin-top:14px;font-size:11px;line-height:1.9;color:#d8e3f4;text-wrap:pretty}
.fi-themes .theme-cover .theme-source-link{color:#f4dfb8;font-size:11px;font-weight:400;border-color:#e8cd9557}
.fi-themes .theme-index-content{background:#f4f8ff}
.fi-themes .theme-index-guide{max-width:55ch;margin-bottom:40px;font-size:16px;line-height:2;color:var(--theme-copy);text-wrap:pretty}
.fi-themes .theme-index-guide p{margin:0}
.fi-themes .theme-index-content .theme-portal-picture figcaption{color:#506783}
.fi-themes .theme-index-content .theme-portal-lead{color:var(--theme-copy)}
.fi-themes .theme-index-content .theme-portal-action{color:var(--theme-blue)}
.fi-themes .theme-index-content .theme-portal-row{border-color:#b6986266}
.fi-themes .theme-intro{background:#fff}
.fi-themes .theme-intro-copy{max-width:65ch;font-size:16px;line-height:2.1;color:#425d7a;text-wrap:pretty}
.fi-themes .theme-intro-copy p{margin:0 0 20px}
.fi-themes .theme-intro-copy p:last-child{margin-bottom:0}
.fi-themes .theme-intro .toc{margin-top:34px;margin-bottom:25px;max-width:780px}
.fi-themes .theme-date-guide{max-width:68ch;font-size:12px;line-height:2;color:#506783;margin:0;text-wrap:pretty}
.fi-themes .theme-chapter{scroll-margin-top:110px}
.fi-themes .theme-chapter--paper{background:linear-gradient(126deg,#f7faff,#eaf2fb);color:#133c70}
.fi-themes .theme-chapter--blue{background:linear-gradient(125deg,#071d49,#0a4389);color:#eef4ff}
.fi-themes .theme-chapter-heading{display:grid;grid-template-columns:74px minmax(0,1fr);gap:30px;max-width:980px;margin-bottom:34px}
.fi-themes .theme-chapter-number{font-family:Georgia,'Times New Roman',serif;font-size:46px;font-weight:400;line-height:1.2;color:var(--theme-gold-dark);margin:0}
.fi-themes .theme-chapter-heading .eyebrow{font-size:11px;line-height:1.8;color:var(--theme-gold-dark);margin:0 0 12px}
.fi-themes .theme-chapter-heading h2{font-size:clamp(26px,3.3vw,38px);line-height:1.65;letter-spacing:.025em;text-wrap:balance;margin:0 0 22px}
.fi-themes .theme-chapter-copy{max-width:60ch;font-size:15px;line-height:2.05;color:var(--theme-copy);text-wrap:pretty}
.fi-themes .theme-chapter-copy p{margin:0 0 16px}
.fi-themes .theme-chapter-copy p:last-child{margin-bottom:0}
.fi-themes .theme-chapter--blue :is(.theme-chapter-number,.theme-chapter-heading .eyebrow){color:var(--theme-gold)}
.fi-themes .theme-chapter--blue .theme-chapter-copy{color:#d9e5f7}
.fi-themes .theme-chapter-photo{margin:38px 0 42px;max-width:1040px}
.fi-themes .theme-chapter-photo img{display:block;width:auto;height:auto;max-width:100%;max-height:650px;margin-inline:auto;object-fit:contain;object-position:center}
.fi-themes .theme-chapter-photo figcaption{display:flex;flex-wrap:wrap;gap:7px 20px;align-items:start;margin-top:14px;font-size:11px;line-height:1.9;color:#506783;text-wrap:pretty}
.fi-themes .theme-chapter-photo .theme-source-link{font-size:11px;padding-block:0;font-weight:400}
.fi-themes .theme-photo-date{font-variant-numeric:tabular-nums}
.fi-themes .theme-chapter--blue .theme-chapter-photo figcaption{color:#c6d9f2}
.fi-themes .theme-chapter--blue .theme-source-link{color:#f3dfb8;border-color:#e8cd9557}
.fi-themes .theme-records{list-style:none;padding:0;margin:0;border-top:1px solid #b6996570}
.fi-themes .theme-records>li{border-bottom:1px solid #c0d0e5}
.fi-themes .theme-records>li>a{display:grid;grid-template-columns:minmax(135px,.27fr) minmax(0,1fr) 24px;gap:26px;align-items:start;padding:28px 0;color:inherit;text-decoration:none}
.fi-themes .theme-record-date{display:flex;flex-direction:column;gap:9px;font-size:12px;line-height:1.85;color:#506783;min-width:0}
.fi-themes .theme-record-date>span{font-size:11px;color:#88652d}
.fi-themes .theme-record-date time{font-variant-numeric:tabular-nums;font-weight:700;color:#1d4e90}
.fi-themes .theme-record-meta{display:flex;flex-wrap:wrap;gap:5px 14px;font-size:11px;line-height:1.8;color:#7e6130;margin:0 0 8px}
.fi-themes .theme-record-copy h3{font-size:clamp(19px,2vw,24px);line-height:1.7;letter-spacing:.015em;text-wrap:balance;margin:0 0 10px}
.fi-themes .theme-record-copy>p:not(.theme-record-meta){max-width:61ch;font-size:14px;line-height:1.95;color:var(--theme-copy);margin:0;text-wrap:pretty}
.fi-themes .theme-record-role{margin:15px 0 0;font-size:12px;line-height:1.9;color:#506783}
.fi-themes .theme-record-role>div{display:flex;gap:7px 12px;flex-wrap:wrap}
.fi-themes .theme-record-role dt{font-weight:700;flex-shrink:0}
.fi-themes .theme-record-role dd{margin:0;min-width:0}
.fi-themes .theme-record-status{display:inline-block;font-size:11px;line-height:1.8;margin-top:12px;padding:3px 9px;border:1px solid #9a7c4e66;color:#766039}
.fi-themes .theme-record-arrow{font-size:22px;line-height:1.5;color:#a87e33;padding-top:20px}
.fi-themes .theme-chapter--blue .theme-records>li{border-color:#c7daf540}
.fi-themes .theme-chapter--blue :is(.theme-record-date,.theme-record-role){color:#c3d6ef}
.fi-themes .theme-chapter--blue :is(.theme-record-date>span,.theme-record-meta,.theme-record-arrow){color:var(--theme-gold)}
.fi-themes .theme-chapter--blue .theme-record-date time{color:#ecf3ff}
.fi-themes .theme-chapter--blue .theme-record-copy>p:not(.theme-record-meta){color:#d2e0f4}
.fi-themes .theme-chapter--blue .theme-record-status{color:#f0d8ad;border-color:#e8cd9566}
.fi-themes :is(.theme-reading-section,.theme-other-section){background:#fff}
.fi-themes .theme-other-section{border-top:1px solid #d6e1ee}
.fi-themes :is(.theme-reading-links,.theme-other-links){display:flex;flex-wrap:wrap;gap:20px 36px}
.editorial-themes a,.fi-themes :is(.theme-inline-link,.theme-source-link,.theme-records>li>a,.theme-portal-row>a){transition:color .2s,border-color .2s}
.editorial-themes a:focus-visible,.fi-themes a:focus-visible{outline:3px solid #ba8f44;outline-offset:5px}
.editorial-themes .theme-portal-row>a:focus-visible,.fi-themes .theme-records>li>a:focus-visible,.fi-themes .theme-portal-row>a:focus-visible{outline-offset:-3px}
.editorial-themes a:active,.fi-themes :is(.theme-inline-link,.theme-source-link,.theme-records>li>a,.theme-portal-row>a):active{opacity:.8}
@media(hover:hover){.editorial-themes .theme-portal-row>a:hover h3,.editorial-themes .theme-portal-row>a:hover .theme-portal-action{color:#ffecc7}.fi-themes :is(.theme-inline-link,.theme-source-link):hover,.fi-themes .theme-portal-row>a:hover :is(h2,.theme-portal-action),.fi-themes .theme-records>li>a:hover h3{color:#88652d}.fi-themes .theme-chapter--blue :is(.theme-source-link:hover,.theme-records>li>a:hover h3){color:#ffecc7}.editorial-themes .theme-inline-link:hover{color:#fff1d4;border-color:#fff1d4}}
@media(max-width:1100px){:is(.editorial-themes,.fi-themes) .theme-portal-row>a{gap:34px}.fi-themes .theme-records>li>a{grid-template-columns:minmax(124px,.3fr) minmax(0,1fr) 22px;gap:20px}.fi-themes .theme-chapter-heading{grid-template-columns:58px minmax(0,1fr);gap:24px}}
@media(max-width:760px){.editorial-themes .editorial-themes-heading{display:block;margin-bottom:32px}.editorial-themes .editorial-themes-heading>.theme-inline-link{margin-top:22px}:is(.editorial-themes,.fi-themes) .theme-portal-row>a,:is(.editorial-themes,.fi-themes) .theme-portal-row:nth-child(2)>a,:is(.editorial-themes,.fi-themes) .theme-portal-row:nth-child(3)>a{grid-template-columns:minmax(0,1fr);gap:28px;padding-block:34px}:is(.editorial-themes,.fi-themes) .theme-portal-row:nth-child(2) .theme-portal-picture{order:0}:is(.editorial-themes,.fi-themes) .theme-portal-number{font-size:34px;margin-bottom:17px}:is(.editorial-themes,.fi-themes) .theme-portal-copy>h2,:is(.editorial-themes,.fi-themes) .theme-portal-copy>h3{font-size:27px}:is(.editorial-themes,.fi-themes) .theme-portal-lead{font-size:14px;max-width:60ch;margin:18px 0}.fi-themes .theme-detail-hero .hero-split{grid-template-columns:minmax(0,1fr);gap:34px}.fi-themes :is(.theme-detail-hero,.theme-index-hero) h1{font-size:32px;max-width:22ch}.fi-themes :is(.theme-detail-hero,.theme-index-hero) .lead{font-size:15px}.fi-themes .theme-chapter{scroll-margin-top:90px}.fi-themes .theme-chapter-heading{grid-template-columns:42px minmax(0,1fr);gap:18px}.fi-themes .theme-chapter-number{font-size:34px}.fi-themes .theme-chapter-heading h2{font-size:27px}.fi-themes .theme-chapter-copy,.fi-themes .theme-intro-copy{font-size:14px}.fi-themes .theme-records>li>a{grid-template-columns:minmax(0,1fr) 22px;gap:16px;padding-block:25px}.fi-themes .theme-record-date{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap;gap:7px 15px}.fi-themes .theme-record-copy{grid-column:1}.fi-themes .theme-record-arrow{grid-column:2;padding-top:20px}.fi-themes .theme-record-copy h3{font-size:20px}.fi-themes .theme-chapter-photo{margin-block:28px 32px}.fi-themes :is(.theme-reading-links,.theme-other-links){gap:14px 24px}}
@media(max-width:420px){.editorial-themes .editorial-themes-heading h2{font-size:26px}:is(.editorial-themes,.fi-themes) .theme-portal-copy>h2,:is(.editorial-themes,.fi-themes) .theme-portal-copy>h3{font-size:25px}:is(.editorial-themes,.fi-themes) .theme-portal-action{font-size:14px}.fi-themes :is(.theme-detail-hero,.theme-index-hero) h1{font-size:32px}.fi-themes .theme-chapter-heading{grid-template-columns:minmax(0,1fr);gap:18px}.fi-themes .theme-chapter-number{font-size:33px;margin:0}.fi-themes .theme-chapter-heading h2{font-size:25px}.fi-themes .theme-record-copy h3{font-size:19px}.fi-themes .theme-record-copy>p:not(.theme-record-meta){font-size:14px}.fi-themes .theme-inline-link{font-size:14px}}
@media(prefers-reduced-motion:reduce){.editorial-themes a,.fi-themes :is(.theme-inline-link,.theme-source-link,.theme-records>li>a,.theme-portal-row>a){transition:none;animation:none;transform:none}}
/* Final foregrounds for each editorial surface, after shared portal rules. */
.editorial-themes .theme-inline-link{color:#f5e6c6;border-color:#e8cd9560}
.editorial-themes .theme-portal-number{color:#e8cd95}
.editorial-themes .theme-inline-link>span[aria-hidden]{color:#e8cd95}
.editorial-themes a:focus-visible{outline-color:#e8cd95}
.fi-themes a:focus-visible{outline-color:#88652d}
.fi-themes :is(.theme-detail-hero,.theme-index-hero,.theme-chapter--blue,.page-outro) a:focus-visible{outline-color:#e8cd95}
.fi-themes .theme-index-content .theme-portal-copy{color:#133c70}
.fi-themes .theme-index-content .theme-portal-copy>.eyebrow{color:#88652d}
.fi-themes :is(.theme-detail-hero,.theme-index-hero) :is(.theme-inline-link,.theme-source-link)>span[aria-hidden],.fi-themes .theme-chapter--blue .theme-source-link>span[aria-hidden]{color:#e8cd95}
.fi-themes .theme-chapter-photo figcaption>span,.fi-themes .theme-cover figcaption>span{min-width:0;max-width:100%;overflow-wrap:anywhere}
@media(hover:hover){.fi-themes :is(.theme-detail-hero,.theme-index-hero) :is(.theme-inline-link,.theme-source-link):hover{color:#ffecc7;border-color:#ffecc7}}
@media(max-width:760px){.fi-themes .theme-chapter-photo figcaption{flex-direction:column;gap:8px}.fi-themes .theme-chapter-photo .theme-source-link{font-size:12px;min-height:28px}.fi-themes .theme-cover .theme-source-link{font-size:12px;min-height:28px}}
@media(forced-colors:active){.editorial-themes,.fi-themes :is(.theme-index-hero,.theme-detail-hero,.theme-chapter){background:Canvas;color:CanvasText}.editorial-themes a:focus-visible,.fi-themes a:focus-visible{outline-color:Highlight}.fi-themes .theme-records,.fi-themes .theme-records>li,:is(.editorial-themes,.fi-themes) .theme-portal-row{border-color:CanvasText}}
