.role-banner { display: flex; justify-content: center; gap: var(--space-3) var(--space-6); flex-wrap: wrap; padding: var(--space-3) var(--space-4); background: var(--ink); color: var(--paper); font-size: .85rem; }
.role-banner strong { color: var(--emerald); }
.age-notice { display: grid; grid-template-columns: auto 1fr auto; gap: var(--space-6); align-items: center; padding: var(--space-4) clamp(var(--space-4),7vw,var(--space-24)); background: var(--emerald-pale); border-bottom: 1px solid var(--rule); }
.age-notice > strong { font: 900 1.4rem var(--mono); }
.age-notice a { min-height: 44px; display: inline-flex; align-items: center; font-weight: 800; }
.credibility { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: var(--space-4) var(--space-8); padding: var(--space-6); border-bottom: 1px solid var(--rule); font: 700 .82rem var(--mono); }
.credibility b { font-size: 1.25rem; }
.credibility i { color: var(--emerald-dark); font-style: normal; font-size: .6rem; }
.featured-operator { display: grid; gap: var(--space-6); padding: clamp(var(--space-6),5vw,var(--space-16)); background: var(--emerald); border: 1px solid var(--emerald-dark); border-radius: var(--radius-lg); box-shadow: inset 0 1px 0 oklch(1 0 0 / .55); }
.featured-title { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: var(--space-4); }
.featured-title .rank { grid-column: 1 / -1; font: 800 .8rem var(--mono); text-transform: uppercase; }
.featured-title h3 { font-size: clamp(3rem,8vw,7rem); }
.badges { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.badges span { padding: var(--space-2) var(--space-3); border-radius: 999px; background: var(--ink); color: var(--paper); font: 700 .72rem var(--mono); }
.operator-actions { display: flex; align-items: center; gap: var(--space-4) var(--space-6); flex-wrap: wrap; }
.operator-actions > a:not(.button) { min-height: 44px; display: inline-flex; align-items: center; font-weight: 800; }
.operator-row { display: grid; grid-template-columns: 52px minmax(160px,.55fr) minmax(260px,1.25fr) minmax(180px,.8fr); gap: var(--space-4) var(--space-8); padding: var(--space-8) 0; border-bottom: 1px solid var(--rule); align-items: start; }
.operator-number { font: 800 .8rem var(--mono); padding-top: var(--space-2); }
.operator-identity { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); font-family: var(--display); font-size: 1.7rem; }
.operator-row p { color: var(--muted); }
.operator-row .operator-actions, .operator-row small { grid-column: 3 / -1; }
.operator-row small { color: var(--muted); }
.split-heading { grid-template-columns: 1.2fr .8fr; align-items: end; }
.comparison-figure { display: grid; grid-template-columns: 1fr .35fr; gap: var(--space-6); align-items: end; margin-bottom: var(--space-12); }
.comparison-figure img { max-height: 520px; object-fit: cover; }
.scorecard-grid { display: grid; grid-template-columns: repeat(5,minmax(260px,1fr)); overflow-x: auto; padding-bottom: var(--space-4); }
.scorecard { min-width: 260px; background: var(--paper); border: 1px solid var(--rule); border-right: 0; }
.scorecard:last-child { border-right: 1px solid var(--rule); }
.scorecard header { min-height: 112px; padding: var(--space-4); display: grid; grid-template-columns: 1fr auto; gap: var(--space-2); align-items: center; background: var(--ink); color: var(--paper); }
.scorecard header span { grid-column: 1 / -1; font: 700 .72rem var(--mono); color: var(--emerald); }
.scorecard dl { margin: 0; }
.score-row { min-height: 108px; padding: var(--space-4); border-bottom: 1px solid var(--rule); display: grid; align-content: start; gap: var(--space-2); }
.score-row dt { font: 700 .68rem var(--mono); text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
.score-row dd { margin: 0; font-size: .88rem; font-variant-numeric: tabular-nums; }
.scorecard > a { min-height: 68px; padding: var(--space-4); display: flex; align-items: center; font-size: .85rem; font-weight: 800; }
.method-note { margin-top: var(--space-12); max-width: 850px; display: grid; gap: var(--space-4); padding-top: var(--space-6); border-top: 2px solid var(--emerald); }
.method-note p { color: var(--muted); }
.method-note a { width: max-content; font-weight: 800; }
.disclosure-band { background: var(--ink); color: var(--paper); padding-inline: clamp(var(--space-6),7vw,var(--space-16)); border-radius: var(--radius-lg); display: grid; gap: var(--space-6); margin-block: var(--space-16); }
.disclosure-band p:not(.eyebrow) { color: oklch(0.83 0.01 165); }
.disclosure-band > a { width: max-content; min-height: 44px; display: flex; align-items: center; font-weight: 800; background-size: 100% 2px; }
.safety-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--rule); }
.safety-grid > a { min-height: 240px; padding: var(--space-6); border-bottom: 1px solid var(--rule); border-right: 1px solid var(--rule); display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); background-image: none; }
.safety-grid > a:first-child { border-left: 1px solid var(--rule); }
.safety-grid > a:hover { background: var(--emerald-pale); }
.safety-grid p { margin-top: auto; color: var(--muted); font-size: .9rem; }
.safety-grid img { max-height: 40px; width: auto; }
.safety-wordmark { padding: var(--space-2) var(--space-3); border-radius: 999px; background: var(--ink); color: var(--paper); font: 800 .82rem var(--mono); }
.faq { max-width: 1000px; }
.compact-disclaimer { display: grid; grid-template-columns: .5fr 1.4fr; gap: var(--space-8); border-top: 2px solid var(--ink); }
.compact-disclaimer p { color: var(--muted); }
.cookie-banner { position: fixed; z-index: 95; right: var(--space-4); bottom: 60px; width: min(520px, calc(100% - 32px)); padding: var(--space-6); display: grid; gap: var(--space-4); background: var(--paper); border: 1px solid var(--ink); border-radius: var(--radius); box-shadow: 0 8px 0 oklch(0.18 0.01 165 / .18), inset 0 1px 0 oklch(1 0 0 / .7); }
.cookie-banner[hidden] { display: none; }
.cookie-banner div { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); }
.cookie-banner a { font-weight: 800; }
.cookie-banner button { border: 1px solid var(--ink); border-radius: var(--radius-sm); padding: var(--space-2) var(--space-4); background: var(--emerald); font-weight: 800; }
@media (max-width: 900px) {
  .operator-row { grid-template-columns: 44px 1fr; }
  .operator-row > p, .operator-row .badges, .operator-row .operator-actions, .operator-row small { grid-column: 2; }
  .split-heading, .comparison-figure, .safety-grid { grid-template-columns: 1fr 1fr; }
  .safety-grid > a:nth-child(3) { border-left: 1px solid var(--rule); }
}
@media (max-width: 620px) {
  .age-notice { grid-template-columns: auto 1fr; }
  .age-notice a { grid-column: 1 / -1; }
  .split-heading, .comparison-figure, .safety-grid, .compact-disclaimer { grid-template-columns: 1fr; }
  .safety-grid > a { border-left: 1px solid var(--rule); }
  .comparison-figure figcaption { margin-top: 0; }
}
