/* NOVA case and satellite materials. Local preview, 2026-09-02. */
.nova-page { --nova-plum:#8b5cf6; --nova-teal:#19b6bd; --nova-warm:#ead5b7; }
.nova-progress { position:fixed; inset:0 0 auto; height:3px; z-index:1000; background:transparent; }
.nova-progress i { display:block; width:0; height:100%; background:var(--gradient-brand-h); box-shadow:0 0 18px rgba(25,182,189,.45); }
.nova-main { overflow:hidden; padding-top:clamp(72px,8vw,110px); }
.nova-wrap { width:min(1180px,calc(100% - 40px)); margin-inline:auto; }
.nova-kicker { margin:0 0 14px; color:var(--color-teal); font:600 .76rem/1.2 Oswald,sans-serif; letter-spacing:.13em; text-transform:uppercase; }
.nova-h2 { max-width:900px; margin:0 0 26px; font:600 clamp(2rem,4.5vw,4.3rem)/.98 Oswald,sans-serif; letter-spacing:-.025em; text-wrap:balance; }
.nova-h2 em { color:var(--color-teal); font-style:normal; }
.nova-copy { max-width:780px; color:var(--color-text-80); }
.nova-copy p { margin:0 0 1.15em; line-height:1.72; }
.nova-sec { position:relative; padding:clamp(72px,10vw,144px) 0; border-top:1px solid var(--color-border); }
.nova-sec--soft { background:linear-gradient(145deg,var(--tint-purple-10),var(--tint-teal-08)); }

.nova-hero { min-height:calc(100svh - 24px); display:grid; align-items:end; position:relative; isolation:isolate; padding:clamp(120px,14vw,180px) 0 54px; }
.nova-hero::before { content:""; position:absolute; inset:0; z-index:-2; background:url('/assets/img/nova/hero.jpg') center/cover no-repeat; }
.nova-hero::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(10,13,16,.94) 0%,rgba(10,13,16,.76) 40%,rgba(10,13,16,.22) 78%),linear-gradient(0deg,rgba(10,13,16,.9),transparent 55%); }
.nova-hero__body { max-width:820px; color:#fff; }
.nova-hero .art-crumbs,.nova-hero .art-crumbs a { color:rgba(255,255,255,.68); }
.nova-label { display:inline-flex; gap:9px; align-items:center; padding:9px 13px; border:1px solid rgba(255,255,255,.22); border-radius:999px; color:rgba(255,255,255,.84); background:rgba(17,22,24,.42); backdrop-filter:blur(14px); font-size:.78rem; letter-spacing:.05em; text-transform:uppercase; }
.nova-label::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--nova-teal); box-shadow:0 0 16px var(--nova-teal); }
.nova-hero h1 { max-width:840px; margin:20px 0 22px; color:#fff; font:600 clamp(3rem,7vw,7.4rem)/.86 Oswald,sans-serif; letter-spacing:-.045em; text-wrap:balance; }
.nova-hero h1 span { color:#71d7d5; }
.nova-hero__lead { max-width:700px; margin:0; color:rgba(255,255,255,.86); font-size:clamp(1.12rem,2vw,1.5rem); line-height:1.48; }
.nova-hero__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.nova-link { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 20px; border:1px solid rgba(255,255,255,.3); border-radius:999px; color:#fff; text-decoration:none; background:rgba(20,24,28,.36); backdrop-filter:blur(10px); }
.nova-link:hover { border-color:#fff; background:rgba(20,24,28,.65); }
.nova-hero__caption { display:flex; gap:14px; align-items:flex-start; max-width:650px; margin-top:34px; color:rgba(255,255,255,.58); font-size:.82rem; line-height:1.55; }
.nova-hero__caption b { color:#fff; white-space:nowrap; }

.nova-pulse { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin-top:-1px; background:var(--color-border); border-block:1px solid var(--color-border); }
.nova-pulse article { min-height:190px; padding:30px; background:var(--color-bg); }
.nova-pulse b { display:block; margin-bottom:12px; color:var(--color-teal); font:600 clamp(2rem,4vw,3.5rem)/1 Oswald,sans-serif; }
.nova-pulse span { display:block; color:var(--color-text-80); line-height:1.45; }
.nova-pulse small { display:block; margin-top:9px; color:var(--color-text-40); line-height:1.45; }

.nova-scene { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr); gap:clamp(28px,6vw,88px); align-items:center; }
.nova-scene__image { min-height:520px; border-radius:28px; overflow:hidden; position:relative; box-shadow:0 24px 80px rgba(0,0,0,.22); }
.nova-scene__image img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.nova-scene__image::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(11,16,18,.45),transparent 50%); pointer-events:none; }
.nova-quote { margin:34px 0 0; padding:24px 26px; border-left:3px solid var(--color-teal); border-radius:0 18px 18px 0; background:var(--color-bg-card); font-size:clamp(1.12rem,2vw,1.42rem); line-height:1.5; }

.nova-five { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; margin-top:44px; }
.nova-five article { position:relative; min-height:260px; padding:26px 22px; overflow:hidden; border:1px solid var(--color-border-md); border-radius:22px; background:var(--color-bg-card); transition:transform .25s ease,border-color .25s ease; }
.nova-five article:hover { transform:translateY(-5px); border-color:var(--color-teal); }
.nova-five i { display:block; margin-bottom:38px; color:var(--color-teal); font:500 .8rem/1 Oswald,sans-serif; letter-spacing:.12em; font-style:normal; }
.nova-five h3 { margin:0 0 12px; font:500 1.45rem/1.05 Oswald,sans-serif; }
.nova-five p { margin:0; color:var(--color-text-60); font-size:.92rem; line-height:1.55; }

.nova-tabs { display:grid; grid-template-columns:280px 1fr; gap:28px; margin-top:42px; }
.nova-tabs__nav { display:grid; align-content:start; gap:8px; counter-reset:nova-tab; }
.nova-tabs__nav button { counter-increment:nova-tab; display:grid; grid-template-columns:34px 1fr auto; gap:10px; align-items:center; width:100%; padding:15px 16px; border:1px solid var(--color-border-md); border-radius:15px; color:var(--color-text-60); background:var(--color-bg-card); font:500 1rem/1.2 inherit; text-align:left; cursor:pointer; transition:transform .2s ease,border-color .2s ease,background .2s ease; }
.nova-tabs__nav button::before { content:"0" counter(nova-tab); color:var(--color-teal); font:600 .72rem/1 Oswald,sans-serif; letter-spacing:.08em; }
.nova-tabs__nav button::after { content:"→"; color:var(--color-text-40); transform:translateX(-4px); opacity:.45; transition:transform .2s ease,opacity .2s ease; }
.nova-tabs__nav button:hover { transform:translateX(4px); border-color:var(--color-teal); }
.nova-tabs__nav button[aria-selected="true"] { border-color:var(--color-teal); color:var(--color-heading); background:linear-gradient(135deg,var(--tint-teal-15),var(--color-bg-card)); box-shadow:inset 3px 0 0 var(--color-teal); }
.nova-tabs__nav button[aria-selected="true"]::after { transform:translateX(0); opacity:1; color:var(--color-teal); }
.nova-tabs__panel { min-height:300px; padding:clamp(26px,5vw,54px); border:1px solid var(--color-border-md); border-radius:26px; background:var(--color-bg-card); }
.nova-tabs__panel h3 { margin:0 0 16px; font:500 clamp(1.6rem,3vw,2.5rem)/1 Oswald,sans-serif; }
.nova-tabs__panel p { max-width:700px; color:var(--color-text-80); line-height:1.7; }
.nova-tabs__panel ul { display:grid; gap:11px; margin:24px 0 0; padding:0; color:var(--color-text-60); list-style:none; }
.nova-tabs__panel li { position:relative; padding-left:24px; }
.nova-tabs__panel li::before { content:""; position:absolute; left:0; top:.68em; width:8px; height:8px; border-radius:50%; background:var(--color-teal); box-shadow:0 0 0 5px var(--tint-teal-15); }

.nova-cluster { margin-top:44px; }
.nova-carousel__top { display:flex; align-items:center; justify-content:flex-end; gap:20px; margin-bottom:18px; }
.nova-carousel__buttons { display:flex; gap:8px; }
.nova-carousel__buttons button { width:44px; height:44px; border:1px solid var(--color-border-md); border-radius:50%; color:var(--color-heading); background:var(--color-bg-card); font-size:1.25rem; cursor:pointer; }
.nova-carousel__buttons button:hover { border-color:var(--color-teal); color:var(--color-teal); }
.nova-carousel__track { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(340px,46%); gap:16px; overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:inline mandatory; scrollbar-width:thin; scrollbar-color:var(--color-teal) transparent; padding:0 0 18px; }
.nova-node { scroll-snap-align:start; overflow:hidden; border:1px solid var(--color-border-md); border-radius:24px; background:var(--color-bg-card); transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.nova-node:hover { transform:translateY(-4px); border-color:var(--color-teal); box-shadow:0 18px 46px rgba(0,0,0,.12); }
.nova-node__media { aspect-ratio:16/9; overflow:hidden; position:relative; }
.nova-node__media img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.nova-node:hover img { transform:scale(1.035); }
.nova-node__tag { position:absolute; left:16px; top:16px; padding:7px 10px; border-radius:999px; color:#fff; background:rgba(11,16,18,.72); backdrop-filter:blur(10px); font-size:.73rem; }
.nova-node__body { padding:24px; }
.nova-node h3 { margin:0 0 8px; font:500 1.55rem/1.05 Oswald,sans-serif; }
.nova-node p { margin:0; color:var(--color-text-60); font-size:.92rem; line-height:1.55; }
.nova-node__why { margin-top:18px!important; padding-top:17px; border-top:1px solid var(--color-border); color:var(--color-text-80)!important; }
.nova-node__why b { display:block; margin-bottom:7px; color:var(--color-teal); font:600 .7rem/1.2 Oswald,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.nova-node__source { display:inline-flex; margin-top:12px; color:var(--color-teal); font-size:.78rem; text-decoration:none; }
.nova-node__source:hover { text-decoration:underline; }
.nova-node dl { display:grid; grid-template-columns:auto 1fr; gap:6px 14px; margin:20px 0 0; padding-top:16px; border-top:1px solid var(--color-border); font-size:.82rem; }
.nova-node dt { color:var(--color-text-40); }
.nova-node dd { margin:0; color:var(--color-text-80); }

.nova-roadmap { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:42px; counter-reset:road; }
.nova-roadmap article { counter-increment:road; min-height:300px; padding:26px; border:1px solid var(--color-border-md); border-radius:22px; background:var(--color-bg-card); }
.nova-roadmap article::before { content:"0" counter(road); display:block; margin-bottom:44px; color:var(--color-teal); font:500 .9rem/1 Oswald,sans-serif; letter-spacing:.1em; }
.nova-roadmap h3 { margin:0 0 12px; font:500 1.4rem/1.1 Oswald,sans-serif; }
.nova-roadmap p { margin:0; color:var(--color-text-60); font-size:.92rem; line-height:1.6; }

.nova-hypotheses { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:30px; counter-reset:nova-hypothesis; }
.nova-hypothesis { counter-increment:nova-hypothesis; position:relative; min-height:138px; padding:18px 18px 17px; overflow:hidden; border:1px solid var(--color-border-md); border-radius:17px; color:var(--color-text-80); background:var(--color-bg-card); transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
.nova-hypothesis::before { content:"0" counter(nova-hypothesis); display:inline-flex; align-items:center; justify-content:center; min-width:30px; height:25px; margin-bottom:16px; border-radius:999px; color:var(--color-teal); background:var(--tint-teal-15); font:600 .68rem/1 Oswald,sans-serif; letter-spacing:.06em; }
.nova-hypothesis::after { content:""; position:absolute; width:120px; height:120px; right:-78px; bottom:-82px; border-radius:50%; background:var(--gradient-brand); opacity:.12; transition:transform .3s ease,opacity .3s ease; }
.nova-hypothesis:hover { transform:translateY(-4px); border-color:var(--color-teal); box-shadow:0 16px 38px rgba(0,0,0,.1); }
.nova-hypothesis:hover::after { transform:scale(1.45); opacity:.22; }
.nova-hypothesis strong { display:block; margin-bottom:6px; color:var(--color-heading); font-family:Oswald,sans-serif; font-size:1.05rem; font-weight:500; }
.nova-hypothesis p { margin:0!important; color:var(--color-text-60); font-size:.88rem; line-height:1.5!important; }

.nova-sources { display:grid; gap:10px; margin-top:34px; }
.nova-source { border:1px solid var(--color-border-md); border-radius:16px; background:var(--color-bg-card); }
.nova-source summary { list-style:none; cursor:pointer; display:grid; grid-template-columns:1fr auto; gap:18px; align-items:center; padding:18px 20px; color:var(--color-heading); font-weight:600; }
.nova-source summary::-webkit-details-marker { display:none; }
.nova-source summary::after { content:"+"; color:var(--color-teal); font-size:1.35rem; }
.nova-source[open] summary::after { content:"−"; }
.nova-source__body { padding:0 20px 20px; color:var(--color-text-60); line-height:1.65; }
.nova-source__body p { margin:0 0 12px; }
.nova-source__body a { color:var(--color-teal); }

.nova-media-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; margin-top:40px; }
.nova-media-card { display:flex; min-height:300px; padding:24px; flex-direction:column; color:inherit; text-decoration:none; border:1px solid var(--color-border-md); border-radius:22px; background:var(--color-bg-card); transition:transform .25s ease,border-color .25s ease; }
.nova-media-card:hover { transform:translateY(-5px); border-color:var(--color-teal); }
.nova-media-card small { color:var(--color-teal); text-transform:uppercase; letter-spacing:.08em; }
.nova-media-card h3 { margin:36px 0 12px; font:500 1.38rem/1.08 Oswald,sans-serif; }
.nova-media-card p { margin:0; color:var(--color-text-60); font-size:.9rem; line-height:1.55; }
.nova-media-card span { margin-top:auto; padding-top:20px; color:var(--color-teal); }

.nova-note { margin-top:28px; padding:22px 24px; border:1px solid var(--color-border-md); border-radius:18px; background:linear-gradient(135deg,var(--tint-purple-10),var(--tint-teal-08)); color:var(--color-text-80); line-height:1.65; }
.nova-note b { display:block; margin-bottom:7px; color:var(--color-heading); }
.nova-disclaimer { padding:26px; border:1px solid var(--color-border-md); border-radius:20px; color:var(--color-text-60); background:var(--color-bg-card); line-height:1.65; }
.nova-subhead { margin-top:52px; }
.nova-link--surface { color:var(--color-heading); border-color:var(--color-border-strong); }

/* Satellite articles */
.nova-article .art__head h1 { max-width:980px; text-wrap:balance; }
.nova-article .art__cover { border-radius:24px; overflow:hidden; }
.nova-article .art__body h2 { margin-top:clamp(70px,9vw,120px); text-wrap:balance; }
.nova-article .art__body h3 { margin-top:42px; }
.nova-article .art__body p,.nova-article .art__body li { line-height:1.72; }
.nova-article .nova-sources { margin:42px 0; }
.nova-article .nova-hypotheses { margin-bottom:44px; }
.nova-article .nova-mini-model { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:42px 0; }
.nova-article .nova-mini-model--four { grid-template-columns:repeat(4,1fr); }
.nova-mini-model article { position:relative; padding:24px; overflow:hidden; border:1px solid var(--color-border-md); border-radius:18px; background:var(--color-bg-card); transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
.nova-mini-model article::after { content:""; position:absolute; inset:auto -42px -52px auto; width:90px; height:90px; border-radius:50%; background:var(--gradient-brand); opacity:.1; transition:transform .3s ease; }
.nova-mini-model article:hover { transform:translateY(-4px); border-color:var(--color-teal); box-shadow:0 14px 34px rgba(0,0,0,.09); }
.nova-mini-model article:hover::after { transform:scale(1.4); }
.nova-mini-model b { display:block; margin-bottom:10px; color:var(--color-teal); font:500 1.3rem/1.1 Oswald,sans-serif; }
.nova-mini-model p { margin:0!important; color:var(--color-text-60); font-size:.92rem; }
.nova-article .art__body > ul:not(.art-figures) { display:grid; gap:10px; margin:24px 0 34px; padding:0; list-style:none; }
.nova-article .art__body > ul:not(.art-figures) > li { position:relative; padding-left:25px; }
.nova-article .art__body > ul:not(.art-figures) > li::before { content:""; position:absolute; left:0; top:.72em; width:8px; height:8px; border-radius:50%; background:var(--color-teal); box-shadow:0 0 0 5px var(--tint-teal-15); }
.nova-article .art__body > ol { display:grid; gap:12px; margin:24px 0 34px; padding:0; list-style:none; counter-reset:nova-list; }
.nova-article .art__body > ol > li { counter-increment:nova-list; position:relative; min-height:30px; padding-left:42px; }
.nova-article .art__body > ol > li::before { content:counter(nova-list); position:absolute; left:0; top:.08em; display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%; color:var(--color-teal); background:var(--tint-teal-15); font:600 .72rem/1 Oswald,sans-serif; }

@media (max-width:1020px) {
  .nova-pulse { grid-template-columns:repeat(2,1fr); }
  .nova-five { grid-template-columns:repeat(2,1fr); }
  .nova-five article:last-child { grid-column:1/-1; min-height:210px; }
  .nova-media-grid { grid-template-columns:repeat(2,1fr); }
  .nova-media-card:last-child { grid-column:1/-1; min-height:230px; }
  .nova-roadmap { grid-template-columns:repeat(2,1fr); }
  .nova-hypotheses { grid-template-columns:repeat(2,1fr); }
  .nova-article .nova-mini-model--four { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:760px) {
  .nova-wrap { width:min(100% - 28px,1180px); }
  .nova-main { padding-top:64px; }
  .nova-hero { min-height:780px; padding:98px 0 34px; align-items:end; }
  .nova-hero::before { background-position:62% center; }
  .nova-hero::after { background:linear-gradient(0deg,rgba(10,13,16,.98) 0%,rgba(10,13,16,.74) 56%,rgba(10,13,16,.25)); }
  .nova-hero h1 { font-size:clamp(3.1rem,15vw,5.3rem); }
  .nova-hero__caption { display:none; }
  .nova-pulse { grid-template-columns:1fr 1fr; }
  .nova-pulse article { min-height:160px; padding:22px 18px; }
  .nova-scene { grid-template-columns:1fr; }
  .nova-scene__image { min-height:360px; order:-1; }
  .nova-five { grid-template-columns:1fr; }
  .nova-five article,.nova-five article:last-child { grid-column:auto; min-height:190px; }
  .nova-tabs { grid-template-columns:1fr; }
  .nova-tabs__nav { display:flex; overflow-x:auto; padding-bottom:8px; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .nova-tabs__nav::-webkit-scrollbar { display:none; }
  .nova-tabs__nav button { flex:0 0 auto; width:auto; white-space:nowrap; scroll-snap-align:start; }
  .nova-carousel__track { grid-auto-columns:88%; }
  .nova-roadmap,.nova-hypotheses,.nova-media-grid,.nova-article .nova-mini-model,.nova-article .nova-mini-model--four { grid-template-columns:1fr; }
  .nova-media-card:last-child { grid-column:auto; }
  .nova-roadmap article { min-height:230px; }
}
@media (max-width:440px) {
  .nova-pulse { grid-template-columns:1fr; }
  .nova-pulse article { min-height:auto; }
  .nova-carousel__track { grid-auto-columns:94%; }
}
@media (prefers-reduced-motion:reduce) {
  .nova-node img,.nova-five article,.nova-media-card { transition:none; }
}
