/* Layout and typography are shared with About APromoter. */
.virdla-page { min-width: 0; }
.virdla-page .about-hero,
.virdla-page .about-hero-inner { min-height: 0; }
.virdla-page .about-hero-copy { padding: 48px 0 42px; }
.virdla-page .about-hero-visual { min-height: 0; }
.virdla-page .about-band { padding-top: 48px; padding-bottom: 48px; }
.virdla-page .brand { color: inherit; font: bold 22px Georgia,serif; text-decoration:none; }
.virdla-page .brand span { color:#b5121b; }
.virdla-page .brand small { font:12px Arial,sans-serif; }
.virdla-page .about-nav { grid-template-columns:1fr auto; }
.virdla-page nav button { background:transparent; color:inherit; border:1px solid #888; padding:6px 12px; border-radius:4px; cursor:pointer; }
.virdla-page .actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin-top:28px; font-size:14px; }
.virdla-page .actions a { text-decoration:none; }
.virdla-page .actions a:not(.about-primary) { color:inherit; }
.architecture ol { list-style:none; padding:0; margin:40px 0 0; }
.architecture li { display:grid; grid-template-columns:170px 230px minmax(0,1fr); gap:20px; padding:24px 0; border-top:1px solid #454541; align-items:baseline; }
.architecture .step { color:#d85a60; font-size:11px; }
.architecture h3 { color:inherit; font:500 24px Georgia,serif; margin:0; }
.architecture p { color:#b8b8b1; font-size:14px; line-height:1.7; margin:0; }
.virdla-page .lead { margin:26px 0; font-size:17px; line-height:1.8; color:var(--muted); }
.protocol-grid { display:block; }
.cassette-figure { margin:0; padding:8px 0 28px; }
.cassette-figure svg { display:block; width:100%; max-width:720px; margin:auto; height:auto; }
.cassette-backbone { stroke:var(--line-soft, #b8b8b1); }
.cassette-candidate { stroke:#c33740; fill:#c33740; }
.cassette-reference { stroke:#5684ad; fill:#5684ad; }
.cassette-reporter { stroke:#8b8b7c; fill:#8b8b7c; }
.cassette-figure g[fill="none"] circle { fill:none; }
.cassette-label { fill:currentColor; font:18px Georgia,serif; }
.cassette-small { fill:var(--muted); font:13px Arial,sans-serif; }
.cassette-figure figcaption { color:var(--muted); font-size:13px; line-height:1.7; text-align:center; }
.assay-flow { margin:0 0 30px; padding:18px 0; }
.flow-heading { border-bottom:2px solid #b5121b; padding-bottom:14px; font:20px Georgia,serif; }
.flow-heading>span { display:block; margin-top:8px; color:var(--muted); font:13px Arial,sans-serif; }
.assay-flow ol { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; padding:24px 0; margin:0; }
.assay-flow li { position:relative; display:flex; flex-direction:column; gap:12px; }
.assay-flow li:not(:last-child)::after { content:'→'; position:absolute; right:-26px; top:35px; color:var(--muted); }
.assay-flow small { font:11px Arial,sans-serif; color:var(--muted); text-transform:uppercase; letter-spacing:.08em; }
.assay-flow strong { font:20px Georgia,serif; }
.assay-flow li>span,.assay-flow figcaption { font-size:13px; line-height:1.7; color:var(--muted); }
@media(max-width:600px) {
  .cassette-figure { overflow-x:auto; }
  .cassette-figure svg { min-width:560px; }
  .cassette-figure figcaption { text-align:left; }
  .assay-flow ol { grid-template-columns:1fr; gap:38px; }
  .assay-flow li:not(:last-child)::after { content:'↓'; left:0; right:auto; top:auto; bottom:-28px; }
}
.protocol-grid article { display:grid; grid-template-columns:80px 210px minmax(0,1fr); gap:24px; padding:26px 0; border-top:1px solid #cfcfca; }
.protocol-grid article>span { color:#b5121b; font-size:12px; }
.protocol-grid h3,.scope h3 { font:500 24px Georgia,serif; margin:0; }
.protocol-grid p,.scope p,.note { color:var(--muted); font-size:15px; line-height:1.8; }
.note { margin-top:30px; }
.scope { margin-top:34px; }
.performance-figure { margin:36px 0 24px; }
.performance-figure>h3 { margin:0; font:26px Georgia,serif; }
.performance-plots { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px; padding:24px 0; }
.performance-number { margin:0 0 24px; font:52px Georgia,serif; color:currentColor; }
.performance-number span { font:15px Arial,sans-serif; color:var(--muted); }
.performance-plot h4 { margin:0 0 22px; font:16px Arial,sans-serif; }
.performance-plot h4 span { display:block; margin-top:8px; font-size:12px; color:var(--muted); }
.performance-row { display:grid; grid-template-columns:72px minmax(0,1fr) 48px; gap:12px; align-items:center; margin:16px 0; font:13px Arial,sans-serif; }
.performance-row strong { text-align:right; font-variant-numeric:tabular-nums; }
.performance-track { height:22px; border-left:1px solid #888; }
.performance-track i { display:block; height:100%; background:#90908a; }
.performance-row.compact .performance-track i { background:#c33740; }
.performance-axis { display:flex; justify-content:space-between; margin:0 60px 0 84px; padding-top:8px; border-top:1px solid #8886; font:11px Arial,sans-serif; color:var(--muted); }
.performance-figure figcaption { font-size:12px; line-height:1.7; color:var(--muted); }
.signal-strip { display:flex; align-items:center; gap:16px; padding:24px 0; border-top:1px solid #8886; border-bottom:1px solid #8886; font:16px Georgia,serif; }
.signal-strip b { color:#c33740; font-size:22px; }
@media(max-width:650px) {
  .performance-plots { grid-template-columns:1fr; gap:32px; }
  .signal-strip { flex-direction:column; align-items:flex-start; gap:10px; }
  .signal-strip b { transform:rotate(90deg); }
}
.scope p { margin-top:16px; }
.virdla-page dl>div { display:grid; grid-template-columns:190px minmax(0,1fr); gap:26px; border-top:1px solid #cfcfca; padding:22px 0; }
.virdla-page dd { margin:0; color:var(--muted); line-height:1.8; }
.virdla-page .about-closing .actions { display:block; }
.virdla-page .about-closing .actions p { margin-top:18px; font-size:12px; color:#999; line-height:1.7; }
@media(max-width:900px) {
.virdla-page .about-hero { min-height:0; }
.virdla-page .about-nav { padding:20px; gap:12px; }
.virdla-page .about-nav nav { gap:12px; }
.virdla-page .about-hero-inner { grid-template-columns:1fr; width:100%; padding:56px 24px; min-height:0; }
.virdla-page .about-hero-copy { padding:0; }
.virdla-page .about-hero-visual { display:none; }
.virdla-page .about-hero h1 { font-size:80px; }
.virdla-page .about-deck { font-size:30px; }
.virdla-page .about-band { grid-template-columns:1fr; gap:24px; padding:50px 0; width:calc(100% - 48px); }
.virdla-page .about-platform { width:100%; padding:50px 24px; }
.architecture li,.protocol-grid article { grid-template-columns:1fr; gap:12px; }
.virdla-page .about-section-content h2 { font-size:34px; }
.virdla-page dl>div { grid-template-columns:1fr; gap:12px; }
.virdla-page .about-closing { flex-direction:column; align-items:flex-start; padding:50px 24px; gap:28px; }
.virdla-page .about-footer { display:flex; flex-wrap:wrap; padding:28px 24px; gap:20px; }
}
@media(max-width:520px) { .virdla-page nav>a { display:none; } }
