/* Beyond front: the almanac. Every selector is scoped to .fx-beyond or .np--beyond. */

/* nameplate: ears set as ephemeris cards, gold hairline under the folio */
.np--beyond .np-ear{border:none;border-top:3px solid #1a1a1a;border-bottom:1px solid #1a1a1a;padding:8px 0 9px;background:none}
.np--beyond .np-ear::after{display:none}
.np--beyond .np-ear-k{color:#a0750a}
.np--beyond .np-ear-v{font-size:1.2rem}
.np--beyond .np-folio{border-bottom:1px solid #1a1a1a;box-shadow:0 3px 0 -2px #fff,0 4px 0 -2px #a0750a}

.fx-beyond{padding:24px 0 0}
.fx-beyond a{color:inherit;text-decoration:none}
.fx-beyond a:hover{color:#c41200}

/* ---- top: lead + countdown ---- */
.fxb-top{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:0;align-items:stretch}
.fxb-lead{padding-right:36px;min-width:0}
.fxb-hed{font-family:'Playfair Display',Georgia,serif;font-weight:800;font-size:clamp(2rem,4.6vw,4.1rem);line-height:1.02;letter-spacing:-0.015em;color:#1a1a1a;text-wrap:balance;text-shadow:0 0 0.6px rgba(26,26,26,0.5)}
.fxb-sub{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-weight:500;font-size:1.35rem;color:#555;margin-top:8px}
.fx-beyond .lead-rule{margin:18px 0 16px}
.fxb-dek p{font-family:'Source Sans 3',sans-serif;font-size:1.14rem;line-height:1.5;color:#1a1a1a;max-width:46rem}
.fxb-dek .fxb-ctx{margin-top:12px;padding-top:12px;border-top:1px dotted #888;font-size:1rem;color:#555}
.fxb-ctx b{font-family:'Playfair Display',Georgia,serif;font-weight:700;color:#1a1a1a;margin-right:8px}
.fxb-ctx-v{font-family:'Fira Code',monospace;font-size:0.8rem;color:#a0750a;margin-right:8px;white-space:nowrap}

.fxb-count{border-left:1px solid #1a1a1a;padding:4px 0 8px 28px;display:flex;flex-direction:column;min-width:0}
.fxb-count-k{font-family:'Source Sans 3',sans-serif;font-size:0.66rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:#c41200;padding-bottom:8px;border-bottom:1px solid #d1d1d1}
.fxb-count-n{font-family:'Playfair Display',Georgia,serif;font-weight:800;font-size:clamp(6rem,11vw,9.5rem);line-height:1;letter-spacing:-0.04em;color:#1a1a1a;margin:6px 0 2px}
.fxb-count-n--v{font-size:clamp(2.6rem,5vw,3.6rem);color:#a0750a;letter-spacing:-0.01em;line-height:1}
.fxb-count-u{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:1.1rem;color:#555;margin-bottom:16px}
.fxb-count-dl{margin:auto 0 0;border-top:3px double #1a1a1a;padding-top:8px}
.fxb-count-dl div{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid #f0f0f0}
.fxb-count-dl dt{font-family:'Source Sans 3',sans-serif;font-size:0.62rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:#888;padding-top:2px}
.fxb-count-dl dd{margin:0;font-family:'Fira Code',monospace;font-size:0.72rem;color:#1a1a1a;text-align:right;overflow-wrap:anywhere}

/* ---- docket axis ---- */
.fxb-docket{margin-top:30px;border-top:1px solid #1a1a1a;position:relative}
.fxb-docket::before{content:'';position:absolute;left:0;right:0;top:3px;border-top:1px solid #1a1a1a}
.fxb-band{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;padding:14px 0 0}
.fxb-band-k{font-family:'Playfair Display',Georgia,serif;font-weight:800;font-size:1.5rem;color:#1a1a1a}
.fxb-band-s{font-family:'Fira Code',monospace;font-size:0.72rem;color:#555}
.fxb-axis{position:relative;height:290px;margin:0 8px 0 64px}
.fxb-line{position:absolute;left:0;right:0;top:145px;border-top:2px solid #1a1a1a}
.fxb-now{position:absolute;left:-64px;top:136px;font-family:'Source Sans 3',sans-serif;font-size:0.62rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:#c41200}
.fxb-now::after{content:'';position:absolute;right:-10px;top:3px;width:9px;height:9px;border-radius:50%;background:#c41200}
.fxb-tick{position:absolute;top:150px;transform:translateX(-50%);font-family:'Fira Code',monospace;font-size:0.62rem;color:#888;white-space:nowrap;padding-top:4px}
.fxb-tick::before{content:'';position:absolute;left:50%;top:-9px;height:8px;border-left:1px solid #1a1a1a}
.fxb-tick b{font-weight:500;color:#1a1a1a}
.fxb-nodes{list-style:none;margin:0;padding:0}
.fxb-node{position:absolute;width:0;height:0;top:145px}
.fxb-pin{position:absolute;left:-6px;top:-6px;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid #1a1a1a;z-index:2}
.fxb-node.is-lead .fxb-pin{background:#c41200;border-color:#c41200}
.fxb-node-b{position:absolute;left:-1px;width:210px;padding-left:10px;border-left:1px solid #1a1a1a;display:flex;flex-direction:column;gap:2px}
.fxb-node--up .fxb-node-b{bottom:12px;padding-bottom:2px}
.fxb-node--dn .fxb-node-b{top:30px}
.fxb-node--dn .fxb-node-b::before{content:'';position:absolute;left:-1px;top:-24px;height:24px;border-left:1px dotted #1a1a1a}
.fxb-node--r .fxb-node-b{left:auto;right:-1px;padding-left:0;padding-right:10px;border-left:none;border-right:1px solid #1a1a1a;text-align:right}
.fxb-node--r.fxb-node--dn .fxb-node-b::before{left:auto;right:-1px;border-left:none;border-right:1px dotted #1a1a1a}
.fxb-node-d{font-family:'Playfair Display',Georgia,serif;font-weight:800;font-size:1.35rem;line-height:1;color:#1a1a1a}
.fxb-node.is-lead .fxb-node-d{color:#c41200}
.fxb-node-t{font-family:'Source Sans 3',sans-serif;font-weight:600;font-size:0.88rem;line-height:1.25;color:#1a1a1a;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.fxb-node-m{font-family:'Fira Code',monospace;font-size:0.62rem;color:#888}
.fxb-node.is-past{display:none}
.fxb-axis--tall{height:470px}
.fxb-axis--tall .fxb-line{top:235px}.fxb-axis--tall .fxb-now{top:226px}.fxb-axis--tall .fxb-tick{top:240px}.fxb-axis--tall .fxb-node{top:235px}
.fxb-node--t2.fxb-node--up .fxb-node-b{bottom:112px}
.fxb-node--t2.fxb-node--dn .fxb-node-b{top:120px}
.fxb-node--t2.fxb-node--dn .fxb-node-b::before{top:-114px;height:114px}
.fxb-node--t2.fxb-node--up .fxb-node-b::after{content:'';position:absolute;left:-1px;bottom:-100px;height:100px;border-left:1px dotted #1a1a1a}
.fxb-node--r.fxb-node--t2.fxb-node--up .fxb-node-b::after{left:auto;right:-1px;border-left:none;border-right:1px dotted #1a1a1a}
.fxb-tick.is-past{display:none}

/* ---- almanac + waiting ---- */
.fxb-low{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);border-top:1px solid #1a1a1a;position:relative;margin-top:8px}
.fxb-low::before{content:'';position:absolute;left:0;right:0;top:3px;border-top:1px solid #1a1a1a}
.fxb-alm{padding:22px 30px 26px 0;min-width:0}
.fxb-wait{padding:22px 0 26px 28px;border-left:1px solid #1a1a1a;min-width:0}
.fxb-sec{display:flex;align-items:center;gap:10px;font-family:'Source Sans 3',sans-serif;font-size:0.66rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:#1a1a1a;margin-bottom:12px}
.fxb-sec::after{content:'';flex:1;border-top:1px solid #d1d1d1}
.fxb-sec em{font-style:normal;color:#c41200}
.fxb-yr{display:grid;grid-template-columns:118px minmax(0,1fr);border-top:1px solid #e0e0e0;padding:12px 0}
.fxb-yr:first-of-type{border-top:none}
.fxb-yr-n{font-family:'Playfair Display',Georgia,serif;font-weight:800;font-size:2.9rem;line-height:0.9;color:#1a1a1a;letter-spacing:-0.02em}
.fxb-yr-l{list-style:none;margin:0;padding:0}
.fxb-yr-l li{display:grid;grid-template-columns:minmax(0,1fr);padding:2px 0 10px}
.fxb-yr-l li+li{border-top:1px dotted #d1d1d1;padding-top:10px}
.fxb-ev{font-family:'Fira Code',monospace;font-size:0.68rem;color:#c41200}
.fxb-ms{font-family:'Playfair Display',Georgia,serif;font-weight:700;font-size:1.3rem;line-height:1.15;color:#1a1a1a;margin:2px 0 4px}
.fxb-meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-family:'Fira Code',monospace;font-size:0.66rem;color:#555}
.fxb-val{color:#a0750a}
.fxb-badge{font-family:'Source Sans 3',sans-serif;font-weight:700;font-size:0.6rem;letter-spacing:0.08em;text-transform:uppercase;color:#1a1a1a;border:1px solid #1a1a1a;padding:0 5px}
.fxb-w{padding:12px 0 14px;border-top:1px solid #e0e0e0}
.fxb-w:first-of-type{border-top:none;padding-top:2px}
.fxb-w-fig{font-family:'Playfair Display',Georgia,serif;font-weight:800;font-size:2.3rem;line-height:1;color:#a0750a;letter-spacing:-0.01em;margin-bottom:4px}
.fxb-w-t{font-family:'Playfair Display',Georgia,serif;font-weight:700;font-size:1.12rem;line-height:1.2;color:#1a1a1a}
.fxb-w-m{font-family:'Fira Code',monospace;font-size:0.64rem;color:#888;margin-top:4px}
.fxb-end{height:3px;border-top:1px solid #1a1a1a;border-bottom:1px solid #1a1a1a;margin-bottom:8px}

@media(max-width:1000px){
  .fxb-node-b{width:170px}
}
@media(max-width:860px){
  .fxb-top{grid-template-columns:1fr}
  .fxb-lead{padding-right:0}
  .fxb-count{border-left:none;border-top:1px solid #1a1a1a;margin-top:20px;padding:14px 0 0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 18px;align-items:start}
  .fxb-count-k{grid-column:1 / -1;grid-row:1}
  .fxb-count-n{grid-column:1;grid-row:2 / span 2;margin:8px 0 0;font-size:6.4rem}
  .fxb-count-u{grid-column:2;grid-row:2;margin:12px 0 6px}
  .fxb-count-dl{grid-column:2;grid-row:3;margin:0}
  /* docket becomes a vertical rail */
  .fxb-axis{height:auto;margin:14px 0 0;padding-left:22px}
  .fxb-line{top:6px;bottom:6px;left:5px;right:auto;border-top:none;border-left:2px solid #1a1a1a}
  .fxb-now{position:static;display:block;margin:0 0 10px -22px;padding-left:22px}
  .fxb-now::after{right:auto;left:0;top:3px}
  .fxb-tick{display:none}
  .fxb-node{position:relative;left:auto!important;top:auto;width:auto;height:auto;padding:0 0 16px}
  .fxb-pin{left:-23px;top:5px}
  .fxb-axis--tall{height:auto}
  .fxb-node--t2 .fxb-node-b::after,.fxb-node--t2 .fxb-node-b::before{display:none}
  .fxb-axis .fxb-node{top:auto}
  .fxb-node-b,.fxb-node--up .fxb-node-b,.fxb-node--dn .fxb-node-b,.fxb-node--r .fxb-node-b{position:static;width:auto;border:none;padding:0;text-align:left}
  .fxb-node--dn .fxb-node-b::before{display:none}
  .fxb-node-t{-webkit-line-clamp:unset;display:block;font-size:0.95rem}
  .fxb-low{grid-template-columns:1fr}
  .fxb-alm{padding-right:0}
  .fxb-wait{border-left:none;border-top:1px solid #1a1a1a;padding-left:0}
}
@media(max-width:480px){
  .fxb-yr{grid-template-columns:1fr}
  .fxb-yr-n{font-size:2.2rem;margin-bottom:6px}
  .fxb-count-n{font-size:5.2rem}
  .fxb-sub{font-size:1.1rem}
  .fxb-dek p{font-size:1.04rem}
}
