/* Issue Zero shared roles. Existing Inter/system stack retained: no approved local
   Apfel/DM Sans font binaries are supplied in this publication's asset library. */
:root, html[data-theme] {
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-6:24px;
  --space-8:32px; --space-10:40px; --space-12:48px; --space-16:64px;
  --type-h1:48px; --type-dashboard:36px; --type-h2:34px; --type-card:24px;
  --type-body:17px; --type-data:16px; --type-meta:14px; --type-nav:16px;
  --section-gap:64px; --phoenix-content-width:1200px; --phoenix-gutter:32px;
  --prose-width:740px; --focus:#176c99;
}
@media (max-width:1100px) { :root,html[data-theme] {
  --type-h1:40px; --type-dashboard:32px; --type-h2:30px; --type-card:23px;
  --section-gap:48px; --phoenix-gutter:24px;
}}
@media (max-width:600px) { :root,html[data-theme] {
  --type-h1:32px; --type-dashboard:28px; --type-h2:28px; --type-card:22px;
  --type-body:16px; --section-gap:40px; --phoenix-gutter:20px;
}}
@media screen {
html {scroll-padding-top:0;}
body {display:block; font-size:var(--type-body);line-height:1.6;min-width:0;}
body > main,body > main.site-shell,.signature-dashboard > main {
 width:100%!important;max-width:calc(var(--phoenix-content-width) + 2 * var(--phoenix-gutter));
 padding:24px var(--phoenix-gutter) 40px!important;margin:0 auto!important;
}
main h1, .policy-hero h1, .compact-public-main h1, .policy-main h1 {
 font-size:var(--type-h1)!important;line-height:1.15;letter-spacing:-.025em;
 margin:0 0 16px;max-width:100%;white-space:normal;overflow:visible;overflow-wrap:break-word;
}
main h2,.compact-public-main h2,.policy-main h2,.section-heading h2 {
 font-size:var(--type-h2)!important;line-height:1.2;margin:0 0 24px;letter-spacing:-.02em;
}
main h3,main h4 {font-size:var(--type-card);line-height:1.3;margin:24px 0 16px;}
main h1,main h2,main h3,main h4 {text-wrap:pretty;hyphens:none;min-height:0;height:auto;max-height:none;}
main p,.compact-public-main p,.policy-content p {font-size:var(--type-body);line-height:1.6;margin:0 0 16px;max-width:var(--prose-width);}
main p:last-child {margin-bottom:0;}
main small,.eyebrow,.meta-row,.meta-row span,.data-date,.data-unit,.phoenix-hold,.reading-meta,.reading-attribution,.search-result-meta {font-size:var(--type-meta);line-height:1.5;}
.eyebrow {margin:0 0 12px;}
body .phoenix-masthead {
 position:sticky;top:0;inset-inline:0;display:block;width:100%;height:auto;max-height:none;
 padding:12px max(var(--phoenix-gutter),calc((100vw - var(--phoenix-content-width))/2));
 background:#fff;border:0;border-bottom:1px solid var(--border);overflow:visible;z-index:60;
}
.phoenix-masthead .phoenix-masthead-top {display:flex;align-items:center;justify-content:space-between;gap:16px;}
.phoenix-masthead .phoenix-brand {display:flex;align-items:center;max-width:none;gap:16px;min-width:0;padding:0;}
.phoenix-masthead .phoenix-brand img {width:128px;height:48px;object-fit:contain;margin:0;flex:none;}
.phoenix-masthead .phoenix-edition-lockup {display:block;border-left:1px solid var(--border);padding-left:16px;}
.phoenix-masthead .phoenix-edition-lockup strong {font-size:22px;line-height:1.2;}
.phoenix-masthead .phoenix-edition-lockup small {font-size:14px;line-height:1.4;white-space:normal;}
.phoenix-masthead .phoenix-cadence {font-size:14px;}
.phoenix-masthead .phoenix-navigation {display:block;width:100%;margin:12px 0 0;}
.phoenix-masthead .phoenix-primary-nav,.phoenix-masthead .phoenix-utility-nav {
 display:flex;flex-wrap:wrap;gap:4px 12px;width:100%;margin:0;padding:4px 0 0;border-top:1px solid var(--border);
}
.phoenix-masthead .phoenix-utility-nav {justify-content:flex-end;}
.phoenix-masthead nav a,.phoenix-masthead .phoenix-utility-nav a,.phoenix-masthead .phoenix-utility-nav a:first-child {
 display:flex;align-items:center;justify-content:flex-start;min-height:44px;padding:8px;font-size:var(--type-nav);
 line-height:1.4;margin:0;white-space:normal;letter-spacing:normal;
}
.phoenix-masthead .phoenix-menu {font-size:16px;min-height:44px;padding:8px 12px;}
.phoenix-hold {padding:12px 16px;margin:0 0 24px;}
.phoenix-contents {position:static;margin:24px 0 0;padding:8px 16px;}
.phoenix-contents summary,.phoenix-contents a {font-size:16px;min-height:44px;}
.section,.compact-public-main > .section,.terminal-section {padding:0!important;margin:var(--section-gap) 0 0;}
main > .section + .section {margin-top:var(--section-gap);}
main > section,.section[id],main [id] {scroll-margin-top:var(--phoenix-anchor-offset,190px);}
.section-heading,.section-head {margin:0 0 24px;padding:0;}
.compact-edition-hero,.policy-hero {min-height:0!important;height:auto!important;max-height:none;padding:32px!important;gap:16px;}
.compact-hero-copy {max-width:none;display:block;}
.compact-edition-hero p,.policy-hero p {max-width:var(--prose-width);}
.compact-edition-hero .dek {font-size:var(--type-body);margin:0 0 16px;}
.compact-edition-hero .meta-row {display:flex;flex-wrap:wrap;gap:12px;margin:16px 0;}
.compact-edition-hero .meta-row span {display:inline-flex!important;}
.compact-edition-hero .hero-actions {margin:16px 0 0!important;gap:12px;}
.hero-actions a {min-height:44px;font-size:16px;}
.phoenix-source {max-width:none!important;font-size:16px!important;padding:12px 16px;margin:0 0 16px;line-height:1.5!important;}
#global-markets-map > h3 {margin:16px 0 12px;}
.policy-content {max-width:var(--prose-width);margin:var(--section-gap) auto 0!important;padding:24px!important;}
.policy-content h2 {font-size:var(--type-h2)!important;}
.policy-content p,.policy-content li {font-size:var(--type-body);line-height:1.6;}
.phoenix-table {margin:12px 0 0;max-width:100%;overflow:auto;overscroll-behavior-x:contain;}
.phoenix-table table {min-width:860px;table-layout:auto;width:100%;font-size:var(--type-data);}
.phoenix-table th,.phoenix-table td {font-size:var(--type-data);line-height:1.45;padding:12px;white-space:normal;}
.phoenix-table th:first-child,.phoenix-table td:first-child {position:static;box-shadow:none;}
.phoenix-table .numeric,.numeric {text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;}
.phoenix-table caption {font-size:14px;text-align:left;}
.phoenix-table a {overflow-wrap:anywhere;}
.data-unit,.data-date {display:block;color:var(--muted);font-weight:400;}
.data-lag {display:block;color:#88510e;font-size:14px;font-weight:600;}
.dataset-methodology {font-size:14px;margin:16px 0 24px;max-width:none;}
.dataset-methodology summary,.calendar-table summary,.phoenix-calendar-notes summary {min-height:44px;cursor:pointer;padding:8px 0;font-size:16px;}
.dataset-methodology p,.dataset-methodology li {font-size:14px;}
.dataset-overview {display:flex;flex-wrap:wrap;gap:12px;padding:0;margin:16px 0 24px;list-style:none;}
.dataset-overview-item {padding:12px 16px;background:var(--panel);border:1px solid var(--border);border-radius:12px;flex:1 1 160px;}
.dataset-overview-item a {display:block;min-height:44px;font-size:16px;}
.calendar-day-links {display:flex;flex-wrap:wrap;gap:12px;margin:16px 0 24px;}
.calendar-day-links a {display:flex;align-items:center;min-height:44px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;}
.calendar-day-group {margin:32px 0;}
.calendar-table table {min-width:920px;}
.calendar-table th:nth-child(1) {width:25%;}
.calendar-table td:nth-child(5) {min-width:230px;}
.calendar-table dl {margin:12px 0;}
.calendar-table dt {font-weight:700;font-size:14px;}
.calendar-table dd {margin:0 0 12px;font-size:14px;}
.calendar-table p {font-size:14px;}
.reading-grid,.news-grid,.insight-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:24px;align-items:start;}
.reading-group {margin-top:32px;}
.reading-card,.news-card,.insight-card {padding:24px;border:1px solid var(--border);border-radius:12px;background:var(--panel);box-shadow:0 3px 12px #23265d08;min-height:0;align-self:start;}
.reading-card h4,.reading-card h3,.news-card h3,.insight-card h3 {font-size:var(--type-card)!important;line-height:1.3;margin:16px 0 12px;overflow-wrap:break-word;}
.reading-brand {height:36px;display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.reading-brand img {width:100px;height:36px;object-fit:contain;object-position:left center;}
.reading-brand span {font-size:14px;font-weight:700;}
.reading-card p {font-size:16px;line-height:1.6;margin:0 0 12px;}
.reading-card .reading-meta,.reading-card .reading-attribution {font-size:14px;line-height:1.5;}
.reading-link {display:inline-flex;align-items:center;min-height:44px;font-size:16px;}
.search-results-grid {grid-template-columns:1fr;gap:16px;max-width:var(--prose-width);}
.search-result-card {min-height:0!important;height:auto;padding:24px;}
.search-result-card h2 {font-size:var(--type-card)!important;line-height:1.3;margin:12px 0;}
.search-result-card p {font-size:16px;}
.search-result-card .search-result-meta {font-size:14px;}
.utility-search {max-width:var(--prose-width);}
input,select,textarea,button {font-size:16px;}
input,select,button,summary {min-height:44px;}
.phoenix-footer {max-width:calc(var(--phoenix-content-width) + 2 * var(--phoenix-gutter));margin:40px auto 0;padding:24px var(--phoenix-gutter);font-size:14px;}
.phoenix-footer nav a {min-height:44px;font-size:16px;}
body :focus-visible {outline:3px solid var(--focus)!important;outline-offset:3px;}
.compact-edition-hero,.policy-hero {--focus:#f2b650;}
.skip-link:focus {z-index:1000;top:12px;}
.is-flat,.is-neutral {color:var(--muted);}
.subscription,.subscription-availability {padding:16px 24px!important;margin-top:40px;}
.subscription h2,.subscription-availability h2 {font-size:var(--type-card)!important;margin-bottom:12px;}
@media (max-width:1100px) {
 .phoenix-masthead .phoenix-menu {display:flex;}
 .phoenix-masthead .phoenix-navigation {display:none;max-height:calc(100dvh - 92px);overflow:auto;overscroll-behavior:contain;}
 .phoenix-masthead.open .phoenix-navigation {display:block;}
 .phoenix-masthead .phoenix-primary-nav,.phoenix-masthead .phoenix-utility-nav {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;}
 .phoenix-masthead .phoenix-utility-nav {margin-top:12px;}
}
@media (max-width:600px) {
 .phoenix-masthead .phoenix-brand {gap:12px;}
 .phoenix-masthead .phoenix-brand img {width:92px;height:40px;}
 .phoenix-masthead .phoenix-edition-lockup {padding-left:12px;}
 .phoenix-masthead .phoenix-edition-lockup strong {font-size:18px;}
 .phoenix-masthead .phoenix-edition-lockup small {font-size:14px;max-width:122px;}
 .phoenix-masthead .phoenix-cadence {display:none;}
 .phoenix-masthead .phoenix-masthead-top {gap:8px;}
 .phoenix-masthead .phoenix-menu {min-width:60px;padding:8px;gap:4px;}
 .phoenix-contents nav {grid-template-columns:1fr;}
 .compact-edition-hero,.policy-hero {padding:24px!important;}
 .reading-card,.news-card,.insight-card,.search-result-card {padding:20px;}
 .reading-grid,.news-grid,.insight-grid {gap:24px;}
}
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after {animation:none!important;transition:none!important;scroll-behavior:auto!important;} }
@media screen {
 .skip-link {background:#f2b650!important;color:#23265d!important;}
 .signature-dashboard .sector .details-icon {color:inherit;}
 .dataset-overview-item a > * {display:block;margin-bottom:4px;}
 .dataset-overview-item a > strong {font-size:24px;line-height:1.3;font-variant-numeric:tabular-nums;}
 .dataset-overview-item small {font-size:14px;line-height:1.5;}
 .methodology-title {font-size:14px!important;margin:0 0 8px!important;}
}
@media screen {
 .market-chart-card .metric-source-details > summary {min-height:44px;font-size:14px;line-height:1.5;display:flex;align-items:center;}
}
@media screen {
 main h3,main h4,.compact-public-main h3,.compact-public-main h4,.policy-main h3 {font-size:var(--type-card)!important;line-height:1.3;}
 .meta-row span {font-size:14px!important;line-height:1.5!important;}
 .primary-action,.secondary-action,.text-action {font-size:16px!important;}
 .signature-dashboard .sector,.signature-dashboard .sector:last-child {grid-column:auto;grid-row:auto;}
 .signature-dashboard .table-scroll {overflow-x:auto;overflow-y:auto;width:100%;max-width:100%;min-width:0;}
 .signature-dashboard #market-table-panel {min-width:0;max-width:100%;}
 .phoenix-table-controls {max-width:100%;flex-wrap:wrap;}
 .phoenix-table-controls span {min-width:0;flex-basis:140px;font-size:14px;}
 main [id] {scroll-margin-top:var(--phoenix-anchor-offset,199px)!important;}
 #week-ahead .calendar-table th:first-child,#week-ahead .calendar-table td:first-child {width:auto;min-width:200px;white-space:normal;}
 #week-ahead .calendar-table th:nth-child(2),#week-ahead .calendar-table td:nth-child(2) {min-width:140px;}
}
@media screen {
 .phoenix-scroll-region {position:relative;}
}
@media screen {
 .phoenix-masthead .phoenix-edition-lockup strong,.phoenix-masthead .phoenix-edition-lockup small {display:block;}
 .signature-dashboard .phoenix-hold {display:flex;flex-wrap:wrap;gap:4px 12px;}
 .reading-brand {height:auto;min-height:36px;}
 .reading-brand img {flex:0 0 96px;width:96px;}
 /* The approved Fintrade file has large white margins. Crop only that whitespace
    inside the same 36px logo window; preserve artwork proportions and asset bytes. */
 .reading-card--fintrade .reading-brand img {object-fit:cover;object-position:50% 50%;}
}
@media screen {
 /* Apply the same roles to frozen archive components without touching content. */
 main .section-intro, main .top-story-card p:not(.story-kicker),main .macro-event-card p,
 main .scenario p,main .audience-card p,main .historical-edition-note,main .data-period-statement {
  font-size:var(--type-body)!important;line-height:1.6!important;
 }
 main .fx-rate-card p,main .fx-rate-card dt,main .market-chart-card dl dt,
 main .market-chart-card small,main .market-chart-card .market-series-name,
 main .market-chart-card .direction-badge,main .fx-rate-card .direction-badge,
 main .macro-event-card > span,main .audience-card > span,main .scenario > span,
 main .top-story-card .story-kicker {
  font-size:14px!important;line-height:1.5!important;
 }
 main .market-chart-card .metric-source-details > summary {font-size:14px!important;min-height:44px!important;line-height:1.5!important;}
 main .market-chart-card .market-movement,main .fx-rate-card dd,
 main .market-chart-card dl dd,main .market-chart-card .market-ticker-symbol {
  font-size:16px!important;line-height:1.5!important;font-variant-numeric:tabular-nums;
 }
 main .market-chart-card,main .fx-rate-card,main .macro-event-card,main .top-story-card,
 main .scenario,main .audience-card {height:auto;min-height:0;max-height:none;overflow:visible;}
}
@media screen {
 /* Shared section rhythm replaces nested outer boxes on the current edition. */
 .compact-public-main > .terminal-section {background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0;}
}
@media screen {
 .signature-dashboard .sector.is-flat,.signature-dashboard .sector.is-neutral,.signature-dashboard .sector.is-missing {background:#eaf0f8!important;border:1px solid #a4b4ca;color:#23265d!important;}
 .signature-dashboard .sector:is(.is-flat,.is-neutral,.is-missing) :is(span,strong,small) {color:#23265d!important;}
}
