/* ===== Compact homepage blocks + sub-page tweaks ===== */
.sec-tight{padding:clamp(64px,8vw,110px) 0}
.head-row{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:36px;flex-wrap:wrap}
.head-row h2{max-width:16ch}
.more{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--blue)}
.on-dark .more{color:var(--blue-2)}
.more svg{width:18px;transition:transform .25s}
.more:hover svg{transform:translateX(4px)}

/* services row (swipe on phones) */
.svc-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.svc-mini{background:#fff;border-radius:var(--r-lg);padding:30px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.svc-mini:hover{transform:translateY(-4px)}
.svc-mini.feat{background:linear-gradient(160deg,var(--blue),#0E2FA8);color:#fff}
.svc-mini .ico{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:var(--sky);margin-bottom:6px}
.svc-mini.feat .ico{background:rgba(255,255,255,.15)}
.svc-mini .ico svg{width:28px;height:28px}
.svc-mini p{color:var(--muted)}
.svc-mini.feat p{color:rgba(255,255,255,.85)}
.svc-mini .more{margin-top:auto;padding-top:8px}
.svc-mini.feat .more{color:#fff}
@media(max-width:820px){
  .svc-row{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin:0 -20px;padding:4px 20px 18px;scrollbar-width:none}
  .svc-row::-webkit-scrollbar{display:none}
  .svc-mini{flex:0 0 78%;scroll-snap-align:start;padding:24px}
}

/* steps strip */
.steps-mini{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:s}
.steps-mini li{list-style:none;background:rgba(255,255,255,.85);border-radius:var(--r-md);padding:22px;position:relative;overflow:hidden}
.steps-mini b{display:block;font-size:2.4rem;font-weight:800;color:var(--blue);letter-spacing:-.05em;line-height:1;margin-bottom:10px}
.steps-mini span{font-weight:700;line-height:1.3;display:block}
.steps-mini li::after{content:'';position:absolute;left:0;bottom:0;height:4px;width:0;background:var(--blue);transition:width 1s cubic-bezier(.2,.8,.2,1)}
.steps-mini.in li::after{width:100%}
.steps-mini.in li:nth-child(2)::after{transition-delay:.15s}.steps-mini.in li:nth-child(3)::after{transition-delay:.3s}.steps-mini.in li:nth-child(4)::after{transition-delay:.45s}
@media(max-width:820px){.steps-mini{grid-template-columns:1fr 1fr;gap:10px}.steps-mini li{padding:16px}.steps-mini b{font-size:1.8rem;margin-bottom:6px}.steps-mini span{font-size:.95rem}}

/* CTA band */
.cta-band{background:linear-gradient(135deg,var(--blue),#0E2FA8);color:#fff;border-radius:var(--r-lg);padding:clamp(32px,5vw,56px);display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;position:relative;overflow:hidden}
.cta-band::after{content:'';position:absolute;right:-80px;top:-80px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.08)}
.cta-band h2{font-size:clamp(1.9rem,4vw,3rem);max-width:18ch;position:relative}
.cta-band p{color:rgba(255,255,255,.8);margin-top:10px;position:relative}
.cta-band .acts{display:flex;gap:12px;flex-wrap:wrap;position:relative}
.cta-band .btn-white{background:#fff;color:var(--ink)}
.cta-band .btn-white:hover{transform:translateY(-2px)}

/* homepage app section: keep it short on phones */
@media(max-width:700px){.app-show .app-feats,.app-show .show-note{display:none}.app-show .lede{margin-bottom:18px}}

/* sub-pages */
.page-hero{padding:150px 0 70px}
.page-hero .lede{max-width:46ch}
@media(max-width:700px){.page-hero{padding:118px 0 46px}.page-hero .display{font-size:2.6rem!important}}
.next-page{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:30px 0 0;margin-top:50px;border-top:1px solid var(--line)}
.next-page small{display:block;color:var(--muted);font-weight:600}
.next-page a b{font-size:1.4rem;letter-spacing:-.02em}
.footer-slim{padding:50px 0 30px}
@media(max-width:820px){.footer-slim .footer-top{display:none}}