body:has(.alpha-vsl) {
  --vsl-accent: #4E6B5E;
  --vsl-border: #E6E3DD;
  --vsl-muted: #6B665E;
  background: #fff;
  color: #000;
  font-family: 'Instrument Sans', 'Helvetica Neue', Arial, sans-serif;
}

body:has(.alpha-vsl) .basic-wrap {
  width: min(1176px, calc(100% - clamp(32px, 6vw, 64px)));
}

body:has(.alpha-vsl) .basic-header {
  padding: 14px 0;
  background: #fff;
  border-bottom: 1px solid var(--vsl-border);
}

body:has(.alpha-vsl) .basic-header .basic-wrap,
body:has(.alpha-vsl) .basic-header nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(12px, 3vw, 28px);
}

body:has(.alpha-vsl) .basic-header img {
  width: clamp(98px, 18vw, 140px);
  height: auto;
  filter: brightness(0);
}

body:has(.alpha-vsl) .basic-header nav a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
}

body:has(.alpha-vsl) .basic-header nav a:hover { text-decoration: underline; }
body:has(.alpha-vsl) a:focus-visible { outline-color: var(--vsl-accent); }
body:has(.alpha-vsl) main.basic-wrap { padding-block: clamp(34px, 5vw, 64px) clamp(48px, 7vw, 80px); }
body:has(.alpha-vsl) .basic-footer { border-color: var(--vsl-border); color: var(--vsl-muted); }

.alpha-vsl { text-align: center; }

.alpha-vsl h1 {
  max-width: 980px;
  margin: 0 auto clamp(24px, 4vw, 36px);
  font-size: clamp(32px, 5vw, 58px);
  font-stretch: 85%;
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -.028em;
  text-wrap: balance;
}

.alpha-vsl-player {
  position: relative;
  max-width: 900px;
  margin-inline: auto;
  aspect-ratio: 1920 / 1072;
  background: #000;
  border: 1px solid #000;
}

.alpha-vsl-player iframe { position: absolute; inset: 0; display: block; width: 100%; height: 100%; border: 0; }

.alpha-vsl-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 260px);
  min-height: 54px;
  margin-top: 24px;
  padding: 14px 24px;
  background: var(--vsl-accent);
  color: #fff;
  border-radius: 2px;
  font-size: 17px;
  font-weight: 600;
  text-decoration: none;
}

.alpha-vsl-cta:hover { background: #3B5348; }

.alpha-vsl-signature {
  max-width: 900px;
  margin: clamp(36px, 6vw, 64px) auto 0;
  padding-top: clamp(24px, 4vw, 36px);
  border-top: 1px solid var(--vsl-border);
}

.alpha-vsl-signature img {
  display: block;
  width: 84px;
  height: 84px;
  margin: 14px auto 12px;
  border-radius: 50%;
}

.alpha-vsl-signature p { margin: 0; color: var(--vsl-muted); font-size: 16px; line-height: 1.5; }
.alpha-vsl-signature strong { color: #000; font-size: 19px; }
