/* ==========================================================================
   ASTRA · showcase sites (projects section and modal)
   Two different design languages on purpose. Own prefixes (sx-, lm-,
   ps-) and own container (sx): independent from sites.css, which the opening
   and the hero use. Mobile-first; desktop from a 640px wide frame.
   ========================================================================== */
[data-show] { container: sx / inline-size; }

.sx { position: relative; overflow: hidden; font-family: "Geist", system-ui, sans-serif; font-size: 3.7cqi; line-height: 1.45; -webkit-font-smoothing: antialiased; }
.sx img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sx-btn {
  display: inline-flex; align-items: center; justify-content: center; padding: 3cqi 5.2cqi; border-radius: 99cqi;
  font-weight: 600; font-size: 3.4cqi; white-space: nowrap; border: 1px solid transparent;
  transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1), filter 0.3s;
}
.sx-btn:hover { transform: translateY(-2px); filter: brightness(1.08); }
.sx-burger { margin-left: auto; display: grid; gap: 1.4cqi; width: 6cqi; }
.sx-burger i { height: 0.7cqi; border-radius: 1cqi; background: currentColor; }
.sx-kb { animation: sx-kenburns 20s ease-in-out infinite alternate; }
@keyframes sx-kenburns { from { transform: scale(1); } to { transform: scale(1.08) translate(-1.5%, -1%); } }

/* ==========================================================================
   1 · LUME ODONTOLOGIA: light editorial, centred, airy
   ========================================================================== */
.sx-lume { --c-bg: #f5f8f7; --c-ink: #0d2a27; --c-soft: #557069; --c-acc: #1d7a6b; --c-line: rgba(13, 42, 39, 0.12); --c-panel: #e7efec;
  background: var(--c-bg); color: var(--c-ink); }
