.gg-comparison-hub,
.gg-comparison-detail-v2 {
  --hub-line: rgba(255,255,255,.12);
  --hub-panel: rgba(15,25,43,.76);
  width: min(1180px, calc(100% - 40px));
  margin-inline: auto;
}

.gg-comparison-hub__hero {
  padding: clamp(72px,10vw,144px) 0 clamp(56px,8vw,104px);
  max-width: 1050px;
}

.gg-comparison-hub__hero h1 {
  max-width: 1000px;
  margin: 14px 0 24px;
  font-size: clamp(46px,7vw,84px);
  line-height: .98;
  letter-spacing: -.055em;
}

.gg-comparison-hub__hero > p:not(.gg-kicker) {
  max-width: 820px;
  font-size: clamp(19px,2vw,25px);
}

.gg-comparison-finder {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 24px;
  padding: clamp(28px,4vw,48px);
  border: 1px solid var(--hub-line);
  border-radius: 30px;
  background: radial-gradient(circle at 10% 0,rgba(45,230,208,.12),transparent 34%),var(--hub-panel);
  box-shadow: 0 28px 90px rgba(0,0,0,.28);
}

.gg-comparison-finder > div:first-child,
.gg-comparison-search,
.gg-comparison-count { grid-column: 1/-1; }
.gg-comparison-finder h2 { max-width: 760px; margin: 8px 0 4px; font-size: clamp(32px,4vw,52px); }
.gg-comparison-search span,.gg-comparison-filter legend { display:block; margin-bottom:10px; color:var(--gg-soft); font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.gg-comparison-search input {
  width:100%; min-height:64px; padding:0 20px; border:1px solid var(--hub-line); border-radius:16px;
  background:rgba(5,11,22,.72); color:#fff; font:inherit; font-size:18px;
}
.gg-comparison-search input:focus { outline:2px solid var(--gg-green); outline-offset:2px; }
.gg-comparison-filter { min-width:0; padding:0; border:0; }
.gg-comparison-filter div { display:flex; flex-wrap:wrap; gap:8px; }
.gg-comparison-filter button,.gg-filter-reset {
  min-height:38px; padding:8px 13px; border:1px solid var(--hub-line); border-radius:999px;
  background:rgba(255,255,255,.035); color:var(--gg-muted); font-weight:750; cursor:pointer;
}
.gg-comparison-filter button[aria-pressed="true"] { border-color:var(--gg-green); background:rgba(45,230,208,.14); color:#fff; }
.gg-filter-reset { justify-self:start; color:var(--gg-green); }
.gg-comparison-count { margin:0; color:var(--gg-soft); }
.gg-comparison-count strong { color:#fff; }

.gg-comparison-results { padding:clamp(72px,9vw,120px) 0; }
.gg-comparison-results__heading { display:grid; grid-template-columns:1.3fr .7fr; gap:32px; align-items:end; margin-bottom:36px; }
.gg-comparison-results__heading h2 { margin:8px 0 0; font-size:clamp(36px,5vw,60px); }
.gg-comparison-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.gg-comparison-selector-card {
  display:flex; flex-direction:column; min-height:390px; padding:26px; border:1px solid var(--hub-line);
  border-radius:22px; background:linear-gradient(160deg,rgba(255,255,255,.065),rgba(255,255,255,.025));
  transition:transform .22s ease,border-color .22s ease,background .22s ease;
}
.gg-comparison-selector-card:hover { transform:translateY(-5px); border-color:rgba(45,230,208,.54); background:linear-gradient(160deg,rgba(45,230,208,.09),rgba(255,255,255,.035)); }
.gg-comparison-selector-card[hidden] { display:none; }
.gg-comparison-selector-card.is-featured { border-color:rgba(45,230,208,.36); }
.gg-comparison-selector-card__top { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.gg-company-mark { display:grid; place-items:center; width:48px; height:48px; border-radius:14px; background:#fff; color:#07101d; font-weight:900; letter-spacing:-.04em; }
.gg-featured-label,.gg-comparison-category { color:var(--gg-green); font-size:12px; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.gg-comparison-selector-card h3 { margin:18px 0 12px; font-size:26px; line-height:1.08; }
.gg-comparison-selector-card > p:not(.gg-comparison-category) { color:var(--gg-muted); }
.gg-comparison-selector-card dl { margin:auto 0 22px; padding-top:24px; }
.gg-comparison-selector-card dt { color:var(--gg-soft); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.gg-comparison-selector-card dd { margin:5px 0 0; color:#fff; font-weight:750; }
.gg-comparison-selector-card > a { color:var(--gg-green); font-weight:850; text-decoration:none; }
.gg-comparison-empty { padding:60px; text-align:center; border:1px dashed var(--hub-line); border-radius:22px; }

.gg-comparison-method { padding:clamp(52px,7vw,88px); margin-bottom:80px; border-radius:30px; background:#eef7f5; color:#07101d; }
.gg-comparison-method h2 { max-width:760px; color:#07101d; font-size:clamp(36px,5vw,58px); }
.gg-comparison-method > div { display:grid; grid-template-columns:repeat(3,1fr); gap:36px; margin-top:46px; }
.gg-comparison-method article span { color:#087f73; font-weight:900; }
.gg-comparison-method h3 { color:#07101d; }
.gg-comparison-method p { color:#345; }

.gg-comparison-detail-v2 > section { margin-block:clamp(56px,8vw,100px); }
.gg-comparison-detail-v2 > section > h2 { max-width:850px; font-size:clamp(34px,5vw,56px); }
.gg-table-wrap { overflow-x:auto; border:1px solid var(--hub-line); border-radius:20px; }
.gg-comparison-detail-v2 table { width:100%; min-width:680px; border-collapse:collapse; background:var(--hub-panel); }
.gg-comparison-detail-v2 th,.gg-comparison-detail-v2 td { padding:20px; border-bottom:1px solid var(--hub-line); text-align:left; vertical-align:top; }
.gg-comparison-detail-v2 th { color:var(--gg-green); font-size:13px; text-transform:uppercase; letter-spacing:.07em; }
.gg-decision-grid,.gg-comparison-pros-cons,.gg-related-comparison-grid,.gg-comparison-related-v2 > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.gg-decision-grid article,.gg-comparison-pros-cons > div { padding:26px; border:1px solid var(--hub-line); border-radius:20px; background:var(--hub-panel); }
.gg-comparison-pros-cons { grid-template-columns:1fr 1fr; }
.gg-comparison-pros-cons li,.gg-comparison-detail-v2 ol li { margin-block:12px; }
.gg-comparison-recommendation,.gg-comparison-final-cta { padding:clamp(38px,7vw,82px); border:1px solid rgba(45,230,208,.4); border-radius:28px; background:radial-gradient(circle at 50% 0,rgba(45,230,208,.16),transparent 50%),var(--hub-panel); }
.gg-related-comparison-grid a { display:flex; flex-direction:column; gap:10px; padding:24px; border:1px solid var(--hub-line); border-radius:18px; color:#fff; text-decoration:none; }
.gg-related-comparison-grid a span { color:var(--gg-green); }
.gg-comparison-related-v2 article { padding:24px; border-top:1px solid var(--hub-line); }
.gg-comparison-related-v2 article a { display:block; margin-block:12px; color:var(--gg-muted); text-decoration:none; }
.gg-comparison-related-v2 article a:hover { color:var(--gg-green); }

@media(max-width:900px){
  .gg-comparison-finder,.gg-comparison-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gg-comparison-filter:last-of-type { grid-column:1/-1; }
  .gg-comparison-results__heading { grid-template-columns:1fr; }
  .gg-decision-grid,.gg-related-comparison-grid,.gg-comparison-related-v2 > div { grid-template-columns:1fr 1fr; }
}
@media(max-width:640px){
  .gg-comparison-hub,.gg-comparison-detail-v2 { width:min(100% - 28px,1180px); }
  .gg-comparison-hub__hero h1 { font-size:clamp(40px,12vw,56px); }
  .gg-comparison-finder,.gg-comparison-grid,.gg-comparison-method > div,.gg-decision-grid,.gg-comparison-pros-cons,.gg-related-comparison-grid,.gg-comparison-related-v2 > div { grid-template-columns:1fr; }
  .gg-comparison-filter:last-of-type { grid-column:auto; }
  .gg-comparison-selector-card { min-height:350px; }
  .gg-comparison-method { padding:32px 22px; }
}
