/* home page: the founder's hero package under the site chrome */
.dcs-hero{--hero-gutter:clamp(20px,2.6vw,40px)}
.dcs-hero .hero{min-height:100svh}
/* the site header is fixed and transparent; give it the hero's dark glass on scroll only (site.js adds .solid) */
.dcs-hero .programme-menu-hidden{display:none}
.ticker{border-top:1px solid var(--line)}
@media (max-width:760px){.dcs-hero .hero-content{padding-top:96px}}
/* site.css draws a dash before every .eyebrow; the hero has its own amber square */
.dcs-hero .eyebrow::before{display:none;content:none}
.dcs-hero .eyebrow{display:flex;text-transform:none;letter-spacing:0}

/* ── front page, 18 Oct polish ───────────────────────────── */
/* 1 · evidence strip */
.evi{position:relative;border-block:1px solid var(--line);background:linear-gradient(180deg,#0d0f11,#0a0b0d);padding:clamp(28px,4vw,48px) 0 18px;overflow:hidden}
.evi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}
.evi-cell{padding:6px clamp(12px,1.6vw,26px);border-left:1px solid var(--line)}
.evi-cell:first-child{border-left:0;padding-left:0}
.evi-cell b{display:block;font:600 clamp(28px,3vw,44px)/1 var(--display);letter-spacing:-.01em;color:var(--fg);font-variant-numeric:tabular-nums}
.evi-cell span{display:block;margin-top:10px;font-size:14px;line-height:1.4;color:var(--fg);opacity:.86}
.evi-cell em{display:block;margin-top:6px;font:500 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);font-style:normal}
.evi-stream{margin-top:clamp(22px,3vw,34px);border-top:1px solid var(--line);padding-top:12px;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.evi-row{display:flex;gap:34px;white-space:nowrap;font:500 11px var(--mono);letter-spacing:.06em;color:var(--dim);width:max-content;animation:eviRun 80s linear infinite}
.evi-row i{font-style:normal;color:#8d9196}.evi-row i b{color:var(--amber);font-weight:500}
@keyframes eviRun{to{transform:translateX(-50%)}}
.evi-note{margin-top:8px;font:500 10px var(--mono);letter-spacing:.08em;color:var(--dim);opacity:.7;text-transform:uppercase}
@media (min-width:901px){.evi-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}}   /* three evidence cells since 20 Oct 2026 (DCS-009) */
@media (max-width:900px){.evi-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:22px}.evi-cell{padding-left:14px}.evi-cell:nth-child(odd){border-left:0;padding-left:0}.evi-cell:last-child{grid-column:1/-1}}
@media (prefers-reduced-motion:reduce){.evi-row{animation:none}}

/* 4 · defence on footage */
.dfx .kicker{margin-bottom:22px}
.dfx-frame{position:relative;min-height:min(86vh,760px);border-radius:22px;overflow:hidden;border:1px solid var(--line);background:#0b0c0e;isolation:isolate}
.dfx-poster,.dfx-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.18) contrast(1.04) brightness(.82);z-index:-2}
.dfx-video{opacity:0;transition:opacity 1.2s}.dfx-video.on{opacity:1}
.dfx-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,9,11,.92) 0%,rgba(8,9,11,.72) 42%,rgba(8,9,11,.12) 78%),linear-gradient(0deg,rgba(8,9,11,.6),transparent 40%)}
.dfx-copy{position:relative;max-width:620px;padding:clamp(28px,5vw,72px)}
.dfx-badge{display:inline-flex;align-items:center;gap:10px;font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg);border:1px solid rgba(255,181,71,.45);background:rgba(255,181,71,.07);padding:8px 12px;border-radius:999px}
.dfx-badge::before{content:"";width:7px;height:7px;background:var(--amber);border-radius:1px}
.dfx-copy h2{margin-top:22px;font-size:clamp(30px,3.6vw,52px);line-height:1.04;letter-spacing:-.015em}
.dfx-points{list-style:none;padding:0;margin:26px 0 30px;display:grid;gap:14px}
.dfx-points li{padding-left:18px;border-left:1px solid rgba(255,255,255,.18);color:var(--dim);font-size:16px;line-height:1.45}
.dfx-points b{color:var(--fg);font-weight:600}
.dfx-cap{position:absolute;right:16px;bottom:12px;font:500 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:rgba(237,238,235,.5)}
@media (max-width:760px){.dfx-frame{min-height:0}.dfx-shade{background:linear-gradient(0deg,rgba(8,9,11,.96) 30%,rgba(8,9,11,.55) 70%,rgba(8,9,11,.25))}.dfx-copy{padding:44vw 20px 40px}.dfx-points li{font-size:15px}}