.sx-lume .sx-btn { background: var(--c-acc); color: #fff; }
.sx-lume .sx-btn--line { background: transparent; color: var(--c-ink); border-color: var(--c-line); }
.lm-bar { text-align: center; font-size: 2.8cqi; color: var(--c-soft); padding: 2cqi var(--lm-pad, 6cqi); border-bottom: 1px solid var(--c-line); letter-spacing: 0.02em; }
.lm-nav { display: flex; align-items: center; gap: 3cqi; padding: 4cqi 6cqi; }
.lm-links { display: none; }
.lm-logo { display: inline-flex; align-items: center; gap: 1.6cqi; font-family: "Gloock", Georgia, serif; font-size: 6cqi; letter-spacing: -0.02em; }
.lm-logo i { width: 3.6cqi; height: 3.6cqi; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #fff 0 22%, var(--c-acc) 23%); }
.lm-hero { text-align: center; padding: 8cqi 6cqi 6cqi; display: grid; justify-items: center; }
.lm-tag { font-size: 3cqi; font-weight: 600; color: var(--c-acc); letter-spacing: 0.04em; }
.lm-h1 { margin-top: 3cqi; font-family: "Gloock", Georgia, serif; font-weight: 400; font-size: 10.4cqi; line-height: 1.04; letter-spacing: -0.025em; max-width: 13ch; }
.lm-line { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: 0.08em; margin-bottom: -0.08em; }
.lm-line > span { display: inline-block; }
.lm-h1 em { font-style: italic; color: var(--c-acc); }
.lm-lede { margin-top: 4cqi; color: var(--c-soft); max-width: 40ch; }
.lm-actions { margin-top: 5cqi; display: flex; flex-wrap: wrap; justify-content: center; gap: 2.4cqi; }
.lm-pano { position: relative; margin-top: 8cqi; width: 100%; aspect-ratio: 4 / 3.4; border-radius: 6cqi; overflow: visible; }
.lm-pano > img { border-radius: 6cqi; }
.lm-card { position: absolute; display: grid; gap: 0.5cqi; padding: 2.6cqi 3.6cqi; border-radius: 3cqi; background: #fff; color: var(--c-ink); text-align: left; box-shadow: 0 3cqi 7cqi -3cqi rgba(13, 42, 39, 0.35); font-size: 2.8cqi; }
.lm-card b { font-size: 3.6cqi; }
.lm-card span { color: var(--c-soft); }
.lm-card--a { left: -2cqi; bottom: 8cqi; }
.lm-card--b { right: -2cqi; top: 8cqi; }
.lm-treat { padding: 12cqi 6cqi 6cqi; }
.lm-h2 { font-family: "Gloock", Georgia, serif; font-weight: 400; font-size: 7.6cqi; line-height: 1.06; letter-spacing: -0.02em; text-wrap: balance; }
.lm-treat .lm-h2 { text-align: center; max-width: 18ch; margin-inline: auto; }
.lm-rows { margin-top: 7cqi; border-top: 1px solid var(--c-line); }
.lm-rows li { display: grid; grid-template-columns: auto 1fr auto; gap: 1cqi 4cqi; align-items: baseline; padding: 4cqi 0; border-bottom: 1px solid var(--c-line); }
.lm-rows li > * { transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1); }
.lm-rows li:hover > * { transform: translateX(1.5cqi); }
.lm-n { font-size: 3cqi; color: var(--c-acc); font-variant-numeric: tabular-nums; }
.lm-rows h3 { font-family: "Gloock", Georgia, serif; font-weight: 400; font-size: 5.6cqi; letter-spacing: -0.015em; }
.lm-rows p { grid-column: 2 / -1; color: var(--c-soft); font-size: 3.2cqi; }
.lm-go { grid-row: 1; grid-column: 3; width: 5cqi; color: var(--c-acc); }
.lm-duo { display: grid; gap: 6cqi; padding: 8cqi 6cqi; }
.lm-duo-img { aspect-ratio: 4 / 3; border-radius: 40cqi 40cqi 4cqi 4cqi; overflow: hidden; }
.lm-duo-copy { display: grid; gap: 3cqi; }
.lm-duo-copy p { color: var(--c-soft); }
.lm-list { display: grid; gap: 1.8cqi; }
.lm-list li { padding-left: 5cqi; position: relative; }
.lm-list li::before { content: ""; position: absolute; left: 0; top: 0.5em; width: 2.4cqi; height: 2.4cqi; border-radius: 50%; border: 0.5cqi solid var(--c-acc); }
.lm-facts { display: grid; margin: 0 6cqi; border-block: 1px solid var(--c-line); text-align: center; }
.lm-facts > div { display: grid; gap: 0.6cqi; padding: 4cqi 0; }
.lm-facts > div + div { border-top: 1px solid var(--c-line); }
.lm-facts b { font-family: "Gloock", Georgia, serif; font-weight: 400; font-size: 5.4cqi; }
.lm-facts span { color: var(--c-soft); font-size: 3cqi; }
.lm-cta { margin: 10cqi 6cqi; padding: 10cqi 6cqi; border-radius: 6cqi; background: var(--c-panel); text-align: center; display: grid; justify-items: center; gap: 5cqi; }
.lm-cta .lm-h2 { max-width: 16ch; }
.lm-foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 2cqi; padding: 5cqi 6cqi; border-top: 1px solid var(--c-line); color: var(--c-soft); font-size: 2.9cqi; }
.lm-foot .lm-logo { font-size: 4.6cqi; color: var(--c-ink); }

/* ==========================================================================
   2 · PULSO: product landing page, dark, glowing interface
   ========================================================================== */
.sx-pulso { --c-bg: #07080c; --c-ink: #f4f5f8; --c-soft: #9095a3; --c-acc: #d4ff4f; --c-acc2: #6c8cff; --c-line: rgba(244, 245, 248, 0.1); --c-panel: #0f1118;
  background: var(--c-bg); color: var(--c-ink); }
.sx-pulso .sx-btn { background: var(--c-acc); color: #0b0d05; }
.sx-pulso .sx-btn--line { background: rgba(244, 245, 248, 0.04); color: var(--c-ink); border-color: var(--c-line); }
.ps-glow { position: absolute; inset: 0 0 auto; height: 160cqi; pointer-events: none; overflow: hidden; }
.ps-glow::before, .ps-glow::after { content: ""; position: absolute; border-radius: 50%; filter: blur(14cqi); opacity: 0.55; animation: ps-drift 16s ease-in-out infinite alternate; }
.ps-glow::before { width: 80cqi; height: 60cqi; left: -20cqi; top: 30cqi; background: rgba(108, 140, 255, 0.55); }
.ps-glow::after { width: 70cqi; height: 50cqi; right: -24cqi; top: 70cqi; background: rgba(212, 255, 79, 0.28); animation-delay: -6s; }
@keyframes ps-drift { to { transform: translate3d(10cqi, -6cqi, 0) scale(1.15); } }
.ps-nav { position: relative; z-index: 2; display: flex; align-items: center; gap: 3cqi; padding: 4.5cqi 6cqi; }
.ps-links, .ps-login, .ps-nav > .sx-btn { display: none; }
.ps-logo { display: inline-flex; align-items: center; gap: 1.6cqi; font-weight: 700; font-size: 5.6cqi; letter-spacing: -0.05em; }
.ps-logo i { position: relative; width: 3.4cqi; height: 3.4cqi; border-radius: 50%; background: var(--c-acc); box-shadow: 0 0 0 0 rgba(212, 255, 79, 0.6); animation: ps-ping 2.4s ease-out infinite; }
@keyframes ps-ping { 0% { box-shadow: 0 0 0 0 rgba(212, 255, 79, 0.55); } 100% { box-shadow: 0 0 0 2.4cqi rgba(212, 255, 79, 0); } }
.ps-hero { position: relative; z-index: 1; display: grid; justify-items: center; text-align: center; padding: 8cqi 6cqi 10cqi; }
.ps-badge { display: inline-flex; align-items: center; gap: 2cqi; padding: 1.2cqi 3cqi 1.2cqi 1.2cqi; border-radius: 99cqi; border: 1px solid var(--c-line); background: rgba(244, 245, 248, 0.04); font-size: 2.9cqi; color: var(--c-soft); }
.ps-badge b { padding: 0.6cqi 2cqi; border-radius: 99cqi; background: var(--c-acc); color: #0b0d05; font-weight: 700; }
.ps-h1 { margin-top: 5cqi; font-weight: 650; font-size: 12cqi; line-height: 0.98; letter-spacing: -0.06em; max-width: 11ch; text-wrap: balance; }
.ps-w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: 0.1em; margin-bottom: -0.1em; }
.ps-w > span { display: inline-block; }
.ps-h1 .ps-w:last-child > span { color: var(--c-acc); }
.ps-lede { margin-top: 4cqi; color: var(--c-soft); max-width: 38ch; }
.ps-actions { margin-top: 5cqi; display: flex; flex-wrap: wrap; justify-content: center; gap: 2.4cqi; }
.ps-stage { position: relative; width: 100%; margin-top: 10cqi; perspective: 160cqi; }
.ps-app { display: grid; grid-template-columns: 9cqi 1fr; border-radius: 3cqi; overflow: hidden; background: linear-gradient(180deg, #121521, #0b0d14); border: 1px solid rgba(244, 245, 248, 0.12); box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.6), 0 10cqi 24cqi -6cqi rgba(108, 140, 255, 0.45); transform-origin: 50% 0; text-align: left; }
.ps-side { display: grid; align-content: start; justify-items: center; gap: 3cqi; padding: 4cqi 0; border-right: 1px solid var(--c-line); }
.ps-side i { width: 4cqi; height: 4cqi; border-radius: 1.2cqi; background: rgba(244, 245, 248, 0.08); }
.ps-side i.on { background: var(--c-acc); }
.ps-main { padding: 4cqi; display: grid; gap: 3.4cqi; }
.ps-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2cqi; }
.ps-kpis div { padding: 2.4cqi; border-radius: 2cqi; background: rgba(244, 245, 248, 0.04); border: 1px solid var(--c-line); display: grid; gap: 0.6cqi; }
.ps-kpis span { font-size: 2.3cqi; color: var(--c-soft); }
.ps-kpis b { font-size: 3.2cqi; font-weight: 650; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ps-kpis div:first-child b { color: var(--c-acc); }
.ps-chart { position: relative; height: 30cqi; border-radius: 2cqi; background: rgba(244, 245, 248, 0.03); border: 1px solid var(--c-line); overflow: hidden; }
.ps-chart svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.ps-area { fill: url(#ps-fade); }
.ps-line { fill: none; stroke: var(--c-acc); stroke-width: 2.2; stroke-linecap: round; vector-effect: non-scaling-stroke; stroke-dasharray: 1; }
.ps-chart-tag { position: absolute; left: 2.4cqi; top: 2cqi; font-size: 2.3cqi; color: var(--c-soft); }
.ps-bars { display: flex; align-items: flex-end; gap: 1.4cqi; height: 16cqi; }
.ps-bars i { flex: 1; height: var(--h); border-radius: 0.8cqi 0.8cqi 0.3cqi 0.3cqi; background: linear-gradient(180deg, var(--c-acc2), rgba(108, 140, 255, 0.25)); transform-origin: 50% 100%; }
.ps-bars i:nth-child(4n) { background: linear-gradient(180deg, var(--c-acc), rgba(212, 255, 79, 0.2)); }
.ps-toast { position: absolute; display: flex; align-items: center; gap: 2cqi; padding: 2cqi 3cqi 2cqi 2cqi; border-radius: 2.4cqi; background: rgba(20, 23, 33, 0.92); border: 1px solid rgba(244, 245, 248, 0.14); box-shadow: 0 4cqi 10cqi -3cqi rgba(0, 0, 0, 0.8); text-align: left; backdrop-filter: blur(8px); }
.ps-toast i { width: 6cqi; height: 6cqi; border-radius: 1.6cqi; background: var(--c-acc); flex: none; }
.ps-toast--b i { background: var(--c-acc2); }
.ps-toast div { display: grid; }
.ps-toast b { font-size: 2.8cqi; font-weight: 600; }
.ps-toast span { font-size: 2.4cqi; color: var(--c-soft); }
.ps-toast { right: -2cqi; top: -6cqi; }
.ps-toast--b { right: auto; top: auto; left: -2cqi; bottom: 6cqi; }
.ps-feats { position: relative; padding: 10cqi 6cqi 6cqi; }
.ps-h2 { font-weight: 650; font-size: 8.4cqi; line-height: 1.02; letter-spacing: -0.05em; max-width: 16ch; text-wrap: balance; }
.ps-grid { margin-top: 6cqi; display: grid; gap: 3cqi; }
.ps-feat { position: relative; padding: 5cqi; border-radius: 3cqi; background: var(--c-panel); border: 1px solid var(--c-line); display: grid; gap: 1.6cqi; overflow: hidden; }
.ps-feat::after { content: ""; position: absolute; inset: auto -20% -60% auto; width: 60%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(108, 140, 255, 0.22), transparent 70%); transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
.ps-feat:hover::after { transform: translate(-20%, -20%) scale(1.3); }
.ps-ico { width: 8cqi; height: 8cqi; border-radius: 2cqi; display: grid; place-items: center; background: rgba(212, 255, 79, 0.1); color: var(--c-acc); }
.ps-ico svg { width: 55%; height: 55%; }
.ps-feat h3 { font-weight: 600; font-size: 4.6cqi; letter-spacing: -0.03em; }
.ps-feat p { color: var(--c-soft); }
.ps-steps { padding: 8cqi 6cqi; display: grid; gap: 0; }
.ps-step { display: grid; grid-template-columns: auto 1fr; gap: 1cqi 5cqi; align-items: baseline; padding: 5cqi 0; border-top: 1px solid var(--c-line); }
.ps-step:last-child { border-bottom: 1px solid var(--c-line); }
.ps-step b { grid-row: span 2; font-weight: 650; font-size: 12cqi; line-height: 0.9; letter-spacing: -0.06em; color: transparent; -webkit-text-stroke: 1px rgba(244, 245, 248, 0.35); }
.ps-step h3 { font-weight: 600; font-size: 5cqi; letter-spacing: -0.03em; }
.ps-step p { color: var(--c-soft); }
.ps-cta { position: relative; margin: 6cqi 6cqi 10cqi; padding: 12cqi 6cqi; border-radius: 4cqi; overflow: hidden; text-align: center; display: grid; justify-items: center; gap: 4cqi; background: radial-gradient(90% 120% at 50% 0%, rgba(108, 140, 255, 0.35), transparent 60%), var(--c-panel); border: 1px solid var(--c-line); }
.ps-cta p { color: var(--c-soft); max-width: 34ch; }
.ps-foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 2cqi; padding: 5cqi 6cqi; border-top: 1px solid var(--c-line); color: var(--c-soft); font-size: 2.9cqi; }
.ps-foot .ps-logo { font-size: 4.4cqi; color: var(--c-ink); }

/* ==========================================================================
   Desktop frames
   ========================================================================== */
@container sx (min-width: 640px) {
  .sx { font-size: 1.3cqi; }
  .sx-btn { padding: 1.1cqi 2.1cqi; font-size: 1.25cqi; }
  .sx-burger { display: none; }

  /* Lume */
  .lm-bar { font-size: 1.05cqi; padding: 0.8cqi 5cqi; }
  .lm-nav { display: grid; grid-template-columns: 1fr auto 1fr; padding: 1.8cqi 5cqi; }
  .lm-links { display: flex; gap: 2.6cqi; font-size: 1.2cqi; color: var(--c-soft); }
  .lm-links--r { justify-content: flex-end; align-items: center; }
  .lm-navbtn { padding: 0.6cqi 1.4cqi; border-radius: 99cqi; background: var(--c-ink); color: #fff; }
  .lm-logo { font-size: 2.2cqi; gap: 0.7cqi; }
  .lm-logo i { width: 1.5cqi; height: 1.5cqi; }
  .lm-hero { padding: 5cqi 5cqi 4cqi; }
  .lm-tag { font-size: 1.15cqi; }
  .lm-h1 { margin-top: 1.4cqi; font-size: 5.8cqi; max-width: 14ch; }
  .lm-lede { margin-top: 1.8cqi; font-size: 1.45cqi; }
  .lm-actions { margin-top: 2.4cqi; gap: 1cqi; }
  .lm-pano { margin-top: 4cqi; aspect-ratio: 21 / 8; border-radius: 2.4cqi; }
  .lm-pano > img { border-radius: 2.4cqi; }
  .lm-card { padding: 1.1cqi 1.6cqi; border-radius: 1.2cqi; font-size: 1.1cqi; gap: 0.2cqi; }
  .lm-card b { font-size: 1.45cqi; }
  .lm-card--a { left: 3cqi; bottom: -2cqi; }
  .lm-card--b { right: 3cqi; top: -2cqi; }
  .lm-treat { padding: 7cqi 5cqi 3cqi; display: grid; grid-template-columns: 1fr 1.4fr; gap: 5cqi; align-items: start; }
  .lm-treat .lm-h2 { text-align: left; margin: 0; }
  .lm-h2 { font-size: 3.2cqi; }
  .lm-rows { margin-top: 0; }
  .lm-rows li { padding: 1.6cqi 0; gap: 0.3cqi 1.6cqi; }
  .lm-n { font-size: 1.1cqi; }
  .lm-rows h3 { font-size: 2.1cqi; }
  .lm-rows p { font-size: 1.2cqi; }
  .lm-go { width: 1.8cqi; }
  .lm-duo { grid-template-columns: 1fr 1fr; gap: 5cqi; align-items: center; padding: 5cqi; }
  .lm-duo-img { border-radius: 16cqi 16cqi 1.6cqi 1.6cqi; }
  .lm-duo-copy { gap: 1.4cqi; }
  .lm-list { gap: 0.8cqi; }
  .lm-list li { padding-left: 2cqi; }
  .lm-list li::before { width: 0.9cqi; height: 0.9cqi; border-width: 0.2cqi; }
  .lm-facts { grid-template-columns: repeat(3, 1fr); margin: 0 5cqi; }
  .lm-facts > div { padding: 2cqi 0; }
  .lm-facts > div + div { border-top: 0; border-left: 1px solid var(--c-line); }
  .lm-facts b { font-size: 2.1cqi; }
  .lm-facts span { font-size: 1.15cqi; }
  .lm-cta { margin: 5cqi; padding: 5cqi; border-radius: 2.4cqi; gap: 2.2cqi; }
  .lm-foot { padding: 2cqi 5cqi; font-size: 1.15cqi; }
  .lm-foot .lm-logo { font-size: 1.7cqi; }


  /* Pulso */
  .ps-nav { padding: 1.8cqi 5cqi; gap: 2.4cqi; }
  .ps-links { display: flex; gap: 2.4cqi; margin-inline: auto; font-size: 1.2cqi; color: var(--c-soft); }
  .ps-login { display: inline; font-size: 1.2cqi; color: var(--c-soft); }
  .ps-nav > .sx-btn { display: inline-flex; }
  .ps-logo { font-size: 2.1cqi; gap: 0.6cqi; }
  .ps-logo i { width: 1.2cqi; height: 1.2cqi; }
  .ps-glow { height: 70cqi; }
  .ps-glow::before { width: 40cqi; height: 26cqi; left: 6cqi; top: 14cqi; }
  .ps-glow::after { width: 34cqi; height: 22cqi; right: 4cqi; top: 26cqi; }
  .ps-hero { padding: 5cqi 5cqi 6cqi; }
  .ps-badge { font-size: 1.15cqi; gap: 0.8cqi; padding: 0.4cqi 1.2cqi 0.4cqi 0.4cqi; }
  .ps-badge b { padding: 0.2cqi 0.8cqi; }
  .ps-h1 { margin-top: 2cqi; font-size: 6.6cqi; max-width: 14ch; }
  .ps-lede { margin-top: 1.8cqi; font-size: 1.5cqi; }
  .ps-actions { margin-top: 2.4cqi; gap: 1cqi; }
  .ps-stage { width: 84%; margin-top: 4.6cqi; perspective: 90cqi; }
  .ps-app { grid-template-columns: 4.4cqi 1fr; border-radius: 1.2cqi; }
  .ps-side { gap: 1.4cqi; padding: 2cqi 0; }
  .ps-side i { width: 1.8cqi; height: 1.8cqi; border-radius: 0.5cqi; }
  .ps-main { padding: 2cqi; gap: 1.4cqi; grid-template-columns: 1.6fr 1fr; }
  .ps-kpis { grid-column: 1 / -1; gap: 1cqi; }
  .ps-kpis div { padding: 1.1cqi; border-radius: 0.8cqi; gap: 0.2cqi; }
  .ps-kpis span { font-size: 0.95cqi; }
  .ps-kpis b { font-size: 1.7cqi; }
  .ps-chart { height: 16cqi; border-radius: 0.8cqi; }
  .ps-chart-tag { left: 1cqi; top: 0.8cqi; font-size: 0.95cqi; }
  .ps-bars { height: 16cqi; gap: 0.5cqi; padding: 1cqi; border-radius: 0.8cqi; background: rgba(244, 245, 248, 0.03); border: 1px solid var(--c-line); }
  .ps-bars i { border-radius: 0.3cqi 0.3cqi 0.1cqi 0.1cqi; }
  .ps-toast { gap: 0.8cqi; padding: 0.8cqi 1.2cqi 0.8cqi 0.8cqi; border-radius: 1cqi; right: -5cqi; top: 4cqi; }
  .ps-toast--b { left: -5cqi; right: auto; top: auto; bottom: 3cqi; }
  .ps-toast i { width: 2.4cqi; height: 2.4cqi; border-radius: 0.6cqi; }
  .ps-toast b { font-size: 1.15cqi; }
  .ps-toast span { font-size: 1cqi; }
  .ps-feats { padding: 4cqi 5cqi 2cqi; }
  .ps-h2 { font-size: 3.6cqi; }
  .ps-grid { margin-top: 2.6cqi; grid-template-columns: repeat(3, 1fr); gap: 1.2cqi; }
  .ps-feat { padding: 2cqi; border-radius: 1.2cqi; gap: 0.7cqi; }
  .ps-ico { width: 3.2cqi; height: 3.2cqi; border-radius: 0.8cqi; }
  .ps-feat h3 { font-size: 1.8cqi; }
  .ps-steps { padding: 4cqi 5cqi; grid-template-columns: repeat(3, 1fr); gap: 2cqi; }
  .ps-step { grid-template-columns: 1fr; padding: 2cqi 0 0; gap: 0.6cqi; border-bottom: 0; }
  .ps-step:last-child { border-bottom: 0; }
  .ps-step b { grid-row: auto; font-size: 5.4cqi; }
  .ps-step h3 { font-size: 1.8cqi; }
  .ps-cta { margin: 2cqi 5cqi 5cqi; padding: 5cqi; border-radius: 1.6cqi; gap: 1.6cqi; }
  .ps-foot { padding: 2cqi 5cqi; font-size: 1.15cqi; }
  .ps-foot .ps-logo { font-size: 1.7cqi; }
}

@media (prefers-reduced-motion: reduce) {
  .sx-kb, .ps-glow::before, .ps-glow::after, .ps-logo i { animation: none; }
}
