/* Rail reference uses the same editorial rhythm and restrained colors as the site. */
.timing-hero { padding: 44px 0 64px; border-bottom: 1px solid var(--line); }
.timing-hero-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 80px; align-items: center; }
.timing-hero-grid > * { min-width: 0; }
.timing-hero h1 { font-size: clamp(40px, 4.5vw, 64px); line-height: 1.1; letter-spacing: -.06em; }
.timing-hero h1 > span { white-space: normal; color: var(--blue); }
.timing-hero .eyebrow { margin-bottom: 24px; }
.timing-hero-grid > div > p:not(.eyebrow) { font-size: 16px; color: var(--muted); margin-top: 24px; line-height: 1.85; max-width: 580px; }
.timing-hero-links { display: flex; flex-wrap: wrap; gap: 15px 28px; margin-top: 28px; }
.timing-hero-links > a { font-size: 13px; min-height: 44px; }
.timing-timezone { display: flex; flex-direction: column; gap: 28px; padding: 34px; border: 1px solid #cdd8eb; border-radius: 12px; background: var(--blue-light); }
.timing-clock { width: 110px; height: 110px; color: #476692; }
.timing-clock svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1; }
.timing-clock .clock-hands { stroke-width: 2; stroke-linecap: round; }
.timing-clock .clock-center { fill: currentColor; stroke: none; }
.timing-timezone .eyebrow { font-size: 9px; margin-bottom: 14px; }
.timing-timezone h2 { font-size: 31px; }
.timing-timezone p:not(.eyebrow) { font-size: 14px; line-height: 1.8; margin-top: 15px; color: #4b607d; max-width: 330px; }
.timing-overview { padding-bottom: 0; }
.timing-reference-note { display: flex; align-items: flex-start; gap: 16px; border: 1px solid #d6ddce; background: #eef1e7; padding: 22px 25px; border-radius: 9px; }
.timing-reference-note > .icon { width: 22px; height: 22px; flex-shrink: 0; margin-top: 3px; color: #536c41; }
.timing-reference-note > p { font-size: 14px; line-height: 1.85; color: #505e45; max-width: 1030px; }
.timing-fiat-section { padding-top: 66px; }
.timing-section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 25px; }
.timing-section-heading h2 { font-size: 44px; line-height: 1.15; }
.timing-section-heading .eyebrow { margin-bottom: 16px; }
.timing-section-heading > p { font-size: 12px; line-height: 1.7; color: var(--muted); flex-shrink: 0; }
.timing-section-heading time { color: var(--ink); }
.timing-section-lead { font-size: 15px; color: var(--muted); max-width: 830px; line-height: 1.8; margin-top: 23px; }
.timing-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 29px; }
.timing-filters button { border: 1px solid #cbd2c3; background: transparent; border-radius: 6px; color: var(--ink); min-height: 44px; min-width: 62px; padding: 11px 18px; font-size: 13px; }
.timing-filters button:hover { background: var(--sage); }
.timing-filters button[aria-pressed="true"] { background: var(--ink); color: #fff; border-color: var(--ink); }
.timing-result-count { font-size: 12px; color: var(--muted); margin: 21px 0 16px; }
.timing-row { display: grid; grid-template-columns: 175px minmax(0, .95fr) minmax(0, 1.15fr); align-items: start; gap: 28px; border: 1px solid var(--line); background: #fdfdf8; border-radius: 10px; padding: 29px; margin-top: 13px; scroll-margin-top: 110px; }
.timing-rail, .timing-metrics, .timing-notes { min-width: 0; }
.timing-currency { display: inline-block; font-size: 11px; letter-spacing: .07em; padding: 5px 9px; border: 1px solid #d0d8c7; border-radius: 5px; color: #4e6240; background: #edf1e6; }
.timing-rail h3 { font-size: 22px; letter-spacing: -.025em; line-height: 1.2; margin-top: 15px; }
.timing-schedule { display: flex; gap: 6px; align-items: center; font-size: 11px; line-height: 1.6; color: var(--muted); margin-top: 12px; }
.timing-schedule > .icon { width: 15px; height: 15px; flex-shrink: 0; }
.timing-metrics { display: grid; grid-template-columns: .9fr 1.1fr; gap: 22px; margin: 0; }
.timing-metrics dt { font-size: 11px; line-height: 1.6; color: var(--muted); margin-bottom: 11px; }
.timing-metrics dd { font-size: 17px; line-height: 1.5; margin: 0; font-weight: 500; letter-spacing: -.015em; }
.timing-notes > p { font-size: 13px; line-height: 1.85; color: var(--muted); }
.ach-windows { border-collapse: collapse; width: 100%; margin-top: 19px; font-size: 12px; text-align: left; }
.ach-windows caption { text-align: left; font-size: 12px; font-weight: 500; padding-bottom: 10px; color: var(--ink); }
.ach-windows th, .ach-windows td { padding: 9px 12px; border-bottom: 1px solid #dce2d3; }
.ach-windows thead th { color: #4e6240; font-weight: 500; background: #edf1e6; }
.ach-windows tbody th { font-weight: 400; }
.timing-asset-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 20px; }
.timing-asset { padding: 27px; border: 1px solid #dad4e6; border-radius: 10px; background: #f0edf6; }
.timing-asset-top { display: flex; align-items: flex-start; flex-direction: column; gap: 16px; margin-bottom: 24px; }
.timing-asset-top .large-icon { background: #e4deef; color: #635078; }
.timing-asset-top > span:last-child { font-size: 8px; letter-spacing: .07em; color: #6a5a7c; line-height: 1.6; }
.timing-asset h3 { font-size: 22px; line-height: 1.2; letter-spacing: -.025em; }
.timing-asset > .timing-asset-estimate { font-size: 18px; line-height: 1.4; font-weight: 500; color: #40364c; margin-top: 15px; }
.timing-asset > p { font-size: 13px; line-height: 1.8; color: #655a73; margin-top: 18px; }
.no-js #fiat-window-list { margin-top: 28px; }
@media (max-width: 1050px) {
  .timing-hero-grid { gap: 40px; }
  .timing-row { grid-template-columns: 170px minmax(0,1fr); gap: 24px; }
  .timing-notes { grid-column: 2; }
  .timing-metrics { gap: 30px; }
  .timing-asset-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 650px) {
  .timing-hero { padding: 27px 0 43px; }
  .timing-hero-grid { grid-template-columns: 1fr; gap: 28px; }
  .timing-hero h1 { font-size: 43px; }
  .timing-hero .eyebrow { font-size: 9px; margin-bottom: 20px; }
  .timing-hero-grid > div > p:not(.eyebrow) { font-size: 15px; }
  .timing-hero-links { gap: 9px 20px; margin-top: 20px; }
  .timing-hero-links > a { font-size: 12px; }
  .timing-timezone { flex-direction: row; gap: 22px; padding: 25px; }
  .timing-clock { width: 65px; height: 65px; flex-shrink: 0; }
  .timing-timezone h2 { font-size: 26px; }
  .timing-timezone .eyebrow { font-size: 8px; margin-bottom: 11px; }
  .timing-timezone p:not(.eyebrow) { font-size: 12px; }
  .timing-reference-note { padding: 19px; gap: 11px; }
  .timing-reference-note > p { font-size: 13px; }
  .timing-reference-note > .icon { width: 18px; height: 18px; }
  .timing-section-heading { flex-direction: column; align-items: flex-start; gap: 16px; }
  .timing-section-heading h2 { font-size: 35px; }
  .timing-section-heading > p > br { display: none; }
  .timing-section-heading time { margin-left: 5px; }
  .timing-section-lead { font-size: 14px; }
  .timing-filters { gap: 7px; margin-top: 24px; }
  .timing-filters button { font-size: 12px; min-width: 58px; padding: 10px 13px; }
  .timing-result-count { font-size: 11px; line-height: 1.7; }
  .timing-row { grid-template-columns: 1fr; padding: 23px; gap: 23px; }
  .timing-rail { display: grid; grid-template-columns: auto 1fr; gap: 12px; align-items: center; }
  .timing-rail h3 { font-size: 23px; margin-top: 0; }
  .timing-currency { font-size: 11px; }
  .timing-schedule { grid-column: 1 / -1; margin-top: 0; }
  .timing-metrics { gap: 20px; padding: 19px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .timing-metrics dd { font-size: 16px; }
  .timing-metrics dt { font-size: 11px; }
  .timing-notes { grid-column: 1; }
  .timing-notes > p { font-size: 13px; }
  .ach-windows th, .ach-windows td { padding: 9px 7px; }
  .timing-asset-grid { grid-template-columns: 1fr; gap: 15px; }
  .timing-asset { padding: 25px; }
  .timing-asset-top { flex-direction: row; align-items: center; justify-content: space-between; margin-bottom: 20px; }
  .timing-asset > .timing-asset-estimate { font-size: 21px; }
}
@media (max-width: 360px) {
  .timing-hero h1 { font-size: 37px; }
  .timing-timezone { gap: 16px; padding: 21px; }
  .timing-clock { width: 48px; height: 48px; }
  .timing-row { padding: 19px; }
}
