/* MAS·Relay page (deadmoose.dev/relay). Loads after style.css and uses its tokens. */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nav nav a[aria-current="page"]{color:var(--text)}

/* hero */
.r-hero{min-height:calc(88svh - 60px);display:flex;flex-direction:column;justify-content:center;padding-block:48px 72px}
.r-name{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:26px;animation:rise 1.2s cubic-bezier(.2,.7,.2,1) both}
.r-name .diamond{width:12px;height:12px}
.r-word{font-family:var(--head);font-weight:700;font-size:clamp(22px,2.6vw,30px);letter-spacing:.2em;color:var(--grey)}
.r-by{font-family:var(--mono);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--dim);border:1px solid var(--line);padding:3px 10px}
.r-full{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--dim)}
.r-hero .kicker{margin-bottom:18px;text-transform:uppercase}
.r-hero h1{max-width:18ch}
.r-sub{max-width:40ch;font-family:var(--head);font-weight:500;font-size:clamp(20px,2.1vw,28px);line-height:1.25;color:var(--text);margin-top:24px;animation:rise 1.2s .25s cubic-bezier(.2,.7,.2,1) both}
.r-hero .lede{margin-top:14px}

/* points */
.r-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
@media(max-width:1100px){.r-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.r-grid{grid-template-columns:1fr}}
.r-grid .num{margin-bottom:22px}

