/* U.S. service-export visual and one-time entrance motion. */
body.index-page .us-visual-story {
  --viz-brown: #4c1a09;
  --viz-orange: #ff520d;
  --viz-blue: #304ffe;
  --viz-pink: #f4e3e3;
  --viz-cream: #fffaf6;
  margin: 38px 0 56px;
  padding: 28px 0;
  border-block: 1px solid var(--line, #e3ccca);
  color: var(--viz-brown);
}
body.index-page .us-visual-story .us-viz-eyebrow { font-size: 12px; text-transform: uppercase; letter-spacing: .09em; margin: 0 0 30px; }
body.index-page .us-viz-layout { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(26px, 4vw, 64px); align-items: start; }
body.index-page .us-viz-step { padding: 0 0 24px; }
body.index-page .us-viz-step:last-child { padding-bottom: 24px; }
body.index-page .us-viz-step h3 { font-family: var(--font-display, "Forma Display", sans-serif); font-size: clamp(23px, 2.2vw, 30px); line-height: 1.15; color: #191919; margin: 0 0 18px; }
body.index-page .us-viz-step p { font-size: 17px; line-height: 1.65; margin: 0 0 18px; color: #302421; }
body.index-page .us-export-figure { min-width: 0; }
body.index-page .us-viz-canvas { background: var(--viz-pink); padding: clamp(20px, 2.2vw, 30px); min-height: 340px; }
body.index-page .us-viz-canvas svg { width: 100%; height: auto; display: block; overflow: visible; }
body.index-page .us-viz-readout { display: flex; flex-direction: column; gap: 9px; margin: 0 0 26px; }
body.index-page .us-viz-readout > span { font-size: 14px; line-height: 1.3; }
body.index-page .us-viz-readout strong { font-family: var(--font-display, "Forma Display", sans-serif); font-size: clamp(32px, 3.8vw, 52px); line-height: 1; font-weight: 700; letter-spacing: -.035em; }
body.index-page .us-viz-readout strong small { display: inline; font: 16px/1.3 var(--font-body, sans-serif); letter-spacing: 0; }
body.index-page .us-viz-readout > small { font-size: 13px; }
body.index-page .us-visual-story .us-viz-credit { color: var(--viz-brown); font-size: 11px; line-height: 1.5; margin: 12px 0 0; }
body.index-page .us-viz-credit a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
body.index-page .us-visual-story .us-viz-note { font-size: 12px; line-height: 1.5; color: var(--viz-brown); margin: 20px 0 0; }
body.index-page .us-export-mosaic { display: flex; height: 145px; gap: 3px; }
body.index-page .us-export-mosaic > div { display: flex; align-items: end; justify-content: center; padding-bottom: 15px; font-size: 12px; }
body.index-page .us-export-mosaic .is-goods, body.index-page .us-export-key i.is-goods { background: var(--viz-brown); color: var(--viz-cream); }
body.index-page .us-export-mosaic .is-digital, body.index-page .us-export-key i.is-digital { background: var(--viz-orange); color: #351103; }
body.index-page .us-export-mosaic .is-other_services, body.index-page .us-export-key i.is-other_services { background: #c8ada5; color: var(--viz-brown); }
body.index-page .us-export-key { padding: 0; margin: 20px 0 0; list-style: none; }
body.index-page .us-export-key li { display: flex; align-items: baseline; gap: 8px; font-size: 12px; margin-top: 9px; }
body.index-page .us-export-key li i { width: 8px; height: 8px; flex: 0 0 8px; }
body.index-page .us-export-key li strong { margin-left: auto; font-weight: 400; }
@media (max-width: 1000px) and (min-width: 761px) {
  body.index-page .us-viz-layout { gap: 25px; grid-template-columns: 1fr 1fr; }
  body.index-page .us-viz-step p { font-size: 15px; }
  body.index-page .us-viz-canvas { padding: 18px; }
}
@media (max-width: 760px) {
  body.index-page .us-viz-layout { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  body.index-page .us-viz-step { min-height: 0; padding: 12px 0 35px; }
  body.index-page .us-viz-step p { font-size: 16px; }
  body.index-page .us-visual-story .us-viz-credit, body.index-page .us-visual-story .us-viz-note { font-size: 11px; }
  body.index-page .us-viz-canvas { min-height: 0; padding: 22px; }
  body.index-page .us-viz-readout strong { font-size: 40px; }
}
body.index-page .us-export-figure.is-revealed .us-export-mosaic {
  animation: us-export-reveal 900ms cubic-bezier(.2,.7,.2,1) both;
}
body.index-page .us-export-figure.is-revealed .us-export-mosaic span {
  animation: us-export-labels 350ms ease-out 550ms both;
}
@keyframes us-export-reveal {
  from { clip-path: inset(0 100% 0 0); }
  to { clip-path: inset(0 0 0 0); }
}
@keyframes us-export-labels { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  body.index-page .us-export-figure.is-revealed :is(.us-export-mosaic, .us-export-mosaic span) { animation: none; }
}
/* Compact fiscal charts, aligned to the report's existing text and rules. */
body.index-page .us-fiscal-rate-view { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; padding: 30px 0; margin: 24px 0; border-block: 1px solid var(--line); align-items: center; }
body.index-page .us-fiscal-rate-chart { margin: 0; min-width: 0; }
body.index-page .us-fiscal-rate-chart figcaption, body.index-page .us-fiscal-trend figcaption { font-weight: 700; font-size: 20px; line-height: 1.3; margin: 0 0 24px; }
body.index-page .us-fiscal-rate-chart figcaption small { font-weight: 400; font-size: 13px; margin-left: 12px; color: #795548; }
body.index-page .us-rate-row { display: grid; grid-template-columns: 58px minmax(0,1fr) 62px; align-items: center; gap: 12px; margin: 20px 0; font-size: 15px; }
body.index-page .us-rate-track { height: 27px; background: #eee5e1; }
body.index-page .us-rate-track i { display: block; height: 100%; }
body.index-page .us-rate-track .is-labor { background: #ff520d; }
body.index-page .us-rate-track .is-capital { background: #304ffe; }
body.index-page .us-rate-row strong { font-size: 22px; text-align: right; }
body.index-page .us-rate-axis { margin: -8px 74px 0 70px; display: flex; justify-content: space-between; color: #795548; font-size: 11px; }
body.index-page .us-rate-gap { margin: 25px 0 12px; color: #4c1a09; font-size: 17px; }
body.index-page .us-fiscal-chart-note { font-size: 12px; color: #795548; margin: 0; }
body.index-page .us-fiscal-rate-chart .us-viz-credit, body.index-page .us-fiscal-trends > .us-viz-credit { font-size: 11px; line-height: 1.5; color: #795548; margin-top: 14px; }
body.index-page .us-fiscal-trends { border-block: 1px solid var(--line); padding: 30px 0; margin: 28px 0; }
body.index-page .us-fiscal-trends > h3 { margin: 0 0 30px; font-size: 26px; }
body.index-page .us-fiscal-trend-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 36px; }
body.index-page .us-fiscal-trend { margin: 0; min-width: 0; }
body.index-page .us-fiscal-trend figcaption small { display: block; font-size: 12px; font-weight: 400; color: #795548; margin-top: 7px; }
body.index-page .us-fiscal-trend-svg { display: block; width: 100%; overflow: visible; }
body.index-page .us-trend-grid line { stroke: #e1d4cf; stroke-width: 1; }
body.index-page .us-trend-grid text, body.index-page .us-trend-year { fill: #795548; font-size: 11px; }
body.index-page .us-trend-event { stroke: #b69a8f; stroke-dasharray: 3 4; }
body.index-page .us-trend-annotation { fill: #4c1a09; font-size: 11px; }
body.index-page .us-trend-end { font-size: 13px; font-weight: 700; }
body.index-page .us-trend-hit { fill: transparent; }
body.index-page [data-fiscal-trend-point] { cursor: pointer; }
body.index-page [data-fiscal-trend-point]:focus { outline: none; }
body.index-page [data-fiscal-trend-point]:hover circle:last-of-type, body.index-page [data-fiscal-trend-point]:focus circle:last-of-type { stroke: #4c1a09; stroke-width: 2; r: 5px; }
body.index-page .us-trend-readout { display: block; min-height: 36px; margin: 10px 0 12px; font-size: 12px; line-height: 1.5; color: #795548; }
body.index-page .us-trend-copy p { font-size: 15px; line-height: 1.6; margin: 0 0 14px; }
@media(max-width:760px) {
  body.index-page .us-fiscal-rate-view, body.index-page .us-fiscal-trend-grid { grid-template-columns: 1fr; gap: 25px; }
  body.index-page .us-fiscal-trend + .us-fiscal-trend { padding-top: 25px; border-top: 1px solid var(--line); }
}
