/* ============ Product Page (Pulseq) ============ */

.pulseq-hero {
  background:
    linear-gradient(90deg, rgba(0,0,0,0.97) 0%, rgba(0,0,0,0.72) 51%, rgba(0,0,0,0.92) 100%),
    radial-gradient(circle at 78% 26%, rgba(70,119,255,0.24), transparent 36%),
    #000;
}
.pulseq-hero-grid {
  grid-template-columns: minmax(0, 0.78fr) minmax(560px, 1.22fr);
  align-items: center;
}
.pulseq-media-panel { min-width: 0; }
.pulseq-screenshot {
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--rule-strong);
  border-radius: 4px;
  background: #050505;
  box-shadow: 0 34px 100px rgba(0,0,0,0.62), 0 0 70px rgba(70,119,255,0.08);
  aspect-ratio: 2012 / 1010;
}
.pulseq-screenshot img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.pulseq-readout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid var(--rule);
  border-top: 0;
  background: var(--rule);
}
.pulseq-readout span {
  display: block;
  padding: 12px 14px;
  background: var(--bg-elev);
  color: var(--ink);
}
.pulseq-format-icons {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 82px;
}
.pulseq-format-icons img {
  display: block;
  width: auto;
  height: 80px;
  max-width: 180px;
  object-fit: contain;
  filter: brightness(0) invert(1);
  opacity: 0.92;
}
.pulseq-free-price .was { color: var(--ink-dim); }
.pulseq-intro {
  padding: clamp(100px, 16vh, 170px) 0;
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  background:
    linear-gradient(180deg, rgba(70,119,255,0.055), transparent 60%),
    #020202;
}
.pulseq-intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(420px, 0.84fr);
  gap: clamp(64px, 10vw, 150px);
  align-items: start;
}
.pulseq-intro-title {
  min-width: 0;
  container-type: inline-size;
}
.pulseq-intro-title h2 {
  max-width: 100%;
  margin-top: clamp(28px, 4vw, 54px);
  font-size: clamp(32px, 4.3vw, 64px);
  font-size: clamp(32px, 10cqw, 64px);
  line-height: 1.08;
  overflow-wrap: anywhere;
  text-wrap: balance;
}
.pulseq-intro-copy {
  display: flex;
  flex-direction: column;
  gap: clamp(28px, 4vw, 48px);
  padding-top: clamp(48px, 7vw, 96px);
}
.pulseq-intro-copy p {
  max-width: 58ch;
  font-family: var(--serif-body);
  font-size: clamp(18px, 1.45vw, 23px);
  line-height: 1.64;
  color: var(--ink-dim);
}
.pulseq-intro-copy p:first-child { color: var(--ink); }
.pulseq-engine {
  background:
    linear-gradient(180deg, rgba(70,119,255,0.05), transparent 46%),
    var(--bg);
}
.pulseq-circuit-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.pulseq-circuit-card {
  min-height: 290px;
  padding: 24px;
  border: 1px solid var(--rule);
  background: var(--bg-elev);
  display: flex;
  flex-direction: column;
}
.pulseq-circuit-card h4 {
  margin: 58px 0 20px;
  font-size: clamp(30px, 3vw, 42px);
  line-height: 0.98;
}
.pulseq-circuit-card p {
  margin-top: auto;
  font-family: var(--serif-body);
  font-size: 15px;
  line-height: 1.55;
  color: var(--ink-dim);
}
.pulseq-controls { background: #030303; }
.pulseq-use .compat-title { max-width: 13ch; }
.pulseq-note {
  min-height: 430px;
  display: flex;
  flex-direction: column;
}
.pulseq-note blockquote { flex: 1; }
.pulseq-note blockquote p {
  font-size: clamp(27px, 2.7vw, 46px);
  line-height: 1.2;
}
.pulseq-note footer {
  padding-top: 28px;
  border-top: 1px solid var(--rule);
}
.pulseq-cta {
  background:
    radial-gradient(circle at 82% 50%, rgba(70,119,255,0.22), transparent 34%),
    var(--bg-elev);
}

/* Brushwork carries the depth; type and controls stay on a steady plane. */
.pulseq-depth {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #090b0c;
}
.pulseq-depth > .wrap { position: relative; z-index: 1; }
.pulseq-backdrop {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
}
.pulseq-backdrop img {
  position: absolute;
  top: -182px;
  width: 100%;
  height: calc(100% + 364px);
  max-width: none;
  object-fit: cover;
  transform: translate3d(0, var(--pulseq-shift, 0px), 0) scale(var(--pulseq-scale, 1.06));
}
.pulseq-backdrop::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, .2), rgba(0, 0, 0, .65)),
    linear-gradient(180deg, rgba(0, 0, 0, .35), transparent 25%, transparent 75%, rgba(0, 0, 0, .6));
}
.pulseq-engine .pulseq-backdrop::after {
  background: linear-gradient(180deg, rgba(0, 0, 0, .55), rgba(0, 0, 0, .15) 45%, rgba(0, 0, 0, .72));
}
.pulseq-intro-copy p { color: #d4d2cb; }
.pulseq-intro-copy p:first-child { color: var(--ink); }
.pulseq-art-frame {
  --reveal-angle: -2deg;
  margin: 0;
  padding: 10px 10px 0;
  min-width: 0;
  border: 1px solid rgba(239, 237, 230, .38);
  background: #111314;
  box-shadow: 0 28px 60px rgba(0, 0, 0, .35);
}
.pulseq-art-window {
  position: relative;
  overflow: hidden;
  aspect-ratio: 3 / 2;
  background: #222;
}
.pulseq-art-window img {
  position: absolute;
  top: -70px;
  width: 100%;
  height: calc(100% + 140px);
  max-width: none;
  object-fit: cover;
  transform: translate3d(0, var(--pulseq-shift, 0px), 0) scale(var(--pulseq-scale, 1.06));
}
.pulseq-art-frame figcaption {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 6px;
  color: #cfcec9;
  font-size: 12px;
  letter-spacing: .13em;
}
.pulseq-art-frame figcaption span { color: #87a8ff; }
.pulseq-art-wave { margin-top: clamp(40px, 5vw, 72px); }
.pulseq-art-wave .pulseq-art-window { aspect-ratio: 4 / 3; }
.pulseq-art-pair {
  display: grid;
  grid-template-columns: 1.18fr .82fr;
  align-items: start;
  gap: clamp(24px, 5vw, 80px);
  margin: clamp(56px, 7vw, 110px) 0 clamp(72px, 8vw, 120px);
}
.pulseq-art-contours {
  --reveal-angle: 2deg;
  margin-top: clamp(60px, 9vw, 140px);
}
.pulseq-art-contours .pulseq-art-window { aspect-ratio: 4 / 5; }
.pulseq-engine .pulseq-circuit-card {
  background: rgba(8, 10, 13, .86);
  border-color: rgba(239, 237, 230, .22);
}
.pulseq-use .compat-grid { align-items: center; gap: clamp(48px, 7vw, 100px); }
.pulseq-use-copy { min-width: 0; }
.pulseq-art-portrait { --reveal-angle: 2deg; }
.pulseq-art-portrait .pulseq-art-window { aspect-ratio: 2 / 3; }
.pulseq-use .pulseq-note {
  min-height: 0;
  margin-top: 48px;
  padding: 28px 0 0;
  border: 0;
  border-top: 1px solid var(--rule-strong);
  border-radius: 0;
  background: transparent;
}
.pulseq-use .pulseq-note blockquote { margin-top: 20px; }
.pulseq-use .pulseq-note blockquote p { font-size: clamp(24px, 2.4vw, 34px); }
.pulseq-note footer { font-size: 12px; }

@media (prefers-reduced-motion: no-preference) {
  .pulseq-motion-active [data-pulseq-reveal] {
    opacity: 0;
    transform: translate3d(0, 64px, 0) rotate(var(--reveal-angle, 0deg));
    transition: opacity 850ms ease, transform 1100ms cubic-bezier(.16, 1, .3, 1);
  }
  .pulseq-motion-active [data-pulseq-reveal].is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0) rotate(0deg);
  }
  .pulseq-motion-active .pulseq-art-frame .pulseq-art-window {
    clip-path: inset(0 0 100% 0);
    transition: clip-path 1200ms cubic-bezier(.16, 1, .3, 1);
  }
  .pulseq-motion-active .pulseq-art-frame.is-visible .pulseq-art-window {
    clip-path: inset(0);
  }
  .pulseq-circuit-card:nth-child(2) { transition-delay: 90ms; }
  .pulseq-circuit-card:nth-child(3) { transition-delay: 180ms; }
  .pulseq-circuit-card:nth-child(4) { transition-delay: 270ms; }
}
@media (prefers-reduced-motion: reduce) {
  .pulseq-backdrop img,
  .pulseq-art-window img { transform: none; }
}

@media (max-width: 760px) {
  .pulseq-art-pair { grid-template-columns: 1fr; gap: 40px; }
  .pulseq-art-contours { margin-top: 0; margin-left: 12%; }
  .pulseq-art-ribbons { margin-right: 6%; }
  .pulseq-art-contours .pulseq-art-window { aspect-ratio: 5 / 4; }
  .pulseq-art-portrait { width: min(100%, 480px); margin-inline: auto; }
  .pulseq-art-frame { padding: 7px 7px 0; }
  .pulseq-art-frame figcaption { padding: 14px 4px; letter-spacing: .08em; }
  .pulseq-intro-copy { padding-top: 0; }
}

@media (max-width: 1060px) {
  .pulseq-hero-grid,
  .pulseq-intro-grid,
  .pulseq-circuit-grid {
    grid-template-columns: 1fr;
  }
  .pulseq-circuit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pulseq-hero-grid { gap: 64px; }
}

@media (max-width: 640px) {
  .pulseq-circuit-grid,
  .pulseq-readout {
    grid-template-columns: 1fr;
  }
  .pulseq-circuit-card { min-height: auto; }
  .pulseq-circuit-card h4 { margin-top: 38px; }
  .pulseq-format-icons img { height: 58px; max-width: 128px; }
}
