/* Visual Reboot – Cycle-only candidate. Shared shell, themes and economics are unchanged. */
.macro-page{--visual-ink:#153e36;--visual-mint:#d4e8df;--visual-gold:#b9a477;--visual-shadow:0 12px 38px rgba(20,58,46,.045);font-variant-numeric:tabular-nums;}
html[data-theme="nordic-dark"] .macro-page{--visual-ink:#102a25;--visual-mint:#bfdacc;--visual-gold:#c9b58a;--visual-shadow:0 12px 40px rgba(0,0,0,.12);}
.macro-page .macro-content{max-width:1390px;padding-top:2px;}
.macro-page .focus-view[data-focus-panel="overview"]{max-width:none;}
.macro-page .focus-intro .container{max-width:1390px;}
.macro-page .focus-preview-note{font-size:9px;letter-spacing:.11em;border:0;padding:7px 0;color:var(--text-muted);}
.macro-page .focus-brand{padding:12px 0 16px;align-items:baseline;gap:20px;}
.macro-page .focus-brand h1{font-size:48px!important;letter-spacing:-.055em;}
.macro-page .focus-brand p{font-size:13px;}
.macro-page .macro-section-nav{max-width:660px;gap:3px;padding:4px;margin-bottom:26px;background:var(--accent-soft);border-color:var(--line);border-radius:13px;}
.macro-page .macro-section-nav a{font-size:12px;min-height:44px;transition:background .18s,box-shadow .18s;}
.macro-page .macro-section-nav a[aria-current="page"]{background:var(--surface);box-shadow:0 2px 8px rgba(0,0,0,.04);}
.macro-page .visual-commentary{padding:0;border:0;background:transparent;border-radius:0;margin:0 0 28px;}
.visual-story{display:grid;grid-template-columns:minmax(0,1fr) 235px;gap:36px;padding:34px 36px;border-radius:22px;background:var(--visual-ink);color:#f4f7f2;position:relative;overflow:hidden;box-shadow:var(--visual-shadow);}
.visual-story:before{content:"";position:absolute;width:330px;height:330px;border:1px solid rgba(211,235,219,.08);border-radius:50%;right:-140px;top:-180px;pointer-events:none;}
.visual-story-main{min-width:0;align-self:center;}
.macro-page .visual-story .eyebrow{color:#c4ddd0;font-size:10px;letter-spacing:.16em;}
.macro-page .visual-story .cycle-comment-heading h2{color:#f4f7f2;font-size:clamp(29px,3.2vw,44px);line-height:1.12;letter-spacing:-.04em;max-width:26ch;margin:13px 0 17px;}
.macro-page .visual-story .cycle-comment-body{margin:0;}
.macro-page .visual-story .focus-summary{color:#e0ebe2;font-size:13px;line-height:1.8;max-width:76ch;margin:0;}
.macro-page .visual-story .cycle-comment-body>p{color:#e0ebe2;}
html[data-visual="a"] .macro-page .visual-story .cycle-comment-body>p,html[data-visual="c"] .macro-page .visual-story .cycle-comment-body>p{color:var(--text);}
.visual-story-side{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-content:center;}
.visual-breadth{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:15px 12px;border:1px solid #45655a;background:rgba(220,243,228,.035);border-radius:13px;text-decoration:none;color:#eef5ed;min-width:0;}
.visual-breadth>span:first-child{font-size:10px;font-weight:650;line-height:1.4;}
.visual-breadth>strong{font-size:35px;line-height:1.1;font-weight:550;letter-spacing:-.05em;}
.visual-breadth strong small{font-size:17px;color:#c4ddd0;letter-spacing:0;}
.visual-breadth>span:nth-of-type(2),.visual-breadth>small{font-size:10px;line-height:1.45;color:#d4e5da;}
.visual-story-side>p{grid-column:1/-1;color:#d4e5da;font-size:10px;line-height:1.55;margin:0;}
.visual-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 18px;}
.visual-kpi-note{grid-column:1/-1;font-size:10px;color:var(--text-muted);line-height:1.6;margin:0;}
.visual-card{appearance:none;display:flex;flex-direction:column;align-items:stretch;text-align:left;width:100%;min-width:0;position:relative;padding:20px 18px 15px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--text);font-family:inherit;cursor:pointer;box-shadow:var(--visual-shadow);transition:transform .16s,border-color .16s,box-shadow .16s;}
.visual-card:hover{transform:translateY(-3px);border-color:var(--primary);box-shadow:0 12px 28px rgba(20,58,46,.09);}
.visual-card:focus-visible,.visual-breadth:focus-visible,.visual-themes button:focus-visible{outline:3px solid var(--accent);outline-offset:4px;}
.visual-card-head{display:flex;justify-content:space-between;gap:8px;align-items:start;min-height:32px;font-size:12px;line-height:1.45;font-weight:650;}
.visual-source{font-size:9px;letter-spacing:.05em;color:var(--text-muted);border:1px solid var(--line);padding:3px 5px;border-radius:5px;flex-shrink:0;}
.visual-card-value{font-size:38px;line-height:1.1;font-weight:550;letter-spacing:-.055em;margin:9px 0 6px;color:var(--primary);white-space:nowrap;}
.visual-kpi .visual-card-value{font-size:43px;}
.visual-card-value small{font-size:12px;letter-spacing:0;margin-left:7px;font-weight:500;color:var(--text-muted);}
.visual-card-period{font-size:11px;color:var(--text-muted);}
.visual-card-chart{display:flex;gap:8px;align-items:center;justify-content:space-between;margin:14px 0 10px;}
.visual-card-chart>span{font-size:9px;line-height:1.5;color:var(--text-muted);text-align:right;}
.visual-spark{width:120px;height:40px;max-width:68%;overflow:visible;color:var(--primary);flex-shrink:0;}
.visual-spark-path{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.visual-spark-baseline{fill:none;stroke:var(--line);stroke-width:.8;}
.visual-spark circle{fill:currentColor;stroke:var(--surface);stroke-width:1.3;}
.visual-card-status{font-size:11px;line-height:1.5;font-weight:600;min-height:34px;}
.visual-card-change{font-size:10px;line-height:1.5;color:var(--text-muted);min-height:30px;}
.visual-card-meaning{font-size:11px;line-height:1.7;color:var(--text-muted);border-top:1px solid var(--line);padding-top:11px;margin-top:9px;}
.visual-card-warning{font-size:10px;line-height:1.5;margin-top:8px;color:var(--warning-text);}
.visual-card-open{font-size:10px;font-weight:650;display:flex;justify-content:space-between;gap:8px;padding-top:14px;margin-top:auto;color:var(--primary);}
.macro-page .visual-archive{margin:0;padding:15px 18px;border:1px solid var(--line);border-left:3px solid var(--visual-gold);border-radius:12px;background:var(--accent-soft);display:grid;grid-template-columns:190px minmax(0,1fr);gap:4px 20px;}
.visual-archive>b{font-size:11px;line-height:1.6;}
.macro-page .visual-archive p{font-size:11px;margin:0;line-height:1.7;}
.visual-archive-link{grid-column:2;font-size:10px;font-weight:650;text-decoration:underline;text-underline-offset:3px;}
.macro-page .cycle-comment-time{font-size:10px;margin:9px 2px;}
.visual-analysis-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;margin-top:12px;border-top:1px solid var(--line);padding-top:7px;}
.visual-analysis-tools>details{font-size:12px;min-width:0;border:0;margin:0;padding:0;}
.visual-analysis-tools>details>summary{font-size:11px;min-height:44px;align-content:center;cursor:pointer;color:var(--primary);}
.visual-analysis-tools>details[open]{grid-column:1/-1;padding:14px 18px;background:var(--surface);border:1px solid var(--line);border-radius:12px;margin:10px 0;}
.visual-reading .focus-facts{margin:0;border:0;}
.macro-page .focus-freshness{font-size:10px;margin:12px 2px;}
.visual-macro{margin:26px 0 18px;min-width:0;}
.visual-section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;}
.visual-section-heading h2{font-size:30px;letter-spacing:-.045em;color:var(--primary);margin:8px 0 0;}
.visual-section-heading>a{font-size:11px;color:var(--primary);padding:12px 0;min-height:44px;font-weight:650;}
.visual-themes{display:flex;gap:6px;flex-wrap:wrap;margin:20px 0 18px;border-bottom:1px solid var(--line);padding-bottom:10px;}
.visual-themes button{font:600 11px/1.4 Inter,sans-serif;color:var(--text-muted);padding:11px 13px;border:1px solid transparent;border-radius:8px;background:transparent;min-height:44px;cursor:pointer;}
.visual-themes button[aria-selected="true"]{background:var(--accent-soft);color:var(--text);border-color:var(--line);}
.visual-deck-intro{display:flex;gap:24px;align-items:baseline;justify-content:space-between;margin:12px 0 16px;}
.visual-deck-intro h3{font-size:15px;color:var(--primary);margin:0;white-space:nowrap;}
.visual-deck-intro p{font-size:11px;color:var(--text-muted);line-height:1.65;margin:0;max-width:78ch;}
.visual-card-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;}
.visual-card-grid[data-cards="3"]{grid-template-columns:repeat(3,minmax(0,1fr));}
.visual-card-grid[data-cards="4"]{grid-template-columns:repeat(4,minmax(0,1fr));}
.visual-scale-note{font-size:10px;line-height:1.7;color:var(--text-muted);margin:12px 0;}
.macro-page .focus-next{margin-top:16px;padding-top:10px;}
.macro-page .focus-next a{border-radius:12px;padding:15px 20px;font-size:12px;box-shadow:var(--visual-shadow);}
/* Explore: a compact analytical workspace, using the original charts and controls. */
.macro-page #explorer .section-heading h2{font-size:34px;letter-spacing:-.05em;}
.macro-page .chart-card,.macro-page .insight-card{border-radius:20px;border:1px solid var(--line);box-shadow:var(--visual-shadow);}
.macro-page .chart-card{background:linear-gradient(150deg,var(--surface),var(--accent-soft));}
.macro-page .chart-title{letter-spacing:-.025em;}
.macro-page #main-chart:has(>path)>text[y="263"]:last-of-type{text-anchor:end;}
.macro-page .metric-card{border-radius:15px;box-shadow:var(--visual-shadow);transition:transform .16s,border-color .16s;}
.macro-page .metric-card:hover{transform:translateY(-2px);}
.macro-page .metric-card .metric-value{font-variant-numeric:tabular-nums;letter-spacing:-.045em;}
.macro-page .cycle-driver-tabs{gap:5px;}
.macro-page .cycle-driver-evidence,.macro-page .cycle-quality-row{border-radius:10px;}
.macro-page .focus-view-title{font-size:32px;letter-spacing:-.045em;}
/* Method: calm structure, same source rows, archive tables and native disclosures. */
.macro-page #sources h2{font-size:34px;letter-spacing:-.04em;}
.macro-page .source-card,.macro-page .method-panel,.macro-page .focus-view .cycle-vintages{border-radius:18px;box-shadow:var(--visual-shadow);}
.macro-page .focus-disclosure{border-radius:12px;}
.macro-page .source-row{padding-top:20px;padding-bottom:20px;}
.macro-page .cycle-vintage-card{border-radius:13px;}
.macro-page :is(.focus-view,.visual-card) :focus-visible{outline-offset:4px;}
/* A / Folio: typographic, open, editorial; KPI data remains visibly separated. */
html[data-visual="a"] .visual-story{background:transparent;color:var(--text);border-radius:0;padding:12px 0 26px;grid-template-columns:minmax(0,1fr) 235px;box-shadow:none;border-bottom:1px solid var(--line);}
html[data-visual="a"] .visual-story:before{display:none;}
html[data-visual="a"] .macro-page .visual-story .cycle-comment-heading h2{font-family:Georgia,serif;font-weight:400;font-size:46px;letter-spacing:-.04em;color:var(--primary);}
html[data-visual="a"] .macro-page .visual-story :is(.eyebrow,.focus-summary){color:var(--text);}
html[data-visual="a"] .visual-breadth{background:var(--accent-soft);border-color:var(--line);color:var(--text);border-radius:0;}
html[data-visual="a"] .visual-breadth :is(small,span),html[data-visual="a"] .visual-story-side>p{color:var(--text-muted);}
html[data-visual="a"] .visual-kpis{gap:0;border-bottom:1px solid var(--line);margin-top:0;}
html[data-visual="a"] .visual-kpi{background:transparent;border:0;border-right:1px solid var(--line);border-radius:0;box-shadow:none;}
html[data-visual="a"] .visual-kpi:last-child{border-right:0;}
html[data-visual="a"] .visual-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
html[data-visual="a"] .visual-section-heading h2{font-family:Georgia,serif;font-size:34px;font-weight:400;}
/* C / Signal: asymmetric terminal with a compact KPI field on the right. */
html[data-visual="c"] .visual-commentary{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(400px,1fr);gap:0 22px;}
html[data-visual="c"] .visual-story{grid-column:1;grid-row:1;grid-template-columns:1fr;align-content:start;gap:24px;background:var(--surface);border:1px solid var(--line);box-shadow:none;}
html[data-visual="c"] .macro-page .visual-story .cycle-comment-heading h2{font-size:42px;color:var(--primary);}
html[data-visual="c"] .macro-page .visual-story :is(.eyebrow,.focus-summary){color:var(--text);}
html[data-visual="c"] .visual-story-side{grid-template-columns:1fr 1fr;max-width:450px;}
html[data-visual="c"] .visual-breadth{background:var(--visual-ink);}
html[data-visual="c"] .visual-story-side>p{color:var(--text-muted);}
html[data-visual="c"] .visual-kpis{grid-column:2;grid-row:1;grid-template-columns:1fr 1fr;gap:0;margin:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;}
html[data-visual="c"] .visual-kpi{border:0;border-bottom:1px solid var(--line);border-right:1px solid var(--line);border-radius:0;box-shadow:none;display:flex;gap:2px 8px;padding:14px;}
html[data-visual="c"] .visual-kpi .visual-card-head{grid-column:1/-1;min-height:0;font-size:10px;}
html[data-visual="c"] .visual-kpi .visual-card-value{font-size:32px;grid-column:1;margin:5px 0;}
html[data-visual="c"] .visual-kpi .visual-card-period{grid-column:1;}
html[data-visual="c"] .visual-kpi .visual-card-chart{grid-column:2;grid-row:2/4;margin:8px 0;}
html[data-visual="c"] .visual-kpi .visual-card-chart>span{display:none;}
html[data-visual="c"] .visual-kpi .visual-spark{max-width:100%;width:90px;}
html[data-visual="c"] .visual-kpi .visual-card-status{grid-column:1/-1;font-size:10px;min-height:32px;}
html[data-visual="c"] .visual-kpi .visual-card-change{grid-column:1/-1;min-height:30px;}
html[data-visual="c"] .visual-kpi .visual-card-open{grid-column:1/-1;padding-top:5px;}
html[data-visual="c"] .visual-commentary>:not(.visual-story,.visual-kpis){grid-column:1/-1;}
html[data-visual="c"] .visual-archive{margin-top:16px;}
html[data-visual="c"] .visual-card-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden;}
html[data-visual="c"] .visual-card-grid .visual-card{border:0;border-radius:0;box-shadow:none;}
@media(max-width:1100px){.visual-story{grid-template-columns:minmax(0,1fr) 220px;gap:22px;padding:28px;}.visual-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));}.visual-card-grid[data-cards="4"]{grid-template-columns:repeat(2,minmax(0,1fr));}.visual-card-value{font-size:34px;}.visual-card-head{min-height:35px;}.visual-deck-intro{align-items:start;}}
@media(max-width:800px){.visual-story{grid-template-columns:1fr;gap:20px;padding:26px;}.visual-story-side{grid-template-columns:1fr 1fr;}.visual-story-side>p{grid-column:1/-1;}.visual-breadth{display:grid;grid-template-columns:1fr auto;gap:4px 12px;}.visual-breadth>strong{grid-column:2;grid-row:1/4;align-self:center;}.visual-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}.visual-deck-intro{flex-direction:column;gap:6px;}html[data-visual="a"] .visual-story{grid-template-columns:1fr;}html[data-visual="c"] .visual-commentary{grid-template-columns:1fr;}html[data-visual="c"] .visual-kpis{grid-column:1;grid-row:2;grid-template-columns:1fr 1fr;margin-top:12px;}html[data-visual="c"] .visual-story{grid-template-columns:1fr;}html[data-visual="c"] .visual-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));}html[data-visual="c"] .visual-kpi{border-right:1px solid var(--line);}}
@media(max-width:600px){
 .visual-card-chart>span{display:none;}.visual-kpi-note{font-size:9px;margin:0 2px;}
 .visual-card-grid .visual-card:is([data-visual-series^="rb_"],[data-visual-series^="scb_housing"],[data-visual-series="jobtech_active_ads"]) .visual-card-value small{display:block;margin:4px 0 0;}
 .visual-card-grid .visual-card[data-visual-series^="rb_"] .visual-card-value{font-size:28px;}
 .macro-page .visual-commentary{display:flex;flex-direction:column;gap:0;}.visual-commentary .visual-story{display:contents;}.visual-story:before{display:none;}.visual-story-main{order:0;background:var(--visual-ink);padding:23px 20px;border-radius:18px;}.visual-kpis{order:1;}.visual-story-side{order:2;background:var(--visual-ink);padding:13px;border-radius:13px;margin:0 0 10px;}.visual-commentary>.visual-macro{order:3;}.visual-commentary>.visual-archive{order:4;}.visual-commentary>.cycle-comment-time{order:5;}.visual-commentary>.focus-freshness{order:6;}.visual-commentary>.visual-analysis-tools{order:7;}
 html[data-visual="a"] .visual-story-main{background:transparent;padding:8px 0 16px;border-radius:0;}html[data-visual="a"] .visual-story-side{background:transparent;padding:0;}html[data-visual="c"] .macro-page .visual-commentary{display:flex;}html[data-visual="c"] .visual-story-main{background:var(--surface);border:1px solid var(--line);}html[data-visual="c"] .visual-story-side{background:transparent;padding:0;}
 .macro-page .focus-preview-note{font-size:8px;letter-spacing:.07em;padding:6px 0;}.macro-page .focus-brand{gap:10px;padding:9px 0 12px;}.macro-page .focus-brand h1{font-size:32px!important;}.macro-page .focus-brand p{font-size:11px;}
 .macro-page .macro-section-nav{margin-bottom:16px;}.macro-page .macro-section-nav a{font-size:11px;}
 .visual-story{padding:23px 20px;gap:18px;border-radius:18px;}.macro-page .visual-story .cycle-comment-heading h2{font-size:28px;line-height:1.14;letter-spacing:-.035em;margin:12px 0 14px;}.macro-page .visual-story .eyebrow{font-size:9px;letter-spacing:.11em;}.macro-page .visual-story .focus-summary{font-size:12px;line-height:1.75;}
 .visual-story-side{gap:9px;}.visual-breadth{padding:11px 9px;border-radius:10px;display:flex;gap:4px;}.visual-breadth>strong{font-size:28px;align-self:start;}.visual-breadth>span:first-child{font-size:9px;}.visual-breadth>span:nth-of-type(2),.visual-breadth>small,.visual-story-side>p{font-size:9px;}
 .visual-kpis{gap:9px;margin-top:10px;}.visual-card{padding:15px 13px 12px;border-radius:13px;}.visual-card-head{font-size:11px;min-height:24px;gap:4px;}.visual-source{font-size:8px;padding:3px;}.visual-kpi .visual-card-value{font-size:33px;}.visual-card-value{font-size:32px;margin:7px 0 5px;}.visual-card-value small{font-size:10px;margin-left:5px;}.visual-card-chart{margin:6px 0;}.visual-spark{width:95px;height:30px;}.visual-card-chart>span{font-size:8px;}.visual-card-status{font-size:10px;min-height:0;}.visual-card-change{font-size:9px;min-height:0;}.visual-card-period{font-size:10px;}.visual-card-open{font-size:9px;padding-top:10px;}
 .macro-page .visual-archive{grid-template-columns:1fr;padding:13px 14px;gap:5px;}.visual-archive-link{grid-column:1;}.visual-analysis-tools{grid-template-columns:1fr;gap:0;}.visual-analysis-tools>details>summary{font-size:11px;}.macro-page .focus-freshness{font-size:10px;}
 .visual-macro{margin-top:24px;}.visual-section-heading{align-items:start;gap:8px;}.visual-section-heading h2{font-size:25px;}.visual-section-heading>a{font-size:10px;max-width:90px;}.visual-themes{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:14px 0;}.visual-themes button{font-size:10px;padding:9px 7px;border:1px solid var(--line);}.visual-deck-intro h3{font-size:14px;white-space:normal;}.visual-deck-intro p{font-size:10px;}.visual-card-grid,.visual-card-grid[data-cards="3"],.visual-card-grid[data-cards="4"]{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}.visual-card-meaning{font-size:10px;}.visual-scale-note{font-size:9px;}
 .macro-page .focus-next{gap:8px;}.macro-page .focus-next a{font-size:11px;padding:12px 14px;}.macro-page #explorer .section-heading h2,.macro-page #sources h2{font-size:29px;}.macro-page .focus-view-title{font-size:27px;}.macro-page .chart-card,.macro-page .insight-card{border-radius:16px;}
 html[data-visual="a"] .macro-page .visual-story .cycle-comment-heading h2{font-size:34px;}html[data-visual="a"] .visual-card-grid{grid-template-columns:1fr 1fr;}html[data-visual="c"] .macro-page .visual-story .cycle-comment-heading h2{font-size:30px;}html[data-visual="c"] .visual-card-grid{grid-template-columns:1fr 1fr;}html[data-visual="c"] .visual-kpi{grid-template-columns:1fr;padding:13px 11px;}html[data-visual="c"] .visual-kpi .visual-card-chart{grid-row:auto;grid-column:1;margin:5px 0;}html[data-visual="c"] .visual-kpi .visual-spark{width:100%;max-width:100%;height:32px;}
}
@media(max-width:360px){.visual-story{padding:20px 16px;}.visual-card{padding:13px 10px;}.visual-kpi .visual-card-value,.visual-card-value{font-size:29px;}.visual-card-grid .visual-card[data-visual-series^="rb_"] .visual-card-value{font-size:24px;}.visual-card-chart>span{display:none;}.visual-spark{width:100%;max-width:100%;}.visual-card-head{font-size:10px;}.visual-card-period{font-size:9px;}.macro-page .visual-story .cycle-comment-heading h2{font-size:26px;}}
@media(prefers-reduced-motion:reduce){.visual-card,.metric-card,.macro-section-nav a{transition:none!important;transform:none!important;}}
