/* ==== pages/related.css ==== */
/* "Related on MEPA": contextual links at the foot of a page (prefix rel-). Plain type and hairlines; always visible, no motion. */
.rel{padding:clamp(40px,6vh,72px) 0;border-top:1px solid var(--line)}
.rel-h{margin-bottom:clamp(16px,2.4vh,24px);font:600 15px/1.3 var(--f-text);letter-spacing:0;color:var(--text-meta)}
.rel-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:0 clamp(20px,3vw,40px);margin:0;padding:0;list-style:none}
.rel-a{display:grid;gap:4px;min-height:44px;padding:14px 0;border-top:1px solid var(--line);color:var(--text)}
.rel-k{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-meta)}
.rel-t{font:600 18px/1.3 var(--f-display);letter-spacing:-.016em}
.rel-s{font-size:15px;line-height:1.45;color:var(--text-2)}
.rel-a:hover .rel-t{text-decoration:underline;text-underline-offset:3px}

/* ==== pages/satellite.css ==== */
/* =====================================================================
   MEPA Orbital (/satellite/, prefix "sat-"). A full-screen stage holds a film that plays and loops by itself (core.js, data-bg-video);
   eight captions cross-fade over it, one per 6 s shot (assets/js/pages/satellite.js follows the film's clock). Without motion (reduced
   motion / Save-Data / no JS) the poster frame shows and the captions read as a normal list. Space is always dark, in both themes.
   ===================================================================== */
.sat{--sat-bg:#02040a;background:var(--sat-bg);color:#eef2f7}
.sat-track{position:relative}
.sat-stage{position:relative;height:100svh;min-height:520px;overflow:hidden;background:var(--sat-bg)}
.sat-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:var(--sat-bg)}
.sat-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(2,4,10,.62) 0%,rgba(2,4,10,.18) 46%,rgba(2,4,10,0) 70%),linear-gradient(0deg,rgba(2,4,10,.7) 0%,rgba(2,4,10,0) 38%),linear-gradient(180deg,rgba(2,4,10,.5) 0%,rgba(2,4,10,0) 22%)}
@media (max-width:899px){.sat-shade{background:linear-gradient(0deg,rgba(2,4,10,.86) 0%,rgba(2,4,10,.4) 42%,rgba(2,4,10,0) 66%),linear-gradient(180deg,rgba(2,4,10,.5) 0%,rgba(2,4,10,0) 20%)}}

