:root{--ink:#17343b;--muted:#597a89;--paper:#f7f5ef;--cream:#eee9dc;--white:#fff;--teal:#3d6375;--mint:#5b9f79;--lime:#eee3af;--orange:#f7ad86;--blue:#7d93b5;--violet:#a46ea8;--sky:#c0e4fa;--line:rgba(23,52,59,.13)}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:"DM Sans",sans-serif;background:var(--paper);color:var(--ink);overflow-x:hidden}a{color:inherit}.nav{height:76px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:20;width:100%;color:#fff;border-bottom:1px solid rgba(255,255,255,.17)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:700 20px Manrope}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid currentColor;border-radius:50%;font-size:12px}.nav-links{display:flex;gap:28px}.nav-links a{text-decoration:none;font-size:13px;color:rgba(255,255,255,.75)}.nav-links a:hover{color:#fff}.nav-cta{font-size:13px;text-decoration:none;border:1px solid rgba(255,255,255,.4);border-radius:999px;padding:10px 16px}.hero{height:100vh;min-height:700px;position:relative;overflow:hidden;background:#0b2525;color:#fff}.media-wall{position:absolute;inset:-15%;display:grid;grid-template-columns:repeat(5,1fr);gap:10px;transform:rotate(-6deg) scale(1.08)}.wall-column{display:flex;flex-direction:column;gap:10px}.wall-up{animation:wallUp 36s linear infinite}.wall-down{animation:wallDown 42s linear infinite}.wall-column.slow{animation-duration:52s}.wall-column.fast{animation-duration:30s}.wall-card{height:190px;flex:none;position:relative;overflow:hidden;border-radius:7px;background:linear-gradient(145deg,var(--a),var(--b));border:1px solid rgba(255,255,255,.12)}.wall-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 60% 30%,transparent 0 18%,rgba(0,0,0,.15) 50%,rgba(0,0,0,.44)),repeating-linear-gradient(90deg,transparent 0 32px,rgba(255,255,255,.035) 33px)}.wall-card span{position:absolute;bottom:12px;left:14px;font:600 10px Manrope;letter-spacing:.12em;text-transform:uppercase}.hero-shade{position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,rgba(8,31,30,.24),rgba(7,27,27,.76) 48%,rgba(5,23,23,.95) 90%)}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to bottom,transparent 0,#000 35%,transparent 100%)}.hero-copy{position:absolute;z-index:3;left:50%;top:51%;transform:translate(-50%,-50%);text-align:center;width:min(1180px,93vw)}.eyebrow,.kicker{font:700 11px Manrope;letter-spacing:.18em;text-transform:uppercase;color:var(--teal)}.eyebrow{color:#d9eeaa;display:flex;justify-content:center;align-items:center;gap:10px}.eyebrow span{width:28px;height:1px;background:currentColor}.hero h1{font:700 clamp(27px,4.55vw,64px)/1.08 Manrope;margin:8px 0 22px;letter-spacing:-.035em;text-wrap:balance}.hero h1 em{font-style:normal;color:#d9eeaa}.hero-deck{max-width:720px;margin:auto;color:rgba(255,255,255,.73);font-size:18px;line-height:1.65}.hero-actions{display:flex;justify-content:center;gap:12px;margin-top:32px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;gap:22px;padding:14px 21px;border-radius:999px;text-decoration:none;font:600 13px Manrope}.button.primary{background:#d9eeaa;color:#173331}.button.glass{border:1px solid rgba(255,255,255,.3);color:#fff;background:rgba(255,255,255,.06)}.button.dark{background:var(--ink);color:#fff}.button.line{border:1px solid var(--ink)}.disabled{cursor:default}.hero-foot{position:absolute;z-index:3;bottom:28px;left:50%;transform:translateX(-50%);font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:rgba(255,255,255,.54);display:flex;flex-direction:column;align-items:center;gap:10px}.hero-foot i{height:28px;width:1px;background:rgba(255,255,255,.5)}@keyframes wallUp{to{transform:translateY(-50%)}}@keyframes wallDown{from{transform:translateY(-50%)}to{transform:translateY(0)}}
.numbers{display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border-bottom:1px solid var(--line)}.metric{padding:30px 12px;text-align:center;border-right:1px solid var(--line)}.metric:last-child{border:none}.metric strong{display:block;font:700 clamp(23px,2.2vw,36px) Manrope;letter-spacing:-.04em}.metric span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin-top:6px}.metric.accent{background:#dcebb4}.section{max-width:1240px;margin:auto;padding:120px 32px}.intro{text-align:center;max-width:970px}.intro h2,.section-heading h2,.horizon h2,.trajectory h2,.source-copy h2,.access h2{font:700 clamp(42px,5vw,72px)/1.05 Manrope;letter-spacing:-.055em;margin-top:18px}.lead{font-size:19px;line-height:1.7;color:var(--muted);max-width:760px;margin:30px auto}.pill-row{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:36px}.pill{border:1px solid var(--line);border-radius:999px;padding:9px 15px;background:rgba(255,255,255,.5);font-size:12px}.section-heading{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:60px;margin-bottom:54px}.section-heading p:last-child{color:var(--muted);line-height:1.7}.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.filter{border:1px solid var(--line);background:transparent;border-radius:999px;padding:9px 15px;cursor:pointer;color:var(--muted)}.filter.active{background:var(--ink);color:#fff}.dataset-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.data-card{grid-column:span 4;background:#fff;border-radius:17px;overflow:hidden;border:1px solid var(--line);transition:.35s transform,.35s box-shadow}.data-card:nth-child(1),.data-card:nth-child(5){grid-column:span 8}.data-card:hover{transform:translateY(-5px);box-shadow:0 18px 55px rgba(20,50,48,.12)}.card-media{height:260px;position:relative;background:linear-gradient(135deg,var(--ca),var(--cb));overflow:hidden}.data-card:nth-child(1) .card-media,.data-card:nth-child(5) .card-media{height:350px}.card-media:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(4,24,24,.65)),repeating-radial-gradient(circle at 75% 20%,transparent 0 23px,rgba(255,255,255,.06) 24px)}.card-media .media-type{position:absolute;z-index:2;left:18px;top:18px;color:#fff;border:1px solid rgba(255,255,255,.45);padding:6px 10px;border-radius:999px;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.card-media .play{position:absolute;z-index:2;right:18px;bottom:18px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--ink)}.card-body{padding:18px 20px 21px}.card-body div{display:flex;justify-content:space-between;align-items:center}.card-body h3{font:700 19px Manrope}.card-body p{font-size:12px;color:var(--muted);margin-top:8px}.card-body small{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--teal)}
.full-section{padding:110px max(5vw,28px)}.horizon{background:#173c3b;color:#fff;display:grid;grid-template-columns:.72fr 1.28fr;gap:8vw;align-items:center}.kicker.light{color:#d5eaa5}.horizon-copy p:not(.kicker),.trajectory-head p:not(.kicker){color:rgba(255,255,255,.62);line-height:1.7;margin-top:26px}.time-readout{margin-top:38px}.time-readout b{font:600 44px Manrope}.time-readout span{color:rgba(255,255,255,.4)}.timeline-viewport{border-radius:15px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.28)}.timeline-placeholder{height:390px;position:relative;background:linear-gradient(180deg,#86adbd 0,#b6c8b8 43%,#496e59 44%,#183f39 100%)}.timeline-placeholder:before{content:"";position:absolute;left:10%;right:8%;bottom:25%;height:42%;background:#274e49;clip-path:polygon(0 100%,20% 25%,33% 68%,50% 5%,68% 60%,82% 18%,100% 100%)}.scene-label{position:absolute;z-index:2;left:18px;top:18px;background:rgba(10,35,34,.7);padding:7px 11px;border-radius:999px;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.horizon-line{position:absolute;inset:0;background:radial-gradient(circle at var(--progress,0%) 60%,rgba(221,238,170,.45),transparent 18%)}input[type=range]{width:100%;accent-color:#d9eeaa;margin-top:20px}.timeline-labels{display:flex;justify-content:space-between;color:rgba(255,255,255,.42);font-size:10px}.interaction-hint{text-align:center;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-top:20px}.annotation-demo{display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}.annotation-media{padding:20px;background:#e8e5db;position:relative}.media-chip{position:absolute;z-index:2;margin:12px;background:rgba(18,47,46,.83);color:#fff;border-radius:999px;padding:7px 10px;font-size:10px}.focus-frame{height:430px;border-radius:12px;background:linear-gradient(150deg,#9ab3ab,#2b5f54);display:grid;place-items:center;color:rgba(255,255,255,.7);font-size:11px;letter-spacing:.16em}.segment-strip{display:flex;gap:3px;margin-top:12px}.segment{height:7px;border-radius:6px;flex:1;opacity:.82}.annotation-panel{padding:25px}.panel-head{display:flex;justify-content:space-between;font:700 14px Manrope;padding-bottom:20px;border-bottom:1px solid var(--line)}.status{font:500 10px DM Sans;color:var(--muted)}.status i{display:inline-block;width:6px;height:6px;background:#6ba779;border-radius:50%;margin-right:5px}.controlled{display:flex;gap:6px;flex-wrap:wrap;padding:17px 0}.controlled span{background:var(--ink);color:#fff;border-radius:5px;padding:7px 11px;font-size:10px}.field{padding:15px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:135px 1fr;gap:15px}.field b{font:700 11px Manrope;color:var(--teal)}.field p{font-size:12px;color:#566866;line-height:1.5}
.trajectory{background:#0c2224;color:#fff}.trajectory-head{text-align:center;max-width:780px;margin:auto}.trajectory-stage{max-width:1050px;margin:55px auto 0}#trajectory-canvas{width:100%;height:470px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:48px 48px}.trajectory-tabs{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:20px}.trajectory-tab{color:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.16);border-radius:999px;background:transparent;padding:8px 14px;cursor:pointer}.trajectory-tab.active{color:#112d2c;background:#d9eeaa}.trajectory-meta{display:flex;justify-content:center;gap:24px;color:rgba(255,255,255,.45);font-size:10px;margin-top:18px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#fff;margin-right:5px}.star{color:#e9a259}.pano-card{min-height:520px;border-radius:24px;background:#dfe9cf;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;overflow:hidden}.pano-sphere{width:380px;height:380px;border-radius:50%;margin:auto;position:relative;background:radial-gradient(circle at 35% 30%,#dceebc,#559480 50%,#153e3d 80%);box-shadow:inset -40px -30px 80px rgba(6,43,42,.3),0 30px 80px rgba(20,70,60,.2);display:grid;place-items:center;color:#fff;font:700 56px Manrope}.orbit{position:absolute;border:2px dashed #e8efa8;border-radius:50%;inset:18%;transform:rotate(-18deg)}.orbit-b{inset:6% 25%;transform:rotate(67deg);border-color:#fff}.pano-copy{padding:50px 60px 50px 10px}.tag{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:var(--teal)}.pano-copy h3{font:700 38px/1.15 Manrope;letter-spacing:-.04em;margin:17px 0}.pano-copy p{color:var(--muted);line-height:1.7}.pano-copy a{display:inline-flex;gap:15px;margin-top:28px;text-decoration:none;font-weight:600;font-size:13px}.sources{background:#e9a46f}.source-copy{text-align:center}.source-cards{display:grid;grid-template-columns:repeat(3,1fr);max-width:1180px;margin:55px auto 0;border-top:1px solid rgba(16,41,43,.3);border-bottom:1px solid rgba(16,41,43,.3)}.source-cards article{padding:34px;border-right:1px solid rgba(16,41,43,.3)}.source-cards article:last-child{border:0}.source-cards span{font-size:10px}.source-cards h3{font:700 24px Manrope;margin:30px 0 12px}.source-cards p{font-size:13px;line-height:1.6}.access{text-align:center}.access-box{background:#dcebb4;border-radius:25px;padding:90px 25px}.access-box p:not(.kicker){color:var(--muted);margin:24px auto;max-width:600px}.access h2{margin-top:14px}footer{padding:35px 4vw;background:#091f21;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px}footer p,footer>span{font-size:11px;color:rgba(255,255,255,.46)}.reveal{opacity:0;transform:translateY(24px);transition:.8s opacity,.8s transform}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.nav-links{display:none}.media-wall{grid-template-columns:repeat(3,1fr);inset:-10% -35%}.wall-column:nth-child(n+4){display:none}.numbers{grid-template-columns:repeat(2,1fr)}.metric:last-child{grid-column:span 2}.section{padding:85px 22px}.section-heading,.horizon,.annotation-demo,.pano-card{grid-template-columns:1fr}.section-heading{gap:25px}.data-card,.data-card:nth-child(1),.data-card:nth-child(5){grid-column:span 6}.horizon-copy{max-width:650px}.pano-copy{padding:40px}.source-cards{grid-template-columns:1fr}.source-cards article{border-right:0;border-bottom:1px solid rgba(16,41,43,.3)}}@media(max-width:600px){.nav{height:64px}.nav-cta{display:none}.hero{min-height:650px}.hero h1{font-size:clamp(21px,6.0vw,30px)}.hero-deck{font-size:15px}.numbers{grid-template-columns:1fr 1fr}.metric{padding:22px 8px}.data-card,.data-card:nth-child(1),.data-card:nth-child(5){grid-column:span 12}.card-media,.data-card:nth-child(1) .card-media,.data-card:nth-child(5) .card-media{height:260px}.focus-frame{height:300px}.field{grid-template-columns:1fr;gap:5px}.pano-sphere{width:270px;height:270px}.source-cards{margin-top:35px}footer{flex-direction:column;text-align:center}}

/* Real media and evidence galleries */
.wall-card video,.card-media video,.timeline-placeholder video,.focus-frame video{width:100%;height:100%;object-fit:cover;display:block}.wall-card video{position:absolute;inset:0}.wall-card:before{z-index:1}.wall-card span{z-index:2}.card-media video{position:absolute;inset:0}.timeline-placeholder:before{display:none}.focus-frame{overflow:hidden;display:block}.map-figure,.study-figure{display:block;position:relative;padding:10px;background:#fff;border:1px solid var(--line);border-radius:18px;text-decoration:none;box-shadow:0 20px 60px rgba(20,50,48,.08)}.map-figure img,.study-figure img{display:block;width:100%;border-radius:10px}.map-figure span,.study-figure span{position:absolute;right:24px;top:24px;background:rgba(9,31,33,.82);color:#fff;border-radius:999px;padding:8px 12px;font-size:10px}.study-switch,.reconstruction-tabs{display:flex;justify-content:center;gap:8px;margin-bottom:20px}.study-tab,.recon-tab{padding:10px 16px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);cursor:pointer}.study-tab.active,.recon-tab.active{background:var(--ink);color:#fff}.reconstruction{margin-top:70px}.reconstruction-head{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end;margin-bottom:25px}.reconstruction-head h3{font:700 34px/1.15 Manrope;margin-top:13px;letter-spacing:-.035em}.reconstruction-head p{color:var(--muted);line-height:1.7}.reconstruction img{display:block;width:100%;border-radius:14px;border:1px solid var(--line);background:#fff}@media(max-width:900px){.reconstruction-head{grid-template-columns:1fr}}

/* Dense, intentional gallery rhythm: two wide+small rows, then three-up rows. */
.dataset-grid{grid-auto-flow:row dense}.dataset-grid .data-card:nth-child(n){grid-column:span 4}.dataset-grid .data-card.wide{grid-column:span 8}.dataset-grid .data-card:nth-child(n) .card-media{height:260px}.dataset-grid .data-card.wide .card-media{height:350px}.data-card{cursor:pointer}.inspect{position:absolute;z-index:3;right:16px;top:16px;background:rgba(9,31,33,.75);color:#fff;border-radius:999px;padding:7px 10px;font-size:9px;letter-spacing:.08em;text-transform:uppercase;opacity:0;transform:translateY(-4px);transition:.2s}.data-card:hover .inspect,.data-card:focus .inspect{opacity:1;transform:none}.long-play{position:absolute;z-index:4;left:50%;top:50%;transform:translate(-50%,-50%);width:62px;height:62px;border:1px solid rgba(255,255,255,.65);border-radius:50%;background:rgba(9,31,33,.58);color:#fff;font-size:19px;cursor:pointer;backdrop-filter:blur(8px)}.long-play.playing{opacity:.15}.timeline-placeholder:hover .long-play.playing{opacity:1}

.case-modal{width:min(1180px,94vw);max-height:92vh;padding:0;border:0;border-radius:22px;background:#f4f2eb;color:var(--ink);box-shadow:0 30px 120px rgba(0,0,0,.42);overflow:auto}.case-modal::backdrop{background:rgba(5,24,24,.72);backdrop-filter:blur(8px)}.modal-close{position:sticky;float:right;z-index:5;right:20px;top:18px;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:24px;cursor:pointer}.modal-heading{padding:42px 46px 26px}.modal-heading h2{font:700 42px Manrope;letter-spacing:-.045em;margin:10px 0 6px}.modal-heading>p:last-child{font-size:11px;color:var(--muted)}.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:0 46px}.modal-visual>video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#071a1b;border-radius:13px}.pose-card{background:#102f31;color:#fff;border-radius:13px;margin-top:14px;padding:15px}.pose-head{display:flex;justify-content:space-between;font-size:11px;color:rgba(255,255,255,.65)}.pose-head b{color:#fff}#modal-pose-3d{display:block;width:100%;height:300px;margin-top:9px;overflow:hidden;border-radius:8px;background:#1a1a2e}#modal-pose-3d canvas{display:block;width:100%!important;height:100%!important}.pose-options{display:flex;align-items:center;gap:15px;flex-wrap:wrap;padding-top:10px;color:rgba(255,255,255,.65);font-size:9px}.pose-options label{display:flex;align-items:center;gap:5px}.pose-options input{accent-color:#d9eeaa}.pose-options button{margin-left:auto;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:transparent;color:#fff;padding:5px 10px;font-size:9px;cursor:pointer}.modal-attributes{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:10px}.modal-attributes span{background:#173c3b;color:#fff;border-radius:8px;padding:10px 12px;font-size:12px}.modal-attributes small{display:block;color:#9bc1b4;text-transform:uppercase;letter-spacing:.08em;font-size:8px;margin-bottom:3px}.modal-field{display:grid;grid-template-columns:130px 1fr;gap:12px;padding:13px 4px;border-top:1px solid var(--line)}.modal-field b{font:700 10px Manrope;color:var(--teal)}.modal-field p{font-size:11px;line-height:1.48;color:#425756}.modal-segments{padding:35px 46px 46px}.modal-segments h3{font:700 20px Manrope;margin-bottom:12px}.modal-segment{display:grid;grid-template-columns:220px 1fr;gap:16px;padding:12px 14px;border-top:1px solid var(--line);background:rgba(255,255,255,.45)}.modal-segment b{font-size:10px;color:var(--teal)}.modal-segment p{font-size:11px;line-height:1.45;color:#425756}@media(max-width:900px){.dataset-grid .data-card:nth-child(n),.dataset-grid .data-card.wide{grid-column:span 6}.dataset-grid .data-card:nth-child(n) .card-media{height:260px}.modal-grid{grid-template-columns:1fr}.modal-heading,.modal-segments{padding-left:24px;padding-right:24px}.modal-grid{padding:0 24px}}@media(max-width:600px){.dataset-grid .data-card:nth-child(n),.dataset-grid .data-card.wide{grid-column:span 12}.modal-field,.modal-segment{grid-template-columns:1fr}.modal-heading h2{font-size:30px}}
.pill-row{width:min(1100px,calc(100vw - 40px));margin-left:50%;transform:translateX(-50%)}.pill-break{flex-basis:100%;height:0;margin:0}

/* ---------------- attribute explorer ---------------- */
.attr-explorer{border:1px solid var(--line,#e4e0d8);border-radius:22px;background:#fff;
  padding:22px 24px 18px;box-shadow:0 18px 44px -34px rgba(24,32,36,.5)}
.attr-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.attr-tab{font:600 13.5px/1 'DM Sans',system-ui,sans-serif;letter-spacing:.01em;color:#5d6b71;
  background:#f2f4f2;border:1px solid transparent;border-radius:999px;padding:9px 16px;cursor:pointer;
  transition:background .18s ease,color .18s ease,border-color .18s ease}
.attr-tab:hover{background:#e7ebe8;color:#25383d}
.attr-tab.active{background:#25383d;color:#fff;border-color:#25383d}
.attr-chart{display:flex;flex-direction:column;gap:9px}
.attr-row{display:grid;grid-template-columns:minmax(96px,1.15fr) 4.2fr auto;align-items:center;gap:14px}
.attr-row.muted{opacity:.55}
.attr-name{font:500 13.5px/1.25 'DM Sans',system-ui,sans-serif;color:#3b4a50;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.attr-track{position:relative;height:15px;border-radius:8px;background:#f1f4f2;overflow:hidden}
.attr-track i{position:absolute;inset:0 auto 0 0;width:0;border-radius:8px;
  background:linear-gradient(90deg,#5793a2,#2f6f86);transition:width .55s cubic-bezier(.22,.9,.3,1);
  transition-delay:calc(var(--i,0)*26ms)}
.attr-track i.go{width:var(--w)}
.attr-val{font:600 13px/1 'Manrope',system-ui,sans-serif;color:#25383d;min-width:44px;text-align:right;
  font-variant-numeric:tabular-nums}
.attr-foot{margin:16px 0 0;font:400 12.5px/1.5 'DM Sans',system-ui,sans-serif;color:#7b878c}
.attr-empty{margin:0;color:#7b878c;font-size:13.5px}
.source-deck{margin:14px 0 0;max-width:34ch;font:400 14.5px/1.6 'DM Sans',system-ui,sans-serif;
  color:rgba(255,255,255,.72)}
@media (max-width:720px){
  .attr-row{grid-template-columns:minmax(80px,1.4fr) 3fr auto;gap:10px}
  .attr-name{font-size:12.5px}
}


/* ---------------- annotation case picker ---------------- */
.annotation-tabs{display:flex;flex-wrap:nowrap;gap:8px;margin:0 0 18px;overflow-x:auto;scrollbar-width:thin;padding:4px 0 9px;-webkit-overflow-scrolling:touch}
.annotation-tab{flex:0 0 auto;white-space:nowrap}
.annotation-tab{font:600 13px/1 'DM Sans',system-ui,sans-serif;color:#5d6b71;background:#f2f4f2;
  border:1px solid transparent;border-radius:999px;padding:9px 15px;cursor:pointer;
  transition:background .18s ease,color .18s ease,border-color .18s ease}
.annotation-tab:hover{background:#e7ebe8;color:#25383d}
.annotation-tab.active{background:#25383d;color:#fff;border-color:#25383d}

.annotation-demo{grid-template-columns:1.15fr .85fr}
.annotation-media .focus-frame{height:auto;aspect-ratio:16/9;max-width:640px}
.annotation-media .focus-frame video{object-fit:contain;background:#0b1c1d}
@media(max-width:900px){.annotation-media .focus-frame{max-width:none}}

/* ---------------- validation: four abreast + a real table ---------------- */
.sources .source-cards{grid-template-columns:repeat(4,1fr)}
.val-table-wrap{max-width:1180px;margin:46px auto 0;overflow-x:auto;
  border-radius:18px;border:1px solid rgba(255,255,255,.6);background:#fdfbf7;
  box-shadow:0 24px 60px -40px rgba(60,30,10,.45)}
.val-table{width:100%;min-width:760px;border-collapse:collapse;
  font:400 13.5px/1.5 'DM Sans',system-ui,sans-serif;color:#22383a}
.val-table caption{caption-side:top;text-align:left;padding:16px 20px 12px;
  font:600 12px/1.4 'Manrope',system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;
  color:#8a7256}
.val-table th,.val-table td{padding:12px 20px;text-align:left;vertical-align:top;
  border-top:1px solid #efe6da}
.val-table thead th{font:600 11.5px/1.3 'Manrope',system-ui,sans-serif;letter-spacing:.09em;
  text-transform:uppercase;color:#8a7256;border-top:none;
  border-bottom:1px solid #e3d6c5}
.val-table tbody th{font:600 13.5px/1.5 'DM Sans',system-ui,sans-serif;white-space:nowrap}
.val-table tbody tr:hover{background:#f7f1e8}
.val-table td b{font:700 15px/1.3 'Manrope',system-ui,sans-serif;font-variant-numeric:tabular-nums;
  color:#1f5c6e}
.val-table td:last-child{color:#7d8b8d;font-size:12.5px}
.val-table em{font-style:italic}
@media (max-width:1080px){.sources .source-cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.sources .source-cards{grid-template-columns:1fr}
  .val-table{font-size:12.5px}.val-table th,.val-table td{padding:10px 14px}}

/* ---------------- hero byline + link row ---------------- */
.hero-authors{margin:22px 0 4px;font:500 15px/1.9 'DM Sans',system-ui,sans-serif;
  color:rgba(255,255,255,.9)}
.hero-authors sup{font-size:11px;opacity:.75;padding-left:1px}
.hero-affil{margin:0 0 26px;font:400 13.5px/1.6 'DM Sans',system-ui,sans-serif;
  color:rgba(255,255,255,.62)}
.hero-affil sup{font-size:11px;opacity:.8}
.hero-links{flex-wrap:wrap;gap:10px}
.hero-links .button span{opacity:.72;font-weight:500;padding-left:6px}
@media (max-width:720px){.hero-authors{font-size:13.5px;line-height:1.8}.hero-affil{font-size:12.5px}.hero-corr{display:inline-block;margin-top:5px;font-size:11.5px;opacity:.72}}

/* the title states an arc, so mark both ends of it: the origin in the warm tone the
   panoramic/source sections already use, the destination in the existing accent */
.hero h1 i.from{font-style:normal;color:#f0b98a}

/* ---------------- hero link icons ---------------- */
.hero-links .button{display:inline-flex;align-items:center;gap:9px}
.hero-links .ico{width:17px;height:17px;flex:0 0 auto;fill:none;stroke:currentColor;
  stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.hero-links .ico.solid{fill:currentColor;stroke:none}
.hero-links .ico.emoji{font-size:16px;line-height:1;filter:saturate(1.05)}
