/* Proofconsult V3 additions (staging 2026-10-14). Loaded AFTER the page's base styles on every page.
   1) navigation: Expertise dropdown, Services, Science, Ethics, About, Contact visible; Decision Review stays the CTA.
   2) components for the expertise hub, domain pages and services page. */

/* ---------- navigation ---------- */
/* Selectors are prefixed with .top / .panel so they win over each page's inline stylesheet whatever the load order. */
.top .wrap.bar{max-width:1280px}
.top .pri{white-space:nowrap;gap:0 1.3rem;font-size:.88rem}
.top .more.xp .drop{left:-1rem;right:auto;min-width:17rem}
.top .drop a.all{border-bottom:1px solid var(--r);font-weight:600;margin-bottom:.2rem}
.top .pri>.more.on summary{border-color:var(--g)}
@media(min-width:760px) and (max-width:979px){.top .hcta{display:inline-block}}
@media(min-width:980px) and (max-width:1199px){.top .pri{display:none}.top .mob{display:block}}
@media(min-width:1200px) and (max-width:1359px){.top .pri{gap:0 1.05rem;font-size:.84rem}.top .tg{display:none}.top .bar{gap:1rem}}
.top .panel a.sub{font-size:1.08rem;padding:.5rem 0 .5rem 1.3rem;min-height:44px;opacity:.92}
.top .panel a.main-m{color:var(--g)}
.top .panel a.hd{border-bottom:0;padding-bottom:.2rem}
.foot .wrap{align-items:center}
.foot .fl{display:flex;flex-wrap:wrap;gap:.3rem 1.2rem}

/* ---------- hub, cards, routes ---------- */
.grid7{display:grid;gap:1.4rem;margin-top:1.5rem}
@media(min-width:700px){.grid7{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.grid7{grid-template-columns:repeat(6,1fr)}.grid7>*{grid-column:span 2}.grid7>*:last-child:nth-child(7){grid-column:3/5}}
.card small.k{display:block;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gt);margin-bottom:.5rem}
.card .q{display:block;font-style:italic;color:var(--sl);margin-top:.7rem;font-size:.95rem}
.card .go{display:block;margin-top:.9rem;color:var(--n);font-size:.9rem;letter-spacing:.04em;border-bottom:1px solid var(--g);width:max-content}
.card p{max-width:none;margin:0}
.routes{display:grid;gap:1.6rem;margin-top:1.5rem}
@media(min-width:900px){.routes{grid-template-columns:repeat(3,1fr)}}
.routes .paper{margin:0;display:flex;flex-direction:column}
.routes .paper p{margin-bottom:.8rem}
.routes .paper .cta{margin-top:auto;padding-top:.6rem}
.routes .fee{font:1.25rem Baskerville,Georgia,serif;color:var(--n);border-top:1px solid var(--r);padding-top:.8rem;margin-top:.4rem}
.tblw{overflow-x:auto;margin-top:1.2rem;border:1px solid var(--r);background:var(--w)}
.tbl{width:100%;min-width:640px;border-collapse:collapse;font-size:.95rem}
.tbl th,.tbl td{text-align:left;vertical-align:top;padding:.85rem .9rem;border-top:1px solid var(--r)}
.tbl thead th{border-top:0;background:var(--iv);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gt);font-weight:400}
.tbl tbody th{font:1.02rem Baskerville,Georgia,serif;font-weight:400;color:var(--n);width:30%}
.layers{display:grid;gap:1.4rem;margin-top:1.5rem}
@media(min-width:900px){.layers{grid-template-columns:repeat(3,1fr)}}
.layers .paper{margin:0}
.layers .paper p{margin-bottom:.7rem}

/* ---------- evidence status labels ---------- */
.ev{display:inline-block;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;padding:.1rem .45rem;margin-right:.4rem;border:1px solid var(--g);color:var(--gt);background:var(--iv);vertical-align:.1em;white-space:nowrap}
.ev.h{border-style:dashed}
.evl{list-style:none}
.evl li{padding:.7rem 0;border-top:1px solid var(--r)}
.evl li:last-child{border-bottom:2px solid var(--g)}
.evl p{margin:.3rem 0 0;font-size:.95rem;color:var(--sl);max-width:none}

/* ---------- misc ---------- */
.paper .mech{display:block;margin-bottom:.45rem}
.paper .mech:last-child{margin-bottom:0}
.paper span.mech{font-size:1rem;color:var(--ink)}
.jump{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem .7rem;margin:1.2rem 0 0}
.jump a{display:inline-block;font-size:.85rem;letter-spacing:.04em;color:var(--n);text-decoration:none;border:1px solid var(--g);padding:.4rem .8rem;min-height:40px;background:var(--w)}
.jump a:hover{background:var(--iv)}
.lead-s .cols3 p,.lead-s .cols p{max-width:none}
.xlinks{display:grid;gap:1rem;margin-top:1.2rem}
@media(min-width:760px){.xlinks{grid-template-columns:repeat(3,1fr)}}
.xlinks a{display:block;text-decoration:none;color:#fff;border:1px solid rgba(198,161,88,.55);border-top:3px solid var(--g);padding:1rem;background:rgba(8,28,50,.4)}
.xlinks a b{display:block;font:1.2rem Baskerville,Georgia,serif;font-weight:400;margin-bottom:.3rem}
.xlinks a:hover{background:rgba(198,161,88,.18)}
.xlinks a span{font-size:.92rem;color:#D8DEE6}
.vz a{cursor:pointer;outline:none}
.vz a:hover circle,.vz a:focus circle{fill:rgba(198,161,88,.4);stroke:#fff}
.vz a:focus-visible{outline:3px solid #fff;outline-offset:4px}
.vz .hubc{fill:rgba(198,161,88,.14)}
.caveat{font-size:.9rem;color:var(--sl);max-width:42rem;border-left:2px solid var(--g);padding-left:.9rem}

/* Independent mobile browser QA correction (Charles, 2026-10-14): retain all header controls at 320-430px. */
@media (max-width:599px) {
  .top .wrap.bar { gap:.35rem; padding-left:.8rem; padding-right:.8rem; }
  .top .brand { gap:.45rem; margin-right:auto; min-width:0; flex:1 1 auto; }
  .top .brand img { width:40px; height:40px; flex:0 0 40px; }
  .top .brand .wm { font-size:.87rem; letter-spacing:.105em; white-space:nowrap; }
  .top .brand .tg { display:none; }
  .top .lang { flex:0 0 auto; }
  .top .lang a { min-width:34px; min-height:38px; font-size:.72rem; }
  .top .mob { flex:0 0 auto; }
  .top .mob summary { width:40px; height:40px; }
}
@media (max-width:359px) { .top .brand .wm {font-size:.78rem;letter-spacing:.06em} .top .brand img {width:36px;height:36px;flex-basis:36px} }

/* Keep decorative hero glow inside the mobile canvas; -10% right offset caused 39px page overflow. */
@media (max-width:599px) { .hero::before {right:0; width:60%;} }
