.demo-page {
  background: #f7f8f7;
  color: var(--ink);
}

.demo-page .site-header {
  color: var(--ink);
  background: rgba(255,255,255,.96);
  border-color: rgba(7,24,47,.1);
  backdrop-filter: blur(16px);
}

.demo-page .site-header.is-scrolled {
  background: rgba(255,255,255,.97);
}

.demo-page .nav-languages,
.demo-page .nav-languages a + a {
  border-color: rgba(7,24,47,.22);
}

.demo-page .primary-nav .is-current::after { width: 100%; background: var(--gold); }

.demo-hero {
  position: relative;
  min-height: min(920px, 100svh);
  padding: calc(var(--header-h) + clamp(5rem,10vw,9rem)) clamp(1.5rem,6vw,6.5rem) clamp(11rem,18vw,15rem);
  overflow: hidden;
  display: flex;
  align-items: center;
  background: #fff;
  border-bottom: 1px solid var(--line);
}

.demo-hero-grid {
  position: absolute;
  inset: var(--header-h) 0 0;
  opacity: .36;
  pointer-events: none;
  background-image: linear-gradient(rgba(7,24,47,.065) 1px, transparent 1px), linear-gradient(90deg, rgba(7,24,47,.065) 1px, transparent 1px);
  background-size: 84px 84px;
  mask-image: linear-gradient(115deg, #000 0%, transparent 76%);
}

.demo-hero::after {
  content: "R&D / 01";
  position: absolute;
  right: clamp(1.5rem,6vw,6.5rem);
  top: calc(var(--header-h) + 3rem);
  color: rgba(7,24,47,.22);
  font: 700 .68rem/1 "Courier New",monospace;
  letter-spacing: .16em;
}

.demo-hero-copy { position: relative; z-index: 1; width: min(1180px,100%); margin: 0 auto; }
.demo-status { width: fit-content; margin-bottom: clamp(2.8rem,5vw,4rem); display: inline-flex; border: 1px solid var(--navy); }
.demo-status span,.demo-status strong { padding: .65rem .9rem; font-size: .68rem; line-height: 1.2; letter-spacing: .11em; }
.demo-status span { color: var(--white); background: var(--navy); font: 700 .66rem/1.2 "Courier New",monospace; }
.demo-status strong { color: var(--navy); font-weight: 750; }
.demo-overline { margin: 0 0 1.35rem; color: var(--gold); font: 800 .78rem/1.4 "Courier New",monospace; letter-spacing: .16em; }
.demo-hero h1 { max-width: 1100px; margin: 0; font-size: clamp(3rem,6.6vw,6.7rem); line-height: 1.15; letter-spacing: -.012em; font-weight: 720; }
.demo-hero h1 em { color: var(--blue); font-style: normal; }
.demo-hero-copy > p:last-child { max-width: 760px; margin: 2.2rem 0 0 auto; color: #53606b; font-size: clamp(1rem,1.5vw,1.2rem); line-height: 2; }
.demo-hero-evidence { position: absolute; z-index: 2; inset: auto 0 0; display: grid; grid-template-columns: repeat(4,1fr); padding: 0 clamp(1.5rem,6vw,6.5rem); color: var(--white); background: var(--navy); }
.demo-hero-evidence div { min-height: 130px; padding: 1.6rem; display: grid; grid-template-columns: auto 1fr; align-content: center; column-gap: 1rem; border-left: 1px solid rgba(255,255,255,.14); }
.demo-hero-evidence div:last-child { border-right: 1px solid rgba(255,255,255,.14); }
.demo-hero-evidence span { grid-row: 1 / 3; color: var(--gold-light); font: 700 .68rem/1.3 "Courier New",monospace; }
.demo-hero-evidence strong { font-size: .9rem; letter-spacing: .05em; }
.demo-hero-evidence small { color: rgba(255,255,255,.56); font-size: .76rem; }

.rd-demo-catalog { padding: clamp(6rem,10vw,10rem) clamp(1.5rem,6vw,6.5rem); background: #eef0ef; }
.rd-demo-catalog-head { width: min(1180px,100%); margin: 0 auto clamp(4rem,7vw,6.5rem); }
.rd-demo-catalog-head .demo-section-kicker { margin-bottom: 2rem; }
.rd-demo-catalog-head h2 { max-width: 980px; margin: 0; color: var(--navy); font-size: clamp(2.65rem,5.2vw,5.4rem); line-height: 1.2; letter-spacing: -.01em; }
.rd-demo-catalog-head > p { max-width: 720px; margin: 1.7rem 0 0 auto; color: #56616c; font-size: 1rem; line-height: 1.9; }
.rd-demo-list { width: min(1380px,100%); margin: 0 auto; display: grid; gap: clamp(2.5rem,5vw,5rem); }
.rd-demo-card { display: grid; grid-template-columns: minmax(340px,.72fr) minmax(0,1.28fr); min-height: 560px; overflow: hidden; border: 1px solid rgba(7,24,47,.17); background: #fff; box-shadow: 0 28px 75px rgba(7,24,47,.08); }
.rd-demo-card-reverse { grid-template-columns: minmax(0,1.28fr) minmax(340px,.72fr); }
.rd-demo-card-reverse .rd-demo-copy { order: 2; }
.rd-demo-card-reverse .rd-demo-visual { order: 1; }

.product-demo-section { padding: clamp(6rem,10vw,10rem) clamp(1.5rem,6vw,6.5rem); background:#fff; }
.product-demo-head { width:min(1180px,100%); margin:0 auto 3.5rem; }
.product-demo-head h2 { margin:1.4rem 0 0; color:var(--navy); font-size:clamp(2.5rem,5vw,5rem); line-height:1.18; letter-spacing:-.012em; }
.product-demo-head > p { max-width:720px; margin:1.5rem 0 0 auto; color:#596571; font-size:1rem; line-height:1.8; }
.product-demo-grid { width:min(1380px,100%); margin:0 auto; display:grid; gap:2rem; }
.product-demo { overflow:hidden; border:1px solid rgba(7,24,47,.22); background:#f4f6f6; box-shadow:0 26px 70px rgba(7,24,47,.09); }
.product-demo-bar { min-height:58px; padding:0 1.25rem; display:flex; justify-content:space-between; align-items:center; gap:1rem; color:#fff; background:var(--navy); }
.product-demo-bar span { font-weight:800; letter-spacing:-.01em; }
.product-demo-bar strong { color:var(--gold-light); font:700 .66rem/1.4 "Courier New",monospace; letter-spacing:.09em; }
.product-demo-screen { min-height:390px; display:grid; grid-template-columns:190px 1fr; }
.demo-steps { padding:1.25rem; color:#c7d1da; background:#10223a; }
.demo-step { position:relative; padding:.78rem .4rem .78rem 1.8rem; font-size:.76rem; line-height:1.35; border-bottom:1px solid rgba(255,255,255,.1); }
.demo-step::before { content:""; position:absolute; left:.15rem; top:1rem; width:8px; height:8px; border:1px solid rgba(255,255,255,.38); border-radius:50%; }
.demo-step.is-active { color:#fff; font-weight:800; }
.demo-step.is-active::before { background:var(--gold); border-color:var(--gold); box-shadow:0 0 0 5px rgba(201,154,66,.16); }
.demo-step.is-complete { color:#81b7df; }
.demo-step.is-complete::before { background:#81b7df; border-color:#81b7df; }
.demo-workspace { padding:clamp(1.4rem,3vw,2.5rem); background:linear-gradient(135deg,#fff,#edf1f2); }
.demo-stage-meta { display:flex; align-items:center; gap:1rem; padding-bottom:1rem; border-bottom:1px solid rgba(7,24,47,.14); }
.demo-stage-index { color:var(--gold); font:800 .69rem/1 "Courier New",monospace; }
.demo-stage-title { color:var(--navy); font-size:1.2rem; }
.demo-stage-body { min-height:255px; padding-top:1.3rem; display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; align-content:center; }
.demo-ui-card { min-height:145px; padding:1rem; border:1px solid rgba(7,24,47,.14); background:#fff; box-shadow:0 12px 30px rgba(7,24,47,.06); animation:demoRise .42s ease both; }
.demo-ui-card:nth-child(2){animation-delay:.08s}.demo-ui-card:nth-child(3){animation-delay:.16s}
.demo-ui-card b { display:block; margin-bottom:.8rem; color:var(--navy); font-size:.8rem; }
.demo-ui-card p { margin:.35rem 0; color:#596571; font-size:.72rem; line-height:1.55; }
.demo-ui-card code { display:block; padding:.6rem; color:#9fd5bd; background:#0b2035; font:600 .65rem/1.6 "Courier New",monospace; white-space:normal; }
.demo-ui-card em { display:inline-block; margin-top:.65rem; padding:.25rem .45rem; color:#075b45; background:#dff4eb; font:700 .62rem/1.3 "Courier New",monospace; font-style:normal; }
.demo-ui-lines i { display:block; height:6px; margin:.55rem 0; background:#dce3e7; }
.demo-ui-lines i:nth-child(2){width:72%;background:#d6b870}.demo-ui-lines i:nth-child(3){width:88%}
.product-demo-controls { min-height:66px; padding:.8rem 1rem; display:grid; grid-template-columns:auto auto 1fr auto; gap:.7rem; align-items:center; background:#fff; border-top:1px solid rgba(7,24,47,.14); }
.product-demo-controls button { min-height:38px; padding:0 .9rem; color:var(--navy); background:#fff; border:1px solid rgba(7,24,47,.25); font-weight:800; cursor:pointer; }
.product-demo-controls button:hover,.product-demo-controls button:focus-visible { border-color:var(--gold); }
.demo-progress { height:4px; overflow:hidden; background:#dbe1e4; }
.demo-progress i { display:block; width:0; height:100%; background:var(--gold); }
.product-demo-controls time { color:#5a6670; font:700 .68rem/1 "Courier New",monospace; }
.product-demo-disclaimer { width:min(1380px,100%); margin:1.2rem auto 0; color:#6c7680; text-align:right; font:700 .62rem/1.5 "Courier New",monospace; letter-spacing:.06em; }
@keyframes demoRise { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:none} }
.demo-stage-body { display:block; min-height:330px; }
.demo-stage-body > * { animation:demoRise .38s ease both; }
.real-split,.document-workbench,.extraction-view { min-height:300px; display:grid; grid-template-columns:1.1fr .9fr; gap:1rem; }
.field-player { position:relative; min-height:280px; overflow:hidden; background:#07182a; }
.field-player img { width:100%; height:100%; object-fit:cover; filter:saturate(.72) contrast(1.05); }
.field-player::after { content:""; position:absolute; inset:0; background:linear-gradient(transparent 62%,rgba(7,24,47,.82)); }
.player-tag { position:absolute; z-index:2; top:.75rem; left:.75rem; padding:.38rem .55rem; color:#fff; background:#07182a; font:700 .62rem/1 "Courier New",monospace; }
.target-box { position:absolute; z-index:2; width:42%; height:32%; left:31%; top:42%; border:2px solid #d4ad55; box-shadow:0 0 0 1px rgba(255,255,255,.35) inset; animation:targetPulse 1.2s ease-in-out infinite alternate; }
@keyframes targetPulse { to { box-shadow:0 0 22px rgba(212,173,85,.5); } }
.player-time { position:absolute; z-index:3; left:.8rem; right:.8rem; bottom:.7rem; display:flex; gap:.55rem; align-items:center; color:#fff; font:700 .62rem/1 "Courier New",monospace; }
.player-time b { height:3px; flex:1; background:linear-gradient(90deg,var(--gold) 58%,rgba(255,255,255,.28) 58%); }
.caption-track { position:absolute; z-index:3; left:1rem; right:1rem; bottom:1rem; padding:.7rem; color:#fff; background:rgba(7,24,47,.9); font-size:.72rem; line-height:1.45; }
.caption-track b { margin-right:.55rem; color:var(--gold-light); }
.real-panel,.schema-tree,.doc-meta { padding:1rem; border:1px solid rgba(7,24,47,.14); background:#fff; }
.real-panel h4,.schema-tree h4,.doc-list h4,.doc-meta h4 { margin:0 0 1rem; color:var(--navy); font-size:.76rem; letter-spacing:.05em; }
.real-panel label { display:block; margin:.7rem 0; color:#5b6670; font-size:.68rem; }
.real-panel input { width:100%; margin-top:.28rem; padding:.55rem; border:1px solid #ced6dc; color:var(--navy); background:#f8faf9; font-size:.72rem; }
.sample-action { width:100%; min-height:36px; margin-top:.5rem; color:#fff; background:var(--navy); border:0; font-weight:800; }
.activity-log { margin-top:1rem; display:grid; gap:.35rem; }
.activity-log span { color:#42735f; font-size:.68rem; }.activity-log span::before { content:"✓"; margin-right:.4rem; }
.editor-toolbar { min-height:42px; padding:.7rem .85rem; display:flex; justify-content:space-between; gap:1rem; align-items:center; color:#fff; background:#0b2035; }
.editor-toolbar b { font-size:.7rem; }.editor-toolbar span { color:#b4c1cb; font:600 .6rem/1 "Courier New",monospace; }
.real-table { overflow:auto; border:1px solid #d5dde1; background:#fff; }
.real-table table { width:100%; border-collapse:collapse; min-width:520px; }
.real-table td { padding:.68rem .75rem; color:#56626d; border-bottom:1px solid #e3e8ea; font-size:.68rem; white-space:nowrap; }
.real-table thead td { color:#7a858e; background:#f3f6f6; font-size:.61rem; letter-spacing:.04em; text-transform:uppercase; }
.real-table tr.selected td { color:var(--navy); background:#eef5f8; box-shadow:inset 3px 0 #1c74a4; }
.real-table tr.warning td { background:#fff7e5; }.real-table tr.warning td:last-child { color:#9a6810; font-weight:800; }
.timeline-track { height:38px; margin-top:1rem; display:flex; gap:4px; }
.timeline-track i { display:block; background:#2b6e9a; }.timeline-track i:nth-child(2){background:#c99a42}.timeline-track i:nth-child(3){background:#4b8a72}
.code-layout { grid-template-columns:1fr 1fr; }
.real-code { min-height:258px; margin:0; padding:1rem; overflow:auto; color:#a7dcc6; background:#07182a; font:600 .7rem/1.65 "Courier New",monospace; white-space:pre-wrap; }
.schema-tree p { margin:.65rem 0; color:#4b7866; font-size:.72rem; }.schema-tree strong { display:block; margin-top:1.2rem; padding:.65rem; color:#fff; background:#2c765d; font:700 .64rem/1 "Courier New",monospace; }
.connection-log { padding:.65rem; color:#37725a; background:#e4f3ed; font-size:.63rem; }
.search-box { padding:.8rem 1rem; color:var(--navy); background:#fff; border:1px solid #ccd5db; font-size:.74rem; }.search-box span { float:right; color:#6b7680; }
.record-detail,.bom-footer { margin-top:1rem; padding:.85rem 1rem; display:flex; gap:1rem; align-items:center; color:#5e6973; background:#eaf0f2; font-size:.68rem; }.record-detail b{color:var(--navy)}.record-detail em{margin-left:auto;color:#277158;font-style:normal}
.document-workbench { grid-template-columns:.75fr 1.2fr .72fr; }
.doc-list { padding:.9rem; background:#0c2037; }.doc-list h4{color:#fff}.doc-list button{width:100%;padding:.7rem;margin:.2rem 0;text-align:left;color:#bdc8d1;background:transparent;border:1px solid rgba(255,255,255,.13);font-size:.67rem}.doc-list button.selected{color:#fff;border-color:var(--gold);background:rgba(201,154,66,.12)}
.drawing-sheet { position:relative; min-height:290px; padding:1rem; overflow:hidden; border:1px solid #d3d9dc; background:repeating-linear-gradient(0deg,#fff,#fff 23px,#edf1f2 24px); color:#7c8790; font:700 .62rem/1 "Courier New",monospace; }
.drawing-shape { position:absolute; width:55%; height:42%; left:23%; top:28%; border:2px solid #233b55; transform:skewY(-8deg); }.drawing-shape::before,.drawing-shape::after{content:"";position:absolute;background:#233b55}.drawing-shape::before{width:120%;height:1px;left:-10%;top:50%}.drawing-shape::after{height:125%;width:1px;left:50%;top:-12%}
.drawing-sheet>b{position:absolute;left:40%;bottom:18%;}.drawing-sheet>i{position:absolute;right:12%;top:45%;font-style:normal}.drawing-sheet>small{position:absolute;left:1rem;bottom:1rem;color:#263f59}
.doc-meta p { margin:.65rem 0;color:#596570;font-size:.68rem}.doc-meta em{display:inline-block;margin-top:.6rem;padding:.35rem;color:#8a661e;background:#f7ebce;font:700 .59rem/1 "Courier New",monospace;font-style:normal}
.extraction-view { grid-template-columns:.8fr 1.2fr; }.drawing-sheet.compact{min-height:300px}.drawing-sheet mark{position:absolute;padding:.25rem;background:#ffe390;font-size:.6rem}.mark-one{left:32%;bottom:20%}.mark-two{right:9%;top:18%}
.review-summary { padding:.9rem 1rem; display:flex; justify-content:space-between; color:#fff; background:#9a6c19; font-size:.7rem; }.review-actions{margin-top:1rem;display:flex;justify-content:flex-end;gap:.5rem}.review-actions button{padding:.6rem 1rem;border:1px solid #bcc6cd;background:#fff}.review-actions .primary{color:#fff;background:var(--navy);border-color:var(--navy)}
.bom-footer{justify-content:space-between}.bom-footer strong{color:#2d745d}
.gantt-head,.gantt-row { display:grid; grid-template-columns:180px repeat(6,1fr); min-height:42px; align-items:center; border-bottom:1px solid #dbe1e4; }.gantt-head span{color:#75808a;text-align:center;font-size:.62rem}.gantt-row b{padding-left:.8rem;color:var(--navy);font-size:.66rem}.gantt-row i{height:24px;display:grid;place-items:center;color:#fff;background:#36789f;font-size:.61rem;font-style:normal}.gantt-row i.gold{background:#bd8a2d}.gantt-row i.risk{background:#9d6c61}.schedule-note{margin-top:1rem;padding:.8rem;color:#596571;background:#eef2f3;font-size:.68rem}
.management-view { display:grid; grid-template-columns:repeat(3,1fr); gap:.8rem; }.kpi,.chart-card,.status-card{padding:1rem;border:1px solid #d5dde1;background:#fff}.kpi span{color:#68737d;font-size:.67rem}.kpi b{display:block;margin:.45rem 0;color:var(--navy);font-size:1.8rem}.kpi small{color:#73808a;font-size:.6rem}.chart-card{grid-column:span 2;min-height:150px}.chart-card>b,.status-card>b{color:var(--navy);font-size:.72rem}.bars{height:100px;display:flex;align-items:end;gap:10%;padding:1rem}.bars i{width:10%;background:#2e749d}.bars i:nth-child(even){background:var(--gold)}.status-card p{padding:.5rem 0;margin:0;border-bottom:1px solid #e2e7e9;color:#596570;font-size:.64rem}.status-card em{float:right;color:#277158;font-style:normal}.status-card strong{float:right;color:#9a6810}
.rd-demo-copy { padding: clamp(2.2rem,4.5vw,4.8rem); display: flex; flex-direction: column; justify-content: center; }
.rd-demo-status { width: fit-content; margin-bottom: 2.2rem; display: inline-flex; border: 1px solid var(--navy); }
.rd-demo-status span,.rd-demo-status strong { padding: .52rem .7rem; font: 700 .58rem/1.2 "Courier New",monospace; letter-spacing: .09em; }
.rd-demo-status span { color: #fff; background: var(--navy); }
.rd-demo-status strong { color: var(--navy); }
.rd-demo-index { color: var(--blue); font: 700 .65rem/1.3 "Courier New",monospace; letter-spacing: .11em; }
.rd-demo-eyebrow { margin: .8rem 0 0; color: var(--gold); font: 800 .66rem/1.55 "Courier New",monospace; letter-spacing: .1em; }
.rd-demo-copy h3 { margin: 1rem 0 1.4rem; color: var(--navy); font-size: clamp(2rem,3.5vw,3.9rem); line-height: 1.22; letter-spacing: -.008em; }
.rd-demo-copy-seymaturbino { padding-right: clamp(2.8rem,5.5vw,5.8rem); }
.rd-demo-copy-seymaturbino h3 { font-size: clamp(1.9rem,3vw,3.3rem); letter-spacing: -.025em; }
.rd-demo-copy h3 span { margin-top: .7rem; display: block; color: var(--blue); font-size: .48em; line-height: 1.5; letter-spacing: 0; }
.rd-demo-copy > p:not(.rd-demo-eyebrow) { margin: 0; color: #56616c; font-size: 1rem; line-height: 1.95; }
.rd-demo-copy > small { margin-top: 1.4rem; padding-top: 1rem; display: block; color: var(--navy); border-top: 1px solid var(--line); font: 700 .67rem/1.7 "Courier New",monospace; letter-spacing: .055em; }
.rd-demo-visual { position: relative; min-width: 0; margin: 0; display: grid; grid-template-rows: 1fr auto; color: #fff; background: var(--navy); }
.rd-demo-visual picture { min-height: 0; display: block; overflow: hidden; background: #07182f; }
.rd-demo-visual img { width: 100%; height: 100%; min-height: 500px; display: block; object-fit: contain; background: #07182f; }
.rd-demo-visual figcaption { padding: .86rem 1rem; color: rgba(255,255,255,.66); background: #07182f; font: 700 .58rem/1.5 "Courier New",monospace; letter-spacing: .1em; }

.demo-section { padding: clamp(6rem,10vw,10rem) clamp(1.5rem,6vw,6.5rem); }
.demo-section-kicker { margin-bottom: 3.2rem; display: flex; align-items: center; gap: 1rem; color: var(--blue); font: 800 .68rem/1.4 "Courier New",monospace; letter-spacing: .14em; }
.demo-section-kicker::before { content: ""; width: 34px; height: 1px; background: currentColor; }
.demo-section-kicker span { color: var(--gold); }
.demo-section-kicker.light { color: #8fb7e2; }
.demo-section-kicker.light span { color: var(--gold-light); }
.demo-index { color: var(--blue); font: 700 .68rem/1.4 "Courier New",monospace; letter-spacing: .12em; }

.evidence-grid,.tracking-grid,.challenge-layout { width: min(1380px,100%); margin: 0 auto; display: grid; grid-template-columns: minmax(0,1.18fr) minmax(360px,.82fr); gap: clamp(3rem,7vw,7.5rem); align-items: center; }
.evidence-figure,.tracking-figure,.challenge-figure { position: relative; margin: 0; background: var(--navy); box-shadow: 0 28px 70px rgba(7,24,47,.13); }
.evidence-figure img,.tracking-figure img,.challenge-figure img { width: 100%; height: auto; }
.evidence-figure figcaption,.tracking-figure figcaption,.challenge-figure figcaption { padding: .8rem 1rem; color: rgba(255,255,255,.65); background: var(--navy); font: 700 .59rem/1.5 "Courier New",monospace; letter-spacing: .12em; }
.evidence-copy h2,.tracking-copy h2,.challenge-copy h2 { margin: .9rem 0 1.5rem; color: var(--navy); font-size: clamp(2.35rem,4vw,4.5rem); line-height: 1.2; letter-spacing: -.01em; }
.evidence-copy > p,.tracking-copy > p,.challenge-copy > p { color: #56616c; font-size: 1rem; line-height: 1.95; }
.evidence-copy .evidence-lead,.challenge-copy .evidence-lead { color: var(--ink); font-size: clamp(1.08rem,1.6vw,1.3rem); font-weight: 650; }
.boundary-legend { margin: 2rem 0 0; border-top: 1px solid var(--line); }
.boundary-legend div { padding: 1rem 0; display: grid; grid-template-columns: minmax(160px,.8fr) 1fr; gap: 1rem; border-bottom: 1px solid var(--line); }
.boundary-legend dt { display: flex; align-items: center; gap: .75rem; color: var(--ink); font-weight: 700; font-size: .84rem; }
.boundary-legend dd { margin: 0; color: var(--muted); font-size: .82rem; }
.legend-line { width: 38px; height: 0; border-top: 3px solid; }
.legend-line.ai-line { border-color: #34dc8a; border-top-style: dashed; }
.legend-line.gt-line { border-color: #ed28c5; }
.ground-truth-note { margin-top: 1.4rem; padding: 1.2rem; display: grid; gap: .35rem; border-left: 3px solid var(--gold); background: #eef1f3; }
.ground-truth-note strong { color: var(--navy); font-size: .85rem; }
.ground-truth-note span { color: #58626c; font-size: .76rem; line-height: 1.7; }

.tracking-section { color: var(--white); background: var(--navy); }
.tracking-section .demo-section-kicker { color: #8fb7e2; }
.tracking-section .tracking-grid { grid-template-columns: minmax(340px,.72fr) minmax(0,1.28fr); }
.tracking-copy .demo-index { color: var(--gold-light); }
.tracking-copy h2 { color: var(--white); }
.tracking-copy > p { color: rgba(255,255,255,.7); }
.tracking-status { margin-top: 2.2rem; display: grid; border-top: 1px solid rgba(255,255,255,.18); }
.tracking-status span { padding: .82rem 0; display: flex; justify-content: space-between; gap: 1rem; color: rgba(255,255,255,.58); border-bottom: 1px solid rgba(255,255,255,.14); font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; }
.tracking-status b { color: #79d7ad; font-family: "Courier New",monospace; font-size: .65rem; }
.tracking-figure { overflow: hidden; box-shadow: 0 30px 70px rgba(0,0,0,.3); }
.tracking-figure picture::after { content: ""; position: absolute; inset: 0 0 2.9rem; pointer-events: none; background: linear-gradient(90deg, rgba(7,24,47,.24), transparent 45%); }
.tracking-overlay { position: absolute; inset: 1.1rem 1.1rem auto; display: flex; flex-wrap: wrap; gap: .45rem; }
.tracking-overlay span { padding: .42rem .58rem; color: var(--white); background: rgba(7,24,47,.82); border: 1px solid rgba(255,255,255,.24); font: 700 .56rem/1.2 "Courier New",monospace; letter-spacing: .1em; }

.challenge-section { background: #eef0ef; }
.challenge-layout { grid-template-columns: minmax(0,1fr) minmax(300px,.62fr); }
.challenge-principle { margin-top: 2.2rem; padding: 1.1rem 1.25rem; display: flex; justify-content: space-between; gap: 1rem; border: 1px solid rgba(7,24,47,.18); background: #fff; }
.challenge-principle span { color: var(--gold); font: 700 .62rem/1.5 "Courier New",monospace; letter-spacing: .1em; }
.challenge-principle strong { color: var(--navy); font-size: .78rem; text-align: right; }
.challenge-figure { border: 1px solid rgba(7,24,47,.16); box-shadow: none; }

.technology-flow { padding: clamp(5rem,8vw,8rem) clamp(1.5rem,6vw,6.5rem); color: var(--white); background: #111c29; }
.flow-head { width: min(1380px,100%); margin: 0 auto 3.5rem; display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(2rem,6vw,6rem); align-items: end; }
.flow-head .demo-section-kicker { margin: 0; }
.flow-head h2 { margin: 0; font-size: clamp(2.25rem,4.5vw,4.8rem); line-height: 1.25; letter-spacing: -.008em; }
.flow-list { width: min(1380px,100%); margin: 0 auto; padding: 0; display: grid; grid-template-columns: repeat(7,1fr); list-style: none; border: 1px solid rgba(255,255,255,.2); }
.flow-list li { position: relative; min-height: 150px; padding: 1.2rem; display: flex; flex-direction: column; justify-content: space-between; border-right: 1px solid rgba(255,255,255,.14); }
.flow-list li:last-child { border-right: 0; background: rgba(201,154,66,.14); }
.flow-list li:not(:last-child)::after { content: ""; position: absolute; right: -4px; top: 50%; width: 7px; height: 7px; border-top: 1px solid var(--gold-light); border-right: 1px solid var(--gold-light); transform: rotate(45deg); z-index: 1; }
.flow-list span { color: var(--gold-light); font: 700 .62rem/1 "Courier New",monospace; }
.flow-list strong { font-size: .76rem; line-height: 1.55; letter-spacing: .03em; }

.twin-section { padding: clamp(6rem,10vw,10rem) clamp(1.5rem,6vw,6.5rem); color: var(--white); background: var(--navy); }
.twin-heading { width: min(1120px,100%); margin: 0 auto 3.5rem; }
.twin-heading h2 { margin: 0; font-size: clamp(2.45rem,5vw,5.2rem); line-height: 1.2; letter-spacing: -.008em; }
.twin-heading > p { max-width: 760px; margin: 1.6rem 0 0 auto; color: rgba(255,255,255,.68); font-size: 1rem; line-height: 1.9; }
.twin-concept-figure { width: min(1380px,100%); margin: 0 auto 2rem; overflow: hidden; border: 1px solid rgba(255,255,255,.22); background: #081b32; box-shadow: 0 30px 80px rgba(0,0,0,.26); }
.twin-concept-figure picture,.twin-concept-figure img { display: block; width: 100%; }
.twin-concept-figure img { height: auto; aspect-ratio: 1672 / 941; object-fit: cover; }
.twin-concept-figure figcaption { padding: .9rem 1rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: rgba(255,255,255,.62); background: #081b32; font: 700 .59rem/1.5 "Courier New",monospace; letter-spacing: .1em; }
.twin-concept-figure figcaption span { color: var(--gold-light); }
.twin-concept-figure figcaption strong { font-size: inherit; text-align: right; }
.twin-console { width: min(1380px,100%); margin: 0 auto; display: grid; grid-template-columns: minmax(0,1.45fr) minmax(330px,.55fr); border: 1px solid rgba(255,255,255,.22); background: #081b32; box-shadow: 0 36px 90px rgba(0,0,0,.3); }
.twin-viewport { position: relative; min-height: 590px; overflow: hidden; border-right: 1px solid rgba(255,255,255,.18); background: radial-gradient(circle at 58% 36%, rgba(24,85,143,.28), transparent 34%), #071526; }
#twinCanvas { width: 100%; height: 100%; min-height: 590px; display: block; }
.twin-viewport-label { position: absolute; top: 1.2rem; left: 1.2rem; display: flex; align-items: center; gap: .7rem; font: 700 .58rem/1.3 "Courier New",monospace; letter-spacing: .11em; }
.twin-viewport-label span { color: var(--gold-light); }
.twin-viewport-label strong { padding: .42rem .55rem; color: rgba(255,255,255,.75); border: 1px solid rgba(255,255,255,.2); }
.axis-legend { position: absolute; right: 1rem; bottom: 1rem; display: flex; gap: .4rem; }
.axis-legend span { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 50%; color: var(--navy); font: 800 .62rem/1 "Courier New",monospace; }
.axis-x { background: #e4746a; }.axis-y { background: #66d7ad; }.axis-z { background: #7fb5e9; }
.twin-panel { padding: 1.5rem; }
.twin-panel-head { padding-bottom: 1.5rem; display: flex; justify-content: space-between; gap: 1rem; border-bottom: 1px solid rgba(255,255,255,.18); }
.twin-panel-head span,.twin-panel-head strong { font: 700 .58rem/1.35 "Courier New",monospace; letter-spacing: .1em; }
.twin-panel-head span { color: var(--gold-light); }.twin-panel-head strong { color: rgba(255,255,255,.48); }
.twin-panel dl { margin: 0; }
.twin-panel dl div { padding: 1.2rem 0; border-bottom: 1px solid rgba(255,255,255,.13); }
.twin-panel dt { color: rgba(255,255,255,.48); font-size: .68rem; letter-spacing: .08em; }
.twin-panel dt small { margin-left: .35rem; color: var(--gold-light); font: 700 .56rem/1.2 "Courier New",monospace; letter-spacing: .06em; }
.twin-panel dd { margin: .28rem 0 0; color: var(--white); font: 700 .82rem/1.55 "Courier New",monospace; overflow-wrap: anywhere; }
.state-sequence { margin: 1.4rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(2,1fr); gap: .42rem; list-style: none; }
.state-sequence li { padding: .65rem; color: rgba(255,255,255,.4); border: 1px solid rgba(255,255,255,.12); font: 700 .61rem/1.2 "Courier New",monospace; transition: .2s ease; }
.state-sequence li.is-active { color: var(--navy); background: var(--gold-light); border-color: var(--gold-light); }
.twin-control { width: 100%; min-height: 50px; margin-top: 1.4rem; color: var(--navy); background: var(--gold); border: 0; cursor: pointer; font-weight: 800; }
.twin-control:hover,.twin-control:focus-visible { background: var(--gold-light); }
.twin-fallback { position: absolute; inset: 0; padding: 2rem; display: grid; place-items: center; align-content: center; gap: 2rem; background: linear-gradient(rgba(7,24,47,.2) 1px, transparent 1px), linear-gradient(90deg, rgba(7,24,47,.2) 1px, transparent 1px), #dce4e8; background-size: 44px 44px; }
.twin-fallback[hidden] { display: none; }
.fallback-panel { width: min(360px,70%); aspect-ratio: 4 / 1; border: 2px solid var(--gold); background: rgba(201,154,66,.2); transform: perspective(500px) rotateX(55deg) rotateZ(-18deg); box-shadow: 0 18px 0 rgba(7,24,47,.15); }
.twin-fallback p { max-width: 420px; color: var(--navy); text-align: center; font-size: .82rem; }

.demo-closing { padding: clamp(6rem,10vw,10rem) clamp(1.5rem,6vw,6.5rem); text-align: center; background: #fff; }
.demo-closing > span { color: var(--gold); font: 800 .68rem/1.4 "Courier New",monospace; letter-spacing: .13em; }
.demo-closing h2 { max-width: 920px; margin: 1.3rem auto 1.5rem; color: var(--navy); font-size: clamp(2.35rem,4.7vw,5rem); line-height: 1.22; letter-spacing: -.008em; }
.demo-closing p { max-width: 780px; margin: 0 auto; color: #5b6670; font-size: 1rem; line-height: 1.9; }
.demo-closing-actions { margin-top: 2.4rem; display: flex; justify-content: center; flex-wrap: wrap; gap: .75rem; }
.button-outline-navy { color: var(--navy); border-color: rgba(7,24,47,.42); }
.button-outline-navy:hover { color: var(--white); background: var(--navy); }

@media (max-width: 1100px) {
  .rd-demo-card,.rd-demo-card-reverse { grid-template-columns: 1fr; }
  .rd-demo-card-reverse .rd-demo-copy { order: 1; }
  .rd-demo-card-reverse .rd-demo-visual { order: 2; }
  .rd-demo-visual img { min-height: 0; height: auto; }
  .evidence-grid,.tracking-grid,.challenge-layout { gap: 3rem; }
  .flow-list { grid-template-columns: repeat(4,1fr); }
  .flow-list li { border-bottom: 1px solid rgba(255,255,255,.14); }
  .flow-list li:nth-child(4) { border-right: 0; }
  .flow-list li:nth-child(4)::after { display: none; }
  .twin-console { grid-template-columns: 1fr; }
  .twin-viewport { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
  .twin-panel { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.4rem; }
  .twin-panel-head,.twin-control { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .demo-hero { min-height: auto; padding: calc(var(--header-h) + 4rem) 1.2rem 22rem; }
  .demo-hero::after { display: none; }
  .demo-status { margin-bottom: 2.4rem; }
  .demo-status span,.demo-status strong { padding: .58rem .7rem; font-size: .61rem; }
  .demo-overline { font-size: .67rem; }
  .demo-hero h1 { font-size: clamp(2.6rem,12vw,4rem); line-height: 1.18; }
  .demo-hero h1 br { display: none; }
  .demo-hero-copy > p:last-child { margin-top: 1.5rem; font-size: 1rem; }
  .demo-hero-evidence { padding: 0 1.2rem; grid-template-columns: 1fr; }
  .demo-hero-evidence div { min-height: 94px; padding: 1rem; border-right: 1px solid rgba(255,255,255,.14); }
  .rd-demo-catalog { padding: 5.3rem 1.2rem; }
  .rd-demo-catalog-head { margin-bottom: 3rem; }
  .rd-demo-catalog-head h2 { font-size: 2.65rem; }
  .rd-demo-catalog-head h2 br { display: none; }
  .rd-demo-catalog-head > p { margin-top: 1.2rem; }
  .rd-demo-card { min-height: 0; }
  .product-demo-section { padding:5rem 1rem; }
  .product-demo-head h2 { font-size:2.55rem; }
  .product-demo-head h2 br { display:none; }
  .product-demo-bar { align-items:flex-start; flex-direction:column; padding:1rem; }
  .product-demo-screen { grid-template-columns:1fr; }
  .demo-steps { padding:.7rem; display:grid; grid-template-columns:repeat(3,1fr); }
  .demo-step { padding:.55rem .3rem .55rem 1.1rem; font-size:.66rem; border:0; }
  .demo-step::before { left:0; top:.75rem; width:6px; height:6px; }
  .demo-stage-body { min-height:360px; grid-template-columns:1fr; }
  .real-split,.document-workbench,.extraction-view,.code-layout { grid-template-columns:1fr; }
  .field-player { min-height:220px; }
  .document-workbench { display:block; }
  .doc-list,.drawing-sheet,.doc-meta { margin-bottom:.7rem; }
  .management-view { grid-template-columns:1fr 1fr; }
  .kpi:last-of-type { grid-column:1 / -1; }
  .chart-card { grid-column:1 / -1; }
  .status-card { grid-column:1 / -1; }
  .gantt-head,.gantt-row { grid-template-columns:115px repeat(6,minmax(42px,1fr)); min-width:420px; }
  .schedule-view,.bom-view,.process-editor,.review-view,.library-view { overflow-x:auto; }
  .demo-ui-card { min-height:0; }
  .product-demo-controls { grid-template-columns:1fr 1fr; }
  .demo-progress { grid-column:1 / -1; order:3; }
  .product-demo-controls time { justify-self:end; grid-column:2; grid-row:3; transform:translateY(18px); }
  .rd-demo-copy { padding: 2rem 1.3rem 2.4rem; }
  .rd-demo-copy h3 { font-size: 2.25rem; }
  .rd-demo-copy-seymaturbino { padding-right: 2rem; }
  .rd-demo-copy-seymaturbino h3 { font-size: 2rem; }
  .rd-demo-status { margin-bottom: 1.7rem; }
  .rd-demo-status span,.rd-demo-status strong { font-size: .54rem; }
  .rd-demo-visual figcaption { font-size: .53rem; }
  .demo-section { padding: 5.3rem 1.2rem; }
  .demo-section-kicker { margin-bottom: 2rem; flex-wrap: wrap; font-size: .61rem; }
  .evidence-grid,.tracking-grid,.challenge-layout,.tracking-section .tracking-grid,.flow-head { grid-template-columns: 1fr; }
  .evidence-figure,.tracking-figure,.challenge-figure { order: 0; }
  .evidence-copy,.tracking-copy,.challenge-copy { order: 1; }
  .evidence-copy h2,.tracking-copy h2,.challenge-copy h2 { font-size: 2.45rem; }
  .boundary-legend div { grid-template-columns: 1fr; gap: .35rem; }
  .challenge-principle { align-items: flex-start; flex-direction: column; }
  .challenge-principle strong { text-align: left; }
  .technology-flow,.twin-section { padding: 5.3rem 1.2rem; }
  .flow-head { margin-bottom: 2.2rem; }
  .flow-head h2 { font-size: 2.5rem; }
  .flow-list { grid-template-columns: 1fr; }
  .flow-list li { min-height: 82px; padding: .9rem; flex-direction: row; align-items: center; border-right: 0; }
  .flow-list li:not(:last-child)::after { right: 1.1rem; top: auto; bottom: -4px; transform: rotate(135deg); }
  .flow-list li:nth-child(4)::after { display: block; }
  .flow-list strong { text-align: right; }
  .twin-heading h2 { font-size: 2.65rem; }
  .twin-heading h2 br { display: none; }
  .twin-heading > p { margin-top: 1.2rem; }
  .twin-concept-figure { margin-bottom: 1.2rem; }
  .twin-concept-figure figcaption { align-items: flex-start; flex-direction: column; }
  .twin-concept-figure figcaption strong { text-align: left; }
  .twin-viewport,#twinCanvas { min-height: 430px; }
  .twin-viewport-label { right: 1rem; align-items: flex-start; flex-direction: column; }
  .twin-panel { display: block; padding: 1.15rem; }
  .state-sequence { grid-template-columns: repeat(2,1fr); }
  .demo-closing { padding: 5.3rem 1.2rem; }
  .demo-closing h2 { font-size: 2.55rem; }
  .demo-closing-actions { display: grid; }
}

.en-page .rd-demo-copy h3 { letter-spacing: -.018em; }
.ja-page .demo-hero h1,.ja-page .rd-demo-catalog-head h2,.ja-page .rd-demo-copy h3,.ja-page .evidence-copy h2,.ja-page .tracking-copy h2,.ja-page .challenge-copy h2,.ja-page .flow-head h2,.ja-page .twin-heading h2,.ja-page .demo-closing h2 { letter-spacing: .015em; }

@media (prefers-reduced-motion: reduce) {
  .twin-control { display: none; }
}

/* EULER recorded Isaac Sim demonstrations */
.euler-recordings-section { padding:clamp(5rem,9vw,9rem) clamp(1.5rem,6vw,6.5rem); background:#eef0ef; scroll-margin-top:calc(var(--header-h) + 1.5rem); }
.euler-recordings-grid { width:min(1380px,100%); margin:0 auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; }
.euler-recording { min-width:0; overflow:hidden; border:1px solid rgba(7,24,47,.17); background:#fff; }
.euler-recording-meta { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1rem 1.25rem; background:var(--navy); color:var(--gold-light); font:700 .65rem/1.5 monospace; letter-spacing:.05em; }
.euler-recording video { display:block; width:100%; height:auto; aspect-ratio:16/9; background:#07182f; object-fit:contain; }
.euler-recording-copy { padding:clamp(1.3rem,3vw,2rem); }
.euler-recording-copy h3 { margin:0 0 1rem; color:var(--navy); font-size:clamp(1.3rem,2vw,1.8rem); line-height:1.5; }
.euler-recording-copy p { margin:0; color:#53606b; line-height:1.9; }
.euler-recording-copy a,.euler-recordings-link { display:inline-block; margin-top:1.3rem; color:var(--navy); text-decoration:underline; text-underline-offset:.3em; font-size:.9rem; }
.euler-recordings-note { width:min(1380px,100%); margin:1.5rem auto 0; color:#596571; font-size:.8rem; line-height:1.9; }
.euler-recordings-link:focus-visible,.euler-recording a:focus-visible,.euler-recording video:focus-visible { outline:3px solid var(--gold); outline-offset:4px; }
@media(max-width:850px) { .euler-recordings-grid { grid-template-columns:minmax(0,1fr); } }


/* Visible, touch-friendly playback speed controls. */
.euler-speed-control { display:flex; align-items:center; flex-wrap:wrap; gap:.75rem; padding:.9rem 1.25rem; border-bottom:1px solid rgba(7,24,47,.12); background:#f7f8f7; }
.euler-speed-label { color:var(--navy); font-size:.85rem; font-weight:700; }
.euler-speed-options { display:flex; flex-wrap:wrap; gap:.4rem; }
.euler-speed-options button { min-width:56px; min-height:44px; padding:.55rem .8rem; border:1px solid rgba(7,24,47,.22); border-radius:4px; background:#fff; color:var(--navy); font:inherit; font-size:.85rem; font-weight:700; cursor:pointer; }
.euler-speed-options button:hover { border-color:var(--navy); }
.euler-speed-options button[aria-pressed="true"] { color:#fff; background:var(--navy); border-color:var(--navy); box-shadow:inset 0 -3px 0 var(--gold); }
.euler-speed-options button:focus-visible { outline:3px solid var(--gold); outline-offset:3px; }
.euler-speed-status { margin-left:auto; color:#53606b; font-size:.8rem; font-variant-numeric:tabular-nums; }

/* Compact field-model introduction and anonymized motion evidence. */
.tycho-models-section { padding:clamp(4rem,7vw,7rem) clamp(1.5rem,6vw,6.5rem); background:#fff; scroll-margin-top:calc(var(--header-h) + 1.5rem); }
.tycho-models-grid { max-width:1180px; margin:0 auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; }
.tycho-model-card { min-width:0; padding:clamp(1.5rem,3vw,2.4rem); border:1px solid rgba(7,24,47,.17); border-top:3px solid var(--gold); background:#f7f8f7; }
.tycho-model-card > span { color:var(--blue); font-size:.75rem; font-weight:750; letter-spacing:.03em; }
.tycho-model-card h3 { margin:1rem 0; color:var(--navy); font-size:clamp(1.7rem,3vw,2.6rem); }
.tycho-model-card p { color:#53606b; line-height:1.9; }
.tycho-model-card small { display:block; margin-top:1.3rem; padding-top:1rem; border-top:1px solid rgba(7,24,47,.13); color:#53606b; font-size:.75rem; line-height:1.7; }
.tycho-motion-evidence { max-width:1000px; margin:3rem auto 0; }
.tycho-motion-evidence header h3 { color:var(--navy); font-size:clamp(1.4rem,2vw,1.9rem); }
.tycho-motion-evidence header p { max-width:840px; color:#53606b; line-height:1.9; }
.tycho-motion-video-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; margin-top:1.5rem; }
.tycho-motion-video { min-width:0; margin:0; overflow:hidden; border:1px solid rgba(7,24,47,.17); background:var(--navy); }
.tycho-motion-video video { width:100%; height:auto; aspect-ratio:64/49; display:block; background:var(--navy); }
.tycho-motion-video figcaption { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.5rem; padding:1rem; color:white; font-size:.75rem; line-height:1.6; }
.tycho-motion-video figcaption span { color:var(--gold-light); font-size:.65rem; }
.tycho-motion-note { margin-top:1rem; color:#596571; font-size:.75rem; line-height:1.9; }
@media(max-width:700px) { .tycho-models-grid,.tycho-motion-video-grid { grid-template-columns:minmax(0,1fr); } }

/* Unified technology demo hub: one destination per core technology. */
.demo-hub-hero { padding:calc(var(--header-h) + 4rem) max(1.5rem,calc((100vw - 1180px)/2)) 3.5rem; background:#fff; }
.demo-hub-kicker { margin:0 0 1.1rem; color:var(--blue); font-size:.7rem; line-height:1.8; font-weight:800; letter-spacing:.1em; }
.demo-hub-kicker span { margin-left:.7rem; padding:.25rem .5rem; color:var(--navy); border:1px solid rgba(7,24,47,.2); font-size:.65rem; }
.demo-hub-hero h1 { margin:0 0 1.5rem; color:var(--navy); font-size:clamp(2.6rem,5vw,4.8rem); line-height:1.2; letter-spacing:-.035em; }
.demo-hub-hero > p:last-child { max-width:760px; margin:0; color:#53606b; font-size:1rem; line-height:1.9; }
.demo-hub-nav { position:sticky; top:var(--header-h); z-index:40; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:0 max(1.5rem,calc((100vw - 1180px)/2)); background:var(--navy); box-shadow:0 8px 20px rgba(7,24,47,.08); }
.demo-hub-nav a { min-width:0; padding:1.1rem 1rem; border-right:1px solid rgba(255,255,255,.15); border-bottom:3px solid transparent; color:#fff; text-decoration:none; }
.demo-hub-nav a:first-child { border-left:1px solid rgba(255,255,255,.15); }
.demo-hub-nav strong { display:block; font-size:.9rem; line-height:1.5; }
.demo-hub-nav span { display:block; margin-top:.3rem; color:#c5ccd3; font-size:.72rem; line-height:1.5; }
.demo-hub-nav a:hover,.demo-hub-nav a[aria-current="location"] { border-bottom-color:var(--gold); background:rgba(255,255,255,.07); }
.demo-hub-nav a:focus-visible,.demo-hub-details summary:focus-visible { outline:3px solid var(--gold); outline-offset:-4px; }
.demo-hub-section { padding:clamp(3.5rem,6vw,5.5rem) max(1.5rem,calc((100vw - 1180px)/2)); background:#fff; scroll-margin-top:calc(var(--header-h) + 110px); }
.demo-hub-section-tint { background:#eef0ef; }
.demo-hub-section-head { max-width:920px; margin:0 0 2rem; }
.demo-hub-section-head h2 { margin:0; color:var(--navy); font-size:clamp(1.9rem,3.4vw,3rem); line-height:1.35; letter-spacing:-.025em; }
.demo-hub-section-head > p:last-child:not(.demo-hub-kicker) { max-width:790px; margin:1rem 0 0; color:#53606b; line-height:1.9; }
.demo-hub-model { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); gap:clamp(1.5rem,4vw,3.5rem); padding:2rem 0; border-top:1px solid rgba(7,24,47,.15); }
.demo-hub-model + .demo-hub-model { margin-top:1rem; }
.demo-hub-model-copy > span { color:var(--blue); font-size:.72rem; font-weight:750; }
.demo-hub-model-copy h3 { margin:.8rem 0 1rem; color:var(--navy); font-size:clamp(1.6rem,2.6vw,2.3rem); }
.demo-hub-model-copy p { color:#53606b; line-height:1.9; font-size:.95rem; }
.demo-hub-model-copy small { display:block; margin-top:1.3rem; color:#596571; font-size:.74rem; line-height:1.8; }
.demo-hub-model-media { min-width:0; }
.demo-hub-field-photo { margin:0; background:#f7f8f7; border:1px solid rgba(7,24,47,.14); }
.demo-hub-field-photo img { display:block; width:100%; height:auto; }
.demo-hub-field-photo figcaption,.demo-hub-proof-grid figcaption { padding:.8rem 1rem; color:#53606b; font-size:.72rem; line-height:1.7; }
.demo-hub-details { margin-top:1rem; border:1px solid rgba(7,24,47,.15); }
.demo-hub-details summary { padding:1rem; color:var(--navy); cursor:pointer; font-size:.85rem; font-weight:700; }
.demo-hub-proof-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; padding:0 1rem 1rem; }
.demo-hub-proof-grid figure { margin:0; min-width:0; background:#f7f8f7; }
.demo-hub-proof-grid img { width:100%; height:auto; }
.demo-hub-media-label { margin:0 0 1rem; font-size:.8rem; color:#53606b; }
.demo-hub-model .tycho-motion-video-grid { margin:0; }
.demo-hub-engine { margin:-.8rem 0 1.6rem; color:#596571; font-size:.75rem; line-height:1.8; }
.demo-hub-note { margin:1rem 0 0; color:#596571; font-size:.75rem; line-height:1.8; }
.demo-hub-closing { padding:3.5rem 1.5rem; text-align:center; background:#fff; border-top:1px solid rgba(7,24,47,.12); }
.demo-hub-closing h2 { margin:0; color:var(--navy); font-size:clamp(1.7rem,3vw,2.5rem); }
.demo-hub-closing p { max-width:700px; margin:1rem auto 1.5rem; color:#596571; line-height:1.9; }
.demo-hub-closing > div { display:flex; flex-wrap:wrap; justify-content:center; gap:.8rem; }
@media(max-width:850px) { .demo-hub-model { grid-template-columns:minmax(0,1fr); } .demo-hub-nav strong { font-size:.76rem; } .demo-hub-nav a { padding:1rem .6rem; } }
@media(max-width:600px) { .demo-hub-hero { padding-top:calc(var(--header-h) + 2.5rem); padding-bottom:2rem; } .demo-hub-nav { grid-template-columns:repeat(2,minmax(0,1fr)); padding:0 1rem; } .demo-hub-nav a { padding:.65rem .6rem; } .demo-hub-nav span { margin-top:.1rem; font-size:.65rem; } .demo-hub-section { scroll-margin-top:calc(var(--header-h) + 155px); } .demo-hub-proof-grid { grid-template-columns:minmax(0,1fr); } }