/* relay map */
.relay-map{background:#0b0b0c;border:1px solid var(--line);box-shadow:0 30px 80px -30px rgba(206,31,38,.3)}
.rm-bar{display:flex;gap:12px;align-items:center;padding:11px 16px;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.22em;color:var(--dim)}
.rm-bar .diamond{width:7px;height:7px}
.rm-bar em{margin-left:auto;font-style:normal;font-size:10px;letter-spacing:.2em;text-transform:uppercase;border:1px solid var(--line);padding:2px 8px}
.rm-body{padding:clamp(22px,4vw,48px);display:flex;flex-direction:column;align-items:stretch}
.rm-tier{font-size:11px;letter-spacing:.25em;color:var(--dim);margin-bottom:12px}
.rm-crew li{position:relative;text-align:center;font-size:13px;letter-spacing:.16em;color:#cfcfd2;border:1px solid #34353a;background:#141517;padding:14px 6px}
.rm-crew li{display:flex;align-items:center;justify-content:center}
.rm-link{position:relative;height:72px;margin-top:22px;border-top:1px solid var(--line)}
.rm-link::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translateX(-50%);background:repeating-linear-gradient(180deg,var(--red) 0 10px,transparent 10px 18px);background-size:2px 18px;opacity:.7;animation:flowv 1.2s linear infinite}
.rm-link span{position:absolute;top:50%;transform:translateY(-50%);font-size:11px;letter-spacing:.22em;color:var(--dim)}
.rm-link .up{right:calc(50% + 18px)}
.rm-link .dn{left:calc(50% + 18px)}
.rm-relay{border:1px solid var(--red);background:rgba(206,31,38,.06);padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap}
.rm-relay-name{display:flex;align-items:center;gap:12px;font-family:var(--head);font-weight:700;font-size:clamp(20px,2.4vw,28px);letter-spacing:.16em}
.rm-duties{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.rm-duties li{font-size:11px;letter-spacing:.18em;color:var(--grey);border:1px solid var(--line);padding:4px 10px}
.rm-split{position:relative;height:56px}
.rm-split span{position:absolute;top:0;bottom:0;width:2px;background:repeating-linear-gradient(180deg,var(--red) 0 10px,transparent 10px 18px);background-size:2px 18px;opacity:.7;animation:flowv 1.2s linear infinite}
.rm-node{border:1px solid #34353a;background:#141517;padding:20px 22px;text-align:center}
.rm-ship{border-color:var(--red)}
.rm-big{font-family:var(--head);font-weight:700;font-size:clamp(20px,2.4vw,28px);letter-spacing:.1em;line-height:1.1;margin-bottom:6px}
.rm-ship .rm-big{color:var(--text)}
.rm-sub{font-size:14px;color:#b9b9bd}
@media(max-width:900px){
}
@media(max-width:760px){
  .rm-relay{flex-direction:column;align-items:flex-start}
  .rm-node{padding:16px 10px}
  .rm-sub{font-size:13px}
  .rm-big{font-size:18px;letter-spacing:.06em}
}
@media(max-width:400px){.rm-crew li{font-size:12px;letter-spacing:.1em}}

/* built on */
.r-built{padding-top:0}
.r-built-link{display:grid;gap:6px;text-decoration:none;border:1px solid var(--line);background:linear-gradient(160deg,var(--panel),#141517);padding:clamp(28px,4vw,48px);position:relative;transition:border-color .3s}
.r-built-link::after{content:"";position:absolute;top:-1px;right:-1px;width:23px;height:23px;background:linear-gradient(225deg,var(--bg) 0 calc(50% - .5px),var(--red) calc(50% - .5px) calc(50% + 1px),transparent calc(50% + 1px))}
.r-built-link:hover{border-color:var(--red)}
.r-built-k{font-size:12px;letter-spacing:.25em;color:var(--red2)}
.r-built-name{font-family:var(--head);font-weight:700;font-size:clamp(36px,6vw,72px);line-height:1;text-transform:uppercase}
.r-built-d{font-size:clamp(17px,1.5vw,20px);color:#c9c9cc}
.r-built-go{margin-top:14px;font-size:12px;letter-spacing:.25em;color:var(--grey)}
.r-built-link:hover .r-built-go{color:var(--text)}
@media(max-width:400px){.r-hero{padding-block:28px 56px}.r-hero .kicker{margin-bottom:14px}.r-sub{margin-top:16px;font-size:19px}.r-hero .lede{font-size:16px;line-height:1.5;margin-bottom:24px}}

/* final copy, two lines */
.r-hero .r-lede-1{max-width:34ch;font-family:var(--head);font-weight:500;font-size:clamp(19px,1.9vw,25px);line-height:1.3;color:var(--text);margin:18px 0 0}
.r-hero .r-lede-2{margin:12px 0 30px;text-wrap:balance}
.r-bead{color:var(--text);text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:3px;text-decoration-thickness:1px}
.r-bead:hover{color:#fff;text-decoration-color:var(--red2)}
@media(max-width:400px){.r-hero .r-lede-1{font-size:18px;margin-top:14px}.r-hero .r-lede-2{font-size:15px;margin:10px 0 24px}}

/* follow-up 6: house models are crew. Top row = three crew groups; bottom = the Bridge only */
.rm-crew-row{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1.25fr) minmax(0,1fr);gap:14px;align-items:stretch}
.rm-group{border:1px solid #2a2b30;background:#0f1012;padding:14px;display:flex;flex-direction:column;justify-content:center;text-align:center}
.rm-gname{font-size:11px;letter-spacing:.22em;color:var(--grey);margin:0 0 12px}
.rm-cloud .rm-gname{text-align:left}
.rm-crew{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0}
.rm-crew li{padding:12px 6px}
.rm-house .rm-gname,.rm-more .rm-gname{color:#cfcfd2;font-size:13px;letter-spacing:.16em;margin:0}
.rm-gwhere{font-size:10px;letter-spacing:.2em;color:var(--dim);margin:6px 0 10px}
.rm-gsmall{font-size:12px;letter-spacing:.06em;color:#9a9aa0;margin:0}
.rm-more{border-style:dashed;background:transparent}
.rm-more .rm-gname{color:var(--grey)}
.rm-split{height:56px}
.rm-split span{left:50%;transform:translateX(-50%)}
.rm-ship{width:100%;padding:22px}
@media(min-width:1101px){.rm-crew{grid-template-columns:repeat(6,minmax(0,1fr))}.rm-crew-row{grid-template-columns:minmax(0,4fr) minmax(0,1.3fr) minmax(0,1fr)}.rm-crew li{font-size:12px;letter-spacing:.12em}}
@media(max-width:900px){.rm-crew-row{grid-template-columns:1fr 1fr}.rm-cloud{grid-column:1/-1}}
@media(max-width:400px){.rm-group{padding:12px 10px}.rm-house .rm-gname,.rm-more .rm-gname{font-size:12px;letter-spacing:.12em}.rm-gwhere{font-size:9px;letter-spacing:.14em}}
.rm-gsmall span{white-space:nowrap}
@media(max-width:900px){.rm-crew-row{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}}
@media(max-width:480px){.rm-gsmall{font-size:11px;letter-spacing:.02em}}
.rm-gsmall i{font-style:normal}
@media(max-width:600px){.rm-gsmall span{display:block;line-height:1.6}.rm-gsmall i{display:none}}
