.sw .sw-container{width:min(1200px,92vw);margin:0 auto}

/* Hero */
.sw-hero{background:var(--light-bg); padding:clamp(2rem,5vw,3rem) 0; text-align:center}
.sw-hero h1{color:var(--primary-color); margin:0 0 .35rem}
.sw-hero .lead{margin:0 auto; max-width:65ch; opacity:.9}
.hero-ctas{display:flex; gap:.75rem; justify-content:center; flex-wrap:wrap; margin-top:.75rem}

/* Filters */
.sw-filters{background:#fff; border-top:1px solid #eef3f7; border-bottom:1px solid #eef3f7;justify-self: center;}
.chip-group{display:flex; gap:.5rem; padding:.75rem 0; flex-wrap:wrap; justify-content:center}
.chip{
  border:1px solid #d6e3ef; background:#fff; color:var(--text-color);
  border-radius:999px; padding:.35rem .75rem; cursor:pointer; font-weight:600;
}
.chip.is-active, .chip:hover{background:var(--light-bg); border-color:#c9d9e8}

/* Catalog cards */
.sw-catalog{background:#fff; padding:1.5rem 0}
.grid{display:grid; gap:1.25rem; grid-template-columns: repeat(3, minmax(0,1fr))}
@media (max-width:980px){ .grid{grid-template-columns:1fr 1fr} }
@media (max-width:640px){ .grid{grid-template-columns:1fr} }

.card{
  background:var(--card-bg); border:1px solid #e6eef5; border-radius:var(--radius);
  box-shadow:var(--shadow); padding: clamp(1rem,3vw,1.25rem);
  display:flex; flex-direction:column; gap:.6rem;
}
.card__head h2{margin:.1rem 0 .25rem; color:var(--primary-color)}
.muted{opacity:.9; margin:0}
.tick{list-style:none; padding:0; margin:.25rem 0 0; display:grid; gap:.35rem}
.tick li{padding-left:1.25rem; position:relative}
.tick li::before{content:"✓"; position:absolute; left:0; color:var(--accent-color); font-weight:700}
.card__actions{display:flex; gap:.6rem; flex-wrap:wrap; margin-top:.25rem}

.btn{
  --_bg:var(--primary-color); --_fg:#fff;
  display:inline-flex; align-items:center; justify-content:center;
  gap:.5rem; text-decoration:none; font-weight:600;
  border-radius:12px; padding:.6rem 1rem; border:2px solid transparent;
  color:var(--_fg); background:var(--_bg);
  transition:filter .2s ease, transform .06s ease;
}
.btn--primary:hover{filter:brightness(1.05)}
.btn--ghost{background:#fff; color:var(--accent-color); border-color:rgba(0,102,153,.35)}
.btn--ghost:hover{background:#f7fbff}
.btn:active{transform:translateY(1px)}

/* Bundles */
.sw-bundles{background:var(--light-bg); padding:1.75rem 0}
.sw-bundles h2{color:var(--primary-color); margin:0 0 .75rem; text-align:center}
.bundle-grid{display:grid; gap:1.25rem; grid-template-columns:1fr 1fr}
@media (max-width:820px){ .bundle-grid{grid-template-columns:1fr} }
.bundle h3{margin:.1rem 0 .4rem; color:var(--primary-color)}

/* Compare */
.sw-compare{background:#fff; padding:1.5rem 0}
.sw-compare h2{color:var(--primary-color); margin:0 0 .75rem; text-align:center}
.compare{display:grid; gap:1.25rem; grid-template-columns:repeat(3,minmax(0,1fr))}
.compare .col{background:var(--card-bg); border:1px dashed #d6e3ef; border-radius:12px; padding:1rem; text-align:center}
@media (max-width:820px){ .compare{grid-template-columns:1fr} }

.main-header {padding: 0.5rem 10%;}

summary{
  display: none;
}