﻿:root {
  --zwsp-ink: #f6f3ed;
  --zwsp-muted: rgba(246, 243, 237, .74);
  --zwsp-paper: #f4f1eb;
  --zwsp-paper-2: #e8e1d6;
  --zwsp-paper-ink: #172126;
  --zwsp-paper-muted: rgba(23, 33, 38, .68);
  --zwsp-dark: #061018;
  --zwsp-dark-2: #0d202b;
  --zwsp-slate: #4f6674;
  --zwsp-silver: #d9e7e9;
  --zwsp-amber: #d7a45f;
  --zwsp-amber-2: #efc77c;
  --zwsp-wine: #54252a;
  --zwsp-line-dark: rgba(230, 239, 240, .18);
  --zwsp-line-light: rgba(28, 42, 48, .14);
  --zwsp-container: 1180px;
  --zwsp-radius: 8px;
  --zwsp-serif: Georgia, "Times New Roman", serif;
  --zwsp-display: "Aptos Display", "Avenir Next", Montserrat, "Helvetica Neue", Arial, sans-serif;
  --zwsp-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --zwsp-scroll-progress: 0;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  overflow-x: hidden;
  background: var(--zwsp-dark);
  color: var(--zwsp-ink);
  font-family: var(--zwsp-sans);
  line-height: 1.5;
}

body::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: calc(var(--zwsp-scroll-progress) * 100%);
  height: 3px;
  background: linear-gradient(90deg, var(--zwsp-progress-start, #5bc7d5), var(--zwsp-progress-end, #f0ca82));
  box-shadow: 0 0 18px rgba(91, 199, 213, .42);
  pointer-events: none;
}


img,
svg {
  display: block;
}

img {
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1,
h2 {
  font-family: var(--zwsp-display);
  font-weight: 740;
  line-height: 1.06;
  letter-spacing: 0;
  text-transform: uppercase;
}

h1 {
  max-width: 660px;
  margin-bottom: 22px;
  font-size: clamp(2.68rem, 4.18vw, 4.72rem);
}

.zwsp-hero-title-highlight {
  display: inline;
  padding: 0 .035em .02em;
  color: #fff8e8;
  font-weight: 820;
  background: linear-gradient(180deg, transparent 55%, rgba(215, 164, 95, .34) 55%, rgba(215, 164, 95, .2) 91%, transparent 91%);
  text-shadow: 0 0 24px rgba(215, 164, 95, .24);
}

h2 {
  margin-bottom: 18px;
  font-size: clamp(1.96rem, 2.65vw, 3.18rem);
}

h3 {
  font-family: var(--zwsp-display);
  font-weight: 740;
  margin-bottom: 8px;
  font-size: 1rem;
  line-height: 1.22;
  text-transform: uppercase;
}

p {
  margin-bottom: 0;
}

button,
input {
  font: inherit;
}

.zwsp-sprite {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

.zwsp-page {
  overflow: hidden;
  background: var(--zwsp-dark);
}

.zwsp-container {
  width: min(var(--zwsp-container), calc(100% - 48px));
  margin: 0 auto;
}

.zwsp-section {
  position: relative;
  isolation: isolate;
  padding: 84px 0;
}

.zwsp-section--light {
  color: var(--zwsp-paper-ink);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .44), transparent 28%),
    linear-gradient(180deg, var(--zwsp-paper), var(--zwsp-paper-2));
}

.zwsp-section--light::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(37, 53, 59, .06) 1px, transparent 1px),
    linear-gradient(180deg, rgba(37, 53, 59, .045) 1px, transparent 1px);
  background-size: 86px 86px;
  mask-image: linear-gradient(180deg, transparent, #000 18%, #000 82%, transparent);
  opacity: .48;
  pointer-events: none;
}

.zwsp-section--dark {
  background: var(--zwsp-dark);
  color: var(--zwsp-ink);
}

