.home-hero {
  min-height: 38rem;
  padding: clamp(4rem, 8vw, 7.5rem) 0 clamp(5rem, 10vw, 9rem);
  background: var(--accent);
  overflow: hidden;
}
.home-hero__line { position: relative; max-width: 11ch; }
.home-hero__line span {
  display: inline-block;
  margin-left: clamp(0rem, 8vw, 7rem);
  color: var(--paper);
  -webkit-text-stroke: 1px var(--ink);
  text-shadow: .045em .045em 0 var(--ink);
}
.home-hero__meta {
  display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-8);
  align-items: end; margin-top: var(--space-8);
}
.home-hero__meta p { max-width: 38rem; font-size: 1.08rem; font-weight: 700; }
.independence {
  justify-self: end; max-width: 29rem; padding: var(--space-4);
  border: 1px solid var(--ink); border-radius: var(--radius); font-size: .76rem !important;
}
.credibility {
  margin-top: -2.8rem; position: relative;
  display: grid; grid-template-columns: repeat(4, 1fr); background: var(--paper);
  border: 1px solid var(--line); border-radius: var(--radius);
}
.credibility div { padding: var(--space-6); border-right: 1px solid var(--line); }
.credibility div:last-child { border-right: 0; }
.credibility strong { display: block; font-size: clamp(1.5rem, 3vw, 2.65rem); line-height: 1; font-variant-numeric: tabular-nums; }
.credibility span { display: block; margin-top: .5rem; color: var(--ink-soft); font-size: .7rem; }

.showcase-head {
  display: grid; grid-template-columns: 1.15fr .85fr; gap: var(--space-12);
  align-items: end; margin-bottom: var(--space-12);
}
.showcase-head h2 { max-width: 12ch; }
.showcase-head p { color: var(--ink-soft); }
.affiliate-note {
  margin-top: var(--space-4); padding-top: var(--space-4); border-top: 1px solid var(--line);
  font-size: .75rem; color: var(--ink-soft);
}
.operator-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-4); }
.operator {
  position: relative; min-height: 24rem; display: grid; grid-template-columns: 1fr 10rem;
  border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); overflow: hidden;
}
.operator__facts { display: flex; flex-direction: column; gap: var(--space-4); padding: var(--space-6); }
.operator__logo { width: 8.5rem; height: 3.5rem; object-fit: contain; object-position: left center; }
.operator h3 { font-size: 1.65rem; }
.operator__text { color: var(--ink-soft); font-size: .82rem; line-height: 1.55; }
.operator__tags { display: flex; flex-wrap: wrap; gap: .45rem; }
.operator__action {
  display: flex; flex-direction: column; justify-content: flex-end; gap: var(--space-3);
  padding: var(--space-6) var(--space-4); background: var(--surface); border-left: 1px solid var(--line);
}
.operator__grade { font-size: 4.4rem; line-height: .8; font-weight: 800; letter-spacing: -.08em; font-variant-numeric: tabular-nums; }
.operator__label { color: var(--ink-soft); font-size: .63rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }
.operator__note { color: var(--ink-soft); font-size: .62rem; line-height: 1.4; }
.operator__corner {
  position: absolute; top: .6rem; right: .6rem; z-index: 1;
}

.method {
  display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(2rem, 8vw, 8rem);
  align-items: start;
}
.method h2 { position: sticky; top: 5rem; max-width: 8ch; }
.method__steps { counter-reset: criteria; display: grid; }
.method__steps li {
  counter-increment: criteria; display: grid; grid-template-columns: 4rem 1fr; gap: var(--space-4);
  padding: var(--space-6) 0; border-bottom: 1px solid var(--line); list-style: none;
}
.method__steps li::before {
  content: "0" counter(criteria); font-size: 1.45rem; font-weight: 800; color: var(--ink-soft);
}
.method__steps p { margin-top: .5rem; color: var(--ink-soft); font-size: .84rem; }

.scorecard-head { max-width: 60rem; margin-bottom: var(--space-12); }
.scorecard-head p { margin-top: var(--space-4); color: var(--ink-soft); }
.scorecards { display: grid; gap: var(--space-4); }
.scorecard {
  display: grid; grid-template-columns: 10rem 1fr 5rem; gap: var(--space-6); align-items: start;
  padding: var(--space-6); border: 1px solid var(--line); border-radius: var(--radius);
}
.scorecard__name { font-size: 1.2rem; font-weight: 800; }
.scorecard__name img { width: 7rem; height: 2.7rem; object-fit: contain; object-position: left; margin-bottom: .65rem; }
.scorecard dl { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-4); }
.scorecard dt { color: var(--ink-soft); font-size: .62rem; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.scorecard dd { margin-top: .25rem; font-size: .76rem; line-height: 1.35; }
.scorecard__grade { justify-self: end; font-size: 3rem; line-height: 1; font-weight: 800; }

.faq { display: grid; grid-template-columns: .7fr 1.3fr; gap: var(--space-12); }
.faq h2 { max-width: 8ch; }
.faq-list { display: grid; }
.faq-item { padding: var(--space-6) 0; border-bottom: 1px solid var(--line); }
.faq-item h3 { font-size: 1.15rem; letter-spacing: -.02em; line-height: 1.3; }
.faq-item p { margin-top: var(--space-3); color: var(--ink-soft); font-size: .88rem; }

@media (max-width: 1100px) {
  .operator { grid-template-columns: 1fr; }
  .operator__action { border-left: 0; border-top: 1px solid var(--line); }
  .scorecard { grid-template-columns: 8rem 1fr 4rem; }
  .scorecard dl { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 760px) {
  .home-hero__meta, .showcase-head, .method, .faq { grid-template-columns: 1fr; }
  .independence { justify-self: start; }
  .credibility { grid-template-columns: repeat(2, 1fr); }
  .credibility div:nth-child(2) { border-right: 0; }
  .credibility div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .operator-grid { grid-template-columns: 1fr; }
  .method h2 { position: static; }
  .scorecard { grid-template-columns: 1fr auto; }
  .scorecard dl { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
  .credibility, .scorecard dl { grid-template-columns: 1fr; }
  .credibility div { border-right: 0; border-bottom: 1px solid var(--line); }
}