/* 2 · verify, raised */
.vfy{border-top:1px solid var(--line)}

/* 3 · five worlds on the hero footage */
.story .pin.foot{background:#0a0b0d}
.act-media{position:absolute;inset:0;opacity:0;transition:opacity .25s linear;will-change:opacity}
.act-media img,.act-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.18) contrast(1.05) brightness(.8)}
.act-media video{opacity:0;transition:opacity .9s}.act-media video.on{opacity:1}
.act-media[data-act="2"] img,.act-media[data-act="2"] video{object-position:50% 70%}
.act-media[data-act="3"] img,.act-media[data-act="3"] video{object-position:65% 50%}
.act-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,9,11,.55),transparent 22%,transparent 62%,rgba(8,9,11,.82));pointer-events:none}
.act-receipt{position:absolute;left:16px;right:16px;bottom:16px;display:flex;align-items:center;gap:10px;font:500 10.5px var(--mono);letter-spacing:.1em;color:rgba(237,238,235,.72);pointer-events:none}
.act-receipt i{width:8px;height:8px;border-radius:1px;background:var(--amber);box-shadow:0 0 0 0 rgba(255,181,71,.5);animation:actPulse 2.4s ease-out infinite}
@keyframes actPulse{70%{box-shadow:0 0 0 10px rgba(255,181,71,0)}100%{box-shadow:0 0 0 0 rgba(255,181,71,0)}}
.story .pin.foot .hud{z-index:2;color:rgba(237,238,235,.7)}

/* 6 · polish */
.constel-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(.15) brightness(.55);opacity:0;transition:opacity .6s;pointer-events:none}
.constel-bg.on{opacity:.38}
.constel .node{z-index:1}
.who{border-top:1px solid var(--line);padding:26px 0}
.who .wrap{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 28px}
.who span{font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.who b{font:600 clamp(16px,1.5vw,20px) var(--display);color:var(--fg);opacity:.85}
.s{scroll-margin-top:72px}

/* hero intro (18 Oct): headline lines rise in, then the copy, then the scene furniture. CSS only, so nothing flashes first. */
@media (prefers-reduced-motion:no-preference){
  .js .dcs-hero .hero-title-line{animation:hIn 1.05s cubic-bezier(.2,.7,.2,1) .3s backwards}
  .js .dcs-hero .hero-title-line:nth-child(2){animation-delay:.48s}
  .js .dcs-hero .hero-title-line:nth-child(3){animation-delay:.66s}
  .js .dcs-hero .eyebrow{animation:hFade .8s .1s backwards}
  .js .dcs-hero .intro{animation:hFade .9s 1.15s backwards}
  .js .dcs-hero .hero-actions{animation:hFade .9s 1.35s backwards}
  .js .dcs-hero .signature{animation:hFade .9s 1.55s backwards}
  .js .dcs-hero .scene-heading,.js .dcs-hero .visual-caption,.js .dcs-hero .motion-control,.js .dcs-hero .coordinate,.js .dcs-hero .hd-card,.js .dcs-hero .scene-rail{animation:hFade 1s 1.9s backwards}
}
@keyframes hIn{from{opacity:0;transform:translateY(.42em);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
@keyframes hFade{from{opacity:0}to{opacity:1}}
/* the hero package makes its copy column click-through; our link in it must still take clicks */
.dcs-hero .hero-actions a{pointer-events:auto;cursor:pointer}
