/* Cover: the Source > Rule > Design sequence as a full-bleed stage. Replaces .intro on the homepage. */
.landing .cover{position:relative;padding:0;min-height:calc(100svh - 81px);display:flex;isolation:isolate;overflow:hidden;background:var(--noc)}
.cover-stage{position:absolute;inset:0;z-index:-1}
.cover-stage>img,.cover-stage>svg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cv-src{object-position:50% 50%;transform:scale(1.06);transition:opacity 1.6s ease,transform 9s cubic-bezier(.2,.6,.2,1);filter:saturate(.82) brightness(.82)}
.cover.is-live .cv-src{transform:scale(1)}
.cv-design{opacity:0;clip-path:inset(0 51% 0 49%);transform:scale(1.05);transition:clip-path 2.2s cubic-bezier(.7,0,.2,1),opacity .5s ease,transform 12s cubic-bezier(.2,.6,.2,1)}
.cv-veil{position:absolute;inset:0;background:var(--noc);opacity:0;transition:opacity 1.4s ease}
.cv-lines{overflow:visible}
.cv-trace polyline{fill:none;stroke:#9CC0E0;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.5s cubic-bezier(.6,0,.2,1) calc(.5s + var(--i)*70ms),opacity 1.2s ease}
.cover.is-live .cv-trace polyline{stroke-dashoffset:0}
.cv-masses polygon{fill:#355f82;fill-opacity:.42;stroke:#9CC0E0;stroke-width:1;opacity:0;transition:opacity .9s ease calc(var(--i)*45ms)}
.cv-rule line{stroke:#9CC0E0;stroke-width:2;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.3s cubic-bezier(.6,0,.2,1) calc(var(--i)*50ms),opacity .8s ease}
.cv-scrim{position:absolute;inset:0;background:linear-gradient(90deg,#0C151F 0,rgba(12,21,31,.94) 26%,rgba(12,21,31,.62) 48%,rgba(12,21,31,.12) 78%,rgba(12,21,31,.3) 100%),linear-gradient(0deg,rgba(12,21,31,.9) 0,rgba(12,21,31,0) 34%)}
/* stage 1: the rule */
.cover[data-stage="1"] .cv-veil{opacity:.9}
.cover[data-stage="1"] .cv-trace polyline{opacity:.22;transition-delay:0s}
.cover[data-stage="1"] .cv-masses polygon{opacity:1}
.cover[data-stage="1"] .cv-rule line{stroke-dashoffset:0;transition-delay:calc(.35s + var(--i)*50ms)}
/* stage 2: the design, opened from the fissure */
.cover[data-stage="2"] .cv-veil{opacity:.9}
.cover[data-stage="2"] .cv-design{opacity:1;clip-path:inset(0 0 0 0);transform:scale(1)}
.cover[data-stage="2"] .cv-trace polyline,.cover[data-stage="2"] .cv-rule line{opacity:0;stroke-dashoffset:0;transition-delay:.9s}
.cover[data-stage="2"] .cv-masses polygon{opacity:0;transition-delay:1.1s}
.cover[data-stage="2"] .cv-scrim{background:linear-gradient(90deg,#0C151F 0,rgba(12,21,31,.9) 24%,rgba(12,21,31,.5) 44%,rgba(12,21,31,0) 70%),linear-gradient(0deg,rgba(12,21,31,.88) 0,rgba(12,21,31,0) 32%)}

.cover-inner{display:flex;flex-direction:column;padding-top:24px}
.cover .intro-topline{border-bottom-color:rgba(156,192,224,.22)}
.cover-body{flex:1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:72px;align-items:end;padding:56px 0 40px}
.cover-copy{align-self:center}
.cover-copy h1{font-size:clamp(46px,5.4vw,84px);line-height:1.04;letter-spacing:-.05em;font-weight:400;max-width:11.9ch;margin:0}
.cover-copy h1 em{font-style:normal;color:var(--link)}
.cover-copy>.eyebrow{margin-bottom:24px;color:var(--link)}
.cover-copy>*{opacity:0;transform:translateY(14px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.cover.is-live .cover-copy>*{opacity:1;transform:none}
.cover.is-live .cover-copy>:nth-child(2){transition-delay:.12s}.cover.is-live .cover-copy>:nth-child(3){transition-delay:.26s}.cover.is-live .cover-copy>:nth-child(4){transition-delay:.38s}.cover.is-live .cover-copy>:nth-child(5){transition-delay:.5s}
.cover-rail{justify-self:end;width:min(360px,100%);position:relative;padding:18px 0 0}
.cover-rail-top{display:flex;justify-content:space-between;color:var(--secd)}
.cover-rail .seq-descriptions{min-height:86px;padding-top:14px}
.cover-rail .seq-descriptions span{color:#c9d3dc}
.cover-progress{height:1px;background:rgba(156,192,224,.25);position:relative}
.cover-progress i{position:absolute;inset:0;background:var(--link);transform-origin:0 50%;transform:scaleX(0)}
.cover.is-playing .cover-progress i{transition:transform var(--dur,3600ms) linear;transform:scaleX(1)}
.cover-rail .sequence-controls{border-top:0}
.landing .cover .art-label{position:absolute;inset:176px 64px auto auto;margin:0;padding:0;background:none;z-index:1;font:500 10px/1.6 var(--font);letter-spacing:.14em;text-transform:uppercase;color:#dfe7ee;display:flex;gap:10px;align-items:center}
.landing .cover .art-label::before{content:"";width:22px;height:1px;background:var(--link)}
.cover .intro-bottom{border-top-color:rgba(156,192,224,.22)}
.cover-frame{position:absolute;inset:100px 44px 74px;pointer-events:none}
.cover-frame i{position:absolute;width:17px;height:17px;border-color:#9cc0e0;opacity:.55}
.cover-frame i:nth-child(1){top:0;left:0;border-top:1px solid;border-left:1px solid}.cover-frame i:nth-child(2){top:0;right:0;border-top:1px solid;border-right:1px solid}.cover-frame i:nth-child(3){bottom:0;left:0;border-bottom:1px solid;border-left:1px solid}.cover-frame i:nth-child(4){bottom:0;right:0;border-bottom:1px solid;border-right:1px solid}
@media(max-width:1100px){.cover-body{gap:40px}.cover-frame{display:none}.landing .cover .art-label{display:none}}
@media(max-width:800px){
 .landing .cover{min-height:0;display:block}
 .cover-stage{bottom:auto;height:56svh;min-height:340px}
 .cv-scrim,.cover[data-stage="2"] .cv-scrim{background:linear-gradient(0deg,#0C151F 0,rgba(12,21,31,.72) 26%,rgba(12,21,31,.12) 62%,rgba(12,21,31,.6) 100%)}
 .cover-body{grid-template-columns:1fr;gap:28px;padding:max(190px,31svh) 0 24px}
 .cover-copy h1{font-size:clamp(42px,11vw,62px);max-width:12ch}
 .cover-rail{justify-self:stretch;width:100%}
 .cover .intro-topline>span:last-child{display:none}
}
@media(prefers-reduced-motion:reduce){
 .cover *,.cover{transition:none!important}
 .cover-copy>*{opacity:1;transform:none}
}
.no-js .cover-copy>*{opacity:1;transform:none}
.no-js .cv-design{opacity:1;clip-path:none;transform:none}
/* refinements after visual check */
.cover-stage{overflow:hidden}
.cover-rail{padding:18px 20px 4px;background:rgba(12,21,31,.74);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(156,192,224,.16)}
.landing .cover .art-label{text-shadow:0 0 12px rgba(12,21,31,.9)}
@media(max-width:800px){.cover-rail{padding:16px 16px 2px}}
