/* Homepage only (loaded by index.html after style.css). Redesign live 2026-10-17.
   The menu and footer are site-wide and live in style.css. */
/* =====================================================================
     HOMEPAGE v2 (hp-). Would move into css/style.css on build.
     ===================================================================== */
  :root {
    --hp-night: #050b18; --hp-night-2: #08142b; --hp-text: #0b1324; --hp-muted: #586378; --hp-faint: #8b94a7;
    --hp-line: #e6e9f1; --hp-soft: #f5f7fb; --hp-blue: #2563eb; --hp-sky: #7cb2ff; --hp-cyan: #22d3ee;
    --hp-mint: #34d399; --hp-green: #16a34a; --hp-amber: #f59e0b; --hp-violet: #8b5cf6;
    --hp-display: 'Geist', 'Inter', system-ui, sans-serif;
    --hp-ease: cubic-bezier(.2,.8,.2,1); --hp-max: 1200px;
  }
  html { scroll-behavior: smooth; }
  body.hp { background: #fff; color: var(--hp-text); font-family: 'Inter', system-ui, sans-serif; overflow-x: clip; }
  .hp main a:hover { text-decoration: none; }
  .hp main p { color: inherit; }
  .hp-wrap { max-width: var(--hp-max); margin: 0 auto; padding: 0 24px; }
  .hp-nw { white-space: nowrap; }
  .hp-sec { padding: clamp(80px, 11vw, 140px) 0; position: relative; }
  .hp-kicker { display: inline-flex; align-items: center; gap: .5rem; font: 600 .82rem/1 var(--hp-display); color: var(--hp-blue); letter-spacing: .01em; margin-bottom: 1.1rem; }
  .hp-kicker::before { content: ""; width: 18px; height: 1.5px; background: currentColor; opacity: .6; }
  .hp-h2 { font-family: var(--hp-display); font-weight: 600; font-size: clamp(2.3rem, 5.2vw, 4.2rem); line-height: 1.02; letter-spacing: -.045em; color: var(--hp-text); margin: 0; }
  /* highlighted words: colour only, never italic */
  .hp-h2 em, .hp-h1 em, .hp-final h2 em { font-style: normal; font-weight: inherit; font-family: inherit; letter-spacing: inherit; }
  .hp-h2 em { color: var(--hp-blue); }
  .hp-lead { font-size: clamp(1.05rem, 1.4vw, 1.2rem); line-height: 1.6; color: var(--hp-muted); max-width: 36rem; margin: 1.2rem 0 0; }
  .hp-center { text-align: center; }
  .hp-center .hp-lead { margin-left: auto; margin-right: auto; }
  .hp-dark { background: var(--hp-night); color: #fff; }
  .hp-dark .hp-h2 { color: #fff; }
  .hp-dark .hp-h2 em { background: linear-gradient(90deg, #7cb2ff, #5eead4); -webkit-background-clip: text; background-clip: text; color: transparent; padding-right: .06em; }
  .hp-dark .hp-lead { color: rgba(255,255,255,.66); }
  .hp-dark .hp-kicker { color: #7cb2ff; }

  /* buttons: one primary style everywhere */
  .hp-btn { display: inline-flex; align-items: center; justify-content: center; gap: .55rem; font: 600 1rem/1 var(--hp-display); letter-spacing: -.01em; padding: 1rem 1.45rem; border-radius: 12px; border: 0; cursor: pointer; transition: transform .25s var(--hp-ease), box-shadow .25s var(--hp-ease), background .25s; white-space: nowrap; text-decoration: none; }
  .hp-btn svg { transition: transform .25s var(--hp-ease); }
  .hp-btn:hover svg { transform: translateX(3px); }
  .hp-btn-go { color: #fff; background: linear-gradient(180deg, #22c55e, #15a34a); box-shadow: 0 1px 0 rgba(255,255,255,.35) inset, 0 8px 24px -6px rgba(34,197,94,.55), 0 0 0 1px rgba(21,128,61,.6); }
  .hp-btn-go:hover { color: #fff; transform: translateY(-1px); box-shadow: 0 1px 0 rgba(255,255,255,.35) inset, 0 14px 32px -8px rgba(34,197,94,.65), 0 0 0 1px rgba(21,128,61,.6); }
  .hp-btn-glass { color: #fff; background: rgba(255,255,255,.07); box-shadow: 0 0 0 1px rgba(255,255,255,.14) inset; backdrop-filter: blur(8px); }
  .hp-btn-glass:hover { color: #fff; background: rgba(255,255,255,.12); }
  .hp-btn-line { color: var(--hp-text); background: #fff; box-shadow: 0 0 0 1px var(--hp-line) inset, 0 1px 2px rgba(11,19,36,.06); }
  .hp-btn-line:hover { color: var(--hp-text); box-shadow: 0 0 0 1px #c9d0de inset, 0 6px 16px -6px rgba(11,19,36,.15); transform: translateY(-1px); }
  .hp-btn-sm { padding: .7rem 1rem; font-size: .9rem; border-radius: 10px; }

  /* reveal on scroll (only when JS runs) */
  .hp-js [data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity .8s var(--hp-ease), transform .8s var(--hp-ease); transition-delay: var(--rd, 0s); }
  .hp-js [data-reveal].is-in { opacity: 1; transform: none; }

  /* ---------------- NAV ---------------- */

  /* ---------------- HERO ---------------- */
  .hp-hero { position: relative; background: var(--hp-night); color: #fff; padding: 128px 0 0; overflow: hidden; isolation: isolate; }
  .hp-aurora { position: absolute; inset: -20% -10% 0; z-index: -2; pointer-events: none; }
  .hp-aurora i { position: absolute; border-radius: 50%; opacity: .55; }
  .hp-aurora i:nth-child(1) { width: 60vw; height: 60vw; left: 8%; top: 12%; background: radial-gradient(closest-side, rgba(37,99,235,.75), transparent); }
  .hp-aurora i:nth-child(2) { width: 46vw; height: 46vw; right: 2%; top: 6%; background: radial-gradient(closest-side, rgba(34,211,238,.45), transparent); }
  .hp-aurora i:nth-child(3) { width: 50vw; height: 50vw; left: 30%; top: 40%; background: radial-gradient(closest-side, rgba(52,211,153,.38), transparent); }
  .hp-aurora i:nth-child(4) { width: 40vw; height: 40vw; left: -8%; top: 46%; background: radial-gradient(closest-side, rgba(139,92,246,.35), transparent); }
  @keyframes hpDrift1 { to { transform: translate(8vw, 6vh) scale(1.15); } }
  @keyframes hpDrift2 { to { transform: translate(-10vw, 10vh) scale(.9); } }
  @keyframes hpDrift3 { to { transform: translate(-6vw, -8vh) scale(1.2); } }
  .hp-grid-bg { position: absolute; inset: 0; z-index: -1; pointer-events: none; background-image: linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px); background-size: 64px 64px; -webkit-mask-image: radial-gradient(ellipse 70% 55% at 50% 30%, #000 30%, transparent 75%); mask-image: radial-gradient(ellipse 70% 55% at 50% 30%, #000 30%, transparent 75%); }
  .hp-hero-copy { text-align: center; max-width: 960px; margin: 0 auto; }
  .hp-live { display: inline-flex; align-items: center; gap: .65rem; padding: .5rem .9rem .5rem .65rem; border-radius: 999px; background: rgba(255,255,255,.06); box-shadow: 0 0 0 1px rgba(255,255,255,.12) inset; backdrop-filter: blur(10px); color: rgba(255,255,255,.8); font-size: .9rem; transition: background .25s; }
  .hp-live:hover { background: rgba(255,255,255,.1); color: #fff; }
  .hp-live b { color: #fff; font-weight: 600; font-variant-numeric: tabular-nums; }
  .hp-live-dot { position: relative; width: 8px; height: 8px; border-radius: 50%; background: #4ade80; flex-shrink: 0; }
  .hp-live-dot::after { content: ""; position: absolute; inset: -4px; border-radius: 50%; background: #4ade80; opacity: .5; animation: hpPing 2s cubic-bezier(0,0,.2,1) infinite; }
  @keyframes hpPing { 75%, 100% { transform: scale(2.2); opacity: 0; } }
  .hp-live-go { color: #7cb2ff; font-weight: 600; white-space: nowrap; }
  .hp-h1 { font-family: var(--hp-display); font-weight: 600; font-size: clamp(3.1rem, 7.6vw, 6.4rem); line-height: .94; letter-spacing: -.055em; margin: 1.4rem 0 0; color: #fff; }
  .hp-h1 em { background: linear-gradient(95deg, #93c5fd 10%, #67e8f9 50%, #6ee7b7 90%); -webkit-background-clip: text; background-clip: text; color: transparent; padding-right: .08em; }
  .hp-hero-sub { font-size: clamp(1.05rem, 1.4vw, 1.18rem); line-height: 1.6; color: rgba(255,255,255,.72); max-width: 48rem; margin: 1.4rem auto 0; }
  .hp-hero-cta { display: flex; justify-content: center; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }
  .hp-hero-meta { display: flex; justify-content: center; flex-wrap: wrap; align-items: center; gap: .6rem 1.4rem; margin-top: 1.6rem; color: rgba(255,255,255,.58); font-size: .88rem; }
  .hp-hero-meta span { display: inline-flex; align-items: center; gap: .45rem; }
  .hp-hero-meta b { color: #fff; font-weight: 600; }
  .hp-hero-g { display: inline-flex; align-items: center; gap: .45rem; padding: .35rem .7rem .35rem .55rem; border-radius: 999px; color: rgba(255,255,255,.72); background: rgba(255,255,255,.06); box-shadow: 0 0 0 1px rgba(255,255,255,.12) inset; transition: background .2s, color .2s; }
  .hp-hero-g:hover { color: #fff; background: rgba(255,255,255,.11); }
  .hp-hero-g svg { flex-shrink: 0; }
  .hp-stars { color: #fbbf24; letter-spacing: .04em; }
  /* "Works with": the tools we connect to, one logo each, room for more */
  .hp-works { display: inline-flex; align-items: center; gap: .55rem; flex-wrap: wrap; }
  .hp-works-logo { font-weight: 600; color: #fff; }
  .hp-works-logo img { display: block; flex-shrink: 0; }

  /* the product stage */
  .hp-stage { position: relative; max-width: 1080px; margin: 3.2rem auto 0; padding: 0 24px; }
  .hp-stage::before { content: ""; position: absolute; left: 4%; right: 4%; top: -4%; height: 80%; background: radial-gradient(closest-side, rgba(59,130,246,.45), transparent); z-index: -1; }
  .hp-app { position: relative; transform-origin: 50% 0; transform: translateY(var(--ty, 0px)) scale(var(--sc, 1)); transition: transform .12s linear; border-radius: 18px 18px 0 0; background: #f8f9fc; color: #0d1b35; box-shadow: 0 0 0 1px rgba(255,255,255,.18), 0 -1px 0 rgba(255,255,255,.5) inset, 0 50px 120px -20px rgba(2,6,23,.85), 0 30px 60px -30px rgba(37,99,235,.6); overflow: hidden; font-family: 'Inter', system-ui, sans-serif; font-size: 14px; }
  .hpa-chrome { display: flex; align-items: center; gap: 1rem; height: 40px; padding: 0 14px; background: #eef0f5; border-bottom: 1px solid #e4e7f0; }
  .hpa-dots { display: flex; gap: 6px; } .hpa-dots i { width: 10px; height: 10px; border-radius: 50%; background: #d9dde6; }
  .hpa-url { flex: 1; max-width: 360px; margin: 0 auto; height: 24px; border-radius: 7px; background: #fff; box-shadow: 0 0 0 1px #e4e7f0 inset; display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 11.5px; color: #8b94a7; }
  /* a faithful copy of the real dashboard (dashboard.html, .dash-* in style.css) */
  #hpdRows .hpd-row:nth-child(n+6) { display: none; }
  .hpd-grid { display: grid; grid-template-columns: minmax(0, 1fr) 250px; gap: 16px; align-items: start; }
  .hpd-main { min-width: 0; }
  .hpd-seg i { font-style: normal; display: inline-grid; place-items: center; min-width: 17px; height: 17px; padding: 0 4px; margin-left: 4px; border-radius: 99px; background: #dc2626; color: #fff; font-size: 10.5px; font-weight: 700; }
  .hpd-needs { background: #fff; border: 1px solid #e4e7f0; border-radius: 14px; padding: 16px 16px 14px; }
  .hpd-needs .hpd-needs-t { display: flex; align-items: center; gap: 8px; font: 700 14px/1.2 'Inter', sans-serif; color: #0d1b35; margin: 0 0 6px; }
  .hpd-needs .hpd-needs-t span { width: 7px; height: 7px; border-radius: 50%; background: #dc2626; }
  .hpd-need { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 11px 0; border-bottom: 1px solid #f1f3f8; color: #a0a8b8; }
  .hpd-need b { display: block; font-size: 13.5px; font-weight: 600; color: #0d1b35; }
  .hpd-need small { display: block; font-size: 12px; color: #586378; margin-top: 2px; }
  .hpd-tip { font-size: 12px; line-height: 1.5; color: #7e8a9f; padding-top: 11px; }
  .hpd-bar { display: flex; align-items: center; justify-content: space-between; height: 52px; padding: 0 32px; background: #fff; border-bottom: 1px solid #e4e7f0; }
  .hpd-bar img { height: 25px; width: auto; }
  .hpd-me { width: 34px; height: 34px; border-radius: 50%; background: #f1f3f8; box-shadow: 0 0 0 1px #e4e7f0 inset; display: grid; place-items: center; font-weight: 700; font-size: 13px; color: #0d1b35; }
  .hpd-page { padding: 22px 32px 28px; }
  .hpd-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
  .hpd-head .hpd-title { font: 800 23px/1.2 'Inter', sans-serif; letter-spacing: -.02em; color: #0d1b35; margin: 0; }
  .hpd-head .hpd-title span { font-weight: 600; color: #8b94a7; font-size: 16px; margin-left: 4px; font-variant-numeric: tabular-nums; }
  .hpd-send { background: #1a6bdc; color: #fff; font-weight: 600; font-size: 13.5px; padding: 9px 15px; border-radius: 8px; box-shadow: 0 4px 14px rgba(26,107,220,.28); }
  .hpd-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); background: #fff; border: 1px solid #e4e7f0; border-radius: 14px; margin-bottom: 14px; }
  .hpd-stats > div { padding: 13px 20px; } .hpd-stats > div + div { border-left: 1px solid #e4e7f0; }
  .hpd-stats span { display: block; font-size: 12.5px; color: #7e8a9f; }
  .hpd-stats b { display: block; font-size: 21px; font-weight: 700; color: #0d1b35; margin-top: 7px; font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
  .hpd-stats .is-money b { color: #16a34a; }
  .hpd-stats b.bump { animation: hpFlash 1.2s ease; }
  @keyframes hpFlash { 0% { opacity: .2; } 30%, 100% { opacity: 1; } }
  @keyframes hpBump { 40% { transform: scale(1.05); } }
  .hpd-tabs { display: flex; align-items: center; margin-bottom: 12px; }
  .hpd-seg { display: inline-flex; gap: 2px; padding: 3px; background: #eceff5; border-radius: 10px; }
  .hpd-seg span { font-size: 12.5px; font-weight: 600; color: #586378; padding: 6px 12px; border-radius: 8px; }
  .hpd-seg span.is-on { background: #fff; color: #0d1b35; box-shadow: 0 1px 2px rgba(13,27,53,.08); }
  .hpd-search { margin-left: auto; width: 180px; height: 34px; border-radius: 8px; background: #fff; box-shadow: 0 0 0 1px #e4e7f0 inset; display: flex; align-items: center; gap: 8px; padding: 0 12px; color: #a0a8b8; font-size: 12.5px; }
  .hpd-list { background: #fff; border: 1px solid #e4e7f0; border-radius: 14px; overflow: hidden; isolation: isolate; }
  .hpd-row { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 118px 100px 104px; grid-template-areas: "name pill next amt"; align-items: center; column-gap: 14px; padding: 10px 18px; border-top: 1px solid #f1f3f8; }
  #hpdRows .hpd-row:first-child { border-top: 1px solid #f1f3f8; }
  .hpd-row-head { border-top: 0; background: #f8f9fc; padding-top: 10px; padding-bottom: 10px; font-size: 12px; font-weight: 600; color: #7e8a9f; }
  .hpd-amt-h { text-align: right; }
  .hpd-name { grid-area: name; min-width: 0; }
  .hpd-name b { display: block; font-weight: 600; color: #0d1b35; font-size: 14.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .hpd-name small { display: block; font-size: 12.5px; color: #7e8a9f; margin-top: 2px; }
  .hpd-pillc { grid-area: pill; }
  .hpd-next { grid-area: next; font-size: 13px; color: #586378; white-space: nowrap; }
  .hpd-amt { grid-area: amt; text-align: right; font-weight: 700; color: #0d1b35; font-size: 14.5px; font-variant-numeric: tabular-nums; white-space: nowrap; transition: color .5s; }
  .hpd-amt.is-paid { color: #a0a8b8; font-weight: 600; }
  .hpd-pill { display: inline-flex; align-items: center; gap: .4rem; font-size: 12px; font-weight: 600; padding: .2rem .6rem; border-radius: 999px; white-space: nowrap; background: #f1f3f8; color: #3a4558; line-height: 1.5; transition: background .5s, color .5s; }
  .hpd-pill::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #a0a8b8; }
  .hpd-pill.is-active::before { background: #1a6bdc; }
  .hpd-pill.is-paid { background: #dcfce7; color: #0f7a35; }
  .hpd-pill.is-paid::before { background: #16a34a; }
  .hpd-row.is-new { animation: hpRowIn .7s var(--hp-ease); }
  .hpd-row.is-glow::after { content: ""; position: absolute; inset: 0; background: #ecfdf3; z-index: -1; animation: hpGlow 2.6s ease forwards; }
  .hpd-row > * { position: relative; }
  .hpd-row.is-out { animation: hpRowOut .5s var(--hp-ease) forwards; }
  @keyframes hpRowIn { from { opacity: 0; transform: translateY(-10px); background: #f5f9ff; } }
  @keyframes hpRowOut { to { opacity: 0; } }
  @keyframes hpGlow { 0%, 100% { opacity: 0; } 12%, 65% { opacity: 1; } }

  /* floating cards around the app */
  .hp-float { position: absolute; z-index: 3; }
  .hp-float > div { }
  @keyframes hpBob { to { transform: translateY(-10px); } }
  .hp-fcard { background: rgba(255,255,255,.96); color: var(--hp-text); border-radius: 16px; box-shadow: 0 0 0 1px rgba(255,255,255,.6), 0 24px 60px -18px rgba(2,6,23,.6); padding: 14px; font-size: 12.5px; backdrop-filter: blur(10px); }
  .hp-f-inv { left: -60px; top: 330px; --dp: 14px; width: 230px; }
  .hp-f-sms { right: -58px; bottom: 34px; --dp: 24px; width: 262px; --bd: -3s; }
  .hp-f-paid { right: -44px; top: -38px; --dp: 18px; width: 280px; --bd: -1.5s; }
  .hp-fh { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
  .hp-pdf { width: 30px; height: 36px; border-radius: 6px; background: linear-gradient(180deg, #fee2e2, #fecaca); color: #b91c1c; font: 800 8px/1 var(--hp-display); display: grid; place-items: end center; padding-bottom: 5px; flex-shrink: 0; }
  .hp-fh b { display: block; font-weight: 600; font-size: 12.5px; }
  .hp-fh small { color: var(--hp-faint); font-size: 11px; }
  .hp-ffield { display: flex; justify-content: space-between; align-items: center; padding: 6px 0; border-top: 1px solid #f0f2f6; color: var(--hp-faint); font-size: 11.5px; }
  .hp-ffield b { color: var(--hp-text); font-weight: 600; display: inline-flex; gap: 6px; align-items: center; }
  .hp-tick { width: 14px; height: 14px; border-radius: 50%; background: #22c55e; display: inline-grid; place-items: center; }
  .hp-tick::after { content: ""; width: 6px; height: 3px; border: solid #fff; border-width: 0 0 1.6px 1.6px; transform: rotate(-45deg) translate(1px, -1px); }
  .hp-sms-head { display: flex; align-items: center; justify-content: space-between; color: var(--hp-faint); font-size: 11px; margin-bottom: 8px; }
  .hp-sms-head b { color: var(--hp-text); font-weight: 600; }
  .hp-bubble { background: #e9e9eb; border-radius: 16px 16px 16px 5px; padding: 9px 12px; font-size: 12.5px; line-height: 1.42; color: #111; }
  .hp-paid-row { display: flex; align-items: center; gap: 12px; }
  .hp-paid-ic { width: 38px; height: 38px; border-radius: 12px; background: linear-gradient(180deg, #22c55e, #16a34a); display: grid; place-items: center; flex-shrink: 0; box-shadow: 0 8px 20px -8px rgba(22,163,74,.8); }
  .hp-paid-row b { display: block; font: 600 14px/1.2 var(--hp-display); }
  .hp-paid-row small { color: var(--hp-faint); font-size: 11.5px; display: block; max-width: 150px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .hp-paid-amt { margin-left: auto; font: 600 15px/1 var(--hp-display); color: #15803d; font-variant-numeric: tabular-nums; }
  .hp-f-paid .hp-fcard.pop { animation: hpPop .7s var(--hp-ease); }
  @keyframes hpPop { 0% { transform: translateY(-6px) scale(.96); opacity: .6; } 60% { transform: scale(1.02); opacity: 1; } }

  /* industries marquee at the bottom of the hero */
  .hp-marq { position: relative; z-index: 2; background: var(--hp-night); margin-top: -1px; padding: 26px 0 30px; border-top: 1px solid rgba(255,255,255,.06); }
  .hp-marq-row { display: flex; align-items: center; gap: 2rem; max-width: var(--hp-max); margin: 0 auto; padding: 0 24px; }
  .hp-marq-label { flex-shrink: 0; color: rgba(255,255,255,.5); font-size: .85rem; }
  .hp-marq-view { overflow: hidden; flex: 1; position: relative; }
  .hp-marq-view::before, .hp-marq-view::after { content: ""; position: absolute; top: 0; bottom: 0; width: 60px; z-index: 1; pointer-events: none; }
  .hp-marq-view::before { left: 0; background: linear-gradient(90deg, var(--hp-night), transparent); }
  .hp-marq-view::after { right: 0; background: linear-gradient(270deg, var(--hp-night), transparent); }
  .hp-marq-track { display: flex; gap: .6rem; width: max-content; animation: hpMarq 40s linear infinite; will-change: transform; }
  .hp-off .hp-marq-track, .hp-off .hp-live-dot::after { animation-play-state: paused; }
  .hp-marq-view:hover .hp-marq-track { animation-play-state: paused; }
  @keyframes hpMarq { to { transform: translateX(-50%); } }
  .hp-marq-track a { flex-shrink: 0; color: rgba(255,255,255,.78); font-size: .9rem; padding: .5rem .95rem; border-radius: 99px; box-shadow: 0 0 0 1px rgba(255,255,255,.1) inset; background: rgba(255,255,255,.03); transition: background .2s, color .2s; }
  .hp-marq-track a:hover { background: rgba(255,255,255,.09); color: #fff; }

  /* ---------------- BENTO ---------------- */
  .hp-bento { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 16px; margin-top: 3.5rem; }
  .hp-tile { position: relative; border-radius: 24px; background: var(--hp-soft); box-shadow: 0 0 0 1px var(--hp-line) inset; padding: 28px; overflow: hidden; display: flex; flex-direction: column; min-height: 340px; }
  .hp-tile h3 { font: 600 1.32rem/1.2 var(--hp-display); letter-spacing: -.03em; color: var(--hp-text); margin: 0 0 .5rem; }
  .hp-tile p { font-size: .98rem; line-height: 1.55; color: var(--hp-muted); margin: 0; max-width: 30rem; }
  .hp-tile-vis { flex: 1; display: flex; align-items: center; justify-content: center; margin-bottom: 22px; min-height: 150px; position: relative; }
  .hp-t-a { grid-column: span 7; } .hp-t-b { grid-column: span 5; } .hp-t-c, .hp-t-d, .hp-t-e { grid-column: span 4; }
  .hp-t-f { grid-column: span 12; background: var(--hp-night); color: #fff; box-shadow: none; min-height: 0; padding: 36px; }
  .hp-t-f h3 { color: #fff; } .hp-t-f p { color: rgba(255,255,255,.62); }
  /* A: reminders running themselves */
  .hp-auto { width: 100%; max-width: 440px; display: flex; flex-direction: column; gap: 8px; }
  .hp-auto li { list-style: none; display: grid; grid-template-columns: 30px 1fr auto; gap: 12px; align-items: center; padding: 10px 12px; background: #fff; border-radius: 12px; box-shadow: 0 0 0 1px var(--hp-line) inset, 0 1px 2px rgba(11,19,36,.04); font-size: .88rem; color: var(--hp-text); transition: opacity .4s, transform .4s var(--hp-ease); }
  .hp-auto .ic { width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; color: #fff; }
  .hp-auto .ic svg { width: 14px; height: 14px; }
  .hp-auto small { color: var(--hp-faint); font-size: .78rem; }
  .hp-auto .st { font-size: .76rem; font-weight: 600; color: var(--hp-faint); display: inline-flex; align-items: center; gap: 6px; }
  .hp-auto li.done .st { color: #15803d; }
  .hp-auto li .st::before { content: ""; width: 14px; height: 14px; border-radius: 50%; box-shadow: 0 0 0 1.5px #d4d9e3 inset; transition: all .3s; }
  .hp-auto li.done .st::before { background: #22c55e url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.3l2.3 2.3 4.7-4.8' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat; box-shadow: none; }
  .hp-auto li.next { box-shadow: 0 0 0 1.5px #93c5fd inset, 0 8px 20px -10px rgba(37,99,235,.45); }
  /* B: the letter, signed */
  .hp-letter { width: 230px; background: #fff; border-radius: 6px; box-shadow: 0 1px 0 #fff inset, 0 24px 48px -20px rgba(11,19,36,.35), 0 0 0 1px var(--hp-line); padding: 20px 20px 16px; transform: rotate(-3deg); position: relative; }
  .hp-letter-t { font: 700 .62rem/1 Georgia, serif; letter-spacing: .16em; color: #111; margin: 6px 0 12px; }
  .hp-letter-l { height: 5px; border-radius: 3px; background: #eceef3; margin-bottom: 7px; }
  .hp-letter svg { width: 120px; height: 34px; margin-top: 8px; }
  .hp-letter svg path { fill: none; stroke: #1e3a8a; stroke-width: 2; stroke-linecap: round; stroke-dasharray: 260; stroke-dashoffset: 260; }
  .is-in .hp-letter svg path { animation: hpSign 5s var(--hp-ease) infinite; }
  .hp-off .hp-tile *, .hp-off .hp-tile *::before, .hp-off .hp-tile *::after { animation-play-state: paused !important; }
  @keyframes hpSign { 10% { stroke-dashoffset: 260; } 45%, 85% { stroke-dashoffset: 0; } 100% { stroke-dashoffset: 0; opacity: 0; } }
  .hp-seal { position: absolute; right: -18px; bottom: -14px; width: 64px; height: 64px; border-radius: 50%; background: linear-gradient(145deg, #1d4ed8, #0b1530); color: #fff; display: grid; place-items: center; text-align: center; font: 700 7.5px/1.2 var(--hp-display); letter-spacing: .08em; box-shadow: 0 10px 24px -8px rgba(29,78,216,.7); transform: rotate(8deg); }
  /* C: price */
  .hp-price-vis { text-align: center; }
  .hp-strike { position: relative; display: inline-block; font: 600 2.1rem/1 var(--hp-display); letter-spacing: -.04em; color: var(--hp-faint); }
  .hp-strike::after { content: ""; position: absolute; left: -4%; top: 52%; height: 3px; width: 0; background: #ef4444; border-radius: 3px; transform: rotate(-8deg); }
  .is-in .hp-strike::after { animation: hpStrike 5s var(--hp-ease) infinite; }
  @keyframes hpStrike { 15% { width: 0; } 35%, 100% { width: 108%; } }
  .hp-big29 { display: block; font: 600 5.2rem/1 var(--hp-display); letter-spacing: -.06em; background: linear-gradient(180deg, #16a34a, #0f766e); -webkit-background-clip: text; background-clip: text; color: transparent; margin-top: .4rem; }
  .is-in .hp-big29 { animation: hp29 5s var(--hp-ease) infinite; }
  @keyframes hp29 { 0%, 30% { opacity: 0; transform: translateY(14px) scale(.92); } 45%, 100% { opacity: 1; transform: none; } }
  /* D: money flow */
  .hp-flow { width: 100%; max-width: 300px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; }
  .hp-node { text-align: center; font-size: .78rem; color: var(--hp-muted); }
  .hp-node i { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 16px; background: #fff; box-shadow: 0 0 0 1px var(--hp-line) inset, 0 8px 20px -10px rgba(11,19,36,.25); margin: 0 auto 6px; font-style: normal; }
  .hp-node.you i { background: linear-gradient(180deg, #22c55e, #16a34a); box-shadow: 0 10px 24px -10px rgba(22,163,74,.8); }
  .hp-pipe { position: relative; height: 2px; background: repeating-linear-gradient(90deg, #cbd2df 0 6px, transparent 6px 12px); }
  .hp-pipe b { position: absolute; top: 50%; left: 0; width: 22px; height: 22px; margin: -11px 0 0 -11px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 1px #bbf7d0 inset, 0 4px 10px -4px rgba(22,163,74,.6); display: grid; place-items: center; font: 700 11px/1 var(--hp-display); color: #16a34a; opacity: 0; }
  .is-in .hp-pipe b { animation: hpCoin 3s linear infinite; }
  .is-in .hp-pipe b:nth-child(2) { animation-delay: 1s; } .is-in .hp-pipe b:nth-child(3) { animation-delay: 2s; }
  @keyframes hpCoin { 0% { left: 0; opacity: 0; } 12% { opacity: 1; } 88% { opacity: 1; } 100% { left: 100%; opacity: 0; } }
  /* E: scale */
  .hp-stack { position: relative; width: 170px; height: 150px; margin: 10px 0 24px; }
  .hp-stack span { position: absolute; inset: 0; background: #fff; border-radius: 8px; box-shadow: 0 0 0 1px var(--hp-line), 0 12px 24px -14px rgba(11,19,36,.35); transform-origin: 50% 100%; transition: transform 1s var(--hp-ease); padding: 14px; }
  .hp-stack span::before { content: ""; display: block; height: 6px; width: 60%; border-radius: 3px; background: #dbe4f5; box-shadow: 0 14px 0 -1px #eef0f4, 0 26px 0 -1px #eef0f4, 0 38px 0 -1px #eef0f4; }
  .is-in .hp-stack span:nth-child(1) { transform: rotate(-16deg) translate(-26px, 6px); }
  .is-in .hp-stack span:nth-child(2) { transform: rotate(-6deg) translate(-8px, 0); }
  .is-in .hp-stack span:nth-child(3) { transform: rotate(5deg) translate(12px, -2px); }
  .is-in .hp-stack span:nth-child(4) { transform: rotate(15deg) translate(30px, 6px); }
  .hp-count { position: absolute; right: -24px; top: -16px; z-index: 2; font: 600 1rem/1 var(--hp-display); color: #fff; background: var(--hp-text); padding: .5rem .75rem; border-radius: 99px; font-variant-numeric: tabular-nums; box-shadow: 0 10px 24px -10px rgba(11,19,36,.6); }
  /* F: one platform */
  .hp-pipeline { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.6fr); gap: 40px; align-items: center; }
  .hp-chain { position: relative; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
  .hp-chain::before { content: ""; position: absolute; left: 8%; right: 8%; top: 27px; height: 2px; background: rgba(255,255,255,.12); }
  .hp-chain::after { content: ""; position: absolute; top: 22px; left: 8%; width: 12px; height: 12px; border-radius: 50%; background: #7dd3fc; box-shadow: 0 0 18px 6px rgba(125,211,252,.55); opacity: 0; }
  .is-in .hp-chain::after { animation: hpTravel 6s cubic-bezier(.45,0,.55,1) infinite; }
  @keyframes hpTravel { 0% { left: 8%; opacity: 0; } 6% { opacity: 1; } 90% { opacity: 1; } 100% { left: 91%; opacity: 0; } }
  .hp-chain div { position: relative; z-index: 1; text-align: center; font-size: .8rem; color: rgba(255,255,255,.6); }
  .hp-chain i { display: grid; place-items: center; width: 56px; height: 56px; margin: 0 auto 10px; border-radius: 16px; background: #0d1a36; box-shadow: 0 0 0 1px rgba(255,255,255,.1) inset; color: #9db4d9; font-style: normal; }
  .hp-chain i svg { width: 22px; height: 22px; }
  .is-in .hp-chain i { animation: hpNode 6s infinite; animation-delay: var(--nd); }
  @keyframes hpNode { 0%, 100% { background: #0d1a36; color: #9db4d9; box-shadow: 0 0 0 1px rgba(255,255,255,.1) inset; } 4%, 14% { background: #12306b; color: #fff; box-shadow: 0 0 0 1px rgba(125,211,252,.6) inset, 0 0 30px -4px rgba(56,189,248,.6); } 30% { background: #0d1a36; color: #9db4d9; } }
  .hp-chain div:nth-child(5) i { --g: 1; }
  .is-in .hp-chain div:nth-child(5) i { animation-name: hpNodePaid; }
  @keyframes hpNodePaid { 0%, 100% { background: #0d1a36; color: #9db4d9; } 4%, 30% { background: #15803d; color: #fff; box-shadow: 0 0 0 1px rgba(74,222,128,.7) inset, 0 0 34px -2px rgba(34,197,94,.7); } 45% { background: #0d1a36; color: #9db4d9; } }

  /* ---------------- HOW IT WORKS (interactive) ---------------- */
  .hp-how { background: var(--hp-soft); }
  .hp-how-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 56px; align-items: center; margin-top: 3.5rem; }
  .hp-steps { display: flex; flex-direction: column; gap: 10px; }
  .hp-step { text-align: left; border: 0; background: transparent; border-radius: 18px; padding: 20px 22px; cursor: pointer; transition: background .3s, box-shadow .3s; font: inherit; color: inherit; }
  .hp-step:hover { background: rgba(255,255,255,.6); }
  .hp-step.is-on { background: #fff; box-shadow: 0 0 0 1px var(--hp-line) inset, 0 16px 40px -20px rgba(11,19,36,.25); }
  .hp-step-top { display: flex; align-items: center; gap: 12px; }
  .hp-step-n { width: 28px; height: 28px; border-radius: 9px; display: grid; place-items: center; font: 600 .82rem/1 var(--hp-display); background: #e7ecf6; color: var(--hp-muted); transition: background .3s, color .3s; }
  .hp-step.is-on .hp-step-n { background: var(--hp-blue); color: #fff; }
  .hp-step .sm { display: none; }
  .hp-step h3 { font: 600 1.2rem/1.2 var(--hp-display); letter-spacing: -.025em; margin: 0; color: var(--hp-text); }
  .hp-step p { margin: .55rem 0 0 40px; color: var(--hp-muted); font-size: .97rem; line-height: 1.55; max-height: 0; opacity: 0; overflow: hidden; transition: max-height .5s var(--hp-ease), opacity .4s; }
  .hp-step.is-on p { max-height: 120px; opacity: 1; }
  .hp-step-bar { margin: 14px 0 0 40px; height: 3px; border-radius: 3px; background: #edf0f6; overflow: hidden; opacity: 0; transition: opacity .3s; }
  .hp-step.is-on .hp-step-bar { opacity: 1; }
  .hp-step-bar i { display: block; height: 100%; width: 0; background: var(--hp-blue); border-radius: 3px; }
  .hp-step.is-on.is-run .hp-step-bar i { animation: hpFill var(--dur, 6.5s) linear forwards; }
  @keyframes hpFill { to { width: 100%; } }
  .hp-scenes { position: relative; height: 460px; border-radius: 26px; background: #fff; box-shadow: 0 0 0 1px var(--hp-line) inset, 0 40px 80px -40px rgba(11,19,36,.35); overflow: hidden; }
  .hp-scenes::before { content: ""; position: absolute; inset: 0; background: radial-gradient(600px 300px at 80% 0%, rgba(59,130,246,.08), transparent 60%); pointer-events: none; }
  .hp-scene { position: absolute; inset: 0; padding: 34px; opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity .5s, transform .6s var(--hp-ease), visibility 0s .5s; display: flex; flex-direction: column; justify-content: center; }
  .hp-scene.is-on { opacity: 1; visibility: visible; transform: none; transition: opacity .5s .1s, transform .6s .1s var(--hp-ease), visibility 0s; }
  .hp-cursor { position: absolute; z-index: 6; width: 22px; height: 22px; left: 88%; top: 92%; opacity: 0; pointer-events: none; filter: drop-shadow(0 4px 6px rgba(0,0,0,.25)); }
  .hp-cursor::after { content: ""; position: absolute; left: -9px; top: -9px; width: 22px; height: 22px; border-radius: 50%; border: 2px solid var(--hp-blue); opacity: 0; }
  /* scene 1 */
  .hps-drop { border: 1.5px dashed #c7d2e6; border-radius: 18px; background: #f8fafe; height: 104px; position: relative; display: grid; place-items: center; color: var(--hp-faint); font-size: .9rem; }
  .hps-file { position: absolute; left: 50%; top: 50%; width: 270px; margin-left: -135px; margin-top: -30px; height: 60px; display: flex; align-items: center; gap: 12px; padding: 0 14px; background: #fff; border-radius: 12px; box-shadow: 0 0 0 1px var(--hp-line), 0 14px 30px -14px rgba(11,19,36,.35); overflow: hidden; opacity: 0; }
  .hps-file b { display: block; font-weight: 600; font-size: .9rem; color: var(--hp-text); }
  .hps-file small { color: var(--hp-faint); font-size: .78rem; }
  .hps-scan { position: absolute; left: 0; right: 0; top: 0; height: 36px; background: linear-gradient(180deg, transparent, rgba(59,130,246,.22), transparent); opacity: 0; }
  .hps-fields { margin-top: 20px; display: grid; gap: 4px; }
  .hps-f { display: grid; grid-template-columns: 120px 1fr 18px; gap: 12px; align-items: center; padding: 11px 4px; border-bottom: 1px solid #f0f2f6; font-size: .92rem; }
  .hps-f span { color: var(--hp-faint); }
  .hps-f b { font-weight: 600; color: var(--hp-text); clip-path: inset(0 100% 0 0); }
  .hps-f .hp-tick { transform: scale(0); }
  .hps-note { margin-top: 18px; font-size: .86rem; color: var(--hp-muted); display: flex; align-items: center; gap: 8px; opacity: 0; }
  .is-play .hps-file { animation: hpDrop .7s .15s var(--hp-ease) forwards; }
  @keyframes hpDrop { from { opacity: 0; transform: translateY(-70px) rotate(-6deg); } to { opacity: 1; transform: none; } }
  .is-play .hps-scan { animation: hpScan 1.1s .9s ease-in-out 1 forwards; }
  @keyframes hpScan { 0% { opacity: 1; top: -36px; } 100% { opacity: 1; top: 60px; } }
  .is-play .hps-f b { animation: hpType .6s steps(18) forwards; animation-delay: calc(2s + var(--d) * .38s); }
  @keyframes hpType { to { clip-path: inset(0 0 0 0); } }
  .is-play .hps-f .hp-tick { animation: hpTickIn .35s var(--hp-ease) forwards; animation-delay: calc(2.5s + var(--d) * .38s); }
  @keyframes hpTickIn { to { transform: scale(1); } }
  .is-play .hps-note { animation: hpFadeUp .5s 4.1s forwards; }
  @keyframes hpFadeUp { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
  /* scene 2 */
  .hps-plans { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
  .hps-plan { border-radius: 16px; padding: 18px; box-shadow: 0 0 0 1.5px var(--hp-line) inset; background: #fff; position: relative; }
  .hps-plan small { color: var(--hp-faint); font-size: .8rem; display: block; }
  .hps-plan b { display: block; font: 600 1.05rem/1.2 var(--hp-display); color: var(--hp-text); margin: 4px 0 10px; }
  .hps-plan strong { font: 600 1.7rem/1 var(--hp-display); letter-spacing: -.04em; color: var(--hp-text); }
  .hps-plan strong span { font-size: .9rem; color: var(--hp-faint); letter-spacing: 0; font-weight: 500; }
  .hps-radio { position: absolute; right: 16px; top: 16px; width: 20px; height: 20px; border-radius: 50%; box-shadow: 0 0 0 2px #d4d9e3 inset; }
  .is-play .hps-plan.sel { animation: hpSel .35s 1.75s forwards; }
  @keyframes hpSel { to { box-shadow: 0 0 0 2px var(--hp-blue) inset, 0 16px 36px -18px rgba(37,99,235,.55); background: #f5f9ff; } }
  .is-play .hps-plan.sel .hps-radio { animation: hpRadio .35s 1.75s forwards; }
  @keyframes hpRadio { to { box-shadow: 0 0 0 6px var(--hp-blue) inset; } }
  .hps-inc { margin-top: 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px 16px; }
  .hps-inc div { display: flex; align-items: center; gap: 9px; font-size: .9rem; color: var(--hp-text); opacity: 0; }
  .is-play .hps-inc div { animation: hpFadeUp .45s forwards; animation-delay: calc(2.2s + var(--d) * .22s); }
  .is-play .hp-cursor.c2 { animation: hpCur2 2.4s .5s var(--hp-ease) forwards; }
  @keyframes hpCur2 { 0% { opacity: 0; left: 30%; top: 95%; } 15% { opacity: 1; } 55% { left: 74%; top: 28%; } 60% { left: 74%; top: 29%; } 100% { opacity: 1; left: 74%; top: 29%; } }
  .is-play .hp-cursor.c2::after { animation: hpClick .5s 1.75s forwards; }
  @keyframes hpClick { 0% { opacity: .9; transform: scale(.4); } 100% { opacity: 0; transform: scale(2); } }
  /* scene 3 */
  .hps-sum { border-radius: 16px; box-shadow: 0 0 0 1px var(--hp-line) inset; padding: 6px 18px; }
  .hps-sum div { display: flex; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid #f0f2f6; font-size: .92rem; color: var(--hp-faint); }
  .hps-sum div:last-child { border: 0; }
  .hps-sum b { color: var(--hp-text); font-weight: 600; }
  .hps-pay { position: relative; margin-top: 18px; height: 54px; border-radius: 14px; background: var(--hp-text); color: #fff; display: grid; place-items: center; font: 600 1rem/1 var(--hp-display); overflow: hidden; }
  .hps-pay span { position: absolute; display: inline-flex; align-items: center; gap: 8px; }
  .hps-pay .s2, .hps-pay .s3 { opacity: 0; }
  .hps-spin { width: 18px; height: 18px; border-radius: 50%; border: 2px solid rgba(255,255,255,.3); border-top-color: #fff; animation: hpSpin .7s linear infinite; }
  @keyframes hpSpin { to { transform: rotate(360deg); } }
  .is-play .hps-pay { animation: hpPayOk .4s 2.3s forwards; }
  @keyframes hpPayOk { to { background: #16a34a; } }
  .is-play .hps-pay .s1 { animation: hpOut .2s 1.4s forwards; }
  .is-play .hps-pay .s2 { animation: hpInOut 1s 1.45s forwards; }
  .is-play .hps-pay .s3 { animation: hpIn .3s 2.35s forwards; }
  @keyframes hpOut { to { opacity: 0; transform: translateY(-8px); } }
  @keyframes hpIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
  @keyframes hpInOut { 0% { opacity: 0; } 15%, 85% { opacity: 1; } 100% { opacity: 0; } }
  .hps-plane { position: absolute; right: 40px; top: 46%; width: 34px; height: 34px; color: var(--hp-blue); opacity: 0; }
  .is-play .hps-plane { animation: hpPlane 1.1s 2.4s cubic-bezier(.5,0,.75,0) forwards; }
  @keyframes hpPlane { 0% { opacity: 0; transform: translate(-160px, 70px) scale(.6); } 20% { opacity: 1; } 100% { opacity: 0; transform: translate(60px, -120px) scale(1.1) rotate(-8deg); } }
  .hps-log { margin-top: 16px; display: grid; gap: 8px; }
  .hps-log div { display: flex; align-items: center; gap: 10px; font-size: .9rem; color: var(--hp-text); opacity: 0; }
  .hps-log time { margin-left: auto; color: var(--hp-faint); font-size: .82rem; }
  .is-play .hps-log div { animation: hpFadeUp .45s forwards; animation-delay: calc(3.1s + var(--d) * .6s); }
  .is-play .hp-cursor.c3 { animation: hpCur3 1.6s .3s var(--hp-ease) forwards; }
  @keyframes hpCur3 { 0% { opacity: 0; left: 80%; top: 96%; } 20% { opacity: 1; } 70%, 100% { opacity: 1; left: 56%; top: 61%; } }
  .is-play .hp-cursor.c3::after { animation: hpClick .5s 1.35s forwards; }

  /* ---------------- CALENDAR (scroll story) ---------------- */
  .hp-cal { background: var(--hp-night); color: #fff; position: relative; }
  .hp-cal::before { content: ""; position: absolute; inset: 0; background: radial-gradient(900px 500px at 85% 30%, rgba(37,99,235,.22), transparent 60%), radial-gradient(700px 400px at 10% 90%, rgba(52,211,153,.12), transparent 60%); pointer-events: none; }
  .hp-cal-pin { position: relative; }
  .hp-cal-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 64px; align-items: center; }
  .hp-story { list-style: none; margin: 2.2rem 0 0; padding: 0; position: relative; }
  .hp-story li { padding: 20px 0; border-top: 1px solid rgba(255,255,255,.1); }
  .hp-story .when { font: 600 .9rem/1 var(--hp-display); color: #7cb2ff; letter-spacing: .02em; display: flex; align-items: center; gap: .6rem; }
  .hp-story .tag { font: 600 .66rem/1 var(--hp-display); letter-spacing: .06em; text-transform: uppercase; padding: .28rem .5rem; border-radius: 6px; background: rgba(255,255,255,.1); color: #fff; }
  .hp-story h3 { font: 600 2rem/1.15 var(--hp-display); letter-spacing: -.035em; color: #fff; margin: .7rem 0 .6rem; }
  .hp-story p { color: rgba(255,255,255,.7); font-size: 1.15rem; line-height: 1.6; margin: 0; max-width: 28rem; }
  .hp-art { margin-top: 16px; max-width: 26rem; border-radius: 14px; background: rgba(255,255,255,.05); box-shadow: 0 0 0 1px rgba(255,255,255,.1) inset; padding: 12px 14px; font-size: .86rem; color: rgba(255,255,255,.85); }
  .hp-art .row { display: flex; align-items: center; gap: 4px 10px; flex-wrap: wrap; }
  .hp-art b { color: #fff; font-weight: 600; }
  .hp-art small { color: rgba(255,255,255,.5); }
  .hp-art .btns { display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; }
  .hp-art .btns span { font-size: .78rem; font-weight: 600; padding: .45rem .7rem; border-radius: 8px; box-shadow: 0 0 0 1px rgba(255,255,255,.2) inset; }
  .hp-art .btns span:first-child { background: #fff; color: var(--hp-text); box-shadow: none; }
  .hp-art .bub { background: rgba(255,255,255,.1); border-radius: 14px 14px 14px 4px; padding: 9px 12px; line-height: 1.45; }
  .hp-cal-note { margin-top: 1.6rem; font-size: .92rem; color: rgba(255,255,255,.55); }
  .hp-cal-note b { color: #fff; font-weight: 600; }
  .hp-calcard { background: #fff; color: var(--hp-text); border-radius: 26px; padding: 26px; box-shadow: 0 50px 100px -30px rgba(0,0,0,.7), 0 0 0 1px rgba(255,255,255,.2); position: relative; }
  .hp-calhead { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
  .hp-calhead .hp-cal-month { font: 600 1.25rem/1 var(--hp-display); letter-spacing: -.03em; margin: 0; color: var(--hp-text); }
  .hp-calhead small { display: block; color: var(--hp-faint); font-size: .8rem; margin-top: 6px; }
  .hp-calstat { display: inline-flex; align-items: center; gap: 8px; font: 600 .82rem/1 var(--hp-display); padding: .55rem .8rem; border-radius: 99px; background: #eff6ff; color: #1d4ed8; transition: background .4s, color .4s; white-space: nowrap; }
  .hp-calstat::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
  .hp-calstat.is-paid { background: #dcfce7; color: #15803d; }
  .hp-dow { margin-top: 22px; }
  .hp-dow, .hp-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; }
  .hp-dow span { text-align: center; font-size: .78rem; font-weight: 600; color: var(--hp-faint); padding-bottom: 8px; }
  .hp-day { position: relative; height: 92px; border-radius: 14px; background: #f5f7fb; padding: 10px; font: 600 .95rem/1 var(--hp-display); color: #3b4559; transition: background .5s, box-shadow .5s, opacity .5s, color .5s; }
  .hp-day.wk { background: #fafbfd; color: #b3bac8; }
  .hp-day.out { background: transparent; color: #cfd4de; }
  .hp-day.past { background: #eef4ff; }
  .hp-day.today { background: #fff; box-shadow: 0 0 0 2px var(--hp-blue) inset, 0 12px 24px -12px rgba(37,99,235,.6); color: var(--hp-text); }
  .hp-day.paidday { background: #dcfce7; box-shadow: 0 0 0 2px #22c55e inset, 0 12px 26px -10px rgba(34,197,94,.6); color: #14532d; }
  .hp-day.after { opacity: .35; }
  .hp-ev { position: absolute; left: 8px; right: 8px; bottom: 8px; display: flex; align-items: center; justify-content: center; gap: 5px; height: 26px; border-radius: 8px; color: #fff; font: 600 .74rem/1 var(--hp-display); opacity: 0; transform: translateY(6px) scale(.9); transition: opacity .4s, transform .5s cubic-bezier(.3,1.5,.5,1); }
  .hp-ev svg { width: 12px; height: 12px; flex-shrink: 0; }
  .hp-ev.on { opacity: 1; transform: none; }
  .t-letter { background: #0b1530; } .t-open { background: #3b82f6; } .t-sms { background: #0891b2; } .t-email { background: #6366f1; } .t-you { background: #f59e0b; } .t-reply { background: #8b5cf6; } .t-paid { background: #16a34a; }
  .hp-caldots { display: none; }
  /* JS on: scroll-driven, one event at a time */
  .hp-js .hp-cal.is-scrolly { height: 340vh; padding: 0; }
  .hp-js .hp-cal.is-scrolly .hp-cal-pin { position: sticky; top: 0; height: 100vh; display: flex; align-items: center; padding-top: 40px; }
  .hp-js .hp-cal .hp-story { min-height: 200px; }
  .hp-js .hp-cal .hp-story li { position: absolute; inset: 0 0 auto 0; opacity: 0; transform: translateY(16px); transition: opacity .2s, transform .3s var(--hp-ease); pointer-events: none; }
  .hp-js .hp-cal .hp-story li.is-cur { opacity: 1; transform: none; pointer-events: auto; transition: opacity .45s .18s, transform .55s .18s var(--hp-ease); }

  /* ---------------- RESULTS ---------------- */
  .hp-res-big { font: 600 clamp(4.2rem, 13vw, 10.5rem)/.9 var(--hp-display); letter-spacing: -.065em; background: linear-gradient(180deg, #0b1324 30%, #3b5bdb); -webkit-background-clip: text; background-clip: text; color: transparent; margin: 1.2rem 0 0; font-variant-numeric: tabular-nums; }
  .hp-res-label { color: var(--hp-muted); font-size: 1.05rem; margin-top: 1rem; }
  .hp-res-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 4rem; text-align: left; }
  .hp-rcard { border-radius: 24px; padding: 28px; box-shadow: 0 0 0 1px var(--hp-line) inset; background: #fff; display: flex; flex-direction: column; color: inherit; transition: transform .35s var(--hp-ease), box-shadow .35s; }
  .hp-rcard:hover { color: inherit; transform: translateY(-4px); box-shadow: 0 0 0 1px #d5dbe7 inset, 0 30px 60px -30px rgba(11,19,36,.3); }
  .hp-rcard .n { font: 600 2.9rem/1 var(--hp-display); letter-spacing: -.05em; color: var(--hp-text); }
  .hp-rcard .l { font-weight: 600; color: var(--hp-text); margin: .5rem 0 1.4rem; }
  .hp-rcard p { color: var(--hp-muted); font-size: .95rem; line-height: 1.55; margin: 1.3rem 0 1.4rem; }
  .hp-rwho { margin-top: auto; display: flex; align-items: center; gap: 12px; padding-top: 16px; border-top: 1px solid #eef0f5; font-size: .85rem; }
  .hp-rwho img, .hp-rwho .av { width: 40px; height: 40px; border-radius: 12px; object-fit: contain; background: #fff; box-shadow: 0 0 0 1px var(--hp-line) inset; padding: 4px; display: grid; place-items: center; font: 700 .8rem/1 var(--hp-display); color: var(--hp-text); flex-shrink: 0; }
  .hp-rwho b { display: block; color: var(--hp-text); font-weight: 600; }
  .hp-rwho span { color: var(--hp-faint); }
  .hp-split { display: flex; height: 14px; border-radius: 8px; overflow: hidden; background: #eef1f6; }
  .hp-split i { display: block; height: 100%; width: 0; transition: width 1.3s var(--hp-ease); }
  .hp-split i:first-child { background: linear-gradient(90deg, #16a34a, #22c55e); }
  .hp-split i:last-child { background: linear-gradient(90deg, #34d399, #6ee7b7); transition-delay: .5s; }
  .is-in .hp-split i:first-child { width: 60%; } .is-in .hp-split i:last-child { width: 40%; }
  .hp-split-l { display: flex; justify-content: space-between; margin-top: 10px; font-size: .8rem; color: var(--hp-faint); }
  .hp-split-l b { color: var(--hp-text); font-weight: 600; }
  .hp-tl { position: relative; height: 54px; }
  .hp-tl::before, .hp-tl::after { content: ""; position: absolute; left: 6px; right: 6px; top: 8px; height: 3px; border-radius: 3px; background: #eef1f6; }
  .hp-tl::after { right: auto; width: 0; background: linear-gradient(90deg, #3b82f6, #22c55e); transition: width 1.8s var(--hp-ease); }
  .is-in .hp-tl::after { width: calc(100% - 12px); }
  .hp-tl span { position: absolute; top: 2px; transform: translateX(-50%); text-align: center; font-size: .72rem; color: var(--hp-faint); line-height: 1.3; white-space: nowrap; }
  .hp-tl span::before { content: ""; display: block; width: 15px; height: 15px; margin: 0 auto 6px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 3px #dfe4ee inset; transition: box-shadow .4s, background .4s; transition-delay: var(--td); }
  .is-in .hp-tl span::before { box-shadow: 0 0 0 3px #3b82f6 inset; }
  .is-in .hp-tl span.paid::before { background: #22c55e; box-shadow: 0 0 0 4px #dcfce7; }
  .hp-gstars { position: relative; display: inline-block; font-size: 1.6rem; letter-spacing: .1em; color: #e5e7eb; line-height: 1; }
  .hp-gstars i { position: absolute; left: 0; top: 0; width: 0; overflow: hidden; color: #fbbf24; font-style: normal; white-space: nowrap; transition: width 1.6s var(--hp-ease); }
  .is-in .hp-gstars i { width: 100%; }
  .hp-res-foot { margin-top: 1.6rem; color: var(--hp-muted); font-size: .95rem; }
  .hp-res-foot a { font-weight: 600; color: var(--hp-blue); }

  /* ---------------- PRICING ---------------- */
  .hp-pricing { background: var(--hp-soft); }
  .hp-plans { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 3.5rem; }
  .hp-plan { position: relative; border-radius: 26px; padding: 34px; background: #fff; box-shadow: 0 0 0 1px var(--hp-line) inset; display: flex; flex-direction: column; }
  .hp-plan-name { display: flex; align-items: center; justify-content: space-between; font: 600 1.1rem/1 var(--hp-display); color: var(--hp-text); }
  .hp-plan-price { font: 600 4.2rem/1 var(--hp-display); letter-spacing: -.06em; color: var(--hp-text); margin-top: 1.4rem; }
  .hp-plan-price small { font: 500 1rem/1 'Inter'; letter-spacing: 0; color: var(--hp-faint); margin-left: .4rem; }
  .hp-plan-note { color: var(--hp-muted); font-size: .95rem; margin-top: .7rem; }
  .hp-plan ul { list-style: none; padding: 0; margin: 1.8rem 0 2rem; display: grid; gap: .8rem; }
  .hp-plan li { display: flex; gap: .7rem; font-size: .98rem; color: var(--hp-text); line-height: 1.45; }
  .hp-plan li::before { content: ""; flex-shrink: 0; width: 20px; height: 20px; border-radius: 50%; margin-top: 1px; background: #dcfce7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.3l2.3 2.3 4.7-4.8' fill='none' stroke='%2316a34a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat; }
  .hp-plan .hp-btn { margin-top: auto; width: 100%; }
  .hp-plan-fine { text-align: center; font-size: .85rem; color: var(--hp-faint); margin-top: .9rem; }
  .hp-plan-feat { background: var(--hp-night); color: #fff; box-shadow: none; overflow: hidden; isolation: isolate; }
  .hp-plan-feat::before { content: ""; position: absolute; inset: -1px; border-radius: 26px; padding: 1px; background: conic-gradient(from var(--ang, 0deg), rgba(124,178,255,.0), rgba(124,178,255,.8), rgba(110,231,183,.8), rgba(124,178,255,0) 40%); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; --ang: 200deg; z-index: -1; }
  @property --ang { syntax: '<angle>'; initial-value: 0deg; inherits: false; }
  @keyframes hpSpinBorder { to { --ang: 360deg; } }
  .hp-plan-feat::after { content: ""; position: absolute; right: -20%; top: -30%; width: 70%; height: 70%; background: radial-gradient(closest-side, rgba(37,99,235,.4), transparent); z-index: -1; }
  .hp-plan-feat .hp-plan-name, .hp-plan-feat .hp-plan-price, .hp-plan-feat li { color: #fff; }
  .hp-plan-feat .hp-plan-price em { font-style: normal; background: linear-gradient(90deg, #93c5fd, #6ee7b7); -webkit-background-clip: text; background-clip: text; color: transparent; }
  .hp-plan-feat .hp-plan-note, .hp-plan-feat .hp-plan-fine { color: rgba(255,255,255,.6); }
  .hp-plan-feat li::before { background-color: rgba(74,222,128,.16); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.3l2.3 2.3 4.7-4.8' fill='none' stroke='%234ade80' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
  .hp-rec { font: 600 .74rem/1 var(--hp-display); padding: .4rem .65rem; border-radius: 99px; background: rgba(74,222,128,.14); color: #4ade80; }
  .hp-bulk { margin-top: 16px; display: flex; align-items: center; justify-content: space-between; gap: 1.2rem 2rem; flex-wrap: wrap; border-radius: 22px; padding: 22px 28px; background: #fff; box-shadow: 0 0 0 1px var(--hp-line) inset; }
  .hp-bulk b { display: block; font: 600 1.1rem/1.3 var(--hp-display); color: var(--hp-text); }
  .hp-bulk span { color: var(--hp-muted); }
  /* savings comparison */
  .hp-save { margin-top: 16px; border-radius: 26px; background: #fff; box-shadow: 0 0 0 1px var(--hp-line) inset; padding: 36px; }
  .hp-save-top { display: block; }
  .hp-save h3 { font: 600 1.6rem/1.2 var(--hp-display); letter-spacing: -.03em; margin: 0; color: var(--hp-text); }
  .hp-save-q { color: var(--hp-muted); font-size: 1rem; margin: 1.4rem 0 .5rem; }
  .hp-amt { display: flex; align-items: baseline; gap: .1rem; font: 600 3.6rem/1 var(--hp-display); letter-spacing: -.05em; color: var(--hp-text); margin: 0; padding-bottom: .25rem; border-bottom: 2px solid var(--hp-line); width: 17rem; max-width: 100%; transition: border-color .2s; }
  .hp-amt:focus-within { border-bottom-color: var(--hp-blue); }
  .hp-amt input[type="text"] { font: inherit; font-size: inherit !important; letter-spacing: inherit; color: inherit; border: 0; border-radius: 0; background: transparent; padding: 0; width: 100%; height: auto; box-shadow: none; outline: none; font-variant-numeric: tabular-nums; }
  .hp-amt input[type="text"]:focus { box-shadow: none; }
  .hp-range { width: 100%; accent-color: var(--hp-blue); margin: 22px 0 28px; }
  .hp-cmps { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
  .hp-cmp { border-radius: 18px; background: var(--hp-soft); padding: 22px 24px; }
  .hp-cmp h4 { font: 600 1rem/1.3 var(--hp-display); margin: 0 0 12px; color: var(--hp-muted); }
  .hp-cmp-r { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: 12px 0; border-bottom: 1px solid #e6e9f1; font-size: 1.02rem; color: var(--hp-muted); }
  .hp-cmp-r b { font: 600 1.3rem/1 var(--hp-display); letter-spacing: -.02em; color: var(--hp-muted); font-variant-numeric: tabular-nums; white-space: nowrap; }
  .hp-cmp-r.us span { color: var(--hp-text); font-weight: 600; }
  .hp-cmp-r.us b { color: var(--hp-text); }
  .hp-cmp-save { margin-top: 16px; font: 500 1.05rem/1.3 var(--hp-display); color: #15803d; }
  .hp-cmp-save b { font-weight: 700; font-size: 1.35rem; letter-spacing: -.02em; }
  .hp-save-fine { font-size: .8rem; color: var(--hp-faint); line-height: 1.55; margin: 20px 0 0; }

  /* ---------------- CHECKER ---------------- */
  .hp-check { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 20px; margin-top: 3.5rem; align-items: stretch; }
  .hp-qs { border-radius: 26px; background: var(--hp-soft); box-shadow: 0 0 0 1px var(--hp-line) inset; padding: 30px; }
  .hp-q + .hp-q { margin-top: 26px; }
  .hp-q-l { display: flex; align-items: center; gap: 10px; font: 600 1rem/1.3 var(--hp-display); color: var(--hp-text); margin-bottom: 14px; }
  .hp-q-l span { width: 24px; height: 24px; border-radius: 8px; display: grid; place-items: center; background: var(--hp-text); color: #fff; font-size: .78rem; flex-shrink: 0; }
  .hp-map { display: grid; grid-template-columns: 1.3fr 1fr 1fr .7fr; grid-template-rows: 64px 64px 64px 40px; gap: 6px; max-width: 500px; }
  .hp-st { border: 0; border-radius: 12px; cursor: pointer; font: 600 .95rem/1 var(--hp-display); display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; padding: 10px 11px; text-align: left; background: #fff; color: var(--hp-text); box-shadow: 0 0 0 1px var(--hp-line) inset, 0 1px 2px rgba(11,19,36,.05); transition: transform .25s var(--hp-ease), box-shadow .25s, background .25s, color .25s; }
  .hp-st small { font: 500 .66rem/1.1 'Inter'; color: var(--hp-faint); }
  .hp-st:hover { transform: translateY(-2px); box-shadow: 0 0 0 1.5px #93c5fd inset, 0 10px 20px -12px rgba(37,99,235,.5); }
  .hp-st.no { background: repeating-linear-gradient(135deg, #fff 0 6px, #f6f7fa 6px 12px); color: #6b7489; }
  .hp-st.is-sel { background: var(--hp-text); color: #fff; box-shadow: 0 12px 26px -12px rgba(11,19,36,.7); }
  .hp-st.is-sel small { color: rgba(255,255,255,.65); }
  .hp-st.no.is-sel { background: #b45309; }
  .st-wa { grid-column: 1; grid-row: 1 / 4; } .st-nt { grid-column: 2; grid-row: 1; } .st-sa { grid-column: 2; grid-row: 2 / 4; }
  .st-qld { grid-column: 3 / 5; grid-row: 1; } .st-nsw { grid-column: 3; grid-row: 2; } .st-act { grid-column: 4; grid-row: 2; padding: 8px; }
  .st-vic { grid-column: 3; grid-row: 3; } .st-tas { grid-column: 3; grid-row: 4; padding: 8px 11px; flex-direction: row; align-items: center; }
  .hp-seg { display: inline-flex; flex-wrap: wrap; gap: 6px; padding: 5px; border-radius: 14px; background: #fff; box-shadow: 0 0 0 1px var(--hp-line) inset; }
  .hp-seg button { border: 0; background: transparent; border-radius: 10px; padding: .65rem 1rem; font: 500 .9rem/1 'Inter'; color: var(--hp-muted); cursor: pointer; transition: background .25s, color .25s; }
  .hp-seg button.is-sel { background: var(--hp-text); color: #fff; }
  .hp-verdict { position: relative; border-radius: 26px; padding: 34px; background: var(--hp-night); color: #fff; overflow: hidden; display: flex; flex-direction: column; justify-content: center; min-height: 420px; isolation: isolate; }
  .hp-verdict::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(500px 300px at 80% 0%, var(--vg, rgba(37,99,235,.35)), transparent 65%); transition: background .6s; }
  .hp-v { display: none; animation: hpVIn .6s var(--hp-ease); }
  .hp-v.is-on { display: block; }
  @keyframes hpVIn { from { opacity: 0; transform: translateY(12px); } }
  .hp-v-ic { width: 64px; height: 64px; border-radius: 20px; display: grid; place-items: center; margin-bottom: 22px; }
  .hp-v-ic svg { width: 30px; height: 30px; }
  .hp-v-ic path.draw { stroke-dasharray: 40; stroke-dashoffset: 40; animation: hpDraw .6s .25s var(--hp-ease) forwards; }
  .hp-v h3 { font: 600 1.9rem/1.12 var(--hp-display); letter-spacing: -.04em; margin: 0; color: #fff; }
  .hp-v p { color: rgba(255,255,255,.7); font-size: 1rem; line-height: 1.6; margin: .9rem 0 1.6rem; max-width: 26rem; }
  .hp-v .hp-btn { align-self: flex-start; }
  .hp-v-link { color: #7cb2ff; font-weight: 600; }
  .hp-v-link:hover { color: #a5c8ff; }

  /* ---------------- FAQ ---------------- */
  .hp-faq-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 64px; align-items: start; }
  .hp-faq details { border-bottom: 1px solid var(--hp-line); }
  .hp-faq details:first-child { border-top: 1px solid var(--hp-line); }
  .hp-faq summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.35rem 0; font: 600 1.08rem/1.35 var(--hp-display); letter-spacing: -.015em; color: var(--hp-text); }
  .hp-faq summary::-webkit-details-marker { display: none; }
  .hp-faq summary i { flex-shrink: 0; position: relative; width: 28px; height: 28px; border-radius: 50%; background: var(--hp-soft); transition: background .3s, transform .4s var(--hp-ease); }
  .hp-faq summary i::before, .hp-faq summary i::after { content: ""; position: absolute; left: 50%; top: 50%; width: 11px; height: 1.6px; margin: -.8px 0 0 -5.5px; background: var(--hp-text); border-radius: 2px; transition: transform .4s var(--hp-ease); }
  .hp-faq summary i::after { transform: rotate(90deg); }
  .hp-faq details[open] summary i { background: var(--hp-text); transform: rotate(180deg); }
  .hp-faq details[open] summary i::before, .hp-faq details[open] summary i::after { background: #fff; }
  .hp-faq details[open] summary i::after { transform: rotate(0); }
  .hp-faq details p { margin: 0; padding: 0 3rem 1.4rem 0; color: var(--hp-muted); line-height: 1.65; animation: hpFadeUp .4s var(--hp-ease); }

  /* ---------------- FINAL CTA ---------------- */
  .hp-final { position: relative; overflow: hidden; isolation: isolate; background: var(--hp-night); color: #fff; text-align: center; padding: clamp(100px, 14vw, 170px) 0; }
  .hp-final .hp-aurora { inset: 0; }
  .hp-final-tag { display: inline-flex; align-items: center; gap: .6rem; color: rgba(255,255,255,.66); font-size: .92rem; }
  .hp-final-tag img { width: 22px; height: 22px; }
  .hp-final h2 { font: 600 clamp(2.8rem, 7.4vw, 6rem)/.96 var(--hp-display); letter-spacing: -.055em; color: #fff; margin: 1.4rem auto 0; max-width: 16ch; }
  .hp-final h2 em { background: linear-gradient(95deg, #93c5fd, #67e8f9, #6ee7b7); -webkit-background-clip: text; background-clip: text; color: transparent; padding-right: .08em; }
  .hp-final p { color: rgba(255,255,255,.66); font-size: 1.12rem; margin: 1.6rem auto 2.2rem; }

  /* ---------------- FOOTER ---------------- */

  /* sticky phone bar */
  .hp-sticky { position: fixed; left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); z-index: 90; display: none; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 10px 10px 16px; border-radius: 16px; background: rgba(5,11,24,.9); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); box-shadow: 0 0 0 1px rgba(255,255,255,.1) inset, 0 20px 40px -12px rgba(0,0,0,.5); color: #fff; transform: translateY(140%); transition: transform .45s var(--hp-ease); }
  .hp-sticky.is-on { transform: none; }
  .hp-sticky b { font: 600 .95rem/1.2 var(--hp-display); display: block; }
  .hp-sticky small { color: rgba(255,255,255,.6); font-size: .75rem; }
  .hp-sticky .hp-btn { padding: .8rem 1rem; font-size: .92rem; }

  /* ---------------- RESPONSIVE ---------------- */
  @media (max-width: 1100px) {
    .hpd-search { display: none; }
    .hpd-grid { grid-template-columns: minmax(0, 1fr) 220px; }
    .hp-f-paid { right: -10px; } .hp-f-inv { left: -10px; }
  }
  @media (max-width: 960px) {
    .hp-how-grid, .hp-cal-grid, .hp-faq-grid, .hp-check { grid-template-columns: minmax(0, 1fr); }
    .hp-how-grid { gap: 28px; }
    .hp-steps { flex-direction: row; gap: 6px; overflow-x: auto; scrollbar-width: none; }
    .hp-step { flex: 1 0 auto; padding: 12px 14px; border-radius: 14px; }
    .hp-step p { display: none; }
    .hp-step-bar { margin-left: 0; margin-top: 10px; }
    .hp-step h3 { font-size: 1rem; }
    .hp-cal-grid { gap: 32px; }
    .hp-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hp-t-a, .hp-t-b, .hp-t-f { grid-column: 1 / -1; }
    .hp-t-c, .hp-t-d { grid-column: span 1; } .hp-t-e { grid-column: 1 / -1; }
    .hp-pipeline { grid-template-columns: minmax(0, 1fr); gap: 28px; }
    .hp-res-grid { grid-template-columns: minmax(0, 1fr); }
    .hp-faq-grid { gap: 24px; }
  }
  @media (max-width: 760px) {
    .hp-wrap { padding: 0 16px; }
    body.hp footer.site-foot { padding-bottom: 80px; }
    .hp-hero { padding-top: 112px; }
    .hp-live { font-size: .8rem; text-align: left; }
    .hp-hero-cta .hp-btn { width: 100%; }
    .hp-hero-cta { gap: .6rem; }
    .hp-stage { margin-top: 3rem; padding: 0 16px; }
    .hpa-chrome { height: 32px; } .hpa-url { font-size: 10px; height: 20px; }
    .hpd-bar { height: 48px; padding: 0 14px; } .hpd-bar img { height: 20px; } .hpd-me { width: 30px; height: 30px; font-size: 12px; }
    .hpd-page { padding: 16px 14px 18px; }
    .hpd-head .hpd-title { font-size: 19px; } .hpd-send { font-size: 12px; padding: 7px 11px; }
    .hpd-stats { grid-template-columns: 1fr 1fr; margin-bottom: 12px; }
    .hpd-stats > div { padding: 12px 14px; }
    .hpd-stats > div:first-child { grid-column: 1 / -1; border-bottom: 1px solid #e4e7f0; }
    .hpd-stats > div:nth-child(2) { border-left: 0; }
    .hpd-stats b { font-size: 18px; }
    .hpd-tabs, .hpd-row-head { display: none; }
    .hpd-row { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "name amt" "pill next"; row-gap: 8px; padding: 12px 14px; }
    .hpd-name small { display: none; }
    .hpd-next { text-align: right; font-size: 12px; }
    #hpdRows .hpd-row:nth-child(n+5) { display: none; }
    .hpd-grid { grid-template-columns: minmax(0, 1fr); }
    .hpd-needs { display: none; }
    .hp-f-inv { display: none; }
    .hp-f-paid { right: 6px; top: -30px; width: 248px; --dp: 0px; }
    .hp-paid-amt { font-size: 13px; } .hp-paid-row small { max-width: 100px; } .hp-paid-ic { width: 32px; height: 32px; border-radius: 10px; }
    .hp-fcard { padding: 11px; }
    .hp-marq-row { flex-direction: column; align-items: stretch; gap: .9rem; }
    .hp-marq-label { text-align: center; }
    .hp-bento { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .hp-t-c, .hp-t-d, .hp-t-e { grid-column: 1 / -1; }
    .hp-tile { padding: 22px; min-height: 0; border-radius: 20px; }
    .hp-tile-vis { min-height: 140px; }
    .hp-t-f { padding: 26px 22px; }
    .hp-chain { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 18px; }
    .hp-chain::before, .hp-chain::after { display: none; }
    .hp-scenes { height: 430px; border-radius: 22px; }
    .hp-scene { padding: 20px; }
    .hps-file { width: 240px; margin-left: -120px; }
    .hps-f { grid-template-columns: 92px 1fr 16px; font-size: .86rem; }
    .hps-plans { gap: 10px; }
    .hps-plan { padding: 14px; } .hps-plan strong { font-size: 1.35rem; }
    .hps-inc { grid-template-columns: minmax(0, 1fr); }
    @keyframes hpCur2 { 0% { opacity: 0; left: 40%; top: 95%; } 15% { opacity: 1; } 55%, 100% { opacity: 1; left: 76%; top: 30%; } }
    .hp-js .hp-cal.is-scrolly { height: auto; padding: clamp(80px, 11vw, 140px) 0; }
    .hp-js .hp-cal.is-scrolly .hp-cal-pin { position: relative; height: auto; display: block; padding: 0; }
    .hp-calcard { padding: 16px; border-radius: 20px; order: 3; margin-top: 1.6rem; }
    .hp-cal-grid { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
    .hp-cal-copy { display: contents; }
    .hp-cal-copy .hp-kicker { order: 1; align-self: flex-start; } .hp-cal-copy .hp-h2 { order: 2; }
    .hp-cal-copy .hp-story { order: 4; } .hp-cal-copy .hp-cal-note { order: 5; }
    .hp-step .lg { display: none; } .hp-step .sm { display: inline; }
    .hp-steps { overflow: visible; } .hp-step { flex: 1 1 0; min-width: 0; padding: 10px; } .hp-step-top { gap: 8px; } .hp-step-n { width: 24px; height: 24px; flex-shrink: 0; } .hp-step h3 { font-size: .95rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .hp-final-tag img { display: none; }
    .hp-dow, .hp-days { gap: 4px; }
    .hp-day { height: 54px; border-radius: 9px; padding: 6px; font-size: .78rem; }
    .hp-ev { left: 4px; right: 4px; bottom: 4px; height: 20px; border-radius: 6px; font-size: 0; gap: 0; }
    .hp-ev svg { width: 11px; height: 11px; }
    .hp-story h3 { font-size: 1.5rem; } .hp-story p { font-size: 1.02rem; }
    .hp-caldots { display: flex; justify-content: center; gap: 6px; margin-top: 14px; }
    .hp-caldots button { width: 8px; height: 8px; border-radius: 99px; border: 0; padding: 0; background: rgba(255,255,255,.25); transition: width .3s, background .3s; }
    .hp-caldots button.is-on { width: 22px; background: #fff; }
    .hp-js .hp-cal .hp-story { min-height: 210px; margin-top: 1.2rem; }
    .hp-plans { grid-template-columns: minmax(0, 1fr); }
    .hp-plan-feat { order: -1; }
    .hp-plan, .hp-save, .hp-qs, .hp-verdict { padding: 22px; border-radius: 22px; }
    .hp-plan-price { font-size: 3.4rem; }
    .hp-bulk { padding: 20px; } .hp-bulk .hp-btn { width: 100%; }
    .hp-cmps { grid-template-columns: minmax(0, 1fr); }
    .hp-cmp { padding: 18px; }
    .hp-amt { font-size: 2.8rem; width: 100%; }
    .hp-map { grid-template-rows: 56px 56px 56px 38px; }
    .hp-st { font-size: .85rem; padding: 8px 9px; }
    .hp-st small { display: none; }
    .hp-verdict { min-height: 340px; }
    .hp-v h3 { font-size: 1.6rem; }
    .hp-v .hp-btn { width: 100%; }
    .hp-faq details p { padding-right: 0; }
    .hp-final .hp-btn { width: 100%; max-width: 360px; }
    .hp-sticky { display: flex; }
  }
  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
    .hp-js [data-reveal] { opacity: 1; transform: none; filter: none; }
    .hp-marq-track { animation: none; flex-wrap: wrap; width: auto; }
  }
