/* ---------- HERO ---------- */
.hero{position:relative;min-height:92vh;display:flex;align-items:center;overflow:hidden;background:linear-gradient(180deg,#F7F5FF 0%,#FFFFFF 100%)}
#three{position:absolute;inset:0;z-index:1}
.hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(circle at 50% 40%,transparent 30%,rgba(255,255,255,.55) 78%)}
.orb{position:absolute;border-radius:50%;filter:blur(90px);opacity:.42;z-index:0}
.o1{width:520px;height:520px;background:#8B72FF;top:-140px;left:-120px;animation:drift 22s ease-in-out infinite}
.o2{width:440px;height:440px;background:#12CE95;bottom:-160px;right:-80px;animation:drift 26s ease-in-out infinite reverse}
@keyframes drift{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(70px,-50px) scale(1.14)}}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:60px;align-items:center;padding:70px 0}
.pill{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.85);backdrop-filter:blur(10px);border:1px solid var(--line);padding:8px 17px;border-radius:999px;font-size:13px;font-weight:600;color:var(--violet-dk);box-shadow:0 4px 20px rgba(91,61,245,.08)}
.dot{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 0 rgba(18,206,149,.6);animation:pulse 2.2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 11px rgba(18,206,149,0)}100%{box-shadow:0 0 0 0 rgba(18,206,149,0)}}
h1{font-size:clamp(40px,5.6vw,68px);font-weight:800;margin:24px 0 20px}
h1 em{font-style:normal;background:linear-gradient(100deg,var(--violet),var(--lime));-webkit-background-clip:text;background-clip:text;color:transparent}
.sub{font-size:18px;color:var(--ink-2);max-width:530px}
.hero-cta{display:flex;gap:14px;margin:34px 0 30px;flex-wrap:wrap}
.trust{display:flex;gap:34px;flex-wrap:wrap;font-size:13.5px;color:var(--ink-2)}
.trust b{display:block;font-family:'Bricolage Grotesque';font-size:26px;font-weight:800;color:var(--ink)}

/* 3D invoice card */
.device{perspective:1400px;position:relative}
.invoice{background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.9);border-radius:22px;
  box-shadow:0 40px 90px rgba(42,26,114,.22),0 0 0 1px rgba(91,61,245,.06);overflow:hidden;
  transform-style:preserve-3d;transition:transform .18s ease-out}
.inv-top{background:linear-gradient(120deg,var(--violet-dk),var(--violet));color:#fff;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden}
.inv-top::after{content:"";position:absolute;top:-60%;left:-30%;width:60%;height:220%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);transform:rotate(18deg);animation:sheen 4.5s ease-in-out infinite}
@keyframes sheen{0%{left:-40%}55%,100%{left:130%}}
.inv-top small{opacity:.72;font-family:'JetBrains Mono';font-size:10.5px;letter-spacing:.14em}
.inv-top div:last-child{text-align:right}
.inv-body{padding:22px 24px}
.row{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px dashed var(--line);font-size:14px;opacity:0;transform:translateX(-14px);animation:rowIn .55s var(--ease) forwards}
.row:nth-child(1){animation-delay:.7s}.row:nth-child(2){animation-delay:.85s}
.row:nth-child(3){animation-delay:1s}.row:nth-child(4){animation-delay:1.15s}
@keyframes rowIn{to{opacity:1;transform:none}}
.row span:last-child{font-family:'JetBrains Mono';font-weight:500}
.total{background:linear-gradient(120deg,var(--wash),#EDF9F5);margin:16px -24px -22px;padding:18px 24px;display:flex;justify-content:space-between;align-items:center}
.total b{font-family:'Bricolage Grotesque';font-size:27px;font-weight:800}
.float{position:absolute;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:14px;padding:13px 18px;box-shadow:0 18px 44px rgba(42,26,114,.16);font-size:13px;font-weight:600;display:flex;align-items:center;gap:11px;z-index:3}
.float .ic{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;font-size:15px}
.f1{top:-26px;left:-34px;animation:fl 5.5s ease-in-out infinite}
.f2{bottom:-28px;right:-24px;animation:fl 5.5s ease-in-out infinite 1.1s}
.f3{top:44%;right:-58px;animation:fl 6.5s ease-in-out infinite .5s}
@keyframes fl{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-14px) rotate(-1.4deg)}}
@media(max-width:1080px){.f3{display:none}}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:48px;padding:48px 0}.float{display:none}}

/* ---------- MARQUEE ---------- */
.marq{background:var(--ink);color:rgba(255,255,255,.85);padding:22px 0;overflow:hidden;white-space:nowrap}
.marq-in{display:inline-flex;gap:54px;animation:scroll 30s linear infinite;font-size:14px;font-weight:600;font-family:'JetBrains Mono';letter-spacing:.04em}
.marq-in span{display:inline-flex;align-items:center;gap:11px}
.marq:hover .marq-in{animation-play-state:paused}
@keyframes scroll{to{transform:translateX(-50%)}}

