main { width: min(calc(100% - 3rem), 1120px); margin: 0 auto; padding: clamp(4rem, 9vw, 8rem) 0; }
.hero { max-width: 770px; margin-bottom: clamp(3.5rem, 8vw, 6rem); }
.hero h1 { margin: 0 0 1.25rem; color: var(--text); font: 400 clamp(3rem, 6vw, 6rem)/.96 var(--font-brand); letter-spacing: -.05em; }
.hero h1 span { color: var(--amber); }
.hero-sub { max-width: 62ch; margin: 0; color: var(--text-muted); font-size: clamp(1.05rem, 1.5vw, 1.2rem); line-height: 1.65; }
.disclosure-note { max-width: 820px; margin: 0 0 clamp(4rem, 8vw, 6rem); padding: 1.25rem 1.5rem; border-left: 3px solid var(--amber); background: var(--surface); color: var(--text-muted); font-size: 1rem; line-height: 1.65; }
.disclosure-note strong { color: var(--amber); font: .72rem var(--font-mono); letter-spacing: .07em; text-transform: uppercase; }
.section-label { margin: 0; padding-bottom: .9rem; border-bottom: 1px solid var(--border); color: var(--amber); font: .72rem/1.4 var(--font-mono); letter-spacing: .09em; text-transform: uppercase; }
.research-grid { margin-bottom: clamp(4rem, 8vw, 6rem); border-bottom: 1px solid var(--border); }
.research-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem 2rem; padding: clamp(2rem, 4vw, 3.25rem) 0; border-top: 1px solid var(--border); }
.research-card:first-child { border-top: 0; }
.card-meta { display: flex; grid-column: 1 / -1; align-items: center; flex-wrap: wrap; gap: .45rem .8rem; color: var(--technical); font: .7rem/1.4 var(--font-mono); letter-spacing: .06em; }
.card-date { color: var(--text-muted); }
.card-tag, .card-status { padding: .18rem .45rem; border: 1px solid var(--border); font: .65rem/1.2 var(--font-mono); letter-spacing: .07em; }
.card-tag.supply-chain, .card-status.reported { border-color: color-mix(in srgb, var(--danger) 65%, var(--border)); color: var(--danger); }
.card-tag.privacy { border-color: color-mix(in srgb, var(--amber) 65%, var(--border)); color: var(--amber); }
.card-status.disclosed { border-color: color-mix(in srgb, var(--success) 65%, var(--border)); color: var(--success); }
.card-status { margin-left: auto; }
.card-title { margin-bottom: .7rem; color: var(--text); font-size: clamp(1.35rem, 2.4vw, 2.2rem); font-weight: 600; line-height: 1.13; }
.card-target { margin-bottom: 1.1rem; color: var(--text-muted); font: .78rem/1.5 var(--font-mono); }
.card-target span { color: var(--technical); }
.card-desc { max-width: 74ch; margin: 0; color: var(--text-muted); font-size: 1rem; line-height: 1.67; }
.card-findings { display: flex; flex-wrap: wrap; gap: .45rem; align-self: end; justify-content: flex-end; max-width: 28rem; }
.finding-tag { padding: .25rem .45rem; border: 1px solid var(--border); color: var(--technical); font: .67rem/1.3 var(--font-mono); }
.card-btn { align-self: end; justify-self: start; color: var(--amber); font: .75rem/1.3 var(--font-mono); letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.card-btn:hover { color: var(--text); }
.research-grid + .section-label { margin-top: 0; }
.research-grid:last-child { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
.research-grid:last-child .research-card { display: block; min-height: 100%; padding: 1.75rem 1.5rem 1.75rem 0; border-top: 0; border-right: 1px solid var(--border); }
.research-grid:last-child .research-card + .research-card { padding-left: 1.5rem; }
.research-grid:last-child .research-card:last-child { padding-right: 0; border-right: 0; }
.research-grid:last-child .card-title { font-size: 1.15rem; }
.research-grid:last-child .card-desc { font-size: .97rem; }
@media (max-width: 760px) { .research-card { grid-template-columns: 1fr; } .card-meta { grid-column: auto; } .card-status { margin-left: 0; } .card-findings { justify-content: flex-start; max-width: none; } .research-grid:last-child { grid-template-columns: 1fr; } .research-grid:last-child .research-card, .research-grid:last-child .research-card + .research-card { min-height: auto; padding: 1.6rem 0; border-right: 0; border-top: 1px solid var(--border); } .research-grid:last-child .research-card:first-child { border-top: 0; } }
@media (max-width: 680px) { main { width: calc(100% - 2rem); padding-top: 4.5rem; padding-bottom: 4.5rem; } .hero h1 { font-size: clamp(2.25rem, 11vw, 3.4rem); } .disclosure-note { padding: 1rem; } }
