/* ============================================================
   home_v2 — sleek redesign (indigo only, no images)
   All colors resolve to platform.css tokens. Scoped to .h2 root.
   ============================================================ */

.h2{--h2-ink:var(--ink);--h2-mute:var(--mute);--h2-line:var(--line);--h2-line-2:var(--line-2);--h2-bg:var(--bg);--h2-brand:var(--primary);--h2-brand-hover:var(--primary-hover);--h2-brand-soft:var(--primary-light);--h2-brand-edge:var(--primary-border);--h2-deep:#1E1B4B;--h2-deep-2:#2E1F76;--h2-deep-glow:rgba(139,92,246,.42);}
.h2 *{box-sizing:border-box;}

/* Larger section rhythm — this is where the "sleek" feeling starts. */
.h2 .sec{padding:140px 0;}
.h2 .sec.tight{padding:96px 0;}
.h2 .wrap{max-width:1180px;margin:0 auto;padding:0 32px;}

/* Section head, bigger + more air */
.h2 .head{max-width:760px;margin:0 auto 72px;text-align:center;}
.h2 .head.left{margin:0 0 40px;text-align:left;}
.h2 .head .eyebrow{display:inline-block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--h2-brand);background:var(--h2-brand-soft);padding:6px 14px;border-radius:999px;margin-bottom:20px;}
.h2 .head h2{font-size:clamp(34px,4.4vw,54px);font-weight:800;color:var(--h2-ink);letter-spacing:-0.035em;line-height:1.05;margin:0 0 18px;}
.h2 .head p{font-size:18px;line-height:1.65;color:var(--h2-mute);margin:0 auto;max-width:640px;}
.h2 .head.left p{margin:0;max-width:520px;}
.h2 .accent{color:var(--h2-brand);}

