.tcpv2-eyebrow { color: var(--tcpv2-signal); font-size: .78rem; font-weight: 700; letter-spacing: .1em; margin: 0 0 .75rem; text-transform: uppercase; }
.tcpv2-display { color: var(--tcpv2-ink); font-family: var(--tcpv2-font-display); font-size: clamp(2.6rem, 8vw, 5.5rem); letter-spacing: -.04em; line-height: .92; margin: 0; }
.tcpv2-lede { color: var(--tcpv2-ink-2); font-size: clamp(1.1rem, 2vw, 1.3rem); line-height: 1.55; max-width: 42rem; }
.tcpv2-breadcrumbs { align-items: center; color: var(--tcpv2-muted); display: flex; flex-wrap: wrap; font-size: .88rem; gap: .45rem; padding-block: 1rem; }
.tcpv2-breadcrumbs a { color: var(--tcpv2-muted) !important; }
.tcpv2-breadcrumbs__separator { color: #98a2b3; }
.tcpv2-button { align-items: center; background: var(--tcpv2-signal); border: 1px solid var(--tcpv2-signal); border-radius: var(--tcpv2-radius-sm); color: #fff !important; display: inline-flex; font-weight: 700; gap: .5rem; justify-content: center; min-height: 44px; padding: .65rem 1rem; text-decoration: none; transition: background var(--tcpv2-motion), border-color var(--tcpv2-motion); }
.tcpv2-button:hover { background: var(--tcpv2-signal-hover); border-color: var(--tcpv2-signal-hover); color: #fff !important; }
.tcpv2-button--secondary { background: transparent; color: var(--tcpv2-ink) !important; }
.tcpv2-button--secondary:hover { background: var(--tcpv2-signal-soft); color: var(--tcpv2-ink) !important; }
.tcpv2-evidence-label { align-items: center; color: var(--tcpv2-ink-2); display: inline-flex; font-size: .82rem; font-weight: 700; gap: .42rem; }
.tcpv2-evidence-label::before { background: var(--tcpv2-caution); border-radius: 50%; content: ""; height: .48rem; width: .48rem; }
.tcpv2-evidence-label--verified::before { background: var(--tcpv2-verified); }
.tcpv2-disclosure { align-items: flex-start; background: var(--tcpv2-signal-soft); border-left: 3px solid var(--tcpv2-signal); display: flex; flex-direction: column; font-size: .88rem; gap: .25rem; line-height: 1.45; padding: .8rem 1rem; }
.tcpv2-disclosure strong { color: var(--tcpv2-ink); }
.tcpv2-product-placeholder { align-items: center; background: var(--tcpv2-signal-soft); border: 1px solid #b9dfe2; border-radius: var(--tcpv2-radius-sm); color: var(--tcpv2-signal); display: inline-flex; height: 3.5rem; justify-content: center; width: 3.5rem; }
.tcpv2-product-placeholder svg { fill: none; height: 1.7rem; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; width: 1.7rem; }
.tcpv2-review-card { background: var(--tcpv2-surface); border: 1px solid var(--tcpv2-rule); border-radius: var(--tcpv2-radius-md); display: flex; flex-direction: column; min-height: 21rem; padding: 1.4rem; transition: border-color var(--tcpv2-motion), transform var(--tcpv2-motion); }
.tcpv2-review-card:hover { border-color: #9db1c4; transform: translateY(-2px); }
.tcpv2-review-card__top { align-items: center; display: flex; justify-content: space-between; }
.tcpv2-review-card h2 { color: var(--tcpv2-ink); font: 700 1.65rem/1.1 var(--tcpv2-font-display); margin: 1.25rem 0 .85rem; }
.tcpv2-review-card dl { display: grid; gap: .8rem; margin: 0; }
.tcpv2-review-card dl div { border-left: 2px solid var(--tcpv2-signal); padding-left: .75rem; }
.tcpv2-review-card dt { color: var(--tcpv2-muted); font-size: .72rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.tcpv2-review-card dd { color: var(--tcpv2-ink-2); line-height: 1.45; margin: .15rem 0 0; }
.tcpv2-review-card__link { align-items: center; border-top: 1px solid var(--tcpv2-rule); color: var(--tcpv2-ink) !important; display: flex; font-weight: 700; justify-content: space-between; margin-top: auto; min-height: 52px; padding-top: .9rem; text-decoration: none; }
.tcpv2-table-wrap { border: 1px solid var(--tcpv2-rule); overflow-x: auto; }
.tcpv2-table { border-collapse: collapse; min-width: 42rem; width: 100%; }
.tcpv2-table th, .tcpv2-table td { border-bottom: 1px solid var(--tcpv2-rule); padding: .9rem 1rem; text-align: left; vertical-align: top; }
.tcpv2-table th { background: var(--tcpv2-paper); color: var(--tcpv2-ink); font-size: .82rem; letter-spacing: .03em; }
.tcpv2-byline { align-items: center; border-block: 1px solid var(--tcpv2-rule); color: var(--tcpv2-muted); display: flex; flex-wrap: wrap; font-size: .9rem; gap: .5rem 1rem; padding-block: .8rem; }
.tcpv2-source-list { padding-left: 1.2rem; }
.tcpv2-source-list li { margin-bottom: .7rem; }