.zwsp-eyebrow {
  margin-bottom: 16px;
  color: var(--zwsp-amber-2);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.zwsp-section-heading {
  max-width: 800px;
  margin-bottom: 34px;
}

.zwsp-section-heading--center {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.zwsp-section-heading p,
.zwsp-section-copy--light p {
  color: var(--zwsp-paper-muted);
}

.zwsp-section-copy {
  max-width: 590px;
}

.zwsp-section-copy p {
  color: var(--zwsp-muted);
  font-size: 1.04rem;
}

.zwsp-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  width: 100%;
  border: 1px solid rgba(255, 236, 188, .48);
  border-radius: 6px;
  background: linear-gradient(180deg, #edc879, #cb9040);
  box-shadow: 0 17px 34px rgba(0, 0, 0, .3), inset 0 1px 0 rgba(255, 255, 255, .45);
  color: #1b140c;
  font-size: .9rem;
  font-weight: 900;
  letter-spacing: .03em;
  text-transform: uppercase;
  cursor: pointer;
  overflow: hidden;
  transition: transform .22s ease, filter .22s ease, box-shadow .22s ease;
}

.zwsp-button::after {
  content: "";
  display: none;
  position: absolute;
  inset: 0 auto 0 -45%;
  width: 40%;
  background: linear-gradient(105deg, transparent, rgba(255, 255, 255, .5), transparent);
  transform: skewX(-18deg);
  animation: zwsp-button-shine 5.8s ease-in-out infinite;
}

.zwsp-button:hover,
.zwsp-button:focus-visible {
  transform: translateY(-1px);
  filter: saturate(1.05);
  box-shadow: 0 20px 40px rgba(0, 0, 0, .34), inset 0 1px 0 rgba(255, 255, 255, .58);
}

.zwsp-button:focus-visible,
input:focus-visible,
a:focus-visible,
summary:focus-visible {
  outline: 3px solid rgba(215, 164, 95, .72);
  outline-offset: 3px;
}

@keyframes zwsp-button-shine {
  0%, 44% {
    transform: translateX(-120%) skewX(-18deg);
  }

  58%, 100% {
    transform: translateX(320%) skewX(-18deg);
  }
}

body.zwsp-motion-ready .zwsp-reveal {
  opacity: 0;
  transform: translate3d(0, 24px, 0);
  transition: opacity .7s ease, transform .7s ease;
  transition-delay: var(--zwsp-reveal-delay, 0ms);
}

body.zwsp-motion-ready .zwsp-reveal--right {
  transform: translate3d(28px, 0, 0);
}

body.zwsp-motion-ready .zwsp-reveal.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.zwsp-hero {
  position: relative;
  min-height: 720px;
  overflow: hidden;
  color: var(--zwsp-ink);
  background: url("../img/hero-product-composite-chatgpt-v1.jpg") center / cover no-repeat, var(--zwsp-dark);
}

.zwsp-hero__shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(3, 11, 15, .98) 0%, rgba(4, 13, 18, .9) 33%, rgba(5, 16, 24, .03) 62%, rgba(3, 10, 15, .06) 100%),
    linear-gradient(180deg, rgba(3, 10, 15, .28), rgba(3, 10, 15, .04) 52%, rgba(3, 10, 15, .46));
}

.zwsp-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, .96fr) minmax(340px, .78fr);
  align-items: center;
  gap: 54px;
  min-height: 720px;
  padding: 70px 0 58px;
}

.zwsp-hero__lead {
  max-width: 550px;
  margin-bottom: 18px;
  color: rgba(246, 243, 237, .84);
  font-size: 1.1rem;
}

.zwsp-hero__source-hook {
  display: grid;
  gap: 8px;
  max-width: 520px;
  margin: 0 0 20px;
}

.zwsp-hero__source-hook p {
  margin: 0;
  color: rgba(246, 243, 237, .86);
  font-size: .96rem;
  font-weight: 700;
}

.zwsp-hero__source-hook p span {
  color: var(--zwsp-amber);
  padding: 0 5px;
}

.zwsp-hero__source-hook strong {
  display: inline-flex;
  width: fit-content;
  padding: 8px 12px;
  border: 1px solid rgba(215, 164, 95, .32);
  border-radius: 999px;
  background: rgba(4, 13, 18, .52);
  color: var(--zwsp-amber-2);
  font-size: .82rem;
  letter-spacing: .01em;
}

