/* The seam band and the rail section.
 *
 * SCOPED TO .seam AND .rail. A page stylesheet with bare element rules restyles
 * the nav and the footer — learned the hard way on the track-bias page.
 *
 * @keyframes ARE LEFT ALONE: they are not selectors, prefixing them is
 * meaningless, and scoping them destroys the animation. Names carry an rl-
 * prefix so they cannot collide.
 *
 * Tokens come from site.css. The six jackets are the real GB trap colours,
 * dimmed to sit on a dark panel.
 */

/* --mint IS DEFINED HERE, not in site.css.
 *
 * The bright green that reads on a dark panel — the site's --green is tuned for
 * white paper and disappears against --green-deep. It is scoped to the blocks
 * that use it rather than added to :root, because it is a dark-surface colour
 * and putting it in the global palette invites it onto light pages where it
 * has no contrast.
 *
 * It was missing entirely at first: I stripped :root from this sheet on the
 * grounds that tokens belong to site.css, and mint was the one token that was
 * never there. background:var(--mint) resolved to nothing, so the active tab
 * and the solid button rendered as near-black text on no background at all.
 */
.seam, .rail{ --mint:#54D19B; }

.seam{background:var(--night);color:#D6E3DA;border-top:1px solid rgba(255,255,255,.07);
 border-bottom:1px solid rgba(255,255,255,.07);position:relative;overflow:hidden}
.seam::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.5;
 background:linear-gradient(90deg,transparent,rgba(84,209,155,.07) 35%,transparent 70%)}
.seam .wrap{position:relative;z-index:2;display:flex;align-items:center;
 justify-content:space-between;gap:34px;padding-top:26px;padding-bottom:26px}
