.vio-badges-page{
  max-width: 1240px;
  margin: 0 auto;
  padding: 22px 18px 48px;
}
.vio-badges-hero{
  display:grid;
  grid-template-columns:minmax(0, 1.05fr) minmax(420px, .95fr);
  gap:24px;
  align-items:center;
  overflow:hidden;
  padding:0;
  background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.98));
}
.vio-badges-copy{
  padding: 28px 28px 30px;
}
.section-kicker{
  display:inline-block;
  color:#f97316;
  font-size:13px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
  margin-bottom:12px;
}
.vio-badges-hero h1,
.vio-grid-title,
.vio-badges-overview h2,
.vio-badges-bottom-grid h2{
  margin:0;
  color:#291263;
  line-height:1.02;
}
.vio-badges-hero h1{
  font-size: clamp(40px, 5vw, 66px);
}
.vio-badges-copy p{
  margin:16px 0 0;
  color:#58506a;
  font-size:18px;
  line-height:1.7;
  max-width: 54ch;
}
.vio-badge-pill-row,
.vio-badges-cta-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:18px;
}
.vio-badge-pill{
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(124,58,237,.16);
  background:#fff;
  color:#544b6a;
  border-radius:999px;
  padding:10px 14px;
  font-weight:800;
  font-size:13px;
}
.vio-badges-art{
  min-height: 100%;
  display:flex;
  align-items:stretch;
  justify-content:flex-end;
}
.vio-badges-art img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.vio-badges-overview{ margin-top:22px; }
.vio-three-up{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:16px;
}
.vio-info-card{
  border:1px solid rgba(124,58,237,.14);
  background:linear-gradient(180deg, rgba(124,58,237,.035), #fff);
  border-radius:18px;
  padding:16px;
}
.vio-info-card h3,
.vio-badge-card h3,
.vio-bullets-wrap h3,
.vio-code-box h4{
  margin:0 0 8px;
  color:#291263;
}
.vio-info-card p,
.vio-badge-card p{
  margin:0;
  color:#615978;
  line-height:1.6;
}
.vio-badge-grid-wrap{ margin-top:28px; }
.vio-grid-title{ font-size: clamp(28px, 3vw, 42px); margin:0 0 18px; }
.vio-badge-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(320px,1fr));
  gap:18px;
}
.vio-badge-card .hd{ padding:20px 20px 10px; }
.vio-badge-card .bd{ padding:0 20px 20px; }
.vio-tier-pill{
  display:inline-flex;
  align-items:center;
  gap:10px;
  border-radius:999px;
  padding:8px 12px;
  font-weight:900;
  font-size:12px;
  border:1px solid rgba(15,23,42,.10);
  background:#fff;
  margin-bottom:14px;
}
.vio-tier-pill.watched{ background:rgba(59,130,246,.10); color:#1d4ed8; }
.vio-tier-pill.approved{ background:rgba(124,58,237,.10); color:#5b21b6; }
.vio-tier-pill.super{ background:linear-gradient(135deg, rgba(124,58,237,.14), rgba(251,191,36,.18)); color:#4c1d95; }
.vio-badge-preview{
  border:1px solid rgba(148,163,184,.18);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(124,58,237,.04), rgba(255,255,255,1));
  padding:18px;
  text-align:center;
  margin-bottom:14px;
}
.vio-badge-preview img{ max-width:100%; height:auto; display:inline-block; }
.vio-code-box{
  border:1px solid rgba(148,163,184,.18);
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 24px rgba(15,23,42,.05);
  padding:14px;
  margin-top:12px;
}
.vio-code-area{
  width:100%;
  min-height:110px;
  border:1px solid rgba(124,58,237,.18);
  border-radius:14px;
  padding:12px;
  font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
  resize:vertical;
  background:#fafafa;
  color:#1f2937;
}
.mini-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:12px;
  padding:10px 12px;
  font-weight:900;
  color:#fff;
  background:linear-gradient(135deg,#7c3aed 0%, #5b21b6 100%);
  cursor:pointer;
  margin-top:10px;
}
.mini-btn:hover{transform:translateY(-1px)}
.vio-badges-bottom-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:18px;
  margin-top:26px;
}
.vio-note-card{
  border:1px solid rgba(124,58,237,.18);
  background:linear-gradient(180deg, rgba(124,58,237,.05), rgba(255,255,255,1));
  border-radius:18px;
  padding:16px;
  color:#4c1d95;
  line-height:1.65;
  font-weight:700;
}
.vio-bullets-wrap{ margin-top:16px; }
.vio-score-band{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding:14px 16px;
  border-radius:16px;
  border:1px solid rgba(124,58,237,.14);
  background:#fff;
  margin-bottom:12px;
}
.vio-score-band span{ font-weight:900; }
.vio-score-band strong{ color:#291263; }
.vio-score-band.watched{ background:linear-gradient(180deg, rgba(59,130,246,.06), #fff); }
.vio-score-band.approved{ background:linear-gradient(180deg, rgba(124,58,237,.06), #fff); }
.vio-score-band.super{ background:linear-gradient(180deg, rgba(251,191,36,.12), #fff); }
@media (max-width: 1080px){
  .vio-badges-hero{ grid-template-columns: 1fr; }
  .vio-badges-art{ order:2; }
  .vio-badges-art img{ max-height:560px; object-fit:cover; }
  .vio-three-up,
  .vio-badges-bottom-grid{ grid-template-columns:1fr; }
}
@media (max-width: 720px){
  .vio-badges-page{ padding:16px 12px 36px; }
  .vio-badges-copy{ padding:22px 18px 20px; }
  .vio-badges-hero h1{ font-size: clamp(34px, 10vw, 50px); }
  .vio-badges-copy p{ font-size:16px; }
  .vio-badge-grid{ grid-template-columns:1fr; }
  .vio-badges-art img{ height:auto; max-height:none; object-fit:contain; }
}

/* =========================================================
   Desktop hero balance refinement - 2026-10-02
   Give Violet's badge artwork more presence without making
   the hero materially taller or pushing the badge tiers down.
   ========================================================= */
@media (min-width: 1081px){
  .vio-badges-hero{
    grid-template-columns:minmax(0, .90fr) minmax(560px, 1.10fr);
    gap:18px;
  }

  .vio-badges-copy{
    padding:28px 24px 30px 28px;
  }

  .vio-badges-art{
    align-self:stretch;
    min-width:0;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:10px 14px 10px 0;
    background:
      radial-gradient(circle at 54% 50%, rgba(124,58,237,.08), transparent 68%);
  }

  .vio-badges-art img{
    display:block;
    width:100%;
    max-width:100%;
    height:auto;
    max-height:100%;
    flex:0 1 auto;
    object-fit:contain;
    object-position:center;
  }
}