.zwsp-form {
  display: grid;
  gap: 12px;
  max-width: 520px;
}

.zwsp-form label {
  display: grid;
  gap: 7px;
}

.zwsp-form label > span:first-child {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.zwsp-form input[type="text"],
.zwsp-form input[type="email"] {
  width: 100%;
  min-height: 52px;
  padding: 0 16px;
  border: 1px solid rgba(230, 239, 240, .36);
  border-radius: 6px;
  background: rgba(4, 13, 18, .58);
  color: var(--zwsp-ink);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05);
}

.zwsp-form input::placeholder {
  color: rgba(246, 243, 237, .58);
}

.zwsp-consent {
  grid-template-columns: 18px 1fr;
  align-items: start;
  gap: 10px !important;
  margin: 2px 0 4px;
  color: rgba(246, 243, 237, .7);
  font-size: .78rem;
  line-height: 1.4;
}

.zwsp-consent input {
  width: 16px;
  height: 16px;
  margin: 2px 0 0;
  accent-color: var(--zwsp-amber);
}

.zwsp-consent a {
  color: var(--zwsp-amber-2);
}

.zwsp-form__note {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(246, 243, 237, .74);
  font-size: .82rem;
}

.zwsp-form__note svg {
  width: 17px;
  height: 17px;
  color: var(--zwsp-amber);
  flex: 0 0 auto;
}

.zwsp-hero__product {
  justify-self: center;
  width: min(380px, 100%);
  perspective: 1200px;
}

.zwsp-product-card {
  position: relative;
  transform: rotateY(-7deg) rotateX(2deg);
  transform-origin: center;
  filter: drop-shadow(0 34px 42px rgba(0, 0, 0, .5));
}

.zwsp-product-card::before {
  content: "";
  position: absolute;
  inset: 8% -9% 6% auto;
  z-index: -1;
  width: 22%;
  background: linear-gradient(90deg, rgba(54, 43, 41, .76), rgba(10, 14, 18, .96));
  transform: skewY(-8deg);
}

.zwsp-product-card::after {
  content: "";
  position: absolute;
  right: 10%;
  bottom: -8%;
  width: 70%;
  height: 7%;
  background: rgba(0, 0, 0, .48);
  filter: blur(18px);
  transform: skewX(-18deg);
  z-index: -2;
}

.zwsp-product-card img {
  border-radius: 2px;
}

@media (min-width: 861px) {
  .zwsp-hero__product {
    display: none;
  }
}

.zwsp-benefits {
  padding: 42px 0 42px;
}

.zwsp-benefits h2,
.zwsp-faq h2 {
  font-size: clamp(1.74rem, 2vw, 2.38rem);
}

.zwsp-benefit-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--zwsp-line-light);
  border-left: 1px solid var(--zwsp-line-light);
}

.zwsp-benefit {
  min-height: 194px;
  padding: 26px 24px 22px;
  border-right: 1px solid var(--zwsp-line-light);
  border-bottom: 1px solid var(--zwsp-line-light);
  text-align: center;
}

.zwsp-benefit + .zwsp-benefit {
  border-left: 0;
}

.zwsp-benefit span {
  position: relative;
  display: grid;
  place-items: center;
  width: 70px;
  height: 70px;
  margin: -2px auto 12px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  box-shadow: none;
}

.zwsp-benefit span::before {
  display: none;
}

.zwsp-benefit span::after {
  display: none;
}

.zwsp-benefit img {
  position: relative;
  z-index: 1;
  width: 70px;
  height: 70px;
  object-fit: contain;
}

.zwsp-benefit h3 {
  margin-bottom: 8px;
}

.zwsp-benefit p {
  color: var(--zwsp-paper-muted);
  font-size: .88rem;
}

.zwsp-rinse {
  padding: 74px 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 18%, rgba(215, 164, 95, .14), transparent 30%),
    linear-gradient(135deg, #061018 0%, #0a1820 48%, #050b10 100%);
}

