/* Helios T5 archive + T6 single */
.promo-kicker{
  margin:0 0 8px;
  font-size:.9rem;
  letter-spacing:.04em;
  color:var(--muted,#7f868d);
  font-weight:400;
}
.promo-kicker--light{color:rgba(255,255,255,.82)}
.promo-kicker--light a{color:inherit;text-decoration:none}
.promo-kicker--light a:hover{color:#fff}

.promo-hero-plain{
  padding:calc(var(--header,137px) + clamp(1.5rem,1rem + 2vw,3rem)) var(--pad,64px) 32px;
}
.promo-archive__title{
  margin:0 0 2rem;
  font-family:var(--display);
  font-size:clamp(2.5rem,1.4rem + 5vw,5.5rem);
  font-weight:400;
  line-height:1.08;
  letter-spacing:-.025em;
  max-width:16ch;
  text-wrap:balance;
}

.promo-filters{display:grid;gap:1.1rem}
.promo-filters__group{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem}
.promo-filters__label{
  margin:0;
  font-size:.78rem;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--muted,#7f868d);
  font-weight:500;
}
.promo-filters__row{display:flex;flex-wrap:wrap;gap:.45rem}
.promo-chip{
  border:1px solid var(--line,#e1e9f1);
  background:#fff;
  color:var(--ink,#25303a);
  border-radius:999px;
  padding:.45rem .9rem;
  font:500 .82rem/1 var(--body,Ubuntu,sans-serif);
  cursor:pointer;
  transition:background .15s ease,color .15s ease,border-color .15s ease;
}
.promo-chip.is-on,
.promo-chip:hover{background:var(--ink,#25303a);color:#fff;border-color:var(--ink,#25303a)}


.promo-grid-wrap{padding-top:.5rem;padding-bottom:clamp(2.5rem,1.5rem + 4vw,5rem)}
.promo-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.5rem;
  align-items:stretch;
}
.promo-card{
  background:#fff;
  color:var(--ink,#25303a);
  border:1px solid #e1e9f1;
  border-radius:8px;
  box-shadow:0 8px 15px rgba(0,0,0,.10);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  height:100%;
  min-height:450px;
  text-decoration:none;
}
.promo-card.is-hidden{display:none}
.promo-card__media{
  display:block;
  aspect-ratio:3/2;
  width:100%;
  overflow:hidden;
  position:relative;
  flex:none;
}
.promo-card__media img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:opacity .2s ease;
}
.promo-card:hover .promo-card__media img{opacity:.92}
.promo-card__date{
  position:absolute;top:.75rem;right:.75rem;
  margin:0;padding:.25rem .5rem;
  border-radius:.25rem;
  background-image:linear-gradient(225deg,#3b454e,#2c353d);
  color:#fff;
  font-size:.75rem;line-height:1.2;letter-spacing:.01em;
  display:inline-flex;align-items:center;
}
.promo-card__body{
  padding:1.5rem 1.5rem 1.5rem;
  display:flex;
  flex-direction:column;
  flex:1;
  gap:2rem;
}
.promo-card__info{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;flex:1}
.promo-card__tags{
  margin:0;display:flex;flex-wrap:wrap;gap:.25rem;
  justify-content:flex-start;
}
.promo-card__tag{
  display:inline-flex;align-items:center;gap:.3em;
  height:1.4rem;padding:.1875rem .5rem;
  border:1px solid #7f868d;border-radius:1.25rem;
  color:#7f868d;font-size:.75rem;font-weight:300;
  line-height:1;text-transform:uppercase;letter-spacing:.02em;
}
.promo-card__tag svg{flex:none;display:block}
.promo-card__title{
  margin:.35rem 0 0;
  font-family:var(--display);
  font-size:1.5rem;
  font-weight:400;
  line-height:1.3;
  letter-spacing:-.01em;
}
.promo-card__excerpt{
  margin:.15rem 0 0;
  color:#7f868d;
  font-size:.95rem;
  line-height:1.5;
}
.promo-card__cta{
  margin-top:auto;
  width:100%;
  display:flex;align-items:center;justify-content:center;
  min-height:2.6rem;
  padding:.5rem 1.25rem;
  border:1px solid #25303a;
  border-radius:8px;
  background:#25303a;
  color:#fff;
  font-family:var(--display);
  font-size:1rem;
  font-weight:400;
  text-decoration:none;
  transition:background .2s ease,border-color .2s ease;
}
.promo-card__cta:hover{background:#6489ab;border-color:#6489ab;color:#fff}

.promo-empty{text-align:center;padding:4rem 0 2rem;color:#7f868d}
.promo-empty[hidden]{display:none}
.promo-empty__title{margin:0 0 .5rem;font-family:var(--display);font-size:clamp(1.6rem,1.1rem + 1.8vw,2.4rem);font-weight:400;color:#25303a}
.promo-empty__text{margin:0 0 1.25rem;font-size:1rem}
.promo-empty .btn{display:inline-flex}

/* T6 hero */
.promo-hero{
  position:relative;
  min-height:min(72vh,38rem);
  background:var(--ink,#25303a) center/cover no-repeat;
  background-image:var(--promo-hero);
  color:#fff;
  display:flex;
  align-items:flex-end;
  padding:calc(var(--header,137px) + 2.5rem) 0 0;
  overflow:visible;
}
.promo-hero__media{position:absolute;inset:0;z-index:0}
.promo-hero__media img{width:100%;height:100%;object-fit:cover;display:block}
.promo-hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,26,32,.45) 0%,rgba(20,26,32,.2) 40%,rgba(20,26,32,.72) 100%)}
.promo-hero__grid{
  position:relative;z-index:2;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:2rem;
  align-items:end;
  width:min(100%,var(--container,1600px));
  margin-inline:auto;
  padding-inline:var(--pad,64px);
  padding-bottom:0;
}
.promo-hero h1{
  margin:0;
  font-family:var(--display);
  font-size:clamp(3rem,1.6rem + 5vw,5.5rem);
  font-weight:400;
  line-height:1;
  letter-spacing:-.03em;
  padding-bottom:clamp(2rem,4vw,4.5rem);
}
.promo-hero__card{
  background:#fff;
  color:var(--ink,#25303a);
  border-radius:14px;
  box-shadow:0 8px 15px rgba(0,0,0,.10);
  padding:1.6rem 1.4rem 1.5rem;
  display:grid;
  gap:.45rem;
  margin-bottom:-2.5rem;
  position:relative;
  z-index:3;
}
.promo-hero__tags{display:flex;flex-wrap:wrap;gap:.25rem;margin:0 0 .35rem}
.promo-hero__tags span{
  display:inline-flex;align-items:center;height:1.4rem;padding:.1875rem .5rem;
  border:1px solid #7f868d;border-radius:1.25rem;
  font-size:.75rem;font-weight:300;letter-spacing:.02em;text-transform:uppercase;color:#7f868d;
}
.promo-hero__prefix{margin:0;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted,#7f868d);font-weight:500}
.promo-hero__price{margin:0;font-family:var(--display);font-size:clamp(2rem,1.4rem + 1.6vw,2.85rem);font-weight:400;line-height:1.05}
.promo-hero__note,.promo-hero__valid{margin:0;color:var(--muted,#7f868d);font-size:.88rem;line-height:1.4}
.promo-hero__card .btn{margin-top:.7rem;justify-content:center;background:var(--ink,#25303a);color:#fff;border-color:var(--ink,#25303a)}
.promo-hero__card .btn:hover{background:#6489ab;border-color:#6489ab}

.promo-claim{padding-block:clamp(3.5rem,2rem + 5vw,6rem) clamp(2rem,1rem + 3vw,3.5rem)}
.promo-claim__text{
  margin:0;
  font-family:var(--display);
  font-weight:400;
  letter-spacing:-.02em;
  font-size:clamp(1.6rem,1.1rem + 2.2vw,3rem);
  line-height:1.12;
  max-width:22ch;
}

.promo-who__row{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:1.5rem;align-items:center}
.promo-who h2{margin:0;font-family:var(--display);font-size:clamp(1.5rem,1.1rem + 1.6vw,2.3rem);font-weight:400}
.promo-who__pills{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.65rem}
.promo-who__pills li{
  background:#fff;border-radius:8px;padding:.85rem 1.15rem;
  box-shadow:0 8px 15px rgba(0,0,0,.06);font-size:.92rem;
}
.promo-who__facts{margin-top:1.75rem;padding-top:1.5rem;border-top:1px solid rgba(37,48,58,.12)}
.promo-who__facts h3{margin:0 0 1rem;font-family:var(--display);font-size:1.35rem;font-weight:400}
.promo-who__facts ul{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}
.promo-who__facts p{margin:.25rem 0 0;color:var(--muted,#7f868d)}

.promo-docs{padding-block:clamp(2.5rem,1.5rem + 4vw,5rem)}
.promo-docs__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:2rem;align-items:end}
.promo-docs__copy h2{margin:.35rem 0 .6rem;font-family:var(--display);font-size:clamp(1.5rem,1.1rem + 1.8vw,2.4rem);font-weight:400}
.promo-docs__copy p{margin:0;color:var(--muted,#7f868d);max-width:42ch}
.promo-docs__actions{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:flex-end}
.promo-docs .btn.is-disabled{opacity:.45;pointer-events:none}

.promo-single .section--faq .section-head{text-align:center;max-width:none;margin-inline:auto}
.promo-single .section--faq .section-head .kicker{color:var(--muted,#7f868d);text-transform:none;letter-spacing:0;font-size:.95rem}
.promo-single .faq{max-width:56rem;margin-inline:auto}

@media (max-width:1100px){
  .promo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .promo-grid,.promo-hero__grid,.promo-who__row,.promo-docs__grid{grid-template-columns:1fr}
  .promo-hero{align-items:stretch;min-height:28rem}
  .promo-hero h1{padding-bottom:1rem}
  .promo-hero__card{margin-bottom:-1.5rem}
  .promo-docs__actions{justify-content:flex-start}
  .promo-hero-plain{padding-inline:var(--pad,20px)}
}
@media (max-width:640px){
  .promo-grid{grid-template-columns:1fr}
  .promo-archive__title{font-size:2.2rem}
}

/* Original Solar Shock step illustrations. */
.promo-single .step-card__icon{display:block;width:4rem;height:4rem;object-fit:contain;margin:.85rem 0 0}

/* Promo testimonials: the original content stays readable on every screen. */
.promo-reviews__list{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 3rem)/3);gap:1.5rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:1.5rem 0}.promo-reviews__card{border:1px solid #dce4ec;border-radius:12px;padding:1.5rem;scroll-snap-align:start;min-width:0}.promo-reviews__card h3{font-size:1rem;text-transform:uppercase}.promo-reviews__card>p{max-height:18rem;overflow:auto;font-size:1rem;line-height:1.55}.promo-reviews__card>a{display:inline-flex;margin-top:1rem}@media(max-width:900px){.promo-reviews__list{grid-auto-columns:calc((100% - 1.5rem)/2)}}@media(max-width:600px){.promo-reviews__list{grid-auto-columns:85%}}
.promo-reviews__rating{letter-spacing:.15em}