/* words on top */
.sat-hud{position:absolute;inset:0;z-index:2;pointer-events:none}
.sat-title{position:absolute;left:var(--gutter);top:calc(var(--nav-h) + clamp(18px,3vh,36px));margin:0;font:600 clamp(15px,1.5vw,18px)/1 var(--f-display);letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.sat-cap{position:absolute;left:var(--gutter);bottom:clamp(76px,11vh,120px);width:min(400px,calc(100% - 2*var(--gutter)))}
.sat-item{padding:22px 24px;border-radius:var(--r-lg);background:rgba(8,12,22,.62);box-shadow:0 0 0 1px rgba(255,255,255,.1);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.sat-k{display:flex;align-items:baseline;gap:10px;margin:0 0 10px;font-size:13px;font-weight:600;letter-spacing:.02em;color:#8fd6ee}
.sat-k span{font-weight:500;font-variant-numeric:tabular-nums;color:rgba(255,255,255,.5)}
.sat-item h2{margin:0 0 10px;font:600 clamp(22px,2.2vw,28px)/1.1 var(--f-display);letter-spacing:-.026em;text-wrap:balance;color:#fff}
.sat-item p{margin:0;font-size:15px;line-height:1.5;color:rgba(255,255,255,.78)}
.sat-item .sat-k{color:#8fd6ee}
.sat-index{position:absolute;left:var(--gutter);right:var(--gutter);bottom:clamp(18px,3vh,32px);display:flex;gap:6px;pointer-events:auto}
.sat-tab{position:relative;flex:1;min-width:0;padding:12px 2px 0;border:0;background:none;color:rgba(255,255,255,.55);font:600 12px/1.2 var(--f);letter-spacing:.01em;text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sat-tab i{position:absolute;left:0;right:0;top:0;height:2px;background:rgba(255,255,255,.22)}
.sat-tab i::after{content:"";position:absolute;inset:0;background:#8fd6ee;transform:scaleX(var(--p,0));transform-origin:0 50%}
.sat-vctl{right:var(--gutter);bottom:auto;top:calc(var(--nav-h) + clamp(14px,2.4vh,30px))}
.sat-tab{text-shadow:0 1px 6px rgba(0,0,0,.7)}
.sat-tab:hover,.sat-tab:focus-visible{color:#fff}
@media (max-width:899px){.sat-tab span{display:none}.sat-tab{padding-top:14px;overflow:visible}.sat-tab::after{content:"";position:absolute;left:-3px;right:-3px;top:-15px;bottom:-15px} /* a 44 px tall touch target around the thin tick */.sat-cap{bottom:56px;width:calc(100% - 2*var(--gutter))}.sat-item{padding:16px 18px}.sat-item p{font-size:14px}}

/* with motion only the current caption shows, cross-faded */
.motion .sat-cap{display:grid}
.motion .sat-item{grid-area:1/1;opacity:0;transform:translate3d(0,14px,0);transition:opacity .6s var(--ease),transform .8s var(--ease);visibility:hidden}
.motion .sat-item.is-current{opacity:1;transform:none;visibility:visible;transition-delay:.45s}

/* static: the poster frame, then the captions as a list */
html:not(.motion) .sat-stage{height:auto;min-height:0;padding-top:var(--nav-h)}
html:not(.motion) .sat-video{position:relative;inset:auto;display:block;width:100%;height:auto;aspect-ratio:16/9;max-height:70svh}
html:not(.motion) .sat-shade{display:none}
html:not(.motion) .sat-hud{position:static;pointer-events:auto}
html:not(.motion) .sat-title{position:static;margin:24px var(--gutter)}
html:not(.motion) .sat-cap{position:static;display:grid;gap:14px;width:min(var(--maxw),100% - 2*var(--gutter));margin:0 auto;padding-bottom:40px}
html:not(.motion) .sat-index{display:none}

/* the proposed specification */
.sat-spec{padding:clamp(56px,8vw,110px) 0 0}
.sat-spec .h2{max-width:16em;margin-bottom:18px;color:#fff}
.sat-spec .eyebrow{color:#8fd6ee}
.sat-lead{max-width:44em;margin:0 0 clamp(22px,3vw,34px);font-size:16px;line-height:1.55;color:rgba(255,255,255,.72)}
.sat-h3{margin:clamp(34px,5vw,56px) 0 16px;font:600 clamp(20px,2vw,26px)/1.15 var(--f-display);letter-spacing:-.02em;color:#fff}
.sat-dl{margin:0;display:grid;border-top:1px solid rgba(255,255,255,.14)}
.sat-dl>div{display:grid;grid-template-columns:minmax(120px,210px) 1fr;gap:6px 28px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.sat-dl dt{font-size:14px;font-weight:600;color:#8fd6ee}
.sat-dl dd{margin:0;font-size:15px;line-height:1.5;color:rgba(255,255,255,.8)}
@media (max-width:640px){.sat-dl>div{grid-template-columns:1fr}}

.sat-deep{display:grid;gap:10px}
.sat-dd{border-radius:var(--r-lg);background:rgba(255,255,255,.04);box-shadow:0 0 0 1px rgba(255,255,255,.1)}
.sat-dd summary{position:relative;padding:18px 52px 18px 22px;font:600 17px/1.3 var(--f-display);letter-spacing:-.012em;color:#fff;cursor:pointer;list-style:none}
.sat-dd summary::-webkit-details-marker{display:none}
.sat-dd summary::after{content:"+";position:absolute;right:22px;top:50%;translate:0 -50%;font-size:22px;font-weight:400;color:#8fd6ee;transition:rotate .3s var(--ease)}
.sat-dd[open] summary::after{rotate:45deg}
.sat-dd .sat-dl{border-top:1px solid rgba(255,255,255,.12);padding:0 22px 6px}
.sat-dd .sat-dl>div:last-child{border-bottom:0}

/* the closing section */
.sat-end{padding:clamp(56px,9vw,120px) 0 var(--sec)}
.sat-end .h2{max-width:16em;margin-bottom:clamp(24px,3.4vw,44px);color:#fff}
.sat-end .eyebrow{color:#8fd6ee}
.sat-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.sat-box2{padding:24px;border-radius:var(--r-lg);background:rgba(255,255,255,.05);box-shadow:0 0 0 1px rgba(255,255,255,.1)}
.sat-box2 h3{margin:0 0 10px;font:600 19px/1.2 var(--f-display);letter-spacing:-.018em;color:#fff}
.sat-box2 p{margin:0;font-size:15px;line-height:1.55;color:rgba(255,255,255,.74)}
.sat-links{display:flex;flex-wrap:wrap;gap:12px;margin:clamp(24px,3vw,40px) 0 0}
.sat-foot{max-width:46em;margin:28px 0 0;font-size:13.5px;line-height:1.55;color:rgba(255,255,255,.55)}
.sat-foot a{color:#8fd6ee;text-decoration:underline;text-underline-offset:3px}


/* teaser band on the home and technology pages */
.sat-tease{position:relative;isolation:isolate;overflow:hidden;background:#02040a;color:#fff;padding:clamp(80px,13vw,180px) 0}
.sat-tease-bg{position:absolute;inset:0;z-index:-1}
.sat-tease-bg img{width:100%;height:100%;object-fit:cover;object-position:62% 50%}
.sat-tease-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,4,10,.86) 0%,rgba(2,4,10,.5) 52%,rgba(2,4,10,.1) 100%)}
@media (max-width:767px){.sat-tease-bg::after{background:linear-gradient(0deg,rgba(2,4,10,.9) 0%,rgba(2,4,10,.55) 100%)}}
.sat-tease .eyebrow{color:#8fd6ee}
.sat-tease .h2{max-width:11em;color:#fff}
.sat-tease-p{max-width:34em;margin:20px 0 0;font-size:clamp(16px,1.3vw,19px);line-height:1.55;color:rgba(255,255,255,.82)}
.sat-tease-a{margin:28px 0 0}