.zwsp-rinse::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(230, 239, 240, .04) 1px, transparent 1px),
    linear-gradient(180deg, rgba(230, 239, 240, .035) 1px, transparent 1px);
  background-size: 96px 96px;
  mask-image: linear-gradient(180deg, transparent, #000 16%, #000 84%, transparent);
  opacity: .48;
}

.zwsp-rinse__grid {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(360px, .78fr);
  gap: 70px;
  align-items: start;
}

.zwsp-rinse__copy {
  max-width: 680px;
}

.zwsp-rinse__copy p + p {
  margin-top: 16px;
}

.zwsp-rinse__panel {
  padding: 30px;
  border: 1px solid rgba(230, 239, 240, .16);
  border-radius: var(--zwsp-radius);
  background: rgba(4, 13, 18, .52);
  box-shadow: 0 26px 58px rgba(0, 0, 0, .28);
  backdrop-filter: blur(16px);
}

.zwsp-rinse__panel h3 {
  margin-bottom: 18px;
  color: rgba(246, 243, 237, .9);
  font-size: 1.12rem;
}

.zwsp-rinse__panel ul {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.zwsp-rinse__panel li {
  position: relative;
  padding-left: 24px;
  color: rgba(246, 243, 237, .76);
  font-size: .96rem;
}

.zwsp-rinse__panel li::before {
  content: "";
  position: absolute;
  top: .62em;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--zwsp-amber);
  box-shadow: 0 0 0 5px rgba(215, 164, 95, .12);
}

.zwsp-rinse__panel p {
  margin-top: 22px;
  color: rgba(246, 243, 237, .8);
  font-size: .98rem;
}

.zwsp-rinse__panel strong {
  color: var(--zwsp-amber-2);
}

.zwsp-ritual {
  min-height: 492px;
  padding: 56px 0;
  overflow: hidden;
}

.zwsp-ritual__image,
.zwsp-ritual__shade {
  position: absolute;
  inset: 0;
}

.zwsp-ritual__image {
  background: url("../img/listening-ritual-rain-window.jpg") center right / cover no-repeat;
}

.zwsp-ritual__shade {
  background:
    linear-gradient(90deg, rgba(3, 12, 17, .98) 0%, rgba(4, 15, 22, .86) 38%, rgba(4, 15, 22, .18) 78%),
    linear-gradient(180deg, rgba(4, 13, 18, .42), rgba(4, 13, 18, .72));
}

.zwsp-ritual__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 500px) 1fr;
  gap: 34px;
  align-items: start;
}

.zwsp-steps {
  display: grid;
  gap: 18px;
  margin-top: 26px;
}

.zwsp-steps article {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 14px;
  align-items: start;
}

.zwsp-steps article > span {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 1px solid var(--zwsp-amber);
  border-radius: 50%;
  color: var(--zwsp-amber-2);
  font-family: var(--zwsp-serif);
  font-size: 1.08rem;
}

.zwsp-steps h3,
.zwsp-included-list h3 {
  margin-bottom: 4px;
}

.zwsp-steps p,
.zwsp-included-list p {
  color: var(--zwsp-muted);
  font-size: .9rem;
}

.zwsp-receive .zwsp-included-list p {
  color: var(--zwsp-paper-muted);
}

.zwsp-mechanism-panel {
  display: none;
  grid-column: 1;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
  align-self: start;
}

.zwsp-mechanism-panel article {
  display: inline-grid;
  grid-template-columns: 22px auto;
  align-items: center;
  gap: 8px;
  max-width: 100%;
  padding: 8px 10px;
  border: 1px solid rgba(230, 239, 240, .13);
  border-radius: 999px;
  background: rgba(4, 13, 18, .42);
}

.zwsp-mechanism-panel svg {
  width: 18px;
  height: 18px;
  color: var(--zwsp-amber);
}

.zwsp-mechanism-panel h3,
.zwsp-mechanism-panel p {
  grid-column: 2;
}

.zwsp-mechanism-panel h3 {
  margin: 0;
  color: rgba(246, 243, 237, .82);
  font-size: .78rem;
  line-height: 1.15;
}

.zwsp-mechanism-panel p {
  display: none;
}

