/* V7 readability pass: clearer hierarchy without changing interaction sizes. */
body{font-size:16px;line-height:1.6}
.nav{height:82px}
.nav nav{gap:38px}
.nav nav a{position:relative;color:#52645d;font-size:15px;font-weight:650;letter-spacing:.01em;padding:10px 2px}
.nav nav a:hover,.nav nav a:focus-visible{color:var(--green)}
.nav nav a::after{content:"";position:absolute;left:2px;right:2px;bottom:4px;height:2px;border-radius:2px;background:var(--green);transform:scaleX(0);transition:transform .18s ease}
.nav nav a:hover::after,.nav nav a:focus-visible::after{transform:scaleX(1)}
.eyebrow{font-size:12px;line-height:1.45}
.lead{font-size:19px;line-height:1.75;max-width:760px}
.safety{font-size:13px;line-height:1.55}
.passport-preview{transform:none}
.card-top{font-size:11px}
.preview-brand strong{font-size:17px}
.preview-brand small{font-size:13px;line-height:1.45}
.proof{font-size:14px}
.proof b,.asset-line{font-size:13px}
.stat{padding:25px 22px}
.stat span{font-size:12px;line-height:1.45}
.market-head{margin-bottom:30px}
.market-head p{font-size:16px;line-height:1.65;margin-bottom:0}
.filter-panel{gap:11px;padding:22px}
.filter-panel label,dialog form label{font-size:12px;line-height:1.4}
.filter-panel input,.filter-panel select,form input,form select,form textarea{font-size:15px;line-height:1.45;padding:12px}
.result-meta{font-size:14px;margin-bottom:14px}
.project-card{padding:25px}
.project-title h3{font-size:21px;line-height:1.25}
.project-title small{font-size:14px;line-height:1.45}
.tag{font-size:11px;line-height:1.3;padding:7px 10px}
.summary{font-size:15px;line-height:1.7;min-height:72px}
.metric b{font-size:18px}
.metric span{font-size:11px;line-height:1.35}
.evidence-copy{font-size:11px;line-height:1.4}
.steps article{padding:27px}
.steps h3{font-size:19px;line-height:1.3;margin:24px 0 10px}
.steps p,.trust-section p{font-size:15px;line-height:1.7}
.legend span{grid-template-columns:14px 112px 1fr;gap:8px;padding:17px}
.legend small{font-size:13px;line-height:1.45}
.official-identity p{font-size:15px;line-height:1.7}
.official-identity dt{font-size:12px}
.official-identity dd{font-size:14px;line-height:1.55}
.bem-loop p{font-size:15px;line-height:1.72}
.loop-flow span{font-size:14px;line-height:1.4}
.loop-flow small{font-size:12px;line-height:1.45}
.model-boundary{font-size:12px!important;line-height:1.65!important}
footer{font-size:13px;line-height:1.55}
.form-note{font-size:13px;line-height:1.6}
output{font-size:13px;line-height:1.55}
.passport-list li,.risk{font-size:14px;line-height:1.6;padding-top:13px;padding-bottom:13px}

@media(min-width:901px){
  .hero{min-height:600px;grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);gap:6vw;padding:76px 0 84px}
  .hero h1{font-size:clamp(48px,4.25vw,66px);line-height:1.1;max-width:790px;margin:20px 0 30px}
  .hero h1 em{margin-top:.1em}
}

@media(max-width:900px){
  .lead{font-size:18px}
  .summary{min-height:0}
}

@media(max-width:560px){
  body{font-size:15px}
  .nav{height:72px}
  .hero{padding:42px 0 54px}
  .hero h1{font-size:clamp(40px,12vw,50px);line-height:1.08;margin:16px 0 24px}
  .lead{font-size:17px;line-height:1.7}
  .market-head h2,.process-section h2,.trust-section h2{font-size:34px;line-height:1.15}
  .project-card{padding:21px}
  .summary{font-size:15px}
  #passport-body,dialog form{padding:34px 24px}
}
.tag.ownership {
  border-color: #d6b45f;
  color: #775816;
  background: #fff9e8;
}

.tag.ownership.verified {
  border-color: #5dc99b;
  color: #0c6243;
  background: #eaf8f1;
}

.passport-research{border-top:1px solid var(--line);margin-top:26px;padding-top:20px}
.passport-research>h3{margin:0 0 18px}
.research-timeline{position:relative;margin-left:8px}
.research-timeline:before{content:"";position:absolute;left:7px;top:7px;bottom:12px;width:2px;background:var(--line)}
.research-event{position:relative;display:grid;grid-template-columns:112px 1fr;gap:18px;padding:0 0 24px 26px}
.research-event:before{content:"";position:absolute;left:2px;top:5px;width:12px;height:12px;border-radius:50%;background:var(--gold);border:2px solid white;box-shadow:0 0 0 1px var(--line)}
.research-event.positive:before{background:#2ca16e}
.research-event.negative:before{background:#d66b57}
.research-event-date{font-size:11px;color:var(--muted);padding-top:2px}
.research-event h4{margin:0 0 7px}
.research-event p{margin:5px 0;color:var(--muted);font-size:12px;line-height:1.55}
.research-event-meta{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.research-event-meta span{background:#f0f3ef;border-radius:99px;padding:4px 7px;font-size:9px;font-weight:700}
.research-why{background:#edf5f0;border-radius:8px;padding:10px}
.research-sources{font-size:10px;color:var(--muted);margin-top:8px}
.research-sources a{color:var(--green);margin-left:6px}
.research-empty{color:var(--muted);font-size:12px}

@media(max-width:560px){
  .research-event{grid-template-columns:1fr;gap:6px}
}