.seam-l{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.seam-k{font:500 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#6F8B7B}
.seam-n{display:flex;gap:26px;flex-wrap:wrap}
.seam-n div b{display:block;font-family:var(--disp);font-size:24px;line-height:1;font-weight:600}
.seam-n div span{display:block;font-size:11.5px;color:#7E9B8B;margin-top:3px}
.seam-r{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.seam .b, .rail .b{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:600;
 font-size:14.5px;padding:11px 18px;border-radius:var(--radius);white-space:nowrap;
 transition:transform .12s,box-shadow .12s}
.seam .b.solid, .rail .b.solid{background:#10784F;color:#fff;border:1px solid #1B8F61}
.seam .b.solid:hover, .rail .b.solid:hover{transform:translateY(-1px);box-shadow:0 8px 20px -10px rgba(84,209,155,.7)}
.seam .b.out, .rail .b.out{background:transparent;color:#D6E3DA;border:1px solid rgba(255,255,255,.22)}
.seam .b.out:hover, .rail .b.out:hover{border-color:rgba(255,255,255,.5)}
.seam-note{font-size:12.5px;color:#6F8B7B}
.rail{background:var(--green-deep);color:#EAF3ED;padding:76px 0 84px;position:relative;overflow:hidden}
.rail::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.05;
 background-image:radial-gradient(circle,#fff 1.5px,transparent 1.6px);background-size:44px 44px}
.rail .wrap{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
 gap:50px;align-items:center}
.rail .eyebrow{font:500 11.5px/1 var(--mono);letter-spacing:.15em;text-transform:uppercase;
 color:#7E9B8B;margin:0 0 16px}
.rail h2{font-size:clamp(38px,4.4vw,56px);line-height:1.02}
.rail h2 .u{color:var(--mint);position:relative;white-space:nowrap}
.rail h2 .u::after{content:'';position:absolute;left:0;right:0;bottom:-3px;height:3px;
 background:var(--mint);border-radius:2px;transform-origin:left;transform:scaleX(0);
 animation:rl-draw .8s cubic-bezier(.22,1,.36,1) .4s forwards}
@keyframes rl-draw{to{transform:scaleX(1)}}
.rail .lead{color:#A8C6B4;margin:20px 0 0;max-width:48ch}
.rail .lead b{color:#fff;font-weight:600}
.rail .claims{margin:26px 0 0;border-left:2px solid rgba(255,255,255,.12);padding-left:18px;
 min-height:96px}
.rail .claim{display:none}
.rail .claim.on{display:block;animation:rl-rise .45s cubic-bezier(.22,1,.36,1)}
@keyframes rl-rise{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.rail .claim h3{font-size:19px;margin:0 0 5px}
.rail .claim p{margin:0;color:#A8C6B4;font-size:14.5px}
.rail .claim code{font-family:var(--mono);font-size:13px;color:var(--mint);
 background:rgba(84,209,155,.10);padding:2px 7px;border-radius:5px}
.rail .tabs{display:flex;gap:7px;margin:22px 0 0;flex-wrap:wrap}
.rail .tabs button{font:500 11.5px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;
 background:transparent;color:#7E9B8B;border:1px solid rgba(255,255,255,.14);
 padding:8px 12px;border-radius:999px;cursor:pointer;transition:.18s}
.rail .tabs button:hover{color:#EAF3ED;border-color:rgba(255,255,255,.35)}
.rail .tabs button.on{color:#fff;background:#10784F;border-color:#1B8F61;
  box-shadow:0 0 0 1px rgba(84,209,155,.25)}
.rail-cta{display:flex;gap:11px;margin:30px 0 0;flex-wrap:wrap}
.seam .b.white, .rail .b.white{background:#fff;color:var(--green-deep);border:1px solid #fff}
.seam .b.white:hover, .rail .b.white:hover{transform:translateY(-1px);box-shadow:0 8px 22px -10px rgba(0,0,0,.6)}
.rail .panel{background:#0B1712;border:1px solid rgba(255,255,255,.10);
 border-radius:var(--radius);overflow:hidden;
 box-shadow:0 26px 60px -30px rgba(0,0,0,.7)}
.rail .panel-top{display:flex;align-items:center;justify-content:space-between;gap:14px;
 padding:12px 15px;border-bottom:1px solid rgba(255,255,255,.09);
 background:rgba(255,255,255,.03)}
.rail .panel-top .who{font:600 13px/1 var(--body)}
.rail .panel-top .who s{text-decoration:none;color:#7E9B8B;font-weight:400;margin-left:7px}
.rail .jackets{display:flex;gap:4px}
.rail .jackets i{width:19px;height:19px;border-radius:5px;display:grid;place-items:center;
 font:600 10px/1 var(--mono);color:#fff;font-style:normal;opacity:.5;
 transition:opacity .3s,transform .3s}
.rail .jackets i.up{opacity:1;transform:translateY(-1px)}
.rail .panel-body{position:relative;padding:6px 6px 0}
.rail .finish{display:flex;gap:6px;padding:11px 15px;border-top:1px solid rgba(255,255,255,.09);
 background:rgba(0,0,0,.25);align-items:center;min-height:46px;flex-wrap:wrap}
.rail .finish .lab{font:500 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;
 color:#6F8B7B;margin-right:4px}
.rail .fin-slot{display:flex;align-items:center;gap:6px;font:500 11.5px/1 var(--mono);
 color:#EAF3ED;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);
 border-radius:999px;padding:5px 10px;opacity:0;transform:translateY(4px);
 transition:opacity .3s,transform .3s}
.rail .fin-slot.in{opacity:1;transform:none}
.rail .fin-slot b{width:14px;height:14px;border-radius:4px;display:inline-block}
.rail .fin-slot s{text-decoration:none;color:#7E9B8B}
.rail .stage{position:relative}
.rail .stage svg{width:100%;height:auto;display:block;overflow:visible}
.rail-lane{fill:none;stroke:rgba(255,255,255,.10);stroke-width:1.5}
.rail-edge{fill:none;stroke:rgba(255,255,255,.26);stroke-width:2.5}
.rail .dogdot{r:8.5;filter:url(#gl)}
.rail .trail{fill:none;stroke-width:5.5;stroke-linecap:round;opacity:.28}
.rail .dogdot.lead{r:10}
.rail .lure{fill:#fff;r:5}
.rail .tick{font:500 10px/1 var(--mono);fill:#6F8B7B;letter-spacing:.1em}
.rail .readout{position:absolute;right:12px;bottom:12px;background:rgba(6,16,12,.82);
 border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);
 padding:12px 14px;min-width:230px;backdrop-filter:blur(6px)}
.rail .readout p{margin:0 0 8px;font:500 10px/1 var(--mono);letter-spacing:.12em;
 text-transform:uppercase;color:#6F8B7B}
.rail .readout .row{display:flex;justify-content:space-between;gap:16px;font:400 12.5px/1.8 var(--mono)}
.rail .readout .row span{color:#8FB3A0}
.rail .readout .row b{color:#EAF3ED;font-weight:500}
.rail .readout .row b.hot{color:var(--mint)}
@media(max-width:920px){
  .rail .wrap{grid-template-columns:1fr;gap:34px}
  .seam .wrap{flex-direction:column;align-items:flex-start;gap:20px}
}
