/* Home page: composition and effects mirrored from dexpose.io */
.pg-home { --img: url("/wp-content/themes/dexpose/assets/img/p/home/"); }

/* Hero: fixed radial background = the "overlay" effect while scrolling */
.pg-home .hm-hero {
  padding: clamp(44px, 6vw, 84px) 0 clamp(50px, 6vw, 90px);
  /* deep field: one light source low behind the dashboard, nothing else */
  background: linear-gradient(180deg, #020520 0%, #01072a 55%, #030b33 100%);
}
.pg-home .hm-hero__title { font-size: clamp(2.4rem, 5vw, 3.55rem); margin-bottom: 0.18em; font-weight: 700; }
.pg-home .hm-hero { top: 0; }
.pg-home .pin-after { box-shadow: 0 -40px 80px rgba(0, 0, 27, 0.6); }
.pg-home .hm-hero__rotator { font-size: clamp(1.35rem, 2.9vw, 2.1rem); font-weight: 300; color: #fff; letter-spacing: -0.01em; margin-bottom: 1rem; }
.pg-home .hm-hero__rotator::after { width: 1.5px; opacity: 0.7; }
.pg-home .hero__lead { max-width: 640px; font-size: 1.05rem; margin-bottom: 1.5rem; font-weight: 300; }
.pg-home .hm-hero__alt { margin: 6px 0 0; font-size: 0.9rem; color: rgba(227, 229, 232, 0.6); }
.pg-home .hm-hero__alt a { color: #fff; border-bottom: 1px solid rgba(255, 255, 255, 0.35); }
.pg-home .hm-hero__alt a:hover { color: var(--sky); border-color: var(--sky); }
.pg-home .hm-form { max-width: 470px; }
.pg-home .hm-form input { height: 50px; font-size: 0.95rem; }
.pg-home .hm-form .btn { height: 50px; font-size: 0.85rem; padding: 0 18px; }
.pg-home .hm-dash { position: relative; max-width: 1160px; margin: 0 auto; perspective: 1400px; animation: hmDashIn 0.8s var(--ease) 0.25s both; }
@keyframes hmDashIn { from { opacity: 0; transform: translateY(44px); } to { opacity: 1; transform: none; } }
.pg-home .hm-dash__frame::after { animation: hmRimIn 0.9s ease-out 0.85s both; }
@keyframes hmRimIn { from { opacity: 0; } to { opacity: 0.75; } }
@media (prefers-reduced-motion: reduce) { .pg-home .hm-dash, .pg-home .hm-dash__frame::after { animation: none; } }
/* horizon light: the panel rises out of one wide, soft blue glow */
.pg-home .hm-dash::before { content: ""; position: absolute; left: 50%; top: -26%; width: 150%; height: 80%; transform: translateX(-50%); border-radius: 50%; background: radial-gradient(ellipse at 40% 60%, rgba(47, 123, 255, 0.55), rgba(47, 123, 255, 0) 62%), radial-gradient(ellipse at 68% 60%, rgba(106, 92, 255, 0.3), rgba(106, 92, 255, 0) 60%); filter: blur(30px); pointer-events: none; z-index: -1; }
.pg-home .hm-dash__frame {
  position: relative; border-radius: 22px; isolation: isolate;
  transform: rotateX(14deg) scale(1); transform-origin: 50% 100%;
  transition: transform 0.9s var(--ease);
  will-change: transform;
}
/* neon rim: blue on the left, violet on the right, like the mockup; it tilts and scales with the panel */
.pg-home .hm-dash__frame::before { content: ""; position: absolute; inset: -3px; border-radius: 25px; background: linear-gradient(115deg, #7cc3ff 0%, #2f7bff 35%, #2871e4 70%, #6a5cff 100%); z-index: -2; }
.pg-home .hm-dash__frame::after { content: ""; position: absolute; inset: -14px; border-radius: 34px; background: linear-gradient(115deg, rgba(124, 195, 255, 0.7), rgba(47, 123, 255, 0.6) 40%, rgba(106, 92, 255, 0.6)); filter: blur(26px); opacity: 0.75; z-index: -3; }
.pg-home .hm-dash__frame img { width: 100%; display: block; border-radius: 22px; box-shadow: 0 40px 90px rgba(0, 0, 0, 0.55); position: relative; z-index: 1; }
.pg-home .hm-dash.is-in .hm-dash__frame { transform: rotateX(11deg) rotateY(var(--ry, 0deg)) scale(1); }
.pg-home .hm-dash:hover .hm-dash__frame { transform: rotateX(0) scale(1); }
/* Scroll-driven: the dashboard flattens, grows and rises to the top while the text fades out,
   until the next section slides over it (--p and --dy are set by site.js). */
.pg-home .hm-hero.is-zooming .hm-dash__frame,
.pg-home .hm-hero.is-zooming .hm-dash:hover .hm-dash__frame {
  transform: translateY(var(--dy, 0px)) rotateX(calc(11deg * (1 - var(--p, 0)))) scale(calc(1 + 0.22 * var(--p, 0)));
  transition: none; will-change: transform;
}
.pg-home .hm-hero.is-zooming > .container > :not(.hm-dash) { opacity: calc(1 - var(--p, 0) * 1.6); transform: translateY(calc(var(--p, 0) * -160px)); pointer-events: none; transition: none; will-change: opacity, transform; }
.pg-home .hm-hero.is-zooming .hero__actions { opacity: 0; }
.pg-home .hero__actions { margin-top: 26px; }

/* As seen on + What we do (sits on a subtle line field, moving slower than the page) */
.pg-home .hm-what { padding-top: 60px; overflow: hidden; }
.pg-home .hm-what::before {
  content: ""; position: absolute; inset: -20% 0 -20% 0; z-index: 0; pointer-events: none; opacity: 0.55;
  background:
    radial-gradient(ellipse 900px 520px at 20% 30%, transparent 0 498px, rgba(56, 71, 255, 0.35) 499px 500px, transparent 501px),
    radial-gradient(ellipse 1100px 640px at 25% 45%, transparent 0 618px, rgba(56, 71, 255, 0.3) 619px 620px, transparent 621px),
    radial-gradient(ellipse 1300px 760px at 30% 60%, transparent 0 738px, rgba(56, 71, 255, 0.25) 739px 740px, transparent 741px),
    radial-gradient(ellipse 1500px 880px at 35% 75%, transparent 0 858px, rgba(56, 71, 255, 0.2) 859px 860px, transparent 861px);
  background-attachment: fixed;
}
.pg-home .hm-what > .container { position: relative; z-index: 1; }
.pg-home .hm-seen { display: flex; align-items: center; gap: 40px 64px; flex-wrap: wrap; margin-bottom: clamp(60px, 8vw, 110px); }
.pg-home .hm-seen__title { font-size: 1.15rem; margin: 0; font-family: var(--font); font-weight: 400; }
.pg-home .hm-seen__row { display: flex; flex-wrap: wrap; align-items: center; gap: 28px 56px; }
.pg-home .hm-seen__row img { height: 36px; width: auto; filter: brightness(0) invert(1); opacity: 0.85; transition: opacity 0.3s, transform 0.3s; }
.pg-home .hm-seen__row img:hover { opacity: 1; transform: translateY(-2px); }
.pg-home .hm-what__split { grid-template-columns: 1.05fr 1fr; gap: clamp(40px, 8vw, 120px); align-items: center; }
.pg-home .hm-what__split p { font-size: 0.98rem; }
.pg-home .hm-risk { max-width: 400px; justify-self: end; border-radius: 14px; overflow: hidden; border: 1px solid rgba(255, 255, 255, 0.1); background: #050c30; box-shadow: 0 30px 60px rgba(0, 0, 0, 0.45); }
.pg-home .hm-risk img { width: 100%; transition: transform 0.7s var(--ease); }
.pg-home .hm-risk:hover img { transform: scale(1.04); }

/* Built to scale: horizontal capability accordion */
.pg-home .hm-scale { padding-top: clamp(40px, 5vw, 70px); }
.pg-home .hm-scale__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; margin-bottom: 36px; }
.pg-home .hm-scale__head h2 { margin: 0; }
.pg-home .hm-scale__tag { font-size: 0.85rem; font-weight: 700; display: block; margin-bottom: 8px; }
.pg-home .hm-scale__intro { margin: 0 0 6px; max-width: 30ch; color: var(--muted); text-align: right; }
.pg-home .hm-caps { display: flex; height: 520px; border: 1px solid var(--line); border-radius: 18px; overflow: hidden; background: linear-gradient(180deg, rgba(255, 255, 255, 0.02), rgba(255, 255, 255, 0)); }
.pg-home .hm-cap { position: relative; flex: 1 1 0; min-width: 0; border-left: 1px solid var(--line); display: flex; flex-direction: column; transition: flex-grow 0.7s var(--ease), background 0.5s; cursor: pointer; }
.pg-home .hm-cap:first-child { border-left: 0; }
.pg-home .hm-cap::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: var(--c); opacity: 0; transition: opacity 0.5s; }
.pg-home .hm-cap::after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: 0; transition: opacity 0.7s; background: radial-gradient(ellipse 70% 60% at 30% 100%, color-mix(in srgb, var(--c) 28%, transparent), transparent 70%); }
.pg-home .hm-cap.is-open { flex-grow: 3.6; cursor: default; }
.pg-home .hm-cap.is-open::before, .pg-home .hm-cap.is-open::after { opacity: 1; }
.pg-home .hm-cap:not(.is-open):hover { background: rgba(255, 255, 255, 0.03); }
.pg-home .hm-cap__head { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; width: 100%; height: 100%; padding: 28px 22px; text-align: left; color: rgba(227, 229, 232, 0.6); border: 0; background: none; border-radius: 0; transition: color 0.4s; }
.pg-home .hm-cap__head:hover { color: #fff; }
.pg-home .hm-cap__num { font-size: 2.4rem; font-weight: 300; letter-spacing: -0.03em; line-height: 1; color: rgba(255, 255, 255, 0.85); font-variant-numeric: tabular-nums; }
.pg-home .hm-cap__title { writing-mode: vertical-rl; transform: rotate(180deg); font-size: 1.05rem; font-weight: 600; white-space: nowrap; margin-top: auto; letter-spacing: 0.01em; }
.pg-home .hm-cap.is-open .hm-cap__head { position: absolute; inset: 0; height: auto; pointer-events: none; }
.pg-home .hm-cap.is-open .hm-cap__title { opacity: 0; }
.pg-home .hm-cap.is-open .hm-cap__num { color: var(--c); }
.pg-home .hm-cap__body { position: relative; margin-top: auto; padding: 0 clamp(24px, 3vw, 44px) clamp(28px, 3vw, 40px); opacity: 0; transform: translateY(14px); transition: opacity 0.5s var(--ease), transform 0.5s var(--ease); max-width: 60ch; pointer-events: none; }
.pg-home .hm-cap.is-open .hm-cap__body { opacity: 1; transform: none; transition-delay: 0.3s; pointer-events: auto; }
.pg-home .hm-cap__body h3 { font-size: clamp(1.6rem, 2.4vw, 2.1rem); font-weight: 600; margin: 0 0 14px; white-space: nowrap; }
.pg-home .hm-cap__body p { margin: 0 0 20px; color: var(--text); }
.pg-home .hm-cap__chips { list-style: none; margin: 0 0 24px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.pg-home .hm-cap__chips li { font-size: 0.8rem; padding: 6px 12px; border-radius: 999px; border: 1px solid var(--line-strong); color: rgba(255, 255, 255, 0.85); background: rgba(255, 255, 255, 0.03); }
.pg-home .hm-cap__chips li::before { content: ""; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--c); margin-right: 8px; vertical-align: 1px; }
@media (max-width: 900px) {
  .pg-home .hm-scale__head { flex-direction: column; align-items: flex-start; }
  .pg-home .hm-scale__intro { text-align: left; }
  .pg-home .hm-caps { flex-direction: column; height: auto; }
  .pg-home .hm-cap { border-left: 0; border-top: 1px solid var(--line); flex: none; transition: none; }
  .pg-home .hm-cap:first-child { border-top: 0; }
  .pg-home .hm-cap__head { flex-direction: row; align-items: center; height: auto; padding: 18px 20px; }
  .pg-home .hm-cap__title { writing-mode: horizontal-tb; transform: none; margin: 0; }
  .pg-home .hm-cap__num { font-size: 1.5rem; }
  .pg-home .hm-cap.is-open .hm-cap__head { position: static; pointer-events: auto; }
  .pg-home .hm-cap.is-open .hm-cap__title { opacity: 1; }
  .pg-home .hm-cap__body { display: none; max-width: none; }
  .pg-home .hm-cap.is-open .hm-cap__body { display: block; padding: 0 20px 24px; }
  .pg-home .hm-cap__body h3 { display: none; }
}

/* MSP band: trading chart background with the overlapping stat card */
.pg-home .hm-msp { position: relative; min-height: 800px; display: flex; align-items: flex-start; padding: clamp(60px, 8vw, 100px) 0 60px; overflow: hidden; background: var(--bg); }
.pg-home .hm-msp__bg { position: absolute; inset: 0; background: url("/wp-content/themes/dexpose/assets/img/p/home/TradingEffect2.webp") no-repeat 50% 100% / cover; opacity: 0.95; }
.pg-home .hm-msp__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, var(--bg) 0%, rgba(1, 7, 42, 0.2) 35%, rgba(1, 7, 42, 0) 100%); }
.pg-home .hm-msp__inner { position: relative; z-index: 1; width: min(100% - 2 * var(--gutter), var(--container)); }
.pg-home .hm-msp__text { max-width: 560px; }
.pg-home .hm-msp__text h2 { font-size: clamp(1.7rem, 2.6vw, 2.15rem); font-weight: 400; margin-bottom: 26px; }
.pg-home .hm-msp__text p { font-size: 0.98rem; margin-bottom: 22px; }
.pg-home .hm-msp__stat {
  position: absolute; left: 52%; top: 340px; width: min(540px, 44vw);
  border-radius: 12px; padding: 22px 12px; background: rgba(6, 24, 64, 0.83); border: 1px solid rgba(153, 153, 153, 0.38);
  backdrop-filter: blur(6px);
}
.pg-home .hm-msp__stat h3 { font-family: var(--font); font-weight: 400; font-size: 1.25rem; margin-bottom: 10px; }
.pg-home .hm-msp__stat p { margin: 0; font-size: 0.95rem; }

/* Audience cards */
.pg-home .hm-audience { padding-top: clamp(40px, 5vw, 70px); }
.pg-home .hm-audience__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.pg-home .hm-box { position: relative; border-radius: 20px; padding: 80px 40px 26px; border: 1px solid rgba(153, 153, 153, 0.38); background: #00001b; overflow: hidden; transition: transform 0.4s var(--ease), box-shadow 0.4s; }
.pg-home .hm-box:hover { transform: translateY(-5px); box-shadow: 0 30px 60px rgba(0, 0, 0, 0.45); }
.pg-home .hm-box h3 { font-size: 1.7rem; font-weight: 400; margin-bottom: 14px; position: relative; }
.pg-home .hm-box p { font-size: 0.95rem; position: relative; }
.pg-home .hm-box .link-arrow { position: relative; }
.pg-home .hm-box--glass { backdrop-filter: blur(10px); background: #00001b url("/wp-content/themes/dexpose/assets/img/p/home/download-19.svg") no-repeat 40% 45% / 60% auto; background-blend-mode: overlay; }
.pg-home .hm-box--glass::before { content: ""; position: absolute; inset: 0; background: url("/wp-content/themes/dexpose/assets/img/p/home/download-19.svg") no-repeat 40% 45% / 60% auto; opacity: 0.5; transition: transform 0.9s var(--ease); }
.pg-home .hm-box--glass:hover::before { transform: rotate(180deg) scale(1.15); }
.pg-home .hm-box--red { border: 3px solid transparent; background: linear-gradient(#00001b, #00001b) padding-box, linear-gradient(0deg, #00001b 62%, #ff003b) border-box; }
.pg-home .hm-box--dev {
  grid-column: 1 / -1; padding: 40px 64px 40px 64px; border: 3px solid transparent; display: flex;
  background: linear-gradient(90deg, #00001b 45%, rgba(0, 0, 27, 0.1)) padding-box, url("/wp-content/themes/dexpose/assets/img/p/home/zeros-ones-effect.webp") no-repeat 100% 50% / 60% auto padding-box, linear-gradient(135deg, #b8a300, #00001b 45%, #00001b) border-box;
}
.pg-home .hm-box--dev .hm-box__text { max-width: 560px; }

/* Steps: timeline rail + proof image */
.pg-home .hm-steps { padding-top: clamp(40px, 5vw, 80px); }
.pg-home .hm-steps__head { max-width: 640px; margin-bottom: clamp(36px, 5vw, 56px); }
.pg-home .hm-steps__head h2 { margin-bottom: 12px; }
.pg-home .hm-steps__head p { margin: 0; color: var(--muted); }
.pg-home .hm-eyebrow { text-transform: none; letter-spacing: 0; font-size: 0.95rem; font-weight: 500; color: var(--sky); }
.pg-home .hm-steps__layout { display: grid; grid-template-columns: 1.35fr 1fr; gap: clamp(40px, 6vw, 96px); align-items: start; }
.pg-home .hm-rail { list-style: none; margin: 0; padding: 0; position: relative; }
.pg-home .hm-rail::before { content: ""; position: absolute; left: 21px; top: 22px; bottom: 22px; width: 1px; background: rgba(255, 255, 255, 0.12); transform: scaleY(0); transform-origin: top; transition: transform 1.2s var(--ease); }
.pg-home .hm-rail.is-in::before { transform: scaleY(1); }
.pg-home .hm-rail__step { position: relative; padding: 0 0 clamp(36px, 4vw, 52px) 76px; }
.pg-home .hm-rail__step:last-child { padding-bottom: 0; }
.pg-home .hm-rail__node { position: absolute; left: 0; top: 0; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, 0.18); background: var(--bg); display: grid; place-items: center; opacity: 0; transform: scale(0.6); transition: opacity 0.5s var(--ease), transform 0.5s var(--ease), border-color 0.5s, box-shadow 0.5s; transition-delay: calc(0.25s + var(--i) * 0.4s); }
.pg-home .hm-rail__node i { font-style: normal; font-weight: 300; font-size: 0.95rem; letter-spacing: -0.02em; color: rgba(255, 255, 255, 0.85); font-variant-numeric: tabular-nums; }
.pg-home .hm-rail.is-in .hm-rail__node { opacity: 1; transform: none; border-color: rgba(40, 113, 228, 0.7); box-shadow: 0 0 0 6px rgba(40, 113, 228, 0.1); }
.pg-home .hm-rail__step h3 { font-size: 1.45rem; font-weight: 600; margin: 8px 0 10px; }
.pg-home .hm-rail__step > p { margin: 0 0 18px; max-width: 56ch; }
.pg-home .hm-rail__meta { display: flex; flex-wrap: wrap; gap: 8px 40px; margin: 0 0 20px; padding: 14px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.pg-home .hm-rail__meta div { display: flex; gap: 12px; align-items: baseline; }
.pg-home .hm-rail__meta dt { font-size: 0.78rem; color: var(--muted); font-weight: 500; letter-spacing: 0.02em; }
.pg-home .hm-rail__meta dd { margin: 0; font-size: 0.95rem; color: #fff; }
.pg-home .hm-rail__form { max-width: 440px; }
.pg-home .hm-rail__form input { height: 44px; font-size: 0.95rem; }
.pg-home .hm-rail__form .btn { height: 44px; }
.pg-home .hm-rail .form-error { margin: 6px 0 0; }
.pg-home .hm-steps__proof { margin: 0; position: sticky; top: calc(var(--header-h) + 24px); border: 1px solid var(--line); border-radius: 18px; overflow: hidden; background: #050c30; box-shadow: 0 40px 80px rgba(0, 0, 0, 0.45); }
.pg-home .hm-steps__proof::before { content: ""; position: absolute; inset: -30%; background: radial-gradient(closest-side, rgba(40, 113, 228, 0.22), transparent 70%); pointer-events: none; }
.pg-home .hm-steps__proof img { position: relative; width: 100%; display: block; }
.pg-home .hm-steps__proof figcaption { position: absolute; left: 16px; bottom: 16px; font-size: 0.8rem; color: rgba(255, 255, 255, 0.8); padding: 6px 12px; border-radius: 999px; background: rgba(1, 7, 42, 0.7); border: 1px solid var(--line); backdrop-filter: blur(6px); }
@media (max-width: 1024px) {
  .pg-home .hm-steps__layout { grid-template-columns: 1fr; }
  .pg-home .hm-steps__proof { position: static; max-width: 420px; }
}
@media (max-width: 480px) {
  .pg-home .hm-rail__step { padding-left: 60px; }
  .pg-home .hm-rail__node { width: 36px; height: 36px; }
  .pg-home .hm-rail::before { left: 17px; }
}

/* Why DeXpose: tall showcase + four colored cards */
.pg-home .hm-why { padding-top: clamp(40px, 5vw, 70px); }
.pg-home .hm-why__grid { display: grid; grid-template-columns: 1fr 1fr 1fr; grid-template-rows: auto auto; gap: 28px; }
.pg-home .hm-why__hero {
  grid-row: 1 / 3; position: relative; overflow: hidden; border-radius: 20px; border: 1px solid rgba(153, 153, 153, 0.38);
  background: #060c2e; padding: 300px 30px 30px; text-align: center; display: flex; align-items: flex-end;
}
.pg-home .hm-why__hero::before {
  content: ""; position: absolute; inset: 0; background: url("/wp-content/themes/dexpose/assets/img/p/home/integrationsbg.svg") no-repeat center 40px / 85% auto;
  transition: transform 0.7s ease; z-index: 0;
}
.pg-home .hm-why__hero:hover::before { transform: rotate(180deg); }
.pg-home .hm-why__body { position: relative; z-index: 1; }
.pg-home .hm-why__tag { display: block; color: var(--c, var(--sky)); font-size: 0.75rem; margin-bottom: 8px; }
.pg-home .hm-why__hero h3, .pg-home .hm-why__card h3 { font-size: 1.55rem; font-weight: 400; margin-bottom: 12px; }
.pg-home .hm-why__hero p, .pg-home .hm-why__card p { font-size: 0.95rem; margin: 0; }
.pg-home .hm-why__card { position: relative; border-radius: 20px; padding: 26px 24px 32px; text-align: center; background: #060c2e; border: 1px solid rgba(153, 153, 153, 0.38); transition: transform 0.4s var(--ease); }
.pg-home .hm-why__card:hover { transform: translateY(-5px); }
.pg-home .hm-why__card--bottom { border-bottom-color: transparent; }
.pg-home .hm-why__card--bottom::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: linear-gradient(90deg, transparent, var(--c), transparent); }
.pg-home .hm-why__card--top { border-top-color: transparent; }
.pg-home .hm-why__card--top::after { content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 2px; background: linear-gradient(90deg, transparent, var(--c), transparent); }
.pg-home .hm-why__card--box { border-color: var(--c); }

/* Free exposure report images */
.pg-home .hm-report { padding-top: clamp(40px, 5vw, 70px); }
.pg-home .hm-report__row { display: flex; justify-content: center; gap: 22px; margin-bottom: 40px; }
.pg-home .hm-report__img { display: block; border-radius: 12px; overflow: hidden; }
.pg-home .hm-report__img img { width: clamp(120px, 15vw, 222px); height: auto; transition: transform 0.3s ease; }
.pg-home .hm-report__img:hover img { transform: scale(1.1); }

/* FAQ: plain list like the live page */
.pg-home .hm-faq { padding-top: clamp(40px, 5vw, 70px); }
.pg-home .hm-faq h2 { margin-bottom: 48px; }
.pg-home .hm-faq__list > div + div { margin-top: 22px; }
.pg-home .hm-faq__list h3 { font-size: 1.55rem; font-weight: 400; margin-bottom: 10px; }
.pg-home .hm-faq__list p { margin: 0; font-size: 0.98rem; }

@media (max-width: 1024px) {
  .pg-home .hm-svc { grid-template-columns: 1fr; gap: 24px; }
  .pg-home .hm-svc__view { margin-top: 0; }
  .pg-home .hm-msp { min-height: 0; }
  .pg-home .hm-msp__stat { position: static; width: auto; margin-top: 40px; }
  .pg-home .hm-msp__bg { opacity: 0.6; }
  .pg-home .hm-audience__grid { grid-template-columns: 1fr; gap: 28px; }
  .pg-home .hm-box { padding: 48px 28px 26px; }
  .pg-home .hm-box--dev { padding: 40px 28px; background-size: auto, 90% auto, auto; }
  .pg-home .hm-steps__grid { grid-template-columns: 1fr; gap: 24px; }
  .pg-home .hm-step p { max-width: none; }
  .pg-home .hm-why__grid { grid-template-columns: 1fr 1fr; }
  .pg-home .hm-why__hero { grid-row: auto; grid-column: 1 / -1; padding-top: 240px; }
  .pg-home .hm-what__split { grid-template-columns: 1fr; }
  .pg-home .hm-risk { justify-self: center; }
}
@media (max-width: 640px) {
  .pg-home .hm-why__grid { grid-template-columns: 1fr; }
  .pg-home .hm-report__row { gap: 12px; }
  .pg-home .hm-seen { gap: 20px; }
  .pg-home .hm-seen__row { gap: 20px 32px; }
  .pg-home .hm-seen__row img { height: 26px; }
}

/* Crisp rings + spokes, fixed to the viewport but clipped to the hero: content scrolls over them */
.pg-home .hm-hero { clip-path: inset(0); }
/* horizon light: a wide soft glow rising behind the dashboard, plus a faint cooler wash top-left */
.pg-home .hm-hero::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background:
    radial-gradient(ellipse 70% 30% at 50% 100%, rgba(47, 123, 255, 0.16), rgba(47, 123, 255, 0) 70%),
    radial-gradient(ellipse 40% 30% at 12% 8%, rgba(39, 155, 243, 0.10), rgba(39, 155, 243, 0) 70%),
    radial-gradient(ellipse 36% 26% at 90% 12%, rgba(106, 92, 255, 0.06), rgba(106, 92, 255, 0) 70%);
}
/* film grain so the gradient never bands; fixed so it stays crisp while the hero is pinned */
.pg-home .hm-hero::after {
  content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 0; opacity: 0.045; mix-blend-mode: screen;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.9 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  background-size: 220px 220px;
}
.pg-home .hm-hero > .container { position: relative; z-index: 1; }
.pg-home .hm-hero > .container > :not(.hm-dash) { position: relative; z-index: 2; }
@media (prefers-reduced-motion: reduce) { .pg-home .hm-hero::after { position: absolute; } }
.pg-home .hm-steps__layout > * { min-width: 0; }
.pg-home .hm-rail__form { max-width: 100%; }
.pg-home .hm-rail__form input { min-width: 0; }
@media (max-width: 480px) { .pg-home .hm-rail__form .btn { padding: 0 12px; } }
