/* Visual refinement: preserve the established palette and 3D scene geometry. */
:root {
  --polish-shadow: 0 12px 32px #00000020;
  --polish-highlight: #ffffff07;
}
:root[data-theme="light"] {
  --polish-shadow: 0 10px 30px #204c5810;
  --polish-highlight: #ffffff90;
}
.section, .home-section { margin-top: 56px; }
.section-intro { margin-bottom: 22px; gap: 20px; }
.section-intro h2, .home-section .section-heading h2 {
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: clamp(21px, 2vw, 27px);
  font-weight: 650;
  letter-spacing: -.65px;
  line-height: 1.25;
  text-transform: none;
}
.section-intro p, .section-copy, .page-intro p, .page-description {
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: 14px;
  line-height: 1.8;
  max-width: 660px;
}
.section-intro .eyebrow { margin-bottom: 12px; }
.eyebrow { font-size: 10px; letter-spacing: 1.7px; }
.hero-description { font: 400 15px/1.85 "Segoe UI", Arial, sans-serif; white-space: normal; max-width: 510px; letter-spacing: 0; }
.hero-actions { gap: 12px; margin-top: 28px; flex-wrap: wrap; }
.hero-actions .button { min-height: 44px; padding-inline: 25px; font-size: 12px; }
.panel, .panel-soft, .overview-card, .step-card {
  box-shadow: var(--polish-shadow), inset 0 1px 0 var(--polish-highlight);
}
.panel { border-radius: 18px; padding: 24px; }
.overview-grid { gap: 20px; }
.overview-card { padding: 28px; border-radius: 20px; }
.overview-card h3 { font: 650 25px/1.25 "Segoe UI", Arial, sans-serif; letter-spacing: -.7px; }
.overview-card p, .service-card > p, .step-card p { font: 400 13px/1.8 "Segoe UI", Arial, sans-serif; }
.overview-icon { border-radius: 13px; }
.overview-link { display: inline-flex; align-items: center; gap: 10px; font-size: 12px; }
.asset-chips { gap: 7px; }
.asset-chips span { padding: 5px 9px; border-radius: 7px; }
.service-card { padding: 24px; gap: 14px; border-radius: 18px; }
.service-card h3 { font-size: 20px; }
.service-card .trade-button { min-height: 40px; font-size: 12px; }
.step-card { padding: 24px; border-radius: 16px; }
.step-card h3 { font: 650 16px/1.4 "Segoe UI", Arial, sans-serif; }
.data-table { font-variant-numeric: tabular-nums; }
.data-table th { font-size: 10px; letter-spacing: .65px; padding-block: 13px; }
.data-table td { padding-block: 14px; }
.data-table tbody tr:hover { background: var(--polish-highlight); }
.table-foot { line-height: 1.7; gap: 12px; }
.link-more, .view-more { font-size: 12px; min-height: 36px; }
.page-intro { padding-block: 38px 30px; }
.page-intro h1 { letter-spacing: -1.25px; }
.site-footer { margin-top: 72px; padding-top: 32px; }
.site-footer .footer-columns a, .site-footer .footer-columns button { font-size: 12px; line-height: 2; }
.site-footer .footer-columns h3 { font-size: 12px; margin-bottom: 10px; }
.site-footer .footer-intro p { font-size: 12px; line-height: 1.8; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .overview-card, .service-card { transition: border-color .2s, box-shadow .2s, transform .2s; }
  .service-card:hover { transform: translateY(-3px); border-color: var(--p-border-hot); }
}
@media (max-width:780px) {
  .section, .home-section { margin-top: 38px; }
  .section-intro { gap: 14px; margin-bottom: 18px; }
  .section-intro h2, .home-section .section-heading h2 { font-size: 22px; }
  .section-intro p, .section-copy, .page-intro p { font-size: 13px; }
  .hero-description { font-size: 14px; max-width: 100%; }
  .hero-actions { gap: 10px; margin-top: 22px; }
  .hero-actions .button { padding-inline: 17px; font-size: 11px; }
  .panel, .overview-card, .service-card, .step-card { padding: 20px; }
  .overview-card h3 { font-size: 23px; }
  .overview-grid { gap: 14px; }
  .site-footer { margin-top: 46px; }
}
@media (max-width:480px) {
  .section-intro { align-items: flex-start; flex-wrap: wrap; gap: 8px; }
  .panel { padding: 18px; }
  .section-intro .link-more { min-height: 30px; }
}

/* Original editorial imagery: separate from charts and live performance data. */
.editorial-intro { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:40px; align-items:center; }
.editorial-copy { min-width:0; }
.editorial-art { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; border-radius:20px; border:1px solid var(--p-border); background:#06131b; box-shadow:var(--polish-shadow); }
.editorial-intro > .editorial-art { max-width:440px; justify-self:end; }
/* Academy and Insights: a larger picture beside the headline (desktop and tablet; phones stack as below). */
@media(min-width:781px) {
 .editorial-intro { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
 .editorial-intro > .editorial-art { max-width:600px; }
}
.academy-visual-stack { display:grid; gap:18px; min-width:0; align-content:center; }
.academy-visual-stack .editorial-art { max-height:260px; }
@media(max-width:780px) {
 .editorial-intro { grid-template-columns:minmax(0,1fr); gap:24px; }
 .editorial-intro > .editorial-art { max-width:none; max-height:260px; object-position:center; }
 .editorial-art { border-radius:16px; }
}

.academy-visual-stack #cert-preview { width:min(100%,360px); justify-self:center; }
.academy-visual-stack .editorial-art { max-height:210px; }
