/* NLSYS PLG R29 — proof-led public-site layer. */
:root{
  --plg-blue:#1d4ed8;
  --plg-cyan:#0e9cb0;
  --plg-green:#15803d;
  --plg-amber:#a16207;
  --plg-red:#b42318;
  --plg-panel:#f7f9fd;
  --plg-dark:#0f172a;
}

/* Shared shell */
.footer-in{grid-template-columns:1.35fr repeat(3,minmax(0,1fr))!important}
.nav-start{font-weight:700!important;color:var(--signal-deep)!important}
.nav-register{display:inline-flex!important;align-items:center;padding:.56rem .86rem;border-radius:8px;background:var(--signal-deep);color:#fff!important;font-weight:700;box-shadow:0 7px 18px -9px rgba(29,78,216,.7)}
.nav-register:hover{background:#1a45c0;color:#fff!important;text-decoration:none!important}
.nav-signin{white-space:nowrap}
.v7-context-trail{background:rgba(246,248,252,.78)}
.plg-page-bridge{display:flex;flex-wrap:wrap;gap:.65rem;margin:1.2rem 0 1.7rem}
.plg-left-actions{justify-content:flex-start!important;margin-left:0!important}
.plg-text-link{display:inline-block;margin-top:1rem;font-family:var(--font-mono);font-size:var(--fs-caption)!important;font-weight:600}

/* Homepage engine */
.plg-home-hero{padding-bottom:3rem!important}
.plg-home-hero h1{max-width:19ch!important}
.plg-engine{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);gap:.7rem;align-items:stretch;margin:clamp(2.4rem,5vw,4rem) auto 0;max-width:1180px;text-align:left}
.plg-engine-stage{min-width:0;display:flex;flex-direction:column;padding:1.05rem;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.94);box-shadow:var(--shadow-sm)}
.plg-engine-stage strong{font-family:var(--font-display);font-size:1rem;margin:.35rem 0 .55rem}
.plg-stage-k,.plg-stage-foot{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;color:var(--signal);text-transform:uppercase}
.plg-stage-foot{letter-spacing:0;color:var(--ink-dim);text-transform:none;margin-top:auto}
.plg-engine-arrow{align-self:center;font-family:var(--font-mono);color:var(--signal);font-weight:700}
.plg-engine svg{width:100%;height:auto;overflow:visible}
.plg-grid{stroke:#e7ebf3;stroke-width:1;fill:none}
.plg-wave{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:3}
.plg-wave.raw{stroke:#94a3b8}
.plg-wave.clean{stroke:var(--signal)}
.plg-wave.control{stroke:var(--plg-green)}
.plg-target{stroke:#94a3b8;stroke-width:2;stroke-dasharray:6 5;fill:none}
.plg-model-lines{display:grid;gap:.48rem;margin:.55rem 0 1rem}
.plg-model-lines i{display:block;width:var(--w);height:.48rem;border-radius:99px;background:linear-gradient(90deg,var(--signal),var(--signal-2));opacity:.8}

/* Cards, proof, pathways */
.plg-job-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.15rem}
.plg-job-card,.plg-try-card,.plg-boundary-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:16px;background:#fff;padding:clamp(1.35rem,2.5vw,1.8rem);box-shadow:var(--shadow-sm)}
.plg-job-card.featured,.plg-try-card.featured,.plg-model-grid article.featured{border:2px solid var(--signal);box-shadow:0 24px 56px -34px rgba(37,99,235,.55)}
.plg-job-card h3,.plg-try-card h2,.plg-boundary-card h3{margin:.7rem 0 .55rem}
.plg-job-card p,.plg-try-card p,.plg-boundary-card p{color:var(--ink-soft)}
.plg-job-card ul,.plg-free-run-copy ul,.plg-check-list{padding:0;margin:1rem 0 1.35rem;list-style:none;display:grid;gap:.5rem}
.plg-job-card li,.plg-free-run-copy li,.plg-check-list li{position:relative;padding-left:1.25rem}
.plg-job-card li::before,.plg-free-run-copy li::before,.plg-check-list li::before{content:'+';position:absolute;left:0;color:var(--signal);font-family:var(--font-mono);font-weight:700}
.plg-chip{display:inline-flex;align-items:center;width:max-content;font-family:var(--font-mono);font-size:.73rem;letter-spacing:.12em;text-transform:uppercase;color:var(--signal);border:1px solid rgba(37,99,235,.22);background:rgba(37,99,235,.06);padding:.28rem .58rem;border-radius:999px}
.plg-card-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:auto}
.plg-card-actions .btn{flex:1 1 9rem;justify-content:center}
.plg-evidence-section{background:linear-gradient(180deg,#f7f9fd,#fff)}
.plg-proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.plg-proof-card{display:flex;flex-direction:column;min-width:0;padding:1.55rem;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:var(--shadow-sm);color:var(--ink)}
.plg-proof-card:hover{text-decoration:none;border-color:var(--signal);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.plg-proof-k{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;color:var(--signal)}
.plg-proof-card strong{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.1rem);line-height:1;color:var(--ink);margin:.9rem 0 .7rem}
.plg-proof-card p{color:var(--ink-soft);margin:0 0 1rem}
.plg-proof-go{font-family:var(--font-mono);font-size:.76rem;color:var(--signal);margin-top:auto}
.plg-evidence-actions,.plg-section-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem;margin-top:1.4rem}
.plg-section-actions{justify-content:flex-start}
.plg-loop{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;counter-reset:loop}
.plg-loop li{position:relative;border:1px solid var(--line);border-radius:14px;background:#fff;padding:1.25rem;min-width:0}
.plg-loop li:not(:last-child)::after{content:'→';position:absolute;right:-.68rem;top:50%;transform:translateY(-50%);z-index:2;width:1.35rem;height:1.35rem;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--signal);font-family:var(--font-mono);font-weight:700}
.plg-loop span{font-family:var(--font-mono);font-size:.72rem;color:var(--signal)}
.plg-loop strong{display:block;font-family:var(--font-display);font-size:1rem;line-height:1.35;margin:.65rem 0 .45rem}
.plg-loop p{font-size:.92rem!important;color:var(--ink-soft);margin:0}
.plg-split{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(1.5rem,4vw,3rem);align-items:center}
.plg-artifact-stack{display:grid;gap:.65rem;padding:1rem;border:1px solid var(--line);border-radius:16px;background:#111827;box-shadow:var(--shadow-lg)}
.plg-artifact-stack div{display:grid;grid-template-columns:minmax(9rem,.45fr) 1fr;gap:1rem;padding:.78rem .85rem;border:1px solid rgba(255,255,255,.09);border-radius:9px;background:rgba(255,255,255,.04)}
.plg-artifact-stack b{font-family:var(--font-mono);font-size:.78rem;color:#93c5fd}
.plg-artifact-stack span{font-size:.9rem;color:#dbe4f0}

/* Try page */
.plg-try-section{padding-top:1rem}
.plg-try-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}
.plg-try-card dl{display:grid;gap:0;margin:1rem 0 1.3rem;border-top:1px solid var(--line)}
.plg-try-card dl div{display:grid;grid-template-columns:7rem 1fr;gap:1rem;padding:.65rem 0;border-bottom:1px solid var(--line)}
.plg-try-card dt{font-family:var(--font-mono);font-size:.75rem;color:var(--ink-dim)}
.plg-try-card dd{margin:0;color:var(--ink)}
.plg-try-card .btn{justify-content:center}

/* Contracts and NDC */
.plg-contract-section{padding-top:1.8rem}
.plg-contract-grid{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);gap:1rem;align-items:center;border:1px solid var(--line);border-radius:16px;background:#fff;padding:1.2rem;box-shadow:var(--shadow-sm)}
.plg-contract-grid>div:not(.plg-contract-arrow){padding:1rem}
.plg-contract-grid span{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;color:var(--signal)}
.plg-contract-grid h2{font-size:1.05rem!important;margin:.55rem 0 .45rem}
.plg-contract-grid p{font-size:.92rem!important;color:var(--ink-soft);margin:0}
.plg-contract-arrow{font-family:var(--font-mono);color:var(--signal);font-weight:700}
.plg-free-run{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:1.25rem;align-items:stretch}
.plg-free-run-copy,.plg-free-run-chart{border:1px solid var(--line);border-radius:16px;background:#fff;padding:1.35rem;box-shadow:var(--shadow-sm)}
.plg-free-run-copy h3{margin:.7rem 0 .55rem}
.plg-free-run-copy p{color:var(--ink-soft)}
.plg-free-run-chart{background:#fbfcff}
.plg-free-run-chart svg{width:100%;height:auto;margin-top:.4rem}
.plg-history-zone{fill:rgba(37,99,235,.035)}
.plg-truth,.plg-pred{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.plg-truth{stroke:#94a3b8}
.plg-pred{stroke:var(--signal)}
.plg-split-line{stroke:#64748b;stroke-width:2;stroke-dasharray:8 7}
.plg-chart-labels,.plg-chart-key{display:flex;justify-content:space-between;gap:1rem;font-family:var(--font-mono);font-size:.72rem;color:var(--ink-dim)}
.plg-chart-key{justify-content:flex-start;margin-top:.35rem}
.plg-chart-key span{display:inline-flex;align-items:center;gap:.35rem}
.plg-chart-key i{width:1.1rem;height:3px;border-radius:3px}
.plg-chart-key i.truth{background:#94a3b8}.plg-chart-key i.pred{background:var(--signal)}
.plg-score-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.plg-score-row div{padding:1.25rem;border-left:3px solid var(--signal);background:#fff}
.plg-score-row strong{display:block;font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.5rem);line-height:1.05}
.plg-score-row span{font-family:var(--font-mono);font-size:.73rem;color:var(--ink-dim)}
.plg-six{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.plg-artifact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.plg-artifact-grid article{padding:1.35rem;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:var(--shadow-sm)}
.plg-artifact-grid h3{font-size:1rem!important;margin-bottom:.45rem}
.plg-artifact-grid p{color:var(--ink-soft);margin:0}
.plg-boundary-card{background:#f8fafc}
.plg-price-box{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) auto;gap:1.4rem;align-items:center;padding:1.6rem;border:2px solid var(--signal);border-radius:16px;background:#fff;box-shadow:0 24px 56px -36px rgba(37,99,235,.55)}
.plg-price-box strong{display:block;font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);line-height:1.05;margin:.7rem 0 .4rem}
.plg-price-box p{color:var(--ink-soft);margin:0}
.plg-price-box ul{columns:2;column-gap:2rem;margin:0;padding-left:1.15rem}
.plg-price-box li{break-inside:avoid;margin:.3rem 0}

/* Battery */
.plg-route-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.plg-route-grid a{display:flex;flex-direction:column;min-width:0;padding:1.35rem;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);box-shadow:var(--shadow-sm)}
.plg-route-grid a:hover{text-decoration:none;border-color:var(--signal);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.plg-route-grid span{font-family:var(--font-mono);font-size:.72rem;color:var(--signal);letter-spacing:.08em}
.plg-route-grid h3{font-size:1rem!important;margin:.7rem 0 .45rem}
.plg-route-grid p{color:var(--ink-soft);margin:0 0 1rem}
.plg-route-grid b{font-family:var(--font-mono);font-size:.75rem;color:var(--signal);margin-top:auto}
.plg-local-check{background:#f8fafc}
.plg-check-panel{border:1px solid var(--line);border-radius:16px;background:#fff;padding:1.4rem;box-shadow:var(--shadow-md)}
.plg-check-row{display:grid;grid-template-columns:minmax(7rem,.45fr) 1fr;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--line)}
.plg-check-row b{font-family:var(--font-mono);font-size:.78rem;color:var(--ink)}
.plg-check-row span{color:var(--ink-soft)}
.plg-check-panel small{display:block;color:var(--ink-dim);margin-top:1rem;line-height:1.55}
.plg-battery-proof{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.plg-battery-proof>div{padding:1.25rem;border:1px solid var(--line);border-radius:15px;background:#fff}
.plg-battery-proof svg{width:100%;margin:.7rem 0}
.plg-battery-proof p{color:var(--ink-soft);margin:0}
.plg-model-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.plg-model-grid article{display:flex;flex-direction:column;padding:1.4rem;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:var(--shadow-sm)}
.plg-model-grid article>span{font-family:var(--font-mono);font-size:.73rem;color:var(--signal);letter-spacing:.06em}
.plg-model-grid h3{font-size:1rem!important;margin:.65rem 0 .45rem}
.plg-model-grid p{color:var(--ink-soft)}
.plg-model-grid .btn{margin-top:auto;justify-content:center}

/* Existing page enhancements */
.plg-inline-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:2rem auto 0;max-width:960px;text-align:left}
.plg-inline-proof>div{padding:1rem;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.94)}
.plg-inline-proof span,.plg-inline-proof small{display:block;font-family:var(--font-mono);font-size:.7rem;color:var(--ink-dim)}
.plg-inline-proof strong{display:block;font-family:var(--font-display);font-size:1.35rem;margin:.35rem 0}
.plg-control-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:2rem auto 0;max-width:1050px;text-align:left}
.plg-control-modes article{padding:1rem;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.96)}
.plg-control-modes h3{font-size:1rem!important;margin:.6rem 0 .4rem}
.plg-control-modes p{font-size:.9rem!important;color:var(--ink-soft);margin:0}
.plg-pricing-path{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.7rem 1rem;margin:2rem auto 0;padding:1rem;border:1px solid var(--line);border-radius:14px;background:#fff;max-width:1020px}
.plg-pricing-path span{font-family:var(--font-mono);font-size:.76rem;color:var(--ink-soft)}
.plg-pricing-path b{color:var(--ink)}
.plg-pricing-path i{font-style:normal;color:var(--signal)}

/* Keep old self-contained evidence pages aligned with the new shell. */
body:not(.v7-site) .footer-in{grid-template-columns:1.35fr repeat(3,minmax(0,1fr))!important}
body:not(.v7-site) .plg-page-bridge{max-width:var(--maxw);padding-inline:var(--pad-x)}

@media(max-width:1120px){
  .nav-links{gap:.85rem!important}
  .nav-links a,.nav-dd-btn{font-size:.9rem!important}
  .nav-register{padding:.5rem .7rem}
  .plg-engine{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
  .plg-engine-arrow{display:none}
  .plg-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .plg-loop{grid-template-columns:repeat(3,minmax(0,1fr))}
  .plg-loop li::after{display:none}
}
@media(max-width:900px){
  .footer-in{grid-template-columns:1fr 1fr!important}
  .plg-job-grid,.plg-proof-grid,.plg-artifact-grid,.plg-model-grid,.plg-control-modes,.plg-inline-proof{grid-template-columns:1fr!important}
  .plg-split,.plg-free-run{grid-template-columns:1fr}
  .plg-contract-grid{grid-template-columns:1fr}
  .plg-contract-arrow{transform:rotate(90deg);justify-self:center}
  .plg-score-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .plg-price-box{grid-template-columns:1fr}
  .plg-price-box ul{columns:1}
  .plg-try-grid,.plg-battery-proof{grid-template-columns:1fr}
  .plg-six{grid-template-columns:1fr!important}
}
@media(max-width:860px){
  .nav.nav-open .nav-links{max-height:calc(100vh - 76px);overflow:auto}
  .nav-register{display:flex!important}
}
@media(max-width:640px){
  .footer-in{grid-template-columns:1fr!important}
  .plg-engine,.plg-route-grid,.plg-loop,.plg-score-row{grid-template-columns:1fr}
  .plg-try-card dl div,.plg-check-row{grid-template-columns:1fr;gap:.2rem}
  .plg-artifact-stack div{grid-template-columns:1fr;gap:.25rem}
  .plg-card-actions,.plg-evidence-actions,.plg-section-actions{align-items:stretch}
  .plg-card-actions .btn,.plg-evidence-actions .btn,.plg-section-actions .btn{width:100%;flex:1 1 100%;justify-content:center}
}

.plg-anchor{display:block;position:relative;top:-6rem;visibility:hidden}