.zwsp-receive {
  padding: 48px 0;
}

.zwsp-receive__grid {
  display: grid;
  grid-template-columns: minmax(360px, .82fr) minmax(0, .95fr);
  gap: 62px;
  align-items: center;
}

.zwsp-receive__visual {
  position: relative;
}

.zwsp-receive h2 {
  font-size: clamp(1.78rem, 2.08vw, 2.48rem);
}

.zwsp-receive__composition {
  width: 100%;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 26px 28px rgba(33, 40, 40, .12));
}

.zwsp-included-list {
  display: grid;
  gap: 12px;
  margin-top: 20px;
}

.zwsp-included-list article {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 16px;
  align-items: start;
}

.zwsp-included-list img {
  width: 38px;
  height: 38px;
  margin-top: -2px;
  object-fit: contain;
  filter: drop-shadow(0 1px 0 rgba(255, 255, 255, .62));
}

.zwsp-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  width: fit-content;
  max-width: 100%;
  margin: 22px 0 0;
  padding: 8px 14px;
  border: 1px solid rgba(33, 41, 43, .08);
  border-radius: 6px;
  background: rgba(221, 213, 202, .58);
  list-style: none;
}

.zwsp-chip-row li {
  position: relative;
  padding: 0 12px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: rgba(23, 33, 38, .78);
  font-size: .88rem;
  font-weight: 700;
}

.zwsp-chip-row li:first-child {
  padding-left: 0;
}

.zwsp-chip-row li:last-child {
  padding-right: 0;
}

.zwsp-chip-row li + li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(23, 33, 38, .44);
  transform: translate(-50%, -50%);
}

.zwsp-creator {
  padding: 56px 0;
  overflow: hidden;
  background: url("../img/creator-alex-atmosphere-bg.jpg") left center / cover no-repeat, var(--zwsp-dark);
}

.zwsp-creator::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(90deg, rgba(4, 13, 18, .2) 0%, rgba(4, 13, 18, .52) 34%, rgba(4, 13, 18, .84) 68%, rgba(4, 13, 18, .94) 100%),
    linear-gradient(180deg, rgba(4, 13, 18, .18), rgba(4, 13, 18, .78));
  pointer-events: none;
}

.zwsp-creator__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 300px minmax(0, 650px);
  gap: 60px;
  align-items: center;
}

.zwsp-creator__portrait {
  justify-self: center;
  width: min(300px, 100%);
  border-bottom: 1px solid rgba(215, 164, 95, .36);
}

.zwsp-creator__portrait img {
  width: 100%;
  filter: drop-shadow(0 20px 28px rgba(0, 0, 0, .36));
}

@media (min-width: 861px) {
  .zwsp-creator__portrait {
    margin-bottom: -56px;
  }
}

.zwsp-creator-credentials {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 18px;
  margin: 18px 0 20px;
  padding: 0;
  list-style: none;
}

.zwsp-creator-credentials li {
  position: relative;
  padding-left: 20px;
  color: rgba(246, 243, 237, .78);
  font-size: .92rem;
}

.zwsp-creator-credentials li::before {
  content: "";
  position: absolute;
  top: .62em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--zwsp-amber);
  box-shadow: 0 0 0 4px rgba(215, 164, 95, .12);
}

.zwsp-creator-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 24px;
}

.zwsp-creator-tags span {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 10px 12px;
  border: 1px solid rgba(230, 239, 240, .17);
  border-radius: 999px;
  color: rgba(246, 243, 237, .82);
  font-size: .86rem;
}

.zwsp-creator-tags svg {
  width: 20px;
  height: 20px;
  color: var(--zwsp-amber);
}

.zwsp-faq {
  padding: 34px 0 36px;
}

.zwsp-faq__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 28px;
}

.zwsp-faq-item {
  border: 1px solid rgba(33, 41, 43, .16);
  border-radius: var(--zwsp-radius);
  background: rgba(255, 255, 255, .4);
  overflow: hidden;
}

.zwsp-faq-item summary {
  position: relative;
  display: block;
  padding: 12px 46px 12px 16px;
  color: #172126;
  font-weight: 700;
  cursor: pointer;
  list-style: none;
}

