/* how-it-works — ported from ../desgin/how-it-works/index.html by scripts/port-page.mjs. Do not edit by hand; re-run the script. */

img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
/*# sourceURL=wp-img-auto-sizes-contain-inline-css */


:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:root { --wp--style--global--content-size: 800px;--wp--style--global--wide-size: 1200px; }:where(body) { margin: 0; }.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }:where(.wp-site-blocks) > * { margin-block-start: 24px; margin-block-end: 0; }:where(.wp-site-blocks) > :first-child { margin-block-start: 0; }:where(.wp-site-blocks) > :last-child { margin-block-end: 0; }:root { --wp--style--block-gap: 24px; }:root :where(.is-layout-flow) > :first-child{margin-block-start: 0;}:root :where(.is-layout-flow) > :last-child{margin-block-end: 0;}:root :where(.is-layout-flow) > *{margin-block-start: 24px;margin-block-end: 0;}:root :where(.is-layout-constrained) > :first-child{margin-block-start: 0;}:root :where(.is-layout-constrained) > :last-child{margin-block-end: 0;}:root :where(.is-layout-constrained) > *{margin-block-start: 24px;margin-block-end: 0;}:root :where(.is-layout-flex){gap: 24px;}:root :where(.is-layout-grid){gap: 24px;}.is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
:root :where(.wp-block-icon svg){width: 24px;}
:root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;}
/*# sourceURL=global-styles-inline-css */


.e-heading-base a, .e-paragraph-base a { all: unset; cursor: pointer; }form[data-element_type="e-form"].form-state-success [data-element_type="e-form-success-message"],form[data-element_type="e-form"].form-state-error [data-element_type="e-form-error-message"]{ display: block; }
.e-form-textarea-base:not([data-resizable]) { resize: none; } .e-form-submit-button-base { cursor: pointer; box-sizing: border-box; }
/*# sourceURL=elementor-frontend-inline-css */



/* ============================================
   HEARTMOMENTS.IN - GLOBAL STYLES
   Step 1: Foundation CSS
   ============================================ */

/* --- CSS Variables (Brand Identity) --- */
:root {
  /* Primary Palette */
  --om-primary: #E11D74;
  --om-primary-dark: #BE185D;
  --om-primary-light: #FBCFE0;
  --om-primary-glow: rgba(225, 29, 116, 0.3);
  
  /* Secondary Palette */
  --om-secondary: #1A237E;
  --om-secondary-light: #3949AB;
  --om-accent: #9D174D;
  --om-accent-warm: #FBBF24;
  
  /* Backgrounds */
  --om-bg-white: #FFFFFF;
  --om-bg-cream: #FFF5FA;
  --om-bg-soft: #FDE2EA;
  --om-bg-dark: #4A1D2E;
  
  /* Text */
  --om-text-dark: #4A1D2E;
  --om-text-medium: #7A4A5A;
  --om-text-light: #B08A98;
  --om-text-white: #FFFFFF;
  
  /* Gradients */
  --om-gradient-hero: linear-gradient(135deg, #FFF5FA 0%, #FDE2EA 50%, #E8EAF6 100%);
  --om-gradient-pink: linear-gradient(135deg, #E11D74 0%, #9D174D 100%);
  --om-gradient-dark: linear-gradient(135deg, #1A237E 0%, #0D47A1 100%);
  --om-gradient-card: linear-gradient(145deg, #ffffff 0%, #fff5fa 100%);
  
  /* Shadows */
  --om-shadow-sm: 0 2px 8px rgba(225, 29, 116, 0.08);
  --om-shadow-md: 0 8px 30px rgba(225, 29, 116, 0.12);
  --om-shadow-lg: 0 20px 60px rgba(26, 35, 126, 0.15);
  --om-shadow-glow: 0 0 40px rgba(225, 29, 116, 0.2);
  
  /* Spacing */
  --om-space-xs: 0.5rem;
  --om-space-sm: 1rem;
  --om-space-md: 2rem;
  --om-space-lg: 4rem;
  --om-space-xl: 6rem;
  
  /* Border Radius */
  --om-radius-sm: 8px;
  --om-radius-md: 16px;
  --om-radius-lg: 24px;
  --om-radius-xl: 32px;
  --om-radius-full: 9999px;
  
  /* Transitions */
  --om-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --om-transition-slow: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* --- Reset & Base --- */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  font-size: 16px;
}

body {
  font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
  color: var(--om-text-dark);
  background: var(--om-bg-white);
  line-height: 1.6;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

/* --- Typography Scale --- */
.om-h1 {
  font-size: clamp(2.5rem, 5vw, 4rem);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.om-h2 {
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
}

.om-h3 {
  font-size: clamp(1.2rem, 2.5vw, 1.5rem);
  font-weight: 600;
  line-height: 1.3;
}

.om-text-lg {
  font-size: clamp(1rem, 1.5vw, 1.25rem);
  line-height: 1.7;
  color: var(--om-text-medium);
}

.om-text-sm {
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--om-text-light);
}

/* --- Buttons --- */
.om-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.875rem 2rem;
  font-size: 1rem;
  font-weight: 600;
  border: none;
  border-radius: var(--om-radius-full);
  cursor: pointer;
  text-decoration: none;
  transition: var(--om-transition);
  position: relative;
  overflow: hidden;
}

.om-btn-primary {
  background: var(--om-gradient-pink);
  color: var(--om-text-white);
  box-shadow: var(--om-shadow-md);
}

.om-btn-primary:hover {
  transform: translateY(-3px);
  box-shadow: var(--om-shadow-glow);
}

.om-btn-primary::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
  transition: 0.5s;
}

.om-btn-primary:hover::after {
  left: 100%;
}

.om-btn-secondary {
  background: transparent;
  color: var(--om-primary);
  border: 2px solid var(--om-primary);
}

.om-btn-secondary:hover {
  background: var(--om-primary);
  color: white;
  transform: translateY(-3px);
}

/* --- Animations --- */
@keyframes om-float {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-15px); }
}

@keyframes om-pulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.05); opacity: 0.8; }
}

@keyframes om-shimmer {
  0% { background-position: -200% center; }
  100% { background-position: 200% center; }
}

@keyframes om-fade-up {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes om-heart-beat {
  0%, 100% { transform: scale(1); }
  14% { transform: scale(1.15); }
  28% { transform: scale(1); }
  42% { transform: scale(1.15); }
  70% { transform: scale(1); }
}

.om-animate-fade-up {
  animation: om-fade-up 0.8s ease-out forwards;
}

.om-animate-float {
  animation: om-float 4s ease-in-out infinite;
}

.om-animate-pulse {
  animation: om-pulse 2s ease-in-out infinite;
}

.om-animate-heart {
  animation: om-heart-beat 1.5s ease-in-out infinite;
}

/* --- Glassmorphism Utility --- */
.om-glass {
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.3);
}

/* --- Container --- */
.om-container {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 var(--om-space-md);
}

/* --- Section Spacing --- */
.om-section {
  padding: var(--om-space-xl) 0;
  position: relative;
}