/* Buttons — pill, restrained */
.h2 .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 22px;border-radius:12px;font-family:inherit;font-size:14.5px;font-weight:700;text-decoration:none;cursor:pointer;border:1.5px solid transparent;transition:transform .15s,box-shadow .15s,background .15s,color .15s,border-color .15s;white-space:nowrap;}
.h2 .btn svg{width:16px;height:16px;stroke:currentColor;stroke-width:2.4;fill:none;}
.h2 .btn:hover{transform:translateY(-1px);}
.h2 .btn-primary{background:var(--h2-brand);color:#fff;border-color:var(--h2-brand);box-shadow:0 12px 28px -14px rgba(79,70,229,.6);}
.h2 .btn-primary:hover{background:var(--h2-brand-hover);border-color:var(--h2-brand-hover);}
.h2 .btn-outline{background:#fff;color:var(--h2-ink);border-color:var(--h2-line);}
.h2 .btn-outline:hover{border-color:var(--h2-ink);}
.h2 .btn-brand{background:var(--h2-brand);color:#fff;border-color:var(--h2-brand);box-shadow:0 10px 24px -12px rgba(79,70,229,.55);}
.h2 .btn-brand:hover{background:var(--primary-hover);border-color:var(--primary-hover);}
.h2 .btn-white{background:#fff;color:var(--h2-ink);border-color:#fff;}
.h2 .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.28);}
.h2 .btn-ghost:hover{background:rgba(255,255,255,.08);}
.h2 .btn-row{display:flex;gap:12px;flex-wrap:wrap;}
.h2 .btn-row.center{justify-content:center;}

/* ═════════════ HERO ═════════════ */
.h2-hero{position:relative;overflow:hidden;padding:120px 0 260px;color:#fff;background:linear-gradient(to bottom,transparent 0%,transparent 52%,rgba(247,248,252,.15) 68%,rgba(247,248,252,.55) 82%,rgba(247,248,252,.9) 94%,#fff 100%),radial-gradient(120% 80% at 85% 0%,rgba(139,92,246,.55),transparent 55%),radial-gradient(90% 70% at 15% 0%,rgba(79,70,229,.5),transparent 60%),linear-gradient(165deg,#0A0722 0%,#1E1B4B 40%,#3730A3 80%,#4F46E5 100%);}
.h2-hero::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 20%,#000,transparent 75%);mask-image:radial-gradient(ellipse 80% 60% at 50% 20%,#000,transparent 75%);pointer-events:none;}
.h2-hero::after{content:'';position:absolute;top:-140px;right:-140px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(139,92,246,.4),transparent 70%);filter:blur(30px);pointer-events:none;}
.h2-hero-inner{position:relative;z-index:2;text-align:center;max-width:940px;margin:0 auto;padding:0 32px;}
.h2-eyetag{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#EDE9FE;padding:8px 16px;border-radius:999px;font-size:12.5px;font-weight:700;letter-spacing:.02em;margin-bottom:28px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);}
.h2-eyetag::before{content:'';width:6px;height:6px;border-radius:50%;background:#A7F3D0;box-shadow:0 0 0 4px rgba(167,243,208,.18);animation:h2pulse 2s infinite;}
@keyframes h2pulse{0%,100%{box-shadow:0 0 0 0 rgba(167,243,208,.5);}50%{box-shadow:0 0 0 8px rgba(167,243,208,0);}}
.h2-hero h1{font-size:clamp(44px,6vw,82px);font-weight:800;line-height:1.02;letter-spacing:-0.045em;color:#fff;margin:0 0 24px;}
.h2-hero h1 em{font-style:normal;font-family:'Instrument Serif','Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-0.01em;background:linear-gradient(90deg,#C4B5FD,#E0E7FF,#A5B4FC);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.h2-hero-sub{font-size:20px;line-height:1.6;color:rgba(255,255,255,.78);max-width:640px;margin:0 auto 36px;}
.h2-hero-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:26px;}
.h2-hero-trust{display:flex;gap:22px;flex-wrap:wrap;justify-content:center;font-size:13px;color:rgba(255,255,255,.7);font-weight:600;}
.h2-hero-trust span{display:inline-flex;align-items:center;gap:6px;}
.h2-hero-trust svg{width:14px;height:14px;stroke:#A7F3D0;stroke-width:2.6;fill:none;}

/* Hero → white transition wave */
.h2-hero-wave{position:absolute;left:0;right:0;bottom:0;height:220px;background:linear-gradient(180deg,transparent 0%,#fff 100%);z-index:1;pointer-events:none;}

/* Dashboard mock — mirrors the real EnoSend Platform chrome */
.h2-mock{position:relative;z-index:3;margin:-200px auto 0;max-width:1120px;padding:0 32px;}
.h2-mock-frame{position:relative;background:#fff;border:1px solid var(--h2-line);border-radius:20px;box-shadow:0 60px 120px -40px rgba(10,6,40,.6),0 30px 60px -30px rgba(15,23,42,.2);overflow:hidden;}
.h2-mock-bar{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#F1F2F7;border-bottom:1px solid var(--h2-line);}
.h2-mock-bar i{width:11px;height:11px;border-radius:50%;}
.h2-mock-bar i:nth-child(1){background:#FF5F57;}
.h2-mock-bar i:nth-child(2){background:#FEBC2E;}
.h2-mock-bar i:nth-child(3){background:#28C840;}
.h2-mock-bar .url{margin-left:14px;font-family:'JetBrains Mono',monospace;font-size:11.5px;color:var(--h2-mute);}
.h2-mock-body{display:grid;grid-template-columns:220px 1fr;background:#fff;min-height:520px;}

/* Sidebar (mirrors .sidebar in platform.css) */
.h2-mock-side{border-right:1px solid var(--h2-line);padding:18px 12px;background:#fff;}
.h2-mock-side-brand{display:flex;align-items:center;gap:10px;padding:0 12px 20px;font-weight:800;font-size:15.5px;color:var(--h2-ink);letter-spacing:-0.01em;}
.h2-mock-side-brand .logo{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,#4F46E5,#7C3AED);color:#fff;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(79,70,229,.3);}
.h2-mock-side-group{margin-bottom:16px;}
.h2-mock-side-group .lbl{font-size:9.5px;text-transform:uppercase;letter-spacing:0.08em;color:#94A3B8;font-weight:800;padding:0 12px 6px;}
.h2-mock-side-row{display:flex;align-items:center;gap:10px;padding:7px 12px;border-radius:8px;font-size:12.5px;font-weight:600;color:#334155;margin-bottom:1px;}
.h2-mock-side-row.active{background:var(--h2-brand-soft);color:var(--h2-brand);}
.h2-mock-side-row svg{width:15px;height:15px;stroke:currentColor;stroke-width:1.9;fill:none;flex-shrink:0;}
.h2-mock-side-row .badge{margin-left:auto;font-size:9.5px;font-weight:800;background:#FEF3C7;color:#92400E;padding:2px 6px;border-radius:6px;}
.h2-mock-side-row .num{margin-left:auto;font-size:10px;font-weight:800;background:var(--h2-brand);color:#fff;padding:2px 7px;border-radius:999px;}

/* Topbar */
.h2-mock-top{display:flex;justify-content:space-between;align-items:center;padding:14px 22px;border-bottom:1px solid var(--h2-line);background:#fff;}
.h2-mock-top .t{font-size:15px;font-weight:800;color:var(--h2-ink);letter-spacing:-0.01em;}
.h2-mock-top .s{font-size:11.5px;color:var(--h2-mute);}
.h2-mock-top-right{display:flex;align-items:center;gap:10px;}
.h2-mock-chip{background:var(--h2-brand-soft);color:var(--h2-brand);font-size:11.5px;font-weight:800;padding:6px 12px;border-radius:999px;display:inline-flex;align-items:center;gap:6px;}
.h2-mock-chip svg{width:12px;height:12px;stroke:currentColor;stroke-width:2.2;fill:none;}
.h2-mock-user{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#4F46E5,#7C3AED);color:#fff;font-weight:800;font-size:11px;display:flex;align-items:center;justify-content:center;}

/* Content */
.h2-mock-content{padding:22px;background:linear-gradient(180deg,#fff,#FAFBFF);}
.h2-mock-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;}
.h2-mock-kpi{background:#fff;border:1px solid var(--h2-line);border-radius:12px;padding:14px 16px;}
.h2-mock-kpi .l{font-size:11px;color:var(--h2-mute);font-weight:700;letter-spacing:.01em;}
.h2-mock-kpi .v{font-size:22px;font-weight:800;color:var(--h2-ink);letter-spacing:-0.02em;margin-top:4px;}
.h2-mock-kpi .d{font-size:11px;color:#10B981;font-weight:800;margin-top:4px;display:inline-flex;align-items:center;gap:3px;}
.h2-mock-kpi .d svg{width:10px;height:10px;stroke:currentColor;stroke-width:2.6;fill:none;}
.h2-mock-tabs{display:flex;gap:4px;margin-bottom:10px;padding:4px;background:var(--h2-line-2);border-radius:10px;width:fit-content;}
.h2-mock-tabs .tab{font-size:11.5px;font-weight:700;color:var(--h2-mute);padding:6px 12px;border-radius:7px;}
.h2-mock-tabs .tab.active{background:#fff;color:var(--h2-ink);box-shadow:0 1px 2px rgba(15,23,42,.06);}
.h2-mock-conv{background:#fff;border:1px solid var(--h2-line);border-radius:14px;overflow:hidden;}
.h2-mock-conv-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--h2-line-2);}
.h2-mock-conv-row:last-child{border-bottom:none;}
.h2-mock-av{width:34px;height:34px;border-radius:50%;background:var(--h2-brand-soft);color:var(--h2-brand);font-weight:800;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;}
.h2-mock-conv-row .who{font-size:13px;font-weight:700;color:var(--h2-ink);}
.h2-mock-conv-row .msg{font-size:12px;color:var(--h2-mute);margin-top:2px;}
.h2-mock-conv-row .tag{margin-left:auto;font-size:10px;font-weight:800;padding:3px 9px;border-radius:999px;background:var(--h2-brand-soft);color:var(--h2-brand);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;}
.h2-mock-conv-row .tag.paid{background:#DCFCE7;color:#065F46;}
.h2-mock-conv-row .tag.ai{background:var(--h2-line-2);color:var(--h2-mute);}
.h2-mock-conv-row .tag.new{background:#FEF3C7;color:#92400E;}

/* Floating annotation pins */
.h2-mock-pin{position:absolute;background:#fff;border:1px solid var(--h2-line);border-radius:12px;padding:10px 14px;font-size:12px;font-weight:700;color:var(--h2-ink);box-shadow:0 20px 40px -18px rgba(15,23,42,.5);display:flex;align-items:center;gap:10px;z-index:5;}
.h2-mock-pin .ic{width:26px;height:26px;border-radius:8px;background:var(--h2-brand-soft);color:var(--h2-brand);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.h2-mock-pin .ic svg{width:14px;height:14px;stroke:currentColor;stroke-width:2.2;fill:none;}
.h2-mock-pin small{font-size:10.5px;font-weight:600;color:var(--h2-mute);display:block;margin-top:1px;letter-spacing:.01em;}
.h2-mock-pin.p-a{top:32px;left:-70px;}
.h2-mock-pin.p-b{top:38%;right:-80px;}
.h2-mock-pin.p-c{bottom:64px;left:36%;}
@media (max-width:1180px){.h2-mock-pin.p-a,.h2-mock-pin.p-b,.h2-mock-pin.p-c{display:none;}}

/* Trust strip */
.h2-trust{padding:96px 0 24px;text-align:center;}
.h2-trust-eyebrow{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--h2-mute);margin-bottom:24px;}
.h2-trust-row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 40px;}
.h2-trust-row span{font-size:16px;font-weight:800;color:var(--h2-mute);letter-spacing:-0.01em;opacity:.7;}

/* ═════════════ NUMBER STRIP ═════════════ */
.h2-nums{background:linear-gradient(140deg,var(--h2-deep),#312E81 60%,#3730A3);border-radius:24px;color:#fff;padding:44px 32px;display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;overflow:hidden;}
.h2-nums::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 100% at 100% 50%,rgba(139,92,246,.4),transparent 60%);pointer-events:none;}
.h2-nums .cell{padding:8px 24px;border-right:1px solid rgba(255,255,255,.08);text-align:left;position:relative;z-index:1;}
.h2-nums .cell:last-child{border-right:none;}
.h2-nums .cell .l{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#A5B4FC;}
.h2-nums .cell .v{font-size:44px;font-weight:800;letter-spacing:-0.03em;margin-top:8px;color:#fff;}
.h2-nums .cell .s{font-size:13px;color:rgba(255,255,255,.7);margin-top:4px;}

/* ═════════════ AGENT SECTION (2-col) ═════════════ */
.h2-2col{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.h2-2col.flip .col-visual{order:-1;}
.h2-2col .col-copy .num-list{list-style:none;padding:0;margin:32px 0 0;display:flex;flex-direction:column;gap:24px;}
.h2-2col .col-copy .num-list li{display:flex;gap:16px;align-items:flex-start;}
.h2-2col .col-copy .num-list li .n{flex-shrink:0;width:34px;height:34px;border-radius:10px;background:var(--h2-brand);color:#fff;font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px -8px rgba(79,70,229,.5);}
.h2-2col .col-copy .num-list li strong{display:block;font-size:16px;color:var(--h2-ink);font-weight:800;letter-spacing:-0.01em;margin-bottom:4px;}
.h2-2col .col-copy .num-list li p{font-size:14.5px;color:var(--h2-mute);margin:0;line-height:1.65;}

/* ─── iPhone mock — coded frame, no image ─── */
.hph{width:100%;max-width:340px;margin:0 auto;position:relative;filter:drop-shadow(0 60px 60px rgba(15,23,42,.16)) drop-shadow(0 20px 30px rgba(15,23,42,.08));}
.hph-body{position:relative;padding:6px;border-radius:56px;background:linear-gradient(155deg,#E5E7EB 0%,#F9FAFB 22%,#D1D5DB 60%,#E5E7EB 100%);}
.hph-body::before{content:'';position:absolute;inset:2px;border-radius:54px;background:linear-gradient(155deg,rgba(255,255,255,.7),rgba(255,255,255,0) 40%);pointer-events:none;z-index:6;}
.hph-body::after{content:'';position:absolute;inset:5px;border-radius:52px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);pointer-events:none;z-index:6;}
.hph-btn{position:absolute;background:linear-gradient(90deg,#B4B7BE,#D9DBDF);border-radius:2px;}
.hph-btn-silent{left:-2px;top:96px;width:4px;height:28px;}
.hph-btn-vup{left:-2px;top:146px;width:4px;height:50px;}
.hph-btn-vdown{left:-2px;top:210px;width:4px;height:50px;}
.hph-btn-power{right:-2px;top:164px;width:4px;height:80px;}

.hph-screen{background:#fff;border-radius:50px;overflow:hidden;position:relative;aspect-ratio:9/19.5;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','Inter',sans-serif;}
.hph-island{position:absolute;top:12px;left:50%;transform:translateX(-50%);width:118px;height:34px;background:#000;border-radius:20px;z-index:5;}

/* Status bar */
.hph-status{padding:20px 28px 10px;display:flex;justify-content:space-between;align-items:center;color:#000;font-size:15.5px;font-weight:600;position:relative;z-index:2;letter-spacing:-.01em;}
.hph-status .time{padding-right:60px;font-variant-numeric:tabular-nums;}
.hph-status-right{display:flex;align-items:center;gap:5px;color:#000;}
.hph-status-right svg{fill:currentColor;stroke:none;}
.hph-status .signal{width:18px;height:10px;}
.hph-status .wifi{width:16px;height:12px;}
.hph-status .batt{width:26px;height:12px;position:relative;}

/* Nav bar (WhatsApp-style header on iOS) */
.hph-nav{padding:6px 14px 10px;display:flex;align-items:center;gap:6px;border-bottom:1px solid rgba(60,60,67,.12);background:#F6F6F6;}
.hph-nav .icnbtn{background:none;border:none;color:var(--h2-brand);padding:6px;display:flex;align-items:center;cursor:pointer;}
.hph-nav .icnbtn svg{width:22px;height:22px;stroke:currentColor;stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.hph-nav .who{display:flex;flex-direction:column;align-items:center;gap:1px;flex:1;}
.hph-nav .av{width:32px;height:32px;border-radius:50%;background:#F4E3D2;color:#0F172A;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;}
.hph-nav .who .n{font-size:11.5px;color:#000;font-weight:600;display:flex;align-items:center;gap:2px;line-height:1.2;}
.hph-nav .who .n svg{width:9px;height:9px;stroke:#8E8E93;stroke-width:2.5;fill:none;}
.hph-nav .who .s{font-size:10.5px;color:#8E8E93;line-height:1.15;}

/* Chat */
.hph-chat{flex:1;padding:12px 14px 8px;display:flex;flex-direction:column;gap:8px;overflow:hidden;background:#fff;}
.hph-chat .day{align-self:center;font-size:11.5px;color:#8E8E93;font-weight:500;padding:6px 0 10px;}
.hph-msg{max-width:76%;padding:10px 14px;border-radius:20px;font-size:14.5px;line-height:1.35;color:#000;position:relative;letter-spacing:-.01em;animation:hphmsgin .35s cubic-bezier(.2,.8,.2,1) both;}
.hph-msg.in{align-self:flex-start;background:#E9E9EB;}
.hph-msg.in + .hph-msg.in{margin-top:-2px;}
.hph-msg.in:last-of-type,.hph-msg.in.tail{border-bottom-left-radius:6px;}
.hph-msg.out{align-self:flex-end;background:var(--h2-brand);color:#fff;padding-right:38px;box-shadow:0 6px 14px -6px rgba(79,70,229,.45);}
.hph-msg.out + .hph-msg.out{margin-top:-2px;}
.hph-msg.out:last-of-type,.hph-msg.out.tail{border-bottom-right-radius:6px;}
.hph-msg.out .arrow{position:absolute;right:7px;bottom:7px;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.28);display:flex;align-items:center;justify-content:center;}
.hph-msg.out .arrow svg{width:12px;height:12px;stroke:#fff;stroke-width:2.5;fill:none;}
.hph-tip{align-self:center;font-size:11px;color:#8E8E93;font-weight:600;padding:5px 12px;background:#F2F2F7;border-radius:8px;margin-top:10px;}
@keyframes hphmsgin{from{opacity:0;transform:translateY(6px) scale(.98);}to{opacity:1;transform:none;}}
.hph-msg:nth-child(1){animation-delay:.1s;}
.hph-msg:nth-child(2){animation-delay:.35s;}
.hph-msg:nth-child(3){animation-delay:.6s;}
.hph-msg:nth-child(4){animation-delay:.85s;}
.hph-msg:nth-child(5){animation-delay:1.1s;}
.hph-msg:nth-child(6){animation-delay:1.35s;}

/* Input row */
.hph-input{padding:6px 12px 10px;display:flex;align-items:center;gap:8px;background:#F6F6F6;border-top:1px solid rgba(60,60,67,.08);}
.hph-input .plus{width:28px;height:28px;border-radius:50%;background:#E4E4E7;color:#000;font-size:20px;font-weight:400;line-height:1;display:flex;align-items:center;justify-content:center;border:none;padding-bottom:2px;flex-shrink:0;}
.hph-input .field{flex:1;background:#fff;border:1px solid rgba(60,60,67,.14);border-radius:16px;padding:6px 12px;font-size:13.5px;color:#8E8E93;}
.hph-input .send{width:28px;height:28px;border-radius:50%;background:var(--h2-brand);color:#fff;border:none;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.hph-input .send svg{width:14px;height:14px;stroke:currentColor;stroke-width:2.6;fill:none;}

/* Home indicator */
.hph-home{align-self:center;width:134px;height:5px;background:#000;border-radius:3px;margin:2px 0 8px;}

/* Callouts around phone */
.hph-callout{position:absolute;background:#fff;border:1px solid var(--h2-line);border-radius:12px;padding:10px 14px;box-shadow:0 20px 40px -18px rgba(15,23,42,.35);display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--h2-ink);font-weight:700;z-index:8;}
.hph-callout .ic{width:30px;height:30px;border-radius:9px;background:var(--h2-brand-soft);color:var(--h2-brand);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.hph-callout .ic svg{width:16px;height:16px;stroke:currentColor;stroke-width:2;fill:none;}
.hph-callout small{display:block;font-size:11px;font-weight:600;color:var(--h2-mute);margin-top:1px;}
.hph-callout.c-a{top:16%;left:-56px;}
.hph-callout.c-b{bottom:20%;right:-40px;}

/* ═════════════ BENTO FEATURES ═════════════ */
.h2-bento{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;}
.h2-cell{background:#fff;border:1px solid var(--h2-line);border-radius:20px;padding:32px;overflow:hidden;position:relative;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex;flex-direction:column;}
.h2-cell:hover{border-color:var(--h2-brand-edge);transform:translateY(-2px);}
.h2-cell.tinted{background:var(--h2-brand-soft);border-color:transparent;}
.h2-cell.dark{background:linear-gradient(160deg,var(--h2-deep),#312E81 55%,#3730A3);color:#fff;border-color:transparent;}
.h2-cell.dark h4{color:#fff;}
.h2-cell.dark p{color:rgba(255,255,255,.72);}
.h2-cell.span-2{grid-column:span 2;}
.h2-cell.span-3{grid-column:span 3;}
.h2-cell.span-4{grid-column:span 4;}
.h2-cell .eyebrow{font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--h2-brand);margin-bottom:12px;}
.h2-cell.dark .eyebrow{color:#A5B4FC;}
.h2-cell h4{font-size:20px;font-weight:800;color:var(--h2-ink);letter-spacing:-0.02em;line-height:1.2;margin:0 0 8px;}
.h2-cell p{font-size:14.5px;color:var(--h2-mute);line-height:1.6;margin:0;}
.h2-cell .mock{margin-top:22px;}

/* In-cell inbox row mock */
.mock-inbox{background:#fff;border:1px solid var(--h2-line);border-radius:14px;padding:6px;}
.mock-inbox-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;}
.mock-inbox-row{cursor:default;}
.mock-inbox-row:hover{background:transparent;}
.h2-cell.dark .mock-inbox-row:hover{background:rgba(255,255,255,.06);}
.mock-inbox-row .av{width:30px;height:30px;border-radius:50%;background:var(--h2-brand-soft);color:var(--h2-brand);font-weight:800;font-size:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.mock-inbox-row .who{font-size:13px;font-weight:700;color:var(--h2-ink);}
.mock-inbox-row .msg{font-size:12px;color:var(--h2-mute);margin-top:1px;}
.mock-inbox-row .n{margin-left:auto;font-size:10.5px;font-weight:800;color:var(--h2-brand);}

/* In-cell KPI mock */
.mock-kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.mock-kpis .k{background:#fff;border:1px solid var(--h2-line);border-radius:12px;padding:12px 14px;}
.mock-kpis .k .l{font-size:11px;color:var(--h2-mute);font-weight:600;letter-spacing:.02em;}
.mock-kpis .k .v{font-size:20px;font-weight:800;color:var(--h2-ink);letter-spacing:-0.02em;margin-top:3px;}

/* In-cell pipeline mock */
.mock-pipe{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;}
.mock-pipe .col{background:#fff;border:1px solid var(--h2-line);border-radius:12px;padding:10px;}
.mock-pipe .col .h{font-size:10.5px;font-weight:800;color:var(--h2-mute);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;}
.mock-pipe .col .card{background:var(--h2-brand-soft);border-radius:8px;padding:8px 10px;font-size:11.5px;font-weight:700;color:var(--h2-ink);margin-bottom:6px;}
.mock-pipe .col .card:last-child{margin-bottom:0;}
.mock-pipe .col .card .p{font-size:10.5px;color:var(--h2-brand);font-weight:800;margin-top:2px;}

/* In-cell receipt mock */
.mock-receipt{background:#fff;border:1px solid var(--h2-line);border-radius:12px;padding:16px;}
.mock-receipt .r{display:flex;justify-content:space-between;font-size:12.5px;padding:6px 0;color:var(--h2-mute);}
.mock-receipt .r:first-child{border-bottom:1px solid var(--h2-line);padding-bottom:10px;margin-bottom:6px;color:var(--h2-ink);font-weight:800;}
.mock-receipt .r.total{border-top:1px dashed var(--h2-line);padding-top:10px;margin-top:6px;color:var(--h2-ink);font-weight:800;font-size:14px;}

/* ═════════════ MORE FEATURES ═════════════ */
.h2-more{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.h2-more-cell{background:#fff;border:1px solid var(--h2-line);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:10px;transition:transform .18s,border-color .18s,box-shadow .18s;}
.h2-more-cell:hover{transform:translateY(-3px);border-color:var(--h2-brand-edge);box-shadow:0 20px 40px -28px rgba(15,23,42,.22);}
.h2-more-cell .ic{width:38px;height:38px;border-radius:10px;background:var(--h2-brand-soft);color:var(--h2-brand);display:flex;align-items:center;justify-content:center;}
.h2-more-cell .ic svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.8;fill:none;}
.h2-more-cell h4{font-size:16px;font-weight:800;color:var(--h2-ink);letter-spacing:-0.01em;margin:0;}
.h2-more-cell .kicker{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--h2-brand);}
.h2-more-cell p{font-size:13.5px;color:var(--h2-mute);line-height:1.6;margin:0;}
@media (max-width:820px){.h2-more{grid-template-columns:repeat(2,1fr);}}
@media (max-width:520px){.h2-more{grid-template-columns:1fr;}}

/* ═════════════ TIMELINE ═════════════ */
.h2-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative;}
.h2-tl{background:#fff;border:1px solid var(--h2-line);border-radius:18px;padding:26px;position:relative;}
.h2-tl .clock{display:block;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--h2-brand);margin-bottom:14px;}
.h2-tl h4{font-size:16.5px;font-weight:800;color:var(--h2-ink);letter-spacing:-0.01em;line-height:1.25;margin:0 0 8px;}
.h2-tl p{font-size:13.5px;color:var(--h2-mute);line-height:1.6;margin:0;}
.h2-tl-total{margin-top:44px;text-align:center;font-size:16px;color:var(--h2-mute);}
.h2-tl-total strong{color:var(--h2-ink);font-weight:800;}

/* ═════════════ PERSONAS ═════════════ */
.h2-personas{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.h2-per{background:#fff;border:1px solid var(--h2-line);border-radius:18px;padding:26px;display:flex;flex-direction:column;gap:6px;color:var(--h2-ink);transition:border-color .15s,transform .15s;}
.h2-per:hover{border-color:var(--h2-brand-edge);transform:translateY(-2px);}
.h2-per .tag{align-self:flex-start;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--h2-brand);background:var(--h2-brand-soft);padding:4px 10px;border-radius:999px;margin-bottom:10px;}
.h2-per h4{font-size:17px;font-weight:800;color:var(--h2-ink);letter-spacing:-0.01em;margin:0 0 6px;}
.h2-per p{font-size:13.5px;color:var(--h2-mute);line-height:1.6;margin:0;}
.h2-pain{grid-template-columns:repeat(2,1fr);max-width:860px;margin:0 auto;}
.h2-pain .tag{color:var(--h2-mute);background:var(--h2-line);}
.h2-fixline{text-align:center;margin-top:48px;}
.h2-fixline h3{font-size:clamp(24px,3vw,34px);font-weight:800;color:var(--h2-ink);letter-spacing:-.025em;margin:0 0 14px;}
.h2-fixline h3 .accent{color:var(--h2-brand);}
.h2-fixline p{font-size:17px;line-height:1.62;color:var(--h2-mute);max-width:580px;margin:0 auto 26px;}

/* ═════════════ QUOTE ═════════════ */
.h2-quote{max-width:900px;margin:0 auto;background:#fff;border:1px solid var(--h2-line);border-radius:24px;padding:56px 60px;text-align:center;box-shadow:0 20px 60px -30px rgba(15,23,42,.2);}
.h2-quote q{quotes:none;display:block;font-size:clamp(22px,2.4vw,30px);font-weight:600;color:var(--h2-ink);letter-spacing:-0.02em;line-height:1.35;margin-bottom:32px;font-family:'Instrument Serif','Playfair Display',Georgia,serif;font-style:italic;}
.h2-quote-who{display:flex;align-items:center;justify-content:center;gap:12px;}
.h2-quote-av{width:44px;height:44px;border-radius:50%;background:var(--h2-brand-soft);color:var(--h2-brand);font-weight:800;display:flex;align-items:center;justify-content:center;font-size:16px;}
.h2-quote-name{font-size:14.5px;font-weight:800;color:var(--h2-ink);line-height:1.2;text-align:left;}
.h2-quote-role{font-size:12.5px;color:var(--h2-mute);text-align:left;}
.h2-quote-todo{margin-top:24px;font-size:11.5px;color:#92400E;background:var(--warn-light);border:1px dashed #FCD34D;border-radius:8px;padding:6px 12px;display:inline-block;}

/* ═════════════ MOBILE APP BAND ═════════════ */
.h2-mobile{background:linear-gradient(160deg,var(--h2-brand-soft) 0%,#fff 55%,var(--h2-brand-soft) 100%);border:1px solid var(--h2-brand-edge);border-radius:28px;padding:72px 56px;position:relative;overflow:hidden;}
.h2-mobile::before{content:'';position:absolute;top:-120px;right:-80px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(139,92,246,.18),transparent 65%);pointer-events:none;}
.h2-mobile-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
.h2-mobile .kicker{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--h2-brand);background:#fff;border:1px solid var(--h2-brand-edge);padding:6px 14px;border-radius:999px;margin-bottom:20px;}
.h2-mobile .kicker svg{width:12px;height:12px;stroke:currentColor;stroke-width:2.4;fill:none;}
.h2-mobile h2{font-size:clamp(28px,3.4vw,44px);font-weight:800;color:var(--h2-ink);letter-spacing:-0.03em;line-height:1.1;margin:0 0 16px;}
.h2-mobile h2 em{font-style:italic;color:var(--h2-brand);font-family:'Instrument Serif','Playfair Display',Georgia,serif;font-weight:400;}
.h2-mobile p.lead{font-size:16.5px;color:var(--h2-mute);line-height:1.65;margin:0 0 26px;max-width:520px;}
.h2-mobile ul{list-style:none;padding:0;margin:0 0 28px;display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;}
.h2-mobile li{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--h2-ink);font-weight:600;line-height:1.4;}
.h2-mobile li svg{width:18px;height:18px;color:var(--h2-brand);stroke:currentColor;stroke-width:2.4;fill:none;flex-shrink:0;margin-top:1px;}
.h2-mobile-badges{display:flex;gap:12px;flex-wrap:wrap;}
.h2-store-badge{display:inline-flex;align-items:center;gap:10px;background:var(--h2-ink);color:#fff;padding:11px 18px;border-radius:12px;text-decoration:none;transition:transform .15s,box-shadow .15s;box-shadow:0 12px 26px -14px rgba(15,23,42,.4);}
.h2-store-badge:hover{transform:translateY(-2px);box-shadow:0 18px 34px -16px rgba(15,23,42,.5);}
.h2-store-badge svg{width:24px;height:24px;fill:#fff;stroke:none;flex-shrink:0;}
.h2-store-badge .txt{display:flex;flex-direction:column;line-height:1.1;}
.h2-store-badge .l{font-size:10.5px;color:rgba(255,255,255,.7);text-transform:uppercase;letter-spacing:.06em;}
.h2-store-badge .n{font-size:15px;font-weight:800;letter-spacing:-.01em;}
.h2-store-badge--soon{background:#fff;color:var(--h2-mute);border:1px solid var(--h2-line);box-shadow:none;cursor:default;}
.h2-store-badge--soon:hover{transform:none;box-shadow:none;}
.h2-store-badge--soon svg{fill:var(--h2-mute);}
.h2-store-badge--soon .l{color:var(--h2-brand);font-weight:700;}
.h2-store-badge--soon .n{color:var(--h2-ink);}
.h2-mobile-note{font-size:12.5px;color:var(--h2-mute);line-height:1.55;margin:14px 0 0;max-width:400px;}

/* Real app screenshots — device frames */
.h2-mobile-mock{max-width:340px;margin:0 auto;position:relative;padding:20px 0 30px;}
.appshot{border-radius:34px;background:#0F172A;padding:7px;box-shadow:0 50px 60px -30px rgba(15,23,42,.45),0 16px 30px -20px rgba(15,23,42,.35);}
.appshot img{display:block;width:100%;border-radius:28px;}
.appshot--front{position:relative;max-width:236px;margin:0 auto;z-index:3;}
.appshot--back{position:absolute;top:0;right:-2px;width:176px;transform:rotate(6deg);opacity:.96;z-index:1;}

/* Coded chat card — the WhatsApp reply side */
.h2-chatcard{position:absolute;left:-54px;bottom:6px;width:210px;background:#fff;border:1px solid var(--h2-line);border-radius:18px;box-shadow:0 26px 50px -22px rgba(15,23,42,.42);overflow:hidden;z-index:4;}
.h2-chatcard-top{display:flex;align-items:center;gap:9px;padding:10px 12px;background:linear-gradient(180deg,var(--h2-deep),#2E1F76);color:#fff;}
.h2-chatcard-top .av{width:30px;height:30px;border-radius:50%;background:#F4E3D2;color:#0F172A;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;flex-shrink:0;}
.h2-chatcard-top .who{display:flex;flex-direction:column;line-height:1.15;flex:1;min-width:0;}
.h2-chatcard-top .who .n{font-size:13px;font-weight:700;}
.h2-chatcard-top .who .s{font-size:10.5px;color:rgba(255,255,255,.7);}
.h2-chatcard-top .wa{margin-left:auto;opacity:.85;}
.h2-chatcard-top .wa svg{width:18px;height:18px;fill:#25D366;stroke:none;}
.h2-chatcard-body{padding:12px;display:flex;flex-direction:column;gap:7px;background:#F6F6F8;}
.h2-chatcard-body .bub{max-width:82%;padding:8px 11px;border-radius:14px;font-size:12.5px;line-height:1.35;color:#0F172A;}
.h2-chatcard-body .bub.in{align-self:flex-start;background:#fff;border:1px solid var(--h2-line-2);border-bottom-left-radius:5px;}
.h2-chatcard-body .bub.out{align-self:flex-end;background:var(--h2-brand);color:#fff;border-bottom-right-radius:5px;}
.h2-chatcard-body .ai{align-self:flex-end;font-size:10.5px;font-weight:700;color:var(--h2-brand);background:var(--h2-brand-soft);border-radius:999px;padding:4px 10px;margin-top:1px;}
.hph-appbar{padding:56px 18px 14px;background:linear-gradient(180deg,var(--h2-deep) 0%,#2E1F76 100%);color:#fff;display:flex;align-items:center;gap:10px;position:relative;}
.hph-appbar .t{font-size:16px;font-weight:800;letter-spacing:-0.01em;}
.hph-appbar .b{background:rgba(255,255,255,.14);color:#fff;border-radius:999px;padding:3px 10px;font-size:10.5px;font-weight:700;margin-left:auto;letter-spacing:.02em;}
.hph-appbar svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2.2;}
.hph-inbox{background:#fff;flex:1;padding:4px 8px 0;display:flex;flex-direction:column;overflow:hidden;}
.hph-conv{display:flex;gap:12px;padding:14px 6px;border-bottom:1px solid var(--h2-line-2);align-items:center;}
.hph-conv:last-child{border-bottom:none;}
.hph-conv .av{width:38px;height:38px;border-radius:50%;background:var(--h2-brand-soft);color:var(--h2-brand);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;flex-shrink:0;}
.hph-conv .body{flex:1;min-width:0;}
.hph-conv .who{font-size:13.5px;font-weight:700;color:var(--h2-ink);line-height:1.2;letter-spacing:-.01em;}
.hph-conv .msg{font-size:12px;color:var(--h2-mute);margin-top:2px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.hph-conv .side{margin-left:auto;text-align:right;flex-shrink:0;}
.hph-conv .side .tm{font-size:10.5px;color:var(--h2-mute);}
.hph-conv .side .n{margin-top:4px;display:inline-block;background:var(--h2-brand);color:#fff;font-size:10px;font-weight:800;padding:2px 7px;border-radius:999px;min-width:18px;text-align:center;}
.hph-conv .side .tag{margin-top:4px;display:inline-block;background:var(--h2-brand-soft);color:var(--h2-brand);font-size:9.5px;font-weight:800;padding:2px 6px;border-radius:999px;letter-spacing:.04em;text-transform:uppercase;}

/* Mobile-band floating callout */
.h2-mobile-callout{position:absolute;background:#fff;border:1px solid var(--h2-line);border-radius:12px;padding:10px 14px;box-shadow:0 20px 40px -18px rgba(15,23,42,.35);display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--h2-ink);font-weight:700;z-index:8;}
.h2-mobile-callout .ic{width:30px;height:30px;border-radius:9px;background:var(--h2-brand-soft);color:var(--h2-brand);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.h2-mobile-callout .ic svg{width:16px;height:16px;stroke:currentColor;stroke-width:2;fill:none;}
.h2-mobile-callout small{display:block;font-size:11px;font-weight:600;color:var(--h2-mute);margin-top:1px;}
.h2-mobile-callout.top{top:-14px;left:-40px;}
.h2-mobile-callout.bot{top:8px;right:-46px;}

/* ═════════════ DEV BAND ═════════════ */
.h2-dev{background:linear-gradient(160deg,var(--h2-deep),#312E81 55%,#4338CA);border-radius:28px;padding:88px 56px;color:#fff;position:relative;overflow:hidden;}
.h2-dev::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 100% at 100% 0%,rgba(139,92,246,.45),transparent 55%);pointer-events:none;}
.h2-dev-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.h2-dev .eyebrow{color:#A5B4FC;background:rgba(255,255,255,.08);}
.h2-dev h2{color:#fff;font-size:clamp(28px,3.4vw,42px);}
.h2-dev p{color:rgba(255,255,255,.78);margin-bottom:24px;font-size:16.5px;line-height:1.65;}
.h2-dev-list{display:flex;flex-direction:column;gap:12px;}
.h2-dev-row{display:flex;align-items:center;gap:14px;padding:16px 18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:14px;color:#fff;font-size:14px;font-weight:600;transition:background .15s,border-color .15s;}
.h2-dev-row:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);}
.h2-dev-row .ic{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.08);color:#A5B4FC;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.h2-dev-row .ic svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.8;fill:none;}
.h2-dev-row small{display:block;font-size:12px;color:rgba(255,255,255,.6);font-weight:500;margin-top:2px;}
.h2-dev-row .arr{margin-left:auto;color:rgba(255,255,255,.4);}
.h2-dev-row .arr svg{width:18px;height:18px;stroke:currentColor;stroke-width:2;fill:none;}

/* ═════════════ PRICING ANCHOR ═════════════ */
.h2-anchor{max-width:920px;margin:0 auto;text-align:center;background:linear-gradient(180deg,var(--h2-brand-soft) 0%,#fff 100%);border:1px solid var(--h2-brand-edge);border-radius:28px;padding:64px 40px;}
.h2-anchor h2{font-size:clamp(30px,3.4vw,42px);font-weight:800;color:var(--h2-ink);letter-spacing:-0.03em;margin:0 0 14px;}
.h2-anchor p{font-size:17px;color:var(--h2-mute);max-width:540px;margin:0 auto 28px;line-height:1.65;}

/* ═════════════ FAQ ═════════════ */
.h2-faq{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:12px;}
.h2-faq-item{background:#fff;border:1px solid var(--h2-line);border-radius:16px;overflow:hidden;transition:border-color .15s,box-shadow .15s;}
.h2-faq-item.open{border-color:var(--h2-brand-edge);box-shadow:0 20px 40px -30px rgba(79,70,229,.25);}
.h2-faq-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:22px 26px;font-family:inherit;font-size:16px;font-weight:700;color:var(--h2-ink);letter-spacing:-0.01em;display:flex;justify-content:space-between;align-items:center;gap:16px;}
.h2-faq-q .chev{width:36px;height:36px;border-radius:50%;background:var(--h2-line-2);color:var(--h2-mute);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,color .15s,transform .2s;}
.h2-faq-q .chev svg{width:14px;height:14px;stroke:currentColor;stroke-width:2.6;fill:none;}
.h2-faq-item.open .chev{background:var(--h2-brand);color:#fff;transform:rotate(45deg);}
.h2-faq-a{max-height:0;overflow:hidden;transition:max-height .28s ease;}
.h2-faq-a p{padding:0 26px 22px;margin:0;font-size:15px;line-height:1.75;color:var(--h2-mute);}

/* ═════════════ FINAL CTA ═════════════ */
.h2-cta{background:linear-gradient(160deg,var(--h2-deep),#3730A3 60%,var(--h2-brand));border-radius:28px;padding:88px 40px;text-align:center;color:#fff;position:relative;overflow:hidden;}
.h2-cta::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 100% at 50% 0%,rgba(167,139,250,.35),transparent 60%);pointer-events:none;}
.h2-cta > *{position:relative;}
.h2-cta h2{font-size:clamp(34px,4vw,52px);font-weight:800;color:#fff;letter-spacing:-0.035em;line-height:1.05;margin:0 0 16px;}
.h2-cta p{font-size:18px;color:rgba(255,255,255,.78);max-width:540px;margin:0 auto 32px;line-height:1.6;}

/* ═════════════ ANIMATIONS ═════════════ */
.h2 .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1);}
.h2 .reveal.is-in{opacity:1;transform:none;}
.h2 .reveal.d1{transition-delay:.08s;}
.h2 .reveal.d2{transition-delay:.16s;}
.h2 .reveal.d3{transition-delay:.24s;}
.h2 .reveal.d4{transition-delay:.32s;}

.h2-cell,.h2-tl,.h2-per,.h2-mock-kpi,.h2-dev-row{transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s,border-color .22s,background .22s;}
.h2-cell:hover,.h2-tl:hover,.h2-per:hover{transform:translateY(-4px);box-shadow:0 24px 50px -28px rgba(15,23,42,.28);}
.h2-cell.dark:hover,.h2-cell.tinted:hover{box-shadow:0 24px 50px -28px rgba(79,70,229,.35);}

@keyframes h2-float{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}
.h2-mock-pin{animation:h2-float 5s ease-in-out infinite;}
.h2-mock-pin.p-b{animation-delay:1.2s;}
.h2-mock-pin.p-c{animation-delay:2.4s;}
.hph-callout{animation:h2-float 4.8s ease-in-out infinite;}
.hph-callout.c-b{animation-delay:1.6s;}

/* Phone "online" pulse */
.hph-nav .who .s{position:relative;}
.hph-nav .who .s::before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:#10B981;margin-right:4px;box-shadow:0 0 0 0 rgba(16,185,129,.7);animation:h2-pulse-dot 2s infinite;vertical-align:middle;}
@keyframes h2-pulse-dot{0%,100%{box-shadow:0 0 0 0 rgba(16,185,129,.6);}50%{box-shadow:0 0 0 5px rgba(16,185,129,0);}}

/* Hero background drifting glow */
.h2-hero::after{animation:h2-drift 12s ease-in-out infinite;}
@keyframes h2-drift{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(-30px,20px) scale(1.08);}}

/* Number strip count-in */
.h2-nums .cell .v{opacity:0;transform:translateY(10px);transition:opacity .6s,transform .6s;transition-delay:calc(var(--h2-i, 0) * .12s);}
.h2-nums.is-in .cell:nth-child(1){--h2-i:0;}
.h2-nums.is-in .cell:nth-child(2){--h2-i:1;}
.h2-nums.is-in .cell:nth-child(3){--h2-i:2;}
.h2-nums.is-in .cell:nth-child(4){--h2-i:3;}
.h2-nums.is-in .cell .v{opacity:1;transform:none;}

/* Respect users who want less motion */
@media (prefers-reduced-motion:reduce){
  .h2 .reveal,.h2-mock-pin,.hph-callout,.h2-hero::after,.h2-msg,.hph-msg,.hph-nav .who .s::before,.h2-nums .cell .v{animation:none!important;transition:none!important;opacity:1!important;transform:none!important;}
}

/* ═════════════ RESPONSIVE ═════════════ */

/* Tablet + small desktop (≤1080px): keep 2-col hero but shrink gutters */
@media (max-width:1080px){
  .h2 .wrap{padding:0 24px;}
  .h2-mock{padding:0 24px;}
  .h2-hero{padding:100px 0 220px;}
  .h2-hero-inner{padding:0 24px;}
}

/* Medium (≤960px): switch big grids to 2-col, drop non-critical decoration */
@media (max-width:960px){
  .h2 .sec{padding:88px 0;}
  .h2-hero{padding:88px 0 180px;}
  .h2-hero h1{font-size:clamp(38px,7vw,64px);letter-spacing:-0.04em;}
  .h2-hero-sub{font-size:17px;}
  .h2-2col,.h2-mobile-grid{grid-template-columns:1fr;gap:48px;}
  .h2-2col.flip .col-visual{order:0;}
  .h2-mobile-mock{max-width:260px;}
  .h2-mobile ul{grid-template-columns:1fr;}
  .h2-bento{grid-template-columns:repeat(2,1fr);}
  .h2-cell.span-2,.h2-cell.span-3,.h2-cell.span-4{grid-column:span 2;}
  .h2-more{grid-template-columns:repeat(2,1fr);}
  .h2-nums{grid-template-columns:repeat(2,1fr);gap:0;padding:36px 20px;}
  .h2-nums .cell{border-right:none;border-bottom:1px solid rgba(255,255,255,.08);padding:18px 20px;}
  .h2-nums .cell:nth-last-child(-n+2){border-bottom:none;}
  .h2-nums .cell:nth-child(odd){border-right:1px solid rgba(255,255,255,.08);}
  .h2-nums .cell .v{font-size:34px;}
  .h2-timeline{grid-template-columns:repeat(2,1fr);}
  .h2-personas{grid-template-columns:repeat(2,1fr);}
  .h2-dev-grid{grid-template-columns:1fr;gap:36px;}
  .h2-dev{padding:64px 40px;}
  .h2-mock-body{grid-template-columns:1fr;}
  .h2-mock-side{display:none;}
  .h2-mock-kpis{grid-template-columns:repeat(2,1fr);}
  .h2-mock-pin,.hph-callout,.h2-mobile-callout,.h2-chatcard,.appshot--back{display:none;}
  .h2-mobile-mock{max-width:240px;}
  .appshot--front{max-width:240px;}
  .h2-mobile{padding:56px 40px;}
  .h2-quote{padding:44px 36px;}
  .h2-quote-q{font-size:20px;}
  .h2-cta{padding:72px 32px;}
}

/* Small (≤640px): stack everything, dim heavy decoration */
@media (max-width:640px){
  .h2 .sec{padding:64px 0;}
  .h2 .wrap{padding:0 20px;}
  .h2-hero{padding:64px 0 140px;}
  .h2-hero-inner{padding:0 20px;}
  .h2-hero h1{font-size:clamp(34px,10vw,52px);letter-spacing:-0.035em;line-height:1.05;}
  .h2-hero h1 br{display:none;}
  .h2-hero-sub{font-size:16px;margin-bottom:28px;}
  .h2-eyetag{font-size:11.5px;padding:6px 12px;}
  .h2-mock{padding:0 20px;}
  .h2-mock-frame{border-radius:14px;}
  .h2-mock-body{padding:16px;gap:12px;}
  .h2-mock-kpis{gap:8px;}
  .h2-mock-kpi{padding:10px 12px;}
  .h2-mock-kpi .v{font-size:18px;}
  .h2-trust{padding:44px 0 16px;}
  .h2-trust-row{gap:10px 20px;}
  .h2-trust-row span{font-size:13px;}
  .head{margin:0 auto 44px;}
  .head h2{font-size:clamp(28px,8vw,38px);}
  .head p{font-size:16px;}
  .h2-bento,.h2-personas,.h2-timeline,.h2-more{grid-template-columns:1fr;}
  .h2-cell.span-2,.h2-cell.span-3,.h2-cell.span-4{grid-column:span 1;}
  .h2-cell{padding:24px;}
  .h2-cell h4{font-size:18px;}
  .h2-more-cell{padding:22px;}
  .h2-nums{grid-template-columns:1fr;}
  .h2-nums .cell{border-right:none!important;border-bottom:1px solid rgba(255,255,255,.08);}
  .h2-nums .cell:last-child{border-bottom:none;}
  .h2-nums .cell .v{font-size:32px;}
  .h2-dev{padding:56px 24px;}
  .h2-dev-grid{gap:28px;}
  .h2-mobile{padding:48px 24px;border-radius:22px;}
  .h2-mobile-mock{max-width:240px;}
  .h2-store-badge{padding:10px 14px;}
  .h2-store-badge .n{font-size:14px;}
  .h2-quote{padding:36px 24px;}
  .h2-quote-q{font-size:18px;line-height:1.4;}
  .h2-anchor{padding:40px 24px;border-radius:22px;}
  .h2-anchor h2{font-size:clamp(24px,7vw,32px);}
  .h2-cta{padding:56px 24px;border-radius:22px;}
  .h2-cta h2{font-size:clamp(28px,8vw,38px);}
  .h2-cta p{font-size:16px;}
  .h2-faq-q{padding:18px 20px;font-size:15px;}
  .h2-faq-q .chev{width:32px;height:32px;}
  .h2-faq-a p{padding:0 20px 20px;font-size:14.5px;}
  .h2 .btn{padding:12px 20px;font-size:14px;}
}

/* Extra-small (≤380px): tighten a bit more */
@media (max-width:380px){
  .h2 .wrap{padding:0 16px;}
  .h2-hero-inner{padding:0 16px;}
  .h2-hero-cta{flex-direction:column;align-items:stretch;}
  .h2-hero-cta .btn{width:100%;}
  .h2-mobile-badges{flex-direction:column;}
  .h2-store-badge{width:100%;justify-content:center;}
}