.zwsp-faq-item summary::-webkit-details-marker {
  display: none;
}

.zwsp-faq-item summary::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 22px;
  width: 10px;
  height: 10px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-68%) rotate(45deg);
  transition: transform .2s ease;
}

.zwsp-faq-item[open] summary::after {
  transform: translateY(-32%) rotate(225deg);
}

.zwsp-faq-item p {
  padding: 0 18px 16px;
  color: var(--zwsp-paper-muted);
}

.zwsp-final {
  position: relative;
  overflow: hidden;
  min-height: 306px;
  background: url("../img/final-cta-rain-city-bg.jpg") center / cover no-repeat, var(--zwsp-dark);
}

.zwsp-final__shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(3, 10, 15, .92) 0%, rgba(4, 13, 18, .74) 46%, rgba(4, 13, 18, .52) 100%),
    linear-gradient(180deg, rgba(3, 10, 15, .16), rgba(3, 10, 15, .78));
}

.zwsp-final__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(360px, .86fr);
  gap: 74px;
  align-items: center;
  min-height: 306px;
  padding: 38px 0;
}

.zwsp-final h2 {
  max-width: 560px;
  font-size: clamp(1.96rem, 2.72vw, 3.2rem);
}

.zwsp-final__copy p:not(.zwsp-eyebrow) {
  max-width: 440px;
  color: var(--zwsp-muted);
  font-size: 1.05rem;
}

.zwsp-form--final {
  max-width: none;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  backdrop-filter: none;
}

.zwsp-form--final .zwsp-consent,
.zwsp-form--final .zwsp-button,
.zwsp-form--final .zwsp-form__note,
.zwsp-form--final .zwsp-disclaimer {
  grid-column: 1 / -1;
}

.zwsp-disclaimer {
  color: rgba(246, 243, 237, .62);
  font-size: .72rem;
}

.zwsp-footer {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 180px;
  background:
    linear-gradient(90deg, rgba(3, 10, 15, .72), rgba(4, 13, 18, .46)),
    linear-gradient(180deg, rgba(3, 10, 15, .12), rgba(3, 10, 15, .74)),
    url("../img/final-cta-rain-city-bg.jpg") center 46% / cover no-repeat,
    #030a0e;
  color: rgba(246, 243, 237, .68);
  font-size: .82rem;
}

.zwsp-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(90deg, rgba(230, 239, 240, .055) 1px, transparent 1px),
    linear-gradient(180deg, rgba(230, 239, 240, .045) 1px, transparent 1px),
    radial-gradient(circle at 18% 0%, rgba(215, 164, 95, .16), transparent 34%);
  background-size: 86px 86px, 86px 86px, auto;
  opacity: .55;
  pointer-events: none;
}

.zwsp-footer__inner {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding: 34px 0 24px;
}

.zwsp-footer > .zwsp-container {
  position: relative;
  z-index: 1;
}

.zwsp-footer p {
  margin: 0;
}

.zwsp-footer nav {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.zwsp-footer a {
  color: inherit;
  text-decoration: none;
}

.zwsp-footer a:hover {
  color: var(--zwsp-amber-2);
}

.zwsp-footer-notice {
  padding: 0 0 22px;
  border-top: 1px solid rgba(246, 243, 237, .1);
  color: rgba(246, 243, 237, .58);
}

.zwsp-footer-notice summary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding-top: 14px;
  color: rgba(246, 243, 237, .7);
  font-size: .78rem;
  font-weight: 700;
  cursor: pointer;
}

.zwsp-footer-notice summary::-webkit-details-marker {
  display: none;
}

.zwsp-footer-notice summary::after {
  content: "";
  width: 7px;
  height: 7px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  transition: transform .2s ease;
}

.zwsp-footer-notice[open] summary::after {
  transform: translateY(2px) rotate(225deg);
}

.zwsp-footer-notice p {
  max-width: 1050px;
  margin: 10px 0 0;
  font-size: .72rem;
  line-height: 1.55;
}

