.subscription-body { background:var(--bg); }
.subscription-main {
  max-width:1100px;
  margin:0 auto;
  padding:clamp(1rem,3vw,2rem) 0 3rem;
}
.subscription-title {
  max-width:700px;
  margin:0 0 1.5rem;
  border-top:2px solid var(--ink);
  color:var(--ink);
  font-size:clamp(1.8rem,4vw,2.6rem);
}
.subscription-layout {
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  align-items:start;
  gap:clamp(1.25rem,3vw,2.75rem);
}
.subscription-offer {
  padding:clamp(1.15rem,2.4vw,1.6rem);
  border:1px solid #cbd9d2;
  border-top:4px solid var(--brand);
  border-radius:10px;
  background:#fff;
  box-shadow:0 2px 10px rgba(0,40,28,.08);
  color:var(--ink);
}
.subscription-offer-heading {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1.15rem;
}
.subscription-offer h2 { margin:0; color:var(--ink); font:700 1.2rem system-ui,sans-serif; }
.subscription-offer h2 span { color:#52615a; font-weight:400; }
.subscription-duration { flex:none; text-align:right; }
.subscription-duration strong { display:block; color:var(--brand-2); font:700 1.05rem system-ui,sans-serif; }
.subscription-duration small { display:block; color:#52615a; font:.72rem system-ui,sans-serif; }
.subscription-benefits {
  display:grid;
  gap:.65rem;
  margin:0 0 1.2rem;
  padding-left:1.2rem;
  color:#26352e;
  font:.92rem/1.5 system-ui,sans-serif;
}
.subscription-benefits li { padding-left:.15rem; }
.subscription-benefits li::marker { color:var(--jade); }
.subscription-price {
  margin:0 0 1rem;
  padding:.8rem .9rem;
  border-left:3px solid var(--gold);
  border-radius:0 6px 6px 0;
  background:var(--bg);
  color:#26352e;
  font:.9rem/1.5 system-ui,sans-serif;
}
.subscription-price p:last-child { margin-bottom:0; }
.subscription-cta {
  display:block;
  width:100%;
  padding:.75rem 1rem;
  border:0;
  border-radius:6px;
  background:var(--gold);
  color:#111;
  font:700 .95rem system-ui,sans-serif;
  text-align:center;
  text-decoration:none;
}
.subscription-cta:hover,
.subscription-cta:focus { background:#e6bd00; color:#111; }
.subscription-payment { margin:.85rem 0 0; color:#52615a; font:.78rem/1.5 system-ui,sans-serif; text-align:center; }
.subscription-payment i { margin-right:.25rem; color:var(--brand); }
.subscription-showcase { min-width:0; }
.subscription-carousel {
  overflow:hidden;
  border:1px solid #1d2a25;
  border-radius:10px;
  background:#050807;
  box-shadow:0 4px 16px rgba(0,0,0,.16);
}
.subscription-carousel .carousel-item { height:clamp(300px,38vw,480px); }
.subscription-carousel .carousel-item::after {
  position:absolute;
  inset:35% 0 0;
  background:linear-gradient(transparent,rgba(0,0,0,.82));
  content:"";
}
.subscription-carousel .carousel-item img { display:block; width:100%; height:100%; object-fit:cover; }
.subscription-caption {
  position:absolute;
  z-index:1;
  right:22%;
  bottom:1.25rem;
  left:1.25rem;
  color:#fff;
  font:700 1rem system-ui,sans-serif;
  text-shadow:0 1px 3px #000;
}
.subscription-indicators {
  right:12px;
  bottom:10px;
  left:auto;
  z-index:2;
  gap:5px;
  margin:0;
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.25);
  border-radius:999px;
  background:rgba(5,8,7,.82);
}
.subscription-indicators [data-bs-target] {
  width:8px;
  height:8px;
  margin:0;
  border:0;
  border-radius:50%;
  background-color:#cfe8dd;
  opacity:.65;
}
.subscription-indicators .active { width:20px; border-radius:5px; background-color:var(--gold); opacity:1; }
.subscription-carousel .carousel-control-prev,
.subscription-carousel .carousel-control-next { z-index:1; width:12%; opacity:.75; }
.subscription-carousel .carousel-control-prev:hover,
.subscription-carousel .carousel-control-next:hover { opacity:1; }
@media (max-width:760px) {
  .subscription-main { padding:1rem 0 2rem; }
  .subscription-layout { grid-template-columns:1fr; gap:1.25rem; }
  .subscription-carousel .carousel-item { height:clamp(240px,65vw,400px); }
}