/* --- Gradient Text --- */
.om-gradient-text {
  background: var(--om-gradient-pink);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* --- Mobile Responsive Base --- */
@media (max-width: 768px) {
  :root {
    --om-space-lg: 2.5rem;
    --om-space-xl: 4rem;
  }
  
  .om-container {
    padding: 0 var(--om-space-sm);
  }
}


/* ============================================
   FIXES FOR HEADER & HERO STATS
   Add this to Additional CSS (bottom)
   ============================================ */

/* FIX 1: Header vertical centering */
.om-header-inner {
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* FIX 2: Stats bar — remove absolute positioning, make it flow naturally */
.om-hero-stats {
  position: relative;
  bottom: auto;
  left: auto;
  transform: none;
  margin-top: 3rem;
  margin-bottom: 2rem;
  align-self: center;
  justify-content: center;
}

/* FIX 3: Hero section padding adjustment after removing section padding */
.om-hero {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

/* FIX 4: Scroll indicator fix */
.om-scroll-indicator {
  position: relative;
  bottom: auto;
  left: auto;
  transform: none;
  margin-top: 1rem;
}

/* FIX 5: Hero inner grid spacing */
.om-hero-inner {
  gap: 3rem;
}

/* FIX 6: Ensure phone mockup doesn't push stats up */
.om-hero-visual {
  margin-bottom: 0;
}

/* ============================================
   FIX: Remove gap between header and hero
   ============================================ */

/* Reduce the spacer height */
.om-header + div[style*="height: 72px"] {
  height: 0px !important;
}

/* Add padding to hero content instead to avoid header overlap */
.om-hero {
  padding-top: 100px !important;
}




/* ============================================
   HEARTMOMENTS — PERFORMANCE OPTIMIZATION LAYER
   Add at the BOTTOM of Additional CSS
   ============================================ */

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

/* ---- 2. GPU ACCELERATION HINTS ---- */
/* Only apply to elements that actually transform */
.om-phone-v2,
.om-hero-cta-primary,
.om-cta-primary-v2,
.om-mobile-panel-v2,
.om-pcard-v2,
.om-tst-track,
.om-back-top,
.om-slide-v2 {
  will-change: transform;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* ---- 3. CONTENT VISIBILITY (lazy-render off-screen sections) ---- */
.om-exp-v2,
.om-how-v2,
.om-tst-v2,
.om-cta-v2,
.om-footer-v2 {
  content-visibility: auto;
  contain-intrinsic-size: 1px 800px;
}

/* ---- 4. MOBILE PERFORMANCE OVERRIDES ---- */
@media (max-width: 768px) {
  
  /* Reduce ALL backdrop blur intensity (was 20px) */
  .om-header-v2,
  .om-hero-stats-v2,
  .om-hero-cta-secondary,
  .om-hero-notif,
  .om-foot-form,
  .om-foot-rating,
  .om-foot-social,
  .om-trust-pill,
  .om-cta-badge,
  .om-cta-secondary-v2,
  .om-mobile-backdrop-v2,
  .om-mobile-cta-v2 {
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
  }
  
  /* Reduce large blur orbs (were 80-120px filter blur) */
  .om-hero-mesh::before,
  .om-hero-mesh::after,
  .om-hero-mesh > span,
  .om-exp-v2::before,
  .om-exp-v2::after,
  .om-how-v2::before,
  .om-tst-v2::before,
  .om-tst-v2::after,
  .om-cta-v2::before,
  .om-cta-v2::after,
  .om-foot-glow,
  .om-cta-orb,
  .om-hero-glow {
    filter: blur(35px) !important;
    -webkit-filter: blur(35px) !important;
    opacity: 0.25 !important;
  }
  
  /* HIDE decorative particles on mobile (they're invisible micro-elements) */
  .om-foot-particle,
  .om-cta-sparkle,
  .om-scene .om-particle,
  .om-scene .om-confetti,
  .om-scene .om-piece,
  .om-scene .om-rupee,
  .om-scene .om-petal,
  .om-scene .om-spark,
  .om-scene .om-ring,
  .om-how-deco,
  .om-hero-grid {
    display: none !important;
  }
  
  /* Stop infinite animations on mobile (keep ONE-time entrance animations) */
  .om-scene-main,
  .om-slide-icon,
  .om-cta-orb,
  .om-foot-glow,
  .om-hero-mesh::before,
  .om-hero-mesh::after,
  .om-hero-mesh > span,
  .om-exp-v2::before,
  .om-exp-v2::after,
  .om-how-v2::before,
  .om-tst-v2::before,
  .om-tst-v2::after,
  .om-cta-v2::before,
  .om-cta-v2::after {
    animation: none !important;
  }
  
  /* Disable gradient-shift animations (heavy paint) */
  .om-hero-title-v2 .grad,
  .om-cta-headline .grad,
  .om-cta-card {
    animation: none !important;
  }
  
  /* Slow down marquee on mobile (less repaints per second) */
  .om-tst-track {
    animation-duration: 60s !important;
  }
  .om-tst-track.reverse {
    animation-duration: 70s !important;
  }
  
  /* Disable badge pulse on mobile */
  .om-pbadge.popular,
  .om-slide-btn,
  .om-hero-badge-v2,
  .om-foot-logo-mark,
  .om-logo-mark-v2 {
    animation: none !important;
  }
}

/* ---- 5. PAUSE ANIMATIONS WHEN TAB INACTIVE ---- */
/* Browsers do this automatically, but we reinforce it */
@media (max-width: 968px) {
  /* On smaller screens, simplify backdrop blur on header too */
  .om-header-v2 {
    backdrop-filter: blur(10px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(120%) !important;
  }
}

/* ---- 6. SMOOTH SCROLLING ON BODY (helps perceived performance) ---- */
html {
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}

body {
  overscroll-behavior-y: none;
}

/* ---- 7. REDUCE TESTIMONIAL CARD COMPLEXITY ON MOBILE ---- */
@media (max-width: 600px) {
  .om-tst-card {
    box-shadow: 0 4px 12px rgba(0,0,0,0.06) !important;
  }
}

/* ---- 8. PREVENT LAYOUT SHIFT FROM EMOJI LOADING ---- */
.om-scene-main,
.om-slide-icon,
.om-how-icon-v2,
.om-step-icon {
  font-feature-settings: "liga" 0;
  text-rendering: optimizeSpeed;
}



  @import url('https://fonts.googleapis.com/css2?family=Caveat:wght@500;700&amp;display=swap');

  #om-hiw-root {
    --om-primary: #E11D74;
    --om-primary-dark: #BE185D;
    --om-coral: #9D174D;
    --om-gold: #FBBF24;
    --om-indigo: #3949AB;
    --om-cyan: #00BCD4;
    --om-dark: #4A1D2E;
    --om-bg-dark: #0F0F1A;
    --om-bg-cream: #FFF9FC;
    --om-bg-soft: #FDE2EA;
    --om-text-medium: #7A4A5A;
    --om-text-light: #B08A98;
    --om-gradient-pink: linear-gradient(135deg, #E11D74 0%, #9D174D 100%);
    --om-shadow-md: 0 8px 30px rgba(225, 29, 116, 0.12);
    --om-radius-full: 9999px;

    position: relative;
    background: var(--om-bg-cream);
    font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
    color: var(--om-dark);
    overflow: hidden;
  }

  #om-hiw-root *,
  #om-hiw-root *::before,
  #om-hiw-root *::after { box-sizing: border-box; }

  #om-hiw-root button {
    font-family: inherit;
    cursor: pointer;
    border: none;
    outline: none;
  }

  /* ---------- decorative mesh ---------- */
  .om-hiw-mesh {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
  }
  .om-hiw-mesh::before,
  .om-hiw-mesh::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    opacity: 0.5;
  }
  .om-hiw-mesh::before {
    width: 480px; height: 480px;
    background: #FDE2EA;
    top: -10%; left: -10%;
  }
  .om-hiw-mesh::after {
    width: 420px; height: 420px;
    background: #E8EAF6;
    top: 30%; right: -10%;
  }

  .om-hiw-inner {
    position: relative;
    z-index: 1;
    max-width: 1080px;
    margin: 0 auto;
    padding: 90px 24px 0;
  }

  /* ---------- header ---------- */
  .om-hiw-home-row { margin-bottom: 26px; }
  .om-hiw-home {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--om-gradient-pink);
    color: #fff;
    border-radius: var(--om-radius-full);
    padding: 10px 22px;
    font-size: 14.5px;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 8px 24px rgba(225, 29, 116, 0.25);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
  }
  .om-hiw-home:hover,
  .om-hiw-home:active {
    transform: translateY(-2px);
    box-shadow: 0 12px 30px rgba(225, 29, 116, 0.35);
    color: #fff;
  }

  .om-hiw-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    border: 1px solid rgba(225, 29, 116, 0.18);
    border-radius: var(--om-radius-full);
    padding: 8px 18px;
    font-size: 14px;
    font-weight: 600;
    color: var(--om-primary);
    box-shadow: 0 4px 18px rgba(225, 29, 116, 0.08);
  }

  .om-hiw-title {
    font-size: clamp(34px, 5vw, 52px);
    font-weight: 800;
    line-height: 1.15;
    margin: 22px 0 14px;
    letter-spacing: -0.5px;
  }
  .om-hiw-title span {
    background: linear-gradient(120deg, #E11D74, #9D174D);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  .om-hiw-sub {
    font-size: 18px;
    color: var(--om-text-medium);
    line-height: 1.7;
    max-width: 640px;
    margin: 0 0 54px;
  }

  /* ============================================
     LIVE DEMO — phone + side panel
     ============================================ */
  .om-hiw-demo {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    margin-bottom: 90px;
  }

  /* freeze every animation inside the demo when paused / off-screen */
  .om-hiw-demo.is-paused .om-hiw-screen *,
  .om-hiw-demo.is-paused .om-hiw-progbar {
    animation-play-state: paused !important;
  }

  .om-hiw-phone {
    width: min(290px, 84vw);
    aspect-ratio: 9 / 18.4;
    background: linear-gradient(160deg, #23233F, #14142A);
    border-radius: 40px;
    padding: 9px;
    position: relative;
    flex-shrink: 0;
    box-shadow:
      0 34px 70px rgba(74, 29, 46, 0.30),
      0 8px 20px rgba(225, 29, 116, 0.10);
  }
  .om-hiw-phone::after { /* side button */
    content: '';
    position: absolute;
    right: -2px; top: 130px;
    width: 3px; height: 56px;
    border-radius: 3px;
    background: #34345A;
  }
  .om-hiw-notch {
    position: absolute;
    top: 9px; left: 50%;
    transform: translateX(-50%);
    width: 88px; height: 21px;
    background: #14142A;
    border-radius: 0 0 13px 13px;
    z-index: 60;
  }
  .om-hiw-screen {
    position: absolute;
    inset: 9px;
    border-radius: 32px;
    overflow: hidden;
    background: #FFF5FA;
    transform: translateZ(0);
    contain: layout style paint;
  }

  /* ---------- scenes ---------- */
  .om-hiw-scene {
    position: absolute;
    inset: 0;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.45s ease;
    padding: 38px 15px 16px;
    display: flex;
    flex-direction: column;
  }
  .om-hiw-scene.is-on { opacity: 1; }
  .om-hiw-demo:not(.is-js) .om-hiw-sc-pick { opacity: 1; }

  /* generic entrance helpers — fire when scene turns on
     (hidden state only applies once JS has booted, so no-JS still shows content) */
  .om-hiw-demo.is-js .om-hiw-scene .om-hiw-a { opacity: 0; }
  .om-hiw-scene.is-on .om-hiw-a {
    animation: om-hiw-in 0.5s ease forwards;
    animation-delay: var(--d, 0ms);
  }
  .om-hiw-demo.is-js .om-hiw-scene .om-hiw-p { opacity: 0; }
  .om-hiw-scene.is-on .om-hiw-p {
    animation: om-hiw-pop 0.45s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
    animation-delay: var(--d, 0ms);
  }
  @keyframes om-hiw-in {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: translateY(0); }
  }
  @keyframes om-hiw-pop {
    from { opacity: 0; transform: scale(0.55); }
    to   { opacity: 1; transform: scale(1); }
  }

  /* tap indicator (the "finger") */
  .om-hiw-tap {
    position: absolute;
    width: 34px; height: 34px;
    border-radius: 50%;
    background: rgba(225, 29, 116, 0.30);
    border: 2px solid rgba(225, 29, 116, 0.75);
    opacity: 0;
    z-index: 50;
    pointer-events: none;
    will-change: transform, opacity;
  }
  .om-hiw-tap--light {
    background: rgba(255, 255, 255, 0.30);
    border-color: rgba(255, 255, 255, 0.85);
  }
  .om-hiw-scene.is-on .om-hiw-tap {
    animation: om-hiw-tapping 1.1s ease forwards;
    animation-delay: var(--d, 0ms);
  }
  @keyframes om-hiw-tapping {
    0%   { opacity: 0; transform: scale(0.6); }
    25%  { opacity: 1; transform: scale(1); }
    50%  { opacity: 1; transform: scale(0.72); }
    75%  { opacity: 1; transform: scale(1.05); }
    100% { opacity: 0; transform: scale(1.15); }
  }

  /* mini app header inside the phone */
  .om-hiw-mini-head {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 12px;
  }
  .om-hiw-mini-logo {
    width: 22px; height: 22px;
    border-radius: 7px;
    background: var(--om-gradient-pink);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
  }
  .om-hiw-mini-name {
    font-size: 12px;
    font-weight: 800;
    color: var(--om-dark);
    letter-spacing: 0.2px;
  }
  .om-hiw-mini-step {
    margin-left: auto;
    font-size: 9.5px;
    font-weight: 700;
    color: var(--om-primary);
    background: var(--om-bg-soft);
    border-radius: var(--om-radius-full);
    padding: 3px 9px;
  }

  .om-hiw-sc-title {
    font-size: 16.5px;
    font-weight: 800;
    color: var(--om-dark);
    margin: 4px 0 3px;
    line-height: 1.3;
  }
  .om-hiw-sc-sub {
    font-size: 11px;
    color: var(--om-text-light);
    margin: 0 0 14px;
  }

  /* ----- scene 1 : PICK ----- */
  .om-hiw-pick-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .om-hiw-pick-card {
    background: #fff;
    border: 1.6px solid #F3D7E4;
    border-radius: 16px;
    padding: 16px 8px 13px;
    text-align: center;
    position: relative;
  }
  .om-hiw-pick-card .e { font-size: 26px; display: block; margin-bottom: 7px; }
  .om-hiw-pick-card .t { font-size: 11px; font-weight: 700; color: var(--om-dark); }
  .om-hiw-pick-card .s { font-size: 8.5px; color: var(--om-text-light); display: block; margin-top: 2px; }

  /* keeps its pop-in entrance, then plays the "selected" highlight */
  .om-hiw-scene.is-on .om-hiw-pick-apol {
    animation:
      om-hiw-pop 0.45s cubic-bezier(0.34, 1.56, 0.64, 1) 650ms forwards,
      om-hiw-cardpick 0.5s ease 2050ms forwards;
  }
  @keyframes om-hiw-cardpick {
    from { transform: scale(1); border-color: #F3D7E4; }
    to   { transform: scale(1.05); border-color: var(--om-indigo); box-shadow: 0 10px 22px rgba(57, 73, 171, 0.22); }
  }
  .om-hiw-pick-check {
    position: absolute;
    top: -7px; right: -7px;
    width: 20px; height: 20px;
    border-radius: 50%;
    background: var(--om-indigo);
    color: #fff;
    font-size: 11px;
    line-height: 20px;
    text-align: center;
    opacity: 0;
    transform: scale(0.4);
  }
  .om-hiw-scene.is-on .om-hiw-pick-check {
    animation: om-hiw-pop 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
    animation-delay: 2350ms;
  }
  .om-hiw-pick-more {
    grid-column: 1 / -1;
    text-align: center;
    font-size: 10px;
    color: var(--om-text-light);
    background: #fff;
    border: 1.5px dashed #F0C9DB;
    border-radius: 12px;
    padding: 9px;
  }

  /* ----- scene 2 : PERSONALIZE ----- */
  .om-hiw-field { margin-bottom: 10px; }
  .om-hiw-field .lb {
    font-size: 9.5px;
    font-weight: 700;
    color: var(--om-text-medium);
    display: block;
    margin-bottom: 4px;
    letter-spacing: 0.3px;
  }
  .om-hiw-input {
    background: #fff;
    border: 1.5px solid #E5E0EE;
    border-radius: 11px;
    padding: 9px 11px;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--om-dark);
    min-height: 34px;
  }
  .om-hiw-input.is-typing::after,
  .om-hiw-msgbox.is-typing::after {
    content: '';
    display: inline-block;
    width: 2px; height: 13px;
    background: var(--om-indigo);
    margin-left: 2px;
    vertical-align: -2px;
    animation: om-hiw-caret 0.8s steps(1) infinite;
  }
  @keyframes om-hiw-caret { 50% { opacity: 0; } }

  .om-hiw-msgbox {
    background: #fff;
    border: 1.5px solid #E5E0EE;
    border-radius: 11px;
    padding: 10px 11px;
    font-family: 'Caveat', cursive;
    font-size: 16.5px;
    line-height: 1.35;
    color: var(--om-dark);
    min-height: 74px;
  }
  .om-hiw-photo-tile {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #EEF1FB;
    border: 1.5px dashed #B9C2E8;
    border-radius: 11px;
    padding: 9px 11px;
    font-size: 10.5px;
    font-weight: 700;
    color: var(--om-indigo);
  }
  .om-hiw-cont-btn {
    margin-top: auto;
    background: linear-gradient(135deg, #3949AB, #00BCD4);
    color: #fff;
    text-align: center;
    border-radius: var(--om-radius-full);
    padding: 11px;
    font-size: 12.5px;
    font-weight: 800;
  }

  /* ----- scene 3 : UNLOCK ----- */
  .om-hiw-prev-strip {
    display: flex;
    align-items: center;
    gap: 9px;
    background: linear-gradient(135deg, #1A237E, #283593);
    border-radius: 13px;
    padding: 10px 12px;
    color: #fff;
  }
  .om-hiw-prev-strip .e { font-size: 20px; }
  .om-hiw-prev-strip .t { font-size: 10.5px; font-weight: 700; line-height: 1.35; }
  .om-hiw-prev-strip .t small { display: block; font-size: 8.5px; font-weight: 500; opacity: 0.75; }

  .om-hiw-paycard {
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 14px 34px rgba(74, 29, 46, 0.14);
    padding: 15px 14px 14px;
    text-align: center;
    margin-top: 12px;
    position: relative;
  }
  .om-hiw-paycard .h { font-size: 13.5px; font-weight: 800; color: var(--om-dark); margin-bottom: 8px; }
  .om-hiw-price-row {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 8px;
    margin-bottom: 3px;
  }
  .om-hiw-price-old {
    font-size: 13px;
    color: var(--om-text-light);
    text-decoration: line-through;
  }
  .om-hiw-price-now {
    font-size: 27px;
    font-weight: 900;
    color: var(--om-primary);
  }
  .om-hiw-off {
    font-size: 9px;
    font-weight: 800;
    color: #1B8A3A;
    background: #E3F6E9;
    border-radius: var(--om-radius-full);
    padding: 3px 8px;
  }
  .om-hiw-price-note { font-size: 9px; color: var(--om-text-light); margin-bottom: 9px; }
  .om-hiw-trust-mini { font-size: 8.5px; color: var(--om-text-medium); margin-bottom: 11px; }
  .om-hiw-pay-btn {
    position: relative;
    background: var(--om-gradient-pink);
    color: #fff;
    border-radius: var(--om-radius-full);
    padding: 11px;
    font-size: 12.5px;
    font-weight: 800;
    overflow: hidden;
  }
  .om-hiw-pay-btn .l1, .om-hiw-pay-btn .l2 {
    display: block;
    transition: opacity 0.3s ease;
  }
  .om-hiw-pay-btn .l2 {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    opacity: 0;
  }
  .om-hiw-pay-btn .l2 i {
    width: 5px; height: 5px;
    border-radius: 50%;
    background: #fff;
    animation: om-hiw-dot 0.9s ease-in-out infinite;
  }
  .om-hiw-pay-btn .l2 i:nth-child(2) { animation-delay: 0.15s; }
  .om-hiw-pay-btn .l2 i:nth-child(3) { animation-delay: 0.3s; }
  @keyframes om-hiw-dot { 40% { transform: translateY(-4px); } }
  .om-hiw-scene.is-on .om-hiw-pay-btn .l1 { animation: om-hiw-hide 0.01s linear forwards; animation-delay: 2300ms; }
  .om-hiw-scene.is-on .om-hiw-pay-btn .l2 { animation: om-hiw-show 0.01s linear forwards; animation-delay: 2300ms; }
  @keyframes om-hiw-hide { to { opacity: 0; } }
  @keyframes om-hiw-show { to { opacity: 1; } }

  .om-hiw-success {
    position: absolute;
    inset: 0;
    background: rgba(255, 249, 252, 0.96);
    border-radius: 18px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    opacity: 0;
    pointer-events: none;
  }
  .om-hiw-scene.is-on .om-hiw-success {
    animation: om-hiw-show 0.35s ease forwards;
    animation-delay: 3300ms;
  }
  .om-hiw-success svg { width: 52px; height: 52px; }
  .om-hiw-success circle {
    fill: none;
    stroke: #22B45B;
    stroke-width: 4;
    stroke-dasharray: 151;
    stroke-dashoffset: 151;
  }
  .om-hiw-success path {
    fill: none;
    stroke: #22B45B;
    stroke-width: 5;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 40;
    stroke-dashoffset: 40;
  }
  .om-hiw-scene.is-on .om-hiw-success circle { animation: om-hiw-draw 0.55s ease forwards; animation-delay: 3400ms; }
  .om-hiw-scene.is-on .om-hiw-success path { animation: om-hiw-draw 0.4s ease forwards; animation-delay: 3850ms; }
  @keyframes om-hiw-draw { to { stroke-dashoffset: 0; } }
  .om-hiw-success .t1 { font-size: 13px; font-weight: 800; color: #1B8A3A; }
  .om-hiw-success .t2 { font-size: 10px; color: var(--om-text-medium); opacity: 0; }
  .om-hiw-scene.is-on .om-hiw-success .t2 { animation: om-hiw-show 0.4s ease forwards; animation-delay: 4500ms; }

  /* ----- scene 4 : SHARE ----- */
  .om-hiw-share-a {
    position: absolute;
    inset: 38px 15px 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  .om-hiw-scene.is-on .om-hiw-share-a { animation: om-hiw-hide 0.35s ease forwards; animation-delay: 2200ms; }
  .om-hiw-share-a .big { font-size: 34px; margin-bottom: 6px; }
  .om-hiw-share-a .h { font-size: 15px; font-weight: 800; margin-bottom: 12px; }
  .om-hiw-linkpill {
    display: flex;
    align-items: center;
    gap: 7px;
    background: #fff;
    border: 1.5px solid #F0C9DB;
    border-radius: var(--om-radius-full);
    padding: 8px 8px 8px 13px;
    font-size: 10.5px;
    font-weight: 700;
    color: var(--om-dark);
    position: relative;
  }
  .om-hiw-linkpill .cp {
    background: var(--om-gradient-pink);
    color: #fff;
    border-radius: var(--om-radius-full);
    font-size: 9px;
    font-weight: 800;
    padding: 6px 10px;
  }
  .om-hiw-copied {
    position: absolute;
    top: -26px; right: 0;
    background: var(--om-dark);
    color: #fff;
    font-size: 9px;
    font-weight: 700;
    border-radius: 7px;
    padding: 4px 8px;
    opacity: 0;
  }
  .om-hiw-scene.is-on .om-hiw-copied { animation: om-hiw-pop 0.3s ease forwards; animation-delay: 1550ms; }

  .om-hiw-wa {
    position: absolute;
    inset: 30px 0 0;
    background: #ECE5DD;
    display: flex;
    flex-direction: column;
    opacity: 0;
  }
  .om-hiw-scene.is-on .om-hiw-wa { animation: om-hiw-show 0.4s ease forwards; animation-delay: 2450ms; }
  .om-hiw-wa-head {
    background: #075E54;
    color: #fff;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
  }
  .om-hiw-wa-av {
    width: 24px; height: 24px;
    border-radius: 50%;
    background: var(--om-gradient-pink);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
  }
  .om-hiw-wa-head .n { font-size: 11.5px; font-weight: 700; }
  .om-hiw-wa-head .o { font-size: 8.5px; opacity: 0.8; display: block; }
  .om-hiw-wa-body {
    flex: 1;
    padding: 14px 10px;
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .om-hiw-bub {
    max-width: 82%;
    border-radius: 12px;
    padding: 7px 9px;
    font-size: 10.5px;
    line-height: 1.4;
    opacity: 0;
  }
  .om-hiw-bub--out {
    align-self: flex-end;
    background: #DCF8C6;
    border-bottom-right-radius: 3px;
  }
  .om-hiw-bub--in {
    align-self: flex-start;
    background: #fff;
    border-bottom-left-radius: 3px;
  }
  .om-hiw-scene.is-on .om-hiw-bub--out { animation: om-hiw-in 0.4s ease forwards; animation-delay: 2900ms; }
  .om-hiw-bub-link {
    background: #fff;
    border-left: 3px solid var(--om-primary);
    border-radius: 7px;
    padding: 6px 8px;
    margin-bottom: 5px;
  }
  .om-hiw-bub-link .a { font-size: 9.5px; font-weight: 800; color: var(--om-primary); display: block; }
  .om-hiw-bub-link .b { font-size: 8.5px; color: var(--om-text-medium); }
  .om-hiw-bub-meta {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 3px;
    font-size: 8px;
    color: #8696A0;
    margin-top: 3px;
  }
  .om-hiw-ticks { font-weight: 700; letter-spacing: -1.5px; }
  .om-hiw-scene.is-on .om-hiw-ticks { animation: om-hiw-blue 0.01s linear forwards; animation-delay: 3900ms; }
  @keyframes om-hiw-blue { to { color: #34B7F1; } }
  .om-hiw-typing {
    align-self: flex-start;
    background: #fff;
    border-radius: 12px;
    border-bottom-left-radius: 3px;
    padding: 9px 11px;
    display: flex;
    gap: 4px;
    opacity: 0;
  }
  .om-hiw-scene.is-on .om-hiw-typing {
    animation: om-hiw-typing-cycle 5.6s linear forwards;
  }
  @keyframes om-hiw-typing-cycle {
    0%, 76% { opacity: 0; }
    79%, 92% { opacity: 1; }
    95%, 100% { opacity: 0; }
  }
  .om-hiw-typing i {
    width: 5px; height: 5px;
    border-radius: 50%;
    background: #B5BDC4;
    animation: om-hiw-dot 0.9s ease-in-out infinite;
  }
  .om-hiw-typing i:nth-child(2) { animation-delay: 0.15s; }
  .om-hiw-typing i:nth-child(3) { animation-delay: 0.3s; }
  .om-hiw-scene.is-on .om-hiw-bub--reply { animation: om-hiw-in 0.4s ease forwards; animation-delay: 5250ms; }

  /* ----- scene 5 : THEY OPEN IT ----- */
  .om-hiw-sc-open {
    background: linear-gradient(160deg, #1A237E 0%, #0D1B5E 100%);
    align-items: center;
    text-align: center;
    padding-top: 44px;
  }
  .om-hiw-open-title {
    font-size: 13.5px;
    font-weight: 700;
    color: #fff;
    line-height: 1.4;
  }
  .om-hiw-open-glow {
    position: absolute;
    top: 88px; left: 50%;
    width: 190px; height: 190px;
    margin-left: -95px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(63, 81, 181, 0.55) 0%, rgba(63, 81, 181, 0) 68%);
    opacity: 0;
  }
  .om-hiw-scene.is-on .om-hiw-open-glow { animation: om-hiw-show 0.8s ease forwards; animation-delay: 300ms; }

  .om-hiw-env-wrap {
    position: relative;
    margin-top: 34px;
    perspective: 600px;
    opacity: 0;
  }
  .om-hiw-scene.is-on .om-hiw-env-wrap {
    animation: om-hiw-env-life 9.2s ease forwards;
  }
  /* pop in, float gently, then fade away as the letter takes over */
  @keyframes om-hiw-env-life {
    0%   { opacity: 0; transform: scale(0.55); }
    4%   { opacity: 1; transform: scale(1); }
    14%  { transform: translateY(-5px); }
    22%  { transform: translateY(0); }
    27%  { opacity: 1; transform: scale(1); }
    31%  { opacity: 0; transform: scale(1.25) translateY(-16px); }
    100% { opacity: 0; transform: scale(1.25) translateY(-16px); }
  }
  .om-hiw-env {
    position: relative;
    width: 124px; height: 86px;
    perspective: 420px;
  }
  .om-hiw-env-body {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, #FFFFFF, #EEF0FB);
    border-radius: 9px;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.35);
  }
  .om-hiw-env-letter {
    position: absolute;
    left: 10px; right: 10px;
    top: 8px; bottom: 14px;
    background: #fff;
    border-radius: 5px;
    box-shadow: 0 2px 8px rgba(74, 29, 46, 0.18);
  }
  .om-hiw-scene.is-on .om-hiw-env-letter {
    animation: om-hiw-letter-rise 0.6s ease forwards;
    animation-delay: 2250ms;
  }
  @keyframes om-hiw-letter-rise { to { transform: translateY(-26px); } }
  .om-hiw-env-pocket {
    position: absolute;
    inset: 0;
    border-radius: 9px;
    background: linear-gradient(180deg, rgba(240, 242, 252, 0) 42%, #E3E7F8 43%);
  }
  .om-hiw-env-flap {
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 46px;
    background: linear-gradient(180deg, #3949AB, #303F9F);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    border-radius: 9px 9px 0 0;
    transform-origin: top center;
    z-index: 3;
    will-change: transform;
  }
  .om-hiw-scene.is-on .om-hiw-env-flap {
    animation: om-hiw-flap 0.65s ease forwards;
    animation-delay: 1800ms;
  }
  @keyframes om-hiw-flap { to { transform: rotateX(-168deg); } }
  .om-hiw-env-seal {
    position: absolute;
    top: 32px; left: 50%;
    transform: translateX(-50%);
    width: 26px; height: 26px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 3px 9px rgba(0, 0, 0, 0.25);
    font-size: 13px;
    line-height: 26px;
    z-index: 4;
  }
  .om-hiw-scene.is-on .om-hiw-env-seal { animation: om-hiw-hide 0.25s ease forwards; animation-delay: 1800ms; }
  .om-hiw-open-hint {
    margin-top: 16px;
    font-size: 10.5px;
    color: rgba(255, 255, 255, 0.75);
    opacity: 0;
  }
  .om-hiw-scene.is-on .om-hiw-open-hint { animation: om-hiw-hint 1.9s ease forwards; animation-delay: 700ms; }
  @keyframes om-hiw-hint {
    0% { opacity: 0; } 20% { opacity: 1; } 80% { opacity: 1; } 100% { opacity: 0; }
  }

  .om-hiw-letter-card {
    position: absolute;
    left: 16px; right: 16px;
    top: 84px;
    background:
      repeating-linear-gradient(180deg, #fff 0px, #fff 21px, #EDEDF6 22px),
      #fff;
    border-radius: 13px;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.4);
    padding: 13px 14px 11px;
    text-align: left;
    opacity: 0;
    transform: translateY(24px) scale(0.92);
  }
  .om-hiw-scene.is-on .om-hiw-letter-card {
    animation: om-hiw-lettercard 0.55s cubic-bezier(0.34, 1.4, 0.64, 1) forwards;
    animation-delay: 2650ms;
  }
  @keyframes om-hiw-lettercard { to { opacity: 1; transform: translateY(0) scale(1); } }
  .om-hiw-letter-hi {
    font-family: 'Caveat', cursive;
    font-size: 17px;
    font-weight: 700;
    color: var(--om-indigo);
    margin-bottom: 2px;
  }
  .om-hiw-letter-msg {
    font-family: 'Caveat', cursive;
    font-size: 15.5px;
    line-height: 1.35;
    color: var(--om-dark);
    min-height: 62px;
  }
  .om-hiw-letter-msg.is-typing::after {
    content: '';
    display: inline-block;
    width: 2px; height: 12px;
    background: var(--om-indigo);
    margin-left: 2px;
    animation: om-hiw-caret 0.8s steps(1) infinite;
  }
  .om-hiw-letter-sig {
    font-family: 'Caveat', cursive;
    font-size: 14.5px;
    font-weight: 700;
    color: var(--om-indigo);
    text-align: right;
    opacity: 0;
  }
  .om-hiw-scene.is-on .om-hiw-letter-sig { animation: om-hiw-show 0.5s ease forwards; animation-delay: 5150ms; }

  .om-hiw-forgive {
    position: absolute;
    left: 16px; right: 16px;
    bottom: 18px;
    opacity: 0;
  }
  .om-hiw-scene.is-on .om-hiw-forgive { animation: om-hiw-in 0.5s ease forwards; animation-delay: 5500ms; }
  .om-hiw-forgive-q {
    font-size: 12.5px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 8px;
  }
  .om-hiw-meter {
    height: 7px;
    border-radius: var(--om-radius-full);
    background: rgba(255, 255, 255, 0.16);
    overflow: hidden;
    margin-bottom: 11px;
  }
  .om-hiw-meter i {
    display: block;
    height: 100%;
    border-radius: var(--om-radius-full);
    background: linear-gradient(90deg, #00BCD4, #3D5AFE);
    transform: scaleX(0.1);
    transform-origin: left;
  }
  .om-hiw-scene.is-on .om-hiw-meter i {
    animation: om-hiw-meter-fill 9.2s linear forwards;
  }
  /* fills a notch after each "Not yet" dodge, hits 100% right as YES is tapped */
  @keyframes om-hiw-meter-fill {
    0%, 60% { transform: scaleX(0.1); }
    64%     { transform: scaleX(0.42); }
    70%     { transform: scaleX(0.42); }
    74%     { transform: scaleX(0.68); }
    78%     { transform: scaleX(0.68); }
    84%, 100% { transform: scaleX(1); }
  }
  .om-hiw-btn-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
  }
  .om-hiw-yes {
    background: linear-gradient(135deg, #00BCD4, #3D5AFE);
    color: #fff;
    font-size: 11.5px;
    font-weight: 800;
    border-radius: var(--om-radius-full);
    padding: 10px 16px;
    box-shadow: 0 0 0 0 rgba(0, 188, 212, 0.5);
  }
  .om-hiw-scene.is-on .om-hiw-yes { animation: om-hiw-yes-pulse 1.6s ease-in-out infinite; }
  @keyframes om-hiw-yes-pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.06); }
  }
  .om-hiw-no {
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    font-size: 10.5px;
    font-weight: 700;
    border-radius: var(--om-radius-full);
    padding: 9px 13px;
    will-change: transform;
  }
  .om-hiw-scene.is-on .om-hiw-no { animation: om-hiw-no-dodge 9.2s linear forwards; }
  @keyframes om-hiw-no-dodge {
    0%, 62%  { transform: translate(0, 0); opacity: 1; }
    64%      { transform: translate(-44px, -8px); }
    72%      { transform: translate(-44px, -8px); }
    74%      { transform: translate(30px, -34px) scale(0.85); }
    82%      { transform: translate(30px, -34px) scale(0.85); opacity: 1; }
    85%, 100% { transform: translate(30px, -34px) scale(0.5); opacity: 0; }
  }

  .om-hiw-burst {
    position: absolute;
    top: 46%; left: 50%;
    z-index: 45;
    pointer-events: none;
  }
  .om-hiw-burst span {
    position: absolute;
    font-size: 15px;
    opacity: 0;
  }
  .om-hiw-scene.is-on .om-hiw-burst span {
    animation: om-hiw-burst-fly 1.05s ease-out forwards;
    animation-delay: 7550ms;
  }
  @keyframes om-hiw-burst-fly {
    0%   { opacity: 0; transform: translate(0, 0) scale(0.4); }
    18%  { opacity: 1; }
    100% { opacity: 0; transform: translate(var(--tx), var(--ty)) scale(1.1); }
  }
  .om-hiw-forgiven {
    position: absolute;
    left: 20px; right: 20px;
    top: 42%;
    background: rgba(13, 27, 94, 0.88);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 15px;
    padding: 15px 12px;
    color: #fff;
    opacity: 0;
    transform: scale(0.85);
    z-index: 46;
  }
  .om-hiw-scene.is-on .om-hiw-forgiven {
    animation: om-hiw-forgiven-in 0.5s cubic-bezier(0.34, 1.45, 0.64, 1) forwards;
    animation-delay: 7750ms;
  }
  @keyframes om-hiw-forgiven-in { to { opacity: 1; transform: scale(1); } }
  .om-hiw-forgiven .h { font-size: 20px; margin-bottom: 5px; }
  .om-hiw-forgiven .t { font-size: 12.5px; font-weight: 800; margin-bottom: 3px; }
  .om-hiw-forgiven .s { font-size: 10px; opacity: 0.8; }

  /* ---------- side panel ---------- */
  .om-hiw-panel {
    width: 100%;
    max-width: 430px;
    text-align: center;
  }
  .om-hiw-cap {
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 700;
    color: var(--om-dark);
    line-height: 1.45;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 0.4s ease, transform 0.4s ease;
    margin-bottom: 10px;
  }
  .om-hiw-cap.is-in { opacity: 1; transform: translateY(0); }
  .om-hiw-prog {
    height: 5px;
    border-radius: var(--om-radius-full);
    background: rgba(225, 29, 116, 0.12);
    overflow: hidden;
    margin: 0 30px 18px;
  }
  .om-hiw-progbar {
    display: block;
    height: 100%;
    border-radius: var(--om-radius-full);
    background: var(--om-gradient-pink);
    transform: scaleX(0);
    transform-origin: left;
  }
  @keyframes om-hiw-progfill { from { transform: scaleX(0); } to { transform: scaleX(1); } }

  .om-hiw-chips {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-bottom: 14px;
  }
  #om-hiw-root .om-hiw-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 44px;
    padding: 9px 15px;
    border-radius: var(--om-radius-full);
    background: #fff;
    border: 1.5px solid rgba(225, 29, 116, 0.16);
    font-size: 13px;
    font-weight: 700;
    color: var(--om-text-medium);
    transition: transform 0.2s ease, background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
  }
  .om-hiw-chip .n {
    width: 19px; height: 19px;
    border-radius: 50%;
    background: var(--om-bg-soft);
    color: var(--om-primary);
    font-size: 10.5px;
    font-weight: 800;
    line-height: 19px;
    text-align: center;
    transition: background 0.25s ease, color 0.25s ease;
  }
  .om-hiw-chip:active { transform: scale(0.96); }
  #om-hiw-root .om-hiw-chip.is-active {
    background: var(--om-gradient-pink);
    border-color: transparent;
    color: #fff;
    box-shadow: 0 8px 22px rgba(225, 29, 116, 0.28);
  }
  .om-hiw-chip.is-active .n { background: rgba(255, 255, 255, 0.25); color: #fff; }

  #om-hiw-root .om-hiw-playpause {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 44px;
    padding: 9px 18px;
    border-radius: var(--om-radius-full);
    background: #fff;
    border: 1.5px solid rgba(74, 29, 46, 0.12);
    font-size: 13px;
    font-weight: 700;
    color: var(--om-text-medium);
    transition: transform 0.2s ease;
  }
  .om-hiw-playpause:active { transform: scale(0.96); }

  /* ============================================
     SECTIONS BELOW THE DEMO
     ============================================ */
  .om-hiw-sec-head { text-align: center; margin-bottom: 44px; }
  .om-hiw-sec-head h2 {
    font-size: clamp(26px, 3.6vw, 38px);
    font-weight: 800;
    margin: 16px 0 10px;
    line-height: 1.2;
  }
  .om-hiw-sec-head h2 span {
    background: linear-gradient(120deg, #E11D74, #9D174D);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  .om-hiw-sec-head p {
    font-size: 16px;
    color: var(--om-text-medium);
    max-width: 560px;
    margin: 0 auto;
    line-height: 1.65;
  }

  /* scroll reveal (JS adds .is-armed to enable the hidden state) */
  .om-hiw-armed .om-hiw-reveal {
    opacity: 0;
    transform: translateY(26px);
    transition: opacity 0.6s ease, transform 0.6s ease;
    transition-delay: var(--rd, 0ms);
  }
  .om-hiw-armed .om-hiw-reveal.is-in {
    opacity: 1;
    transform: translateY(0);
  }

  .om-hiw-steps {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    margin-bottom: 90px;
  }
  .om-hiw-step-card {
    position: relative;
    background: #fff;
    border: 1px solid rgba(225, 29, 116, 0.1);
    border-radius: 22px;
    padding: 30px 26px 26px;
    box-shadow: 0 16px 40px rgba(74, 29, 46, 0.05);
  }
  .om-hiw-step-num {
    position: absolute;
    top: -14px; left: 24px;
    background: var(--om-gradient-pink);
    color: #fff;
    font-size: 12.5px;
    font-weight: 800;
    border-radius: var(--om-radius-full);
    padding: 6px 14px;
    box-shadow: 0 8px 20px rgba(225, 29, 116, 0.3);
  }
  .om-hiw-step-emoji {
    font-size: 36px;
    display: inline-block;
    margin-bottom: 12px;
  }
  .om-hiw-armed .om-hiw-reveal.is-in .om-hiw-step-emoji {
    animation: om-hiw-float 3.4s ease-in-out infinite;
    animation-delay: var(--rd, 0ms);
  }
  @keyframes om-hiw-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
  }
  .om-hiw-step-card h3 {
    font-size: 19px;
    font-weight: 800;
    margin: 0 0 8px;
    color: var(--om-dark);
  }
  .om-hiw-step-card p {
    font-size: 14.5px;
    line-height: 1.7;
    color: var(--om-text-medium);
    margin: 0 0 14px;
  }
  .om-hiw-step-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
  }
  .om-hiw-step-tags span {
    font-size: 11.5px;
    font-weight: 700;
    color: var(--om-primary);
    background: var(--om-bg-soft);
    border-radius: var(--om-radius-full);
    padding: 5px 11px;
  }

  /* ---------- recipient section (dark) ---------- */
  .om-hiw-dark {
    position: relative;
    background: var(--om-bg-dark);
    border-radius: 30px;
    padding: 64px 24px;
    margin-bottom: 90px;
    overflow: hidden;
  }
  .om-hiw-dark::before {
    content: '';
    position: absolute;
    top: -120px; left: 50%;
    transform: translateX(-50%);
    width: 560px; height: 380px;
    background: radial-gradient(ellipse, rgba(225, 29, 116, 0.22) 0%, rgba(225, 29, 116, 0) 70%);
    pointer-events: none;
  }
  .om-hiw-dark .om-hiw-sec-head h2 { color: #fff; }
  .om-hiw-dark .om-hiw-sec-head p { color: rgba(255, 255, 255, 0.72); }
  .om-hiw-feel-grid {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    max-width: 900px;
    margin: 0 auto;
  }
  .om-hiw-feel-card {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    padding: 26px 22px;
    text-align: center;
  }
  .om-hiw-feel-card h3 {
    color: #fff;
    font-size: 16.5px;
    font-weight: 800;
    margin: 14px 0 7px;
  }
  .om-hiw-feel-card p {
    color: rgba(255, 255, 255, 0.68);
    font-size: 13.5px;
    line-height: 1.65;
    margin: 0;
  }
  .om-hiw-feel-stage {
    height: 86px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
  }

  /* micro-loop 1: envelope (loops run only while on screen — .is-live-on) */
  .om-hiw-mini-env { position: relative; width: 84px; height: 58px; perspective: 320px; }
  .om-hiw-mini-env .b {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, #fff, #E8EBF9);
    border-radius: 7px;
  }
  .om-hiw-mini-env .f {
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 31px;
    background: linear-gradient(180deg, #3949AB, #303F9F);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    border-radius: 7px 7px 0 0;
    transform-origin: top center;
  }
  .om-hiw-live.is-live-on .om-hiw-mini-env .f { animation: om-hiw-mini-flap 3.4s ease-in-out infinite; }
  @keyframes om-hiw-mini-flap {
    0%, 22%  { transform: rotateX(0); }
    38%, 68% { transform: rotateX(-160deg); }
    84%, 100% { transform: rotateX(0); }
  }
  .om-hiw-mini-env .s {
    position: absolute;
    top: 21px; left: 50%;
    transform: translateX(-50%);
    font-size: 13px;
    z-index: 2;
  }
  .om-hiw-live.is-live-on .om-hiw-mini-env .s { animation: om-hiw-mini-seal 3.4s ease-in-out infinite; }
  @keyframes om-hiw-mini-seal {
    0%, 22% { opacity: 1; } 30%, 76% { opacity: 0; } 88%, 100% { opacity: 1; }
  }

  /* micro-loop 2: typed words */
  .om-hiw-mini-type {
    font-family: 'Caveat', cursive;
    font-size: 21px;
    font-weight: 700;
    color: #fff;
    white-space: nowrap;
  }
  .om-hiw-mini-type i {
    display: inline-block;
    overflow: hidden;
    vertical-align: bottom;
    font-style: normal;
    max-width: 0;
  }
  .om-hiw-live.is-live-on .om-hiw-mini-type i { animation: om-hiw-mini-typeon 4.2s ease-in-out infinite; }
  @keyframes om-hiw-mini-typeon {
    0%, 8%   { max-width: 0; }
    52%, 84% { max-width: 200px; }
    96%, 100% { max-width: 0; }
  }
  .om-hiw-mini-type::after {
    content: '';
    display: inline-block;
    width: 2px; height: 17px;
    background: var(--om-cyan);
    margin-left: 3px;
    vertical-align: -2px;
  }
  .om-hiw-live.is-live-on .om-hiw-mini-type::after {
    animation: om-hiw-caret 0.8s steps(1) infinite;
  }

  /* micro-loop 3: the YES moment */
  .om-hiw-mini-yes {
    background: linear-gradient(135deg, #00BCD4, #3D5AFE);
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    border-radius: var(--om-radius-full);
    padding: 12px 22px;
    pointer-events: none;
  }
  .om-hiw-live.is-live-on .om-hiw-mini-yes { animation: om-hiw-yes-pulse 1.7s ease-in-out infinite; }
  .om-hiw-mini-hearts span {
    position: absolute;
    bottom: 8px;
    font-size: 13px;
    opacity: 0;
  }
  .om-hiw-mini-hearts span:nth-child(1) { left: 22%; }
  .om-hiw-mini-hearts span:nth-child(2) { left: 50%; }
  .om-hiw-mini-hearts span:nth-child(3) { left: 74%; }
  .om-hiw-live.is-live-on .om-hiw-mini-hearts span { animation: om-hiw-heart-up 2.6s ease-in infinite; }
  .om-hiw-live.is-live-on .om-hiw-mini-hearts span:nth-child(2) { animation-delay: 0.9s; }
  .om-hiw-live.is-live-on .om-hiw-mini-hearts span:nth-child(3) { animation-delay: 1.7s; }
  @keyframes om-hiw-heart-up {
    0%   { opacity: 0; transform: translateY(0) scale(0.7); }
    18%  { opacity: 1; }
    70%  { opacity: 0; transform: translateY(-52px) scale(1.05); }
    100% { opacity: 0; transform: translateY(-52px); }
  }

  /* ---------- trust strip ---------- */
  .om-hiw-trust {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    margin-bottom: 90px;
  }
  .om-hiw-trust-item {
    display: flex;
    align-items: center;
    gap: 13px;
    background: #fff;
    border: 1px solid rgba(225, 29, 116, 0.1);
    border-radius: 16px;
    padding: 16px 18px;
  }
  .om-hiw-trust-item .e {
    width: 42px; height: 42px;
    flex-shrink: 0;
    border-radius: 13px;
    background: var(--om-bg-soft);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 19px;
  }
  .om-hiw-trust-item .t { font-size: 14px; font-weight: 700; color: var(--om-dark); }
  .om-hiw-trust-item .t small {
    display: block;
    font-size: 12px;
    font-weight: 500;
    color: var(--om-text-light);
    margin-top: 2px;
  }

  /* ---------- FAQ ---------- */
  .om-hiw-faq { max-width: 700px; margin: 0 auto 90px; }
  .om-hiw-faq details {
    background: #fff;
    border: 1px solid rgba(225, 29, 116, 0.1);
    border-radius: 16px;
    margin-bottom: 12px;
    overflow: hidden;
  }
  .om-hiw-faq summary {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 18px 20px;
    font-size: 15.5px;
    font-weight: 700;
    color: var(--om-dark);
    cursor: pointer;
    min-height: 44px;
  }
  .om-hiw-faq summary::-webkit-details-marker { display: none; }
  .om-hiw-faq summary .x {
    flex-shrink: 0;
    width: 26px; height: 26px;
    border-radius: 50%;
    background: var(--om-bg-soft);
    color: var(--om-primary);
    font-size: 16px;
    font-weight: 700;
    line-height: 26px;
    text-align: center;
    transition: transform 0.3s ease;
  }
  .om-hiw-faq details[open] summary .x { transform: rotate(45deg); }
  .om-hiw-faq .a {
    padding: 0 20px 18px;
    font-size: 14px;
    line-height: 1.7;
    color: var(--om-text-medium);
  }

  /* ---------- CTA ---------- */
  .om-hiw-cta {
    text-align: center;
    background: var(--om-gradient-pink);
    border-radius: 26px;
    padding: 50px 28px;
    color: #fff;
    margin-bottom: 80px;
  }
  .om-hiw-cta h2 {
    font-size: clamp(24px, 3.4vw, 32px);
    font-weight: 800;
    margin: 0 0 10px;
  }
  .om-hiw-cta p {
    font-size: 16px;
    opacity: 0.92;
    margin: 0 0 26px;
  }
  .om-hiw-cta-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
  }
  .om-hiw-cta-row a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    font-weight: 800;
    font-size: 15.5px;
    padding: 13px 30px;
    border-radius: var(--om-radius-full);
    text-decoration: none;
    transition: transform 0.2s ease;
  }
  .om-hiw-cta-row a:active,
  .om-hiw-cta-row a:hover { transform: translateY(-2px); }
  .om-hiw-cta-main { background: #fff; color: var(--om-primary); }
  .om-hiw-cta-alt {
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
    border: 1.5px solid rgba(255, 255, 255, 0.55);
  }
  .om-hiw-cta-note { font-size: 12.5px; opacity: 0.85; margin-top: 18px; }

  /* ============================================
     RESPONSIVE — mobile-first, 375px baseline
     ============================================ */
  @media (min-width: 768px) {
    .om-hiw-demo {
      flex-direction: row;
      align-items: center;
      justify-content: center;
      gap: 56px;
    }
    .om-hiw-panel { text-align: left; max-width: 380px; }
    .om-hiw-cap { justify-content: flex-start; min-height: 72px; font-size: 18px; }
    .om-hiw-prog { margin: 0 0 20px; }
    .om-hiw-chips { justify-content: flex-start; flex-direction: column; align-items: stretch; }
    .om-hiw-chip { justify-content: flex-start; }
    .om-hiw-steps { grid-template-columns: 1fr 1fr; gap: 26px 22px; }
    .om-hiw-feel-grid { grid-template-columns: repeat(3, 1fr); }
    .om-hiw-trust { grid-template-columns: repeat(2, 1fr); }
  }
  @media (min-width: 1280px) {
    .om-hiw-trust { grid-template-columns: repeat(5, 1fr); }
    .om-hiw-trust-item { flex-direction: column; text-align: center; padding: 22px 14px; }
  }

  /* performance: calm the heavy blurs on mobile */
  @media (max-width: 768px) {
    .om-hiw-mesh::before,
    .om-hiw-mesh::after { filter: blur(46px); }
    .om-hiw-dark::before { display: none; }
  }

  /* reduced motion: show everything, animate nothing */
  @media (prefers-reduced-motion: reduce) {
    #om-hiw-root *,
    #om-hiw-root *::before,
    #om-hiw-root *::after {
      animation: none !important;
      transition: none !important;
    }
    .om-hiw-scene .om-hiw-a,
    .om-hiw-scene .om-hiw-p,
    .om-hiw-scene.is-on .om-hiw-tap { opacity: 1; }
    .om-hiw-tap { opacity: 0 !important; }
    .om-hiw-cap { opacity: 1; transform: none; }
    .om-hiw-armed .om-hiw-reveal { opacity: 1; transform: none; }
    .om-hiw-scene .om-hiw-success,
    .om-hiw-scene .om-hiw-wa,
    .om-hiw-scene .om-hiw-bub,
    .om-hiw-scene .om-hiw-forgiven,
    .om-hiw-scene .om-hiw-letter-card,
    .om-hiw-scene .om-hiw-forgive,
    .om-hiw-scene .om-hiw-letter-sig { opacity: 1; transform: none; }
  }