@media (max-width: 1050px) {
  .zwsp-benefit-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .zwsp-benefit + .zwsp-benefit {
    border-left: 0;
  }

  .zwsp-benefit {
    border-left: 1px solid var(--zwsp-line-light);
    border-bottom: 1px solid var(--zwsp-line-light);
  }

  .zwsp-hero__grid,
  .zwsp-rinse__grid,
  .zwsp-ritual__grid,
  .zwsp-receive__grid,
  .zwsp-creator__grid,
  .zwsp-final__grid {
    gap: 44px;
  }

  .zwsp-hero__product {
    width: min(310px, 100%);
  }
}

@media (max-width: 860px) {
  .zwsp-container {
    width: min(100% - 34px, var(--zwsp-container));
  }

  .zwsp-section {
    padding: 66px 0;
  }

  .zwsp-hero {
    min-height: auto;
    background: url("../img/hero-after-rain-window-bg.jpg") 58% center / cover no-repeat, var(--zwsp-dark);
  }

  .zwsp-hero__shade {
    background:
      linear-gradient(180deg, rgba(3, 10, 15, .97) 0%, rgba(3, 10, 15, .86) 58%, rgba(3, 10, 15, .62) 100%);
  }

  .zwsp-hero__grid {
    grid-template-columns: 1fr;
    min-height: 0;
    padding: 56px 0 60px;
  }

  .zwsp-hero__product {
    order: 2;
    width: min(250px, 74vw);
  }

  .zwsp-form {
    max-width: none;
  }

  .zwsp-benefit-grid,
  .zwsp-rinse__grid,
  .zwsp-ritual__grid,
  .zwsp-receive__grid,
  .zwsp-creator__grid,
  .zwsp-final__grid,
  .zwsp-faq__grid {
    grid-template-columns: 1fr;
  }

  .zwsp-benefit-grid {
    border-bottom: 0;
  }

  .zwsp-benefit {
    min-height: 0;
    padding: 24px 18px;
  }

  .zwsp-rinse__panel {
    padding: 24px;
  }

  .zwsp-ritual__shade {
    background:
      linear-gradient(180deg, rgba(3, 12, 17, .97) 0%, rgba(4, 15, 22, .86) 62%, rgba(4, 15, 22, .78) 100%);
  }

  .zwsp-mechanism-panel article {
    background: rgba(4, 13, 18, .68);
  }

  .zwsp-creator__portrait {
    width: 220px;
  }

  .zwsp-final__grid {
    min-height: 0;
    padding: 68px 0;
  }

  .zwsp-form--final {
    grid-template-columns: 1fr;
    padding: 16px;
    border: 1px solid rgba(230, 239, 240, .16);
    border-radius: var(--zwsp-radius);
    background: rgba(4, 13, 18, .55);
    backdrop-filter: blur(12px);
  }

  .zwsp-footer__inner {
    flex-direction: column;
  }
}

@media (max-width: 560px) {
  h1 {
    font-size: clamp(2.3rem, 11.2vw, 3.12rem);
  }

  h2 {
    font-size: clamp(1.78rem, 8.6vw, 2.38rem);
  }

  .zwsp-eyebrow {
    font-size: .72rem;
  }

  .zwsp-hero__lead,
  .zwsp-section-copy p {
    font-size: 1rem;
  }

  .zwsp-hero__source-hook p {
    font-size: .86rem;
  }

  .zwsp-hero__source-hook strong {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .zwsp-form input[type="text"],
  .zwsp-form input[type="email"],
  .zwsp-button {
    min-height: 50px;
  }

  .zwsp-consent {
    font-size: .74rem;
  }

  .zwsp-steps article,
  .zwsp-mechanism-panel article,
  .zwsp-included-list article {
    grid-template-columns: 38px 1fr;
  }

  .zwsp-steps {
    gap: 20px;
  }

  .zwsp-creator-credentials li,
  .zwsp-creator-tags span {
    width: 100%;
  }

  .zwsp-chip-row {
    width: 100%;
    justify-content: center;
  }

  .zwsp-creator-credentials {
    grid-template-columns: 1fr;
  }

  .zwsp-form--final {
    padding: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

