/* =====================================================================
   landing.css — GiftoV3 landing (Gnosis-Pay-inspired dark/light rhythm)
   Loads with theme-gifto.css (palette vars + Inter). Classes prefixed .lp-.
   Display headlines: Saira Condensed (uppercase). Body: Inter.
   ===================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Saira+Condensed:wght@600;700;800&display=swap');

*, *::before, *::after { box-sizing: border-box; }
:root {
  --lp-ink: #0d0a1a;        /* near-black (slightly purple) dark sections */
  --lp-ink-2: #161029;      /* raised dark surface */
  --lp-cream: #f5f1ea;      /* warm off-white light section */
  --lp-line: rgba(255,255,255,.12);
  --lp-display: 'Saira Condensed','Inter',sans-serif;
}
html { overflow-x:hidden; }
.lp-body { margin:0; font-family: var(--gif-font,'Inter',sans-serif); color:#1c1430; background:#fff; line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden; max-width:100%; }
.lp-body img { max-width:100%; }
.lp-wrap { max-width:1180px; margin:0 auto; padding:0 24px; }
a { text-decoration:none; }
.lp-body p { color:#4a4360; margin:0 0 1em; }

/* Display headings */
.lp-display { font-family:var(--lp-display); text-transform:uppercase; font-weight:800; line-height:.98; letter-spacing:-.01em; margin:0; }
.lp-eyebrow { font-family:var(--lp-display); text-transform:uppercase; letter-spacing:.04em; font-weight:700; font-size:14px; color:var(--gif-primary,#ea064e); display:inline-block; margin-bottom:18px; }
.lp-eyebrow::before { content:"// "; opacity:.7; }

/* Buttons */
.lp-btn { display:inline-block; padding:13px 26px; border-radius:999px; font-weight:700; font-size:15px; border:2px solid transparent; cursor:pointer; -webkit-tap-highlight-color:transparent; transition:background-color .15s ease, border-color .15s ease, transform .15s ease, box-shadow .15s ease; }
.lp-btn-primary, .lp-btn-primary:hover, .lp-btn-primary:focus, .lp-btn-primary:active { color:#fff; background:var(--gif-primary,#ea064e); }
.lp-btn-primary:hover, .lp-btn-primary:focus { background:var(--gif-dark,#830c6b); }
.lp-btn-ghost, .lp-btn-ghost:hover, .lp-btn-ghost:focus, .lp-btn-ghost:active { color:#fff; background:transparent; border-color:rgba(255,255,255,.3); }
.lp-btn-ghost:hover, .lp-btn-ghost:focus { border-color:#fff; }
.lp-btn-ghost.dark, .lp-btn-ghost.dark:hover, .lp-btn-ghost.dark:focus, .lp-btn-ghost.dark:active { color:var(--gif-dark,#830c6b); border-color:rgba(131,12,107,.3); }
.lp-btn-light, .lp-btn-light:hover, .lp-btn-light:focus, .lp-btn-light:active { color:var(--gif-primary,#ea064e); background:#fff; }

/* ---------- ANNOUNCEMENT STRIP (top of page, scrolls away) ---------- */
.lp-announce, .lp-announce:link, .lp-announce:visited, .lp-announce:hover, .lp-announce:focus, .lp-announce:active { color:#fff; }
.lp-announce { display:block; background:var(--gif-gradient,linear-gradient(90deg,#ea064e,#830c6b)); text-align:center; font-size:14px; font-weight:600; padding:10px 18px; position:relative; z-index:60; -webkit-tap-highlight-color:transparent; -webkit-touch-callout:none; }
.lp-announce-cta, .lp-announce:active .lp-announce-cta, .lp-announce:focus .lp-announce-cta { color:#fff; }
.lp-announce-inner { display:inline-flex; align-items:center; gap:12px; flex-wrap:wrap; justify-content:center; }
.lp-announce-badge { font-family:var(--lp-display); text-transform:uppercase; letter-spacing:.04em; font-weight:800; font-size:12px; background:rgba(255,255,255,.18); padding:3px 10px; border-radius:999px; }
.lp-announce-text { color:#fff; }
.lp-announce-text b { font-weight:800; }
.lp-announce-cta { font-weight:800; text-decoration:underline; text-underline-offset:3px; white-space:nowrap; transition:opacity .15s ease; }
.lp-announce:hover .lp-announce-cta { opacity:.85; }
@media (max-width:560px){ .lp-announce-badge{ display:none; } .lp-announce{ font-size:13px; padding:9px 14px; } }

/* ---------- NAV (floating sticky pill, overlapping the hero) ---------- */
.lp-nav { position:sticky; top:0; z-index:50; padding:14px 16px; margin-bottom:-84px; }
.lp-nav .lp-wrap { position:relative; max-width:1080px; height:56px; padding:0 8px 0 22px; display:flex; align-items:center; justify-content:space-between;
  background:rgba(13,10,26,.72); backdrop-filter:saturate(160%) blur(14px);
  border:1px solid rgba(255,255,255,.14); border-radius:999px; box-shadow:0 12px 30px -12px rgba(0,0,0,.55); }
.lp-nav-logo img { height:32px; width:auto; filter:brightness(0) invert(1); }
.lp-nav-links { display:flex; align-items:center; gap:20px; }
.lp-nav-links a:not(.lp-btn) { color:rgba(255,255,255,.8); font-weight:600; font-size:14px; }
.lp-nav-links a:not(.lp-btn):hover { color:#fff; }
.lp-nav .lp-btn { padding:9px 18px; font-size:14px; }
/* ecosystem dropdown */
.lp-dd { position:relative; display:flex; align-items:center; }
.lp-dd-btn { display:inline-flex; align-items:center; gap:5px; background:none; border:0; cursor:pointer; font-family:inherit; font-weight:600; font-size:14px; color:rgba(255,255,255,.8); padding:0; }
.lp-dd-btn svg { transition:transform .2s ease; }
.lp-dd-btn:hover { color:#fff; }
.lp-dd:hover .lp-dd-btn svg, .lp-dd.open .lp-dd-btn svg { transform:rotate(180deg); }
.lp-dd-menu { position:absolute; top:calc(100% + 16px); left:50%; transform:translateX(-50%) translateY(8px); min-width:215px; padding:8px;
  background:rgba(13,10,26,.97); backdrop-filter:blur(14px); border:1px solid rgba(255,255,255,.14); border-radius:16px; box-shadow:0 24px 48px -16px rgba(0,0,0,.6);
  opacity:0; visibility:hidden; transition:opacity .2s ease, transform .2s ease; }
.lp-dd:hover .lp-dd-menu, .lp-dd.open .lp-dd-menu { opacity:1; visibility:visible; transform:translateX(-50%) translateY(0); }
.lp-dd-menu a { display:block; padding:10px 14px; border-radius:10px; color:rgba(255,255,255,.85); font-weight:600; font-size:14px; }
.lp-dd-menu a:hover { background:rgba(234,6,78,.2); color:#fff; }
/* hamburger (hidden on desktop) */
.lp-nav-toggle { display:none; width:42px; height:42px; border:0; background:transparent; cursor:pointer; flex-direction:column; justify-content:center; align-items:center; gap:5px; }
.lp-nav-toggle span { display:block; width:22px; height:2px; background:#fff; border-radius:2px; transition:.22s; }
.lp-nav.open .lp-nav-toggle span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.lp-nav.open .lp-nav-toggle span:nth-child(2) { opacity:0; }
.lp-nav.open .lp-nav-toggle span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* ---------- HERO (dark) ---------- */
.lp-hero { background:var(--lp-ink); color:#fff; position:relative; overflow:hidden; min-height:100vh; display:flex; align-items:center; padding:110px 0 70px; }
.lp-hero::before { content:""; position:absolute; right:-10%; top:-20%; width:60%; height:120%; background:var(--gif-gradient); filter:blur(120px); opacity:.25; z-index:0; }
.lp-hero .lp-wrap { position:relative; z-index:1; display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center; }
.lp-hero h1 { font-family:var(--lp-display); text-transform:uppercase; font-weight:800; line-height:.95; letter-spacing:-.01em; font-size:clamp(40px,6vw,72px); margin:0 0 20px; }
.lp-hero .lp-sub { color:rgba(255,255,255,.75); font-size:19px; max-width:520px; }
.lp-cta-row { display:flex; gap:14px; flex-wrap:wrap; margin:26px 0 14px; }
.lp-legacy-note { font-size:15px; color:rgba(255,255,255,.6); }
.lp-legacy-note a { color:var(--gif-soft,#f1c3a7); font-weight:700; -webkit-tap-highlight-color:transparent; }
.lp-legacy-note a:hover, .lp-legacy-note a:focus, .lp-legacy-note a:active { text-decoration:underline; text-underline-offset:3px; }

/* ---------- Newsletter (Paragraph embed) ---------- */
.lp-newsletter { max-width:560px; margin:0 auto; text-align:center; }
.lp-newsletter h2 { font-family:var(--lp-display); text-transform:uppercase; font-weight:800; font-size:clamp(30px,4vw,44px); line-height:.95; letter-spacing:-.01em; margin:0 0 12px; color:#1c1430; }
.lp-newsletter p { color:#4a4360; font-size:17px; margin:0 0 26px; }
.lp-newsletter-embed { display:flex; justify-content:center; }
.lp-newsletter-embed iframe { max-width:100%; width:480px; height:360px; border-radius:14px; }
/* layered gradient hero graphic */
.lp-hero-art { display:flex; align-items:center; justify-content:center; }
.lp-hero-art img { width:100%; max-width:500px; height:auto; filter:drop-shadow(0 26px 50px rgba(234,6,78,.4)); animation:lp-wallet-float 5s ease-in-out infinite; }
@keyframes lp-wallet-float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)} }
@media (prefers-reduced-motion: reduce){ .lp-hero-art img{ animation:none; } }

/* ---------- STATS BAND (dark) ---------- */
.lp-stats { background:var(--lp-ink); color:#fff; border-top:1px solid var(--lp-line); padding:22px 0 28px; }
.lp-stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.lp-stat .lp-stat-num { font-family:var(--lp-display); font-weight:800; font-size:clamp(22px,2.6vw,32px); line-height:1; background:var(--gif-gradient); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.lp-stat .lp-stat-label { color:rgba(255,255,255,.55); font-size:12.5px; margin-top:6px; }
.lp-placeholder-note { text-align:center; color:rgba(255,255,255,.4); font-size:12px; margin-top:24px; font-style:italic; }

/* ---------- PARTNERS ---------- */
.lp-partners { background:var(--lp-cream); padding:34px 0; overflow:hidden; }
.lp-marquee { display:flex; overflow:hidden; -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.lp-marquee-group { flex:0 0 auto; min-width:100%; display:flex; align-items:center; justify-content:space-around; gap:42px; animation:lp-marquee 24s linear infinite; }
.lp-marquee:hover .lp-marquee-group { animation-play-state:paused; }
@keyframes lp-marquee { from { transform:translateX(0); } to { transform:translateX(-100%); } }
.lp-logo-box { flex:0 0 auto; height:36px; display:flex; align-items:center; justify-content:center; gap:8px; color:#3a3450; font-weight:800; font-size:21px; letter-spacing:.01em; opacity:.55; transition:opacity .2s ease; white-space:nowrap; }
.lp-logo-box:hover { opacity:1; }
.lp-logo-box img { height:28px; width:auto; display:block; }
@media (prefers-reduced-motion: reduce){ .lp-marquee-track { animation:none; } }

/* ---------- SECTION SCAFFOLD ---------- */
.lp-section { padding:88px 0; }
.lp-section.cream { background:var(--lp-cream); }
.lp-section.dark { background:var(--lp-ink); color:#fff; }
.lp-section.dark p { color:rgba(255,255,255,.7); }
.lp-section-head { max-width:720px; margin:0 auto 52px; text-align:center; }
.lp-section-head h2 { font-family:var(--lp-display); text-transform:uppercase; font-weight:800; font-size:clamp(30px,4vw,46px); line-height:1; margin:0 0 .3em; }
.lp-section-head p { font-size:18px; }

/* ---------- FEATURE 2x2 (cream) ---------- */
.lp-feat { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.lp-feat-item { display:flex; justify-content:space-between; gap:18px; background:#fff; border:1px solid rgba(13,10,26,.07); border-radius:18px; padding:30px; }
.lp-feat-item h3 { font-size:21px; font-weight:800; margin:0 0 6px; }
.lp-feat-item p { font-size:15px; margin:0; }
.lp-feat-ico { flex:0 0 auto; width:52px; height:52px; border-radius:14px; background:var(--gif-gradient); display:flex; align-items:center; justify-content:center; color:#fff; font-size:22px; font-weight:800; }
.lp-soon { font-family:var(--gif-font); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:#fff; background:var(--gif-accent,#584483); padding:3px 8px; border-radius:6px; margin-left:8px; vertical-align:middle; }
/* Why pillars + chip strip */
.lp-chips { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin:-30px auto 52px; max-width:780px; }
.lp-chip { font-size:13px; font-weight:600; color:var(--gif-dark,#830c6b); background:rgba(131,12,107,.07); border:1px solid rgba(131,12,107,.16); padding:7px 14px; border-radius:999px; }
.lp-why-list { list-style:none; padding:0; margin:16px 0 0; display:grid; gap:10px; }
.lp-why-list li { position:relative; padding-left:26px; font-size:15.5px; color:#3a3450; }
.lp-why-list li::before { content:"✦"; position:absolute; left:0; color:var(--gif-primary,#ea064e); font-weight:800; }
/* GFTPay feature grid */
.lp-block-head { max-width:680px; margin:0 0 34px; }
.lp-block-head h2 { font-family:var(--lp-display); text-transform:uppercase; font-weight:800; font-size:clamp(28px,3.6vw,42px); line-height:1; margin:0 0 .3em; }
.lp-block-head p { font-size:17px; }
.lp-pay { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.lp-pay-card { background:#fff; border:1px solid rgba(13,10,26,.06); border-radius:20px; padding:34px; box-shadow:0 16px 40px -24px rgba(28,20,48,.28);
  opacity:0; transform:translateY(18px); transition:opacity .55s ease, transform .55s ease, box-shadow .25s ease, border-color .25s ease; }
.lp-pay-card.in { opacity:1; transform:none; }
.lp-pay-card:hover { transform:translateY(-6px); box-shadow:0 26px 50px -22px rgba(131,12,107,.4); border-color:rgba(234,6,78,.3); transition-delay:0s; }
.lp-pay-card:nth-child(2){ transition-delay:.07s } .lp-pay-card:nth-child(3){ transition-delay:.14s } .lp-pay-card:nth-child(4){ transition-delay:.21s }

/* animated phosphor icons */
.lp-pay-ico { position:relative; width:58px; height:58px; border-radius:16px; background:var(--gif-gradient); display:flex; align-items:center; justify-content:center; margin-bottom:22px; perspective:320px; }
.lp-pay-ico svg { width:32px; height:32px; color:#fff; }
@keyframes lp-float { 0%,100%{transform:translateY(0) rotate(-5deg)} 50%{transform:translateY(-5px) rotate(5deg)} }
@keyframes lp-flip  { 0%,55%{transform:rotateY(0)} 78%,100%{transform:rotateY(360deg)} }
@keyframes lp-pulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.14)} }
@keyframes lp-spin  { to{transform:rotate(360deg)} }
@keyframes lp-orbit { from{transform:translate(-50%,-50%) rotate(0) translateX(28px)} to{transform:translate(-50%,-50%) rotate(360deg) translateX(28px)} }
.lp-ico-card   svg { animation:lp-float 3.4s ease-in-out infinite; }
.lp-ico-coins  svg { animation:lp-flip 4.5s ease-in-out infinite; }
.lp-ico-shield svg { animation:lp-pulse 2.6s ease-in-out infinite; }
.lp-ico-globe  svg { animation:lp-spin 20s linear infinite; }
.lp-ico-globe::after { content:""; position:absolute; top:50%; left:50%; width:8px; height:8px; border-radius:50%; background:#fff; box-shadow:0 0 8px rgba(255,255,255,.85); animation:lp-orbit 4s linear infinite; }
.lp-pay-card:hover .lp-ico-card svg   { animation-duration:1.4s; }
.lp-pay-card:hover .lp-ico-coins svg  { animation-duration:1.8s; }
.lp-pay-card:hover .lp-ico-shield svg { animation-duration:1.2s; }
.lp-pay-card:hover .lp-ico-globe svg  { animation-duration:6s; }
@media (prefers-reduced-motion: reduce){ .lp-pay-ico svg, .lp-ico-globe::after { animation:none !important; } }
.lp-pay-card h3 { font-size:20px; font-weight:800; margin:0 0 6px; }
.lp-pay-card p { font-size:15px; margin:0; color:#4a4360; }
.lp-pay-card .lp-code { margin-top:18px; white-space:pre; }
/* multi-currency chips */
.lp-cur { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.lp-cur-pill { font-size:13px; font-weight:700; color:var(--gif-dark,#830c6b); background:rgba(131,12,107,.07); border:1px solid rgba(131,12,107,.14); padding:6px 13px; border-radius:999px; transition:transform .15s ease; }
.lp-cur-pill.alt { background:var(--gif-gradient); color:#fff; border-color:transparent; }
.lp-pay-card:hover .lp-cur-pill { transform:translateY(-2px); }

/* ===== GFTPay bento ===== */
.lp-gftpay { position:relative; padding:96px 0; overflow:hidden; background:linear-gradient(150deg,#ece6f6 0%,#f3e7ef 45%,#fbeae7 100%); }
.lp-gftpay::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.55;
  background-image:radial-gradient(rgba(131,12,107,.12) 1px, transparent 1.4px); background-size:16px 16px;
  -webkit-mask-image:radial-gradient(ellipse at center, transparent 32%, #000 100%); mask-image:radial-gradient(ellipse at center, transparent 32%, #000 100%); }
.lp-gftpay .lp-wrap { position:relative; z-index:1; }
.lp-gftpay .lp-block-head h2 { color:#1c1430; }
.lp-gftpay .lp-block-head p { color:#4a4360; }

.lp-bento { display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:minmax(150px,auto); gap:20px;
  grid-template-areas:"glob glob inst" "mult secu inst"; }
.lp-bc { position:relative; overflow:hidden; border-radius:24px; padding:26px; color:#fff;
  background:linear-gradient(165deg, rgba(38,20,48,.96), rgba(13,9,22,.97)); border:1px solid rgba(255,255,255,.08);
  box-shadow:0 30px 60px -34px rgba(20,6,30,.7); display:flex; flex-direction:column; justify-content:flex-end;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.lp-bc::before { content:""; position:absolute; top:-30%; right:-10%; width:70%; height:80%; pointer-events:none;
  background:radial-gradient(circle, rgba(234,6,78,.4), transparent 65%); filter:blur(34px); }
.lp-bc:hover { transform:translateY(-5px); box-shadow:0 42px 72px -30px rgba(131,12,107,.5); border-color:rgba(234,6,78,.3); }
.lp-bc-glob { grid-area:glob; } .lp-bc-inst { grid-area:inst; } .lp-bc-mult { grid-area:mult; } .lp-bc-secu { grid-area:secu; }
.lp-bc-scene { position:relative; z-index:1; flex:1; min-height:150px; margin-bottom:20px; }
.lp-bc-body h3 { font-size:21px; font-weight:800; margin:0 0 6px; display:flex; align-items:center; gap:8px; }
.lp-bc-body p { font-size:14.5px; color:rgba(255,255,255,.6); margin:0; }

/* orb scene (global reach) */
.lp-scene-orb { display:flex; align-items:center; justify-content:center; min-height:240px; }
.lp-orb { position:relative; z-index:2; width:104px; height:104px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:radial-gradient(circle at 34% 28%, #ff5c86, #b00d5a 55%, #4a0a36 100%);
  box-shadow:0 0 50px rgba(234,6,78,.6), inset 0 2px 10px rgba(255,255,255,.25); border:1px solid rgba(255,255,255,.2);
  animation:lp-orbpulse 3.6s ease-in-out infinite; }
.lp-orb svg { width:46px; height:46px; color:#fff; }
.lp-orb-ring { position:absolute; width:236px; height:236px; border:1.5px dashed rgba(255,255,255,.18); border-radius:50%; animation:lp-spin 26s linear infinite; }
.lp-orb-ring::after { content:""; position:absolute; inset:38px; border:1px solid rgba(255,255,255,.08); border-radius:50%; }
@keyframes lp-orbpulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.06)} }
.lp-node { position:absolute; z-index:3; width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.15); backdrop-filter:blur(4px); color:#fff; font-weight:700; font-size:16px;
  box-shadow:0 8px 20px -8px rgba(0,0,0,.5); animation:lp-float 4s ease-in-out infinite; }
.lp-node.n1{ top:4%; left:26%; } .lp-node.n2{ top:14%; right:18%; animation-delay:.5s }
.lp-node.n3{ top:48%; left:5%; animation-delay:1s } .lp-node.n4{ bottom:8%; left:32%; animation-delay:1.5s }
.lp-node.n5{ top:44%; right:6%; animation-delay:.8s }

/* card mock + code (instant deployment) */
.lp-scene-card { display:flex; flex-direction:column; gap:16px; }
.lp-vcard { position:relative; align-self:flex-start; width:100%; max-width:240px; aspect-ratio:1.6/1; border-radius:14px; padding:16px; overflow:hidden; color:#fff;
  background:var(--gif-gradient); box-shadow:0 16px 34px -14px rgba(234,6,78,.6); animation:lp-cardfloat 5s ease-in-out infinite; }
.lp-vcard::after { content:""; position:absolute; top:-50%; left:-40%; width:55%; height:200%; transform:rotate(20deg);
  background:linear-gradient(120deg, transparent, rgba(255,255,255,.4), transparent); animation:lp-shimmer 4.8s ease-in-out infinite; }
@keyframes lp-cardfloat { 0%,100%{transform:translateY(0) rotate(-2deg)} 50%{transform:translateY(-6px) rotate(2deg)} }
@keyframes lp-shimmer { 0%,100%{left:-50%} 55%,100%{left:130%} }
.lp-vchip { display:block; width:30px; height:22px; border-radius:5px; background:linear-gradient(135deg,#ffe6a0,#caa53d); }
.lp-vbrand { position:absolute; top:14px; right:14px; font-weight:800; font-size:15px; }
.lp-vbrand b { font-weight:600; opacity:.85; font-size:10px; }
.lp-vcard-num { position:absolute; bottom:30px; left:16px; letter-spacing:2px; font-size:12px; opacity:.92; }
.lp-vcard-foot { position:absolute; bottom:12px; left:16px; right:14px; display:flex; justify-content:space-between; font-size:9.5px; opacity:.85; letter-spacing:.04em; }
.lp-bc .lp-code.glass { margin:0; background:rgba(0,0,0,.5); border:1px solid rgba(255,255,255,.08); font-size:12px; }

/* currency scene */
.lp-scene-cur { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:18px; min-height:150px; }
.lp-cur-orb { width:60px; height:60px; border-radius:16px; background:var(--gif-gradient); display:flex; align-items:center; justify-content:center; box-shadow:0 12px 26px -10px rgba(234,6,78,.6); perspective:300px; }
.lp-cur-orb svg { width:32px; height:32px; color:#fff; animation:lp-flip 4.5s ease-in-out infinite; }
.lp-scene-cur .lp-cur { justify-content:center; }
.lp-scene-cur .lp-cur-pill { background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.15); color:#fff; }
.lp-scene-cur .lp-cur-pill.alt { background:var(--gif-gradient); border-color:transparent; }

/* shield scene */
.lp-scene-shield { display:flex; align-items:center; justify-content:center; min-height:150px; }
.lp-orb-sm { width:90px; height:90px; }
.lp-orb-sm svg { width:40px; height:40px; animation:lp-pulse 2.6s ease-in-out infinite; }

@media (prefers-reduced-motion: reduce){ .lp-orb,.lp-orb-ring,.lp-node,.lp-vcard,.lp-vcard::after,.lp-cur-orb svg,.lp-orb-sm svg { animation:none !important; } }
@media (max-width:880px){ .lp-bento { grid-template-columns:1fr; grid-template-areas:"glob" "inst" "mult" "secu"; } }

/* ---------- ECOSYSTEM (dark) ---------- */
.lp-eco-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:48px; align-items:center; }
.lp-eco-diagram { position:relative; aspect-ratio:1/1; display:flex; align-items:center; justify-content:center; }
.lp-eco-core { width:130px; height:130px; border-radius:50%; background:var(--gif-gradient); display:flex; align-items:center; justify-content:center; box-shadow:0 0 60px rgba(234,6,78,.4); z-index:2; }
.lp-eco-core img { width:62%; filter:brightness(0) invert(1); }
/* spinning wheel: ring + chips rotate together, labels stay upright */
.lp-eco-wheel { position:absolute; inset:0; animation:lp-spin 34s linear infinite; }
.lp-eco-ring { position:absolute; inset:8%; border:1.5px dashed rgba(234,6,78,.35); border-radius:50%; }
.lp-eco-chip { position:absolute; inset:0; transform:rotate(var(--a)); }
.lp-eco-chip > i { position:absolute; top:7%; left:50%; transform:translate(-50%,-50%); }
.lp-eco-chip > i > i { display:block; animation:lp-spin-rev 34s linear infinite; }
.lp-eco-chip > i > i > span { display:inline-block; white-space:nowrap; transform:rotate(calc(-1 * var(--a)));
  background:var(--lp-ink-2); border:1px solid var(--lp-line); color:#fff; font-size:13px; font-weight:600; padding:8px 14px; border-radius:999px; box-shadow:0 8px 20px -8px rgba(0,0,0,.5); }
@keyframes lp-spin-rev { to { transform:rotate(-360deg); } }
@media (prefers-reduced-motion: reduce){ .lp-eco-wheel, .lp-eco-chip > i > i { animation:none; } }
.lp-eco-list { display:grid; grid-template-columns:1fr 1fr; gap:14px 28px; }
.lp-eco-list .lp-eco-row { display:flex; gap:12px; align-items:flex-start; }
.lp-eco-list .lp-eco-row b { display:block; font-size:15px; color:#fff; }
.lp-eco-list .lp-eco-row span { font-size:13px; color:rgba(255,255,255,.55); }
.lp-check { color:var(--gif-primary,#ea064e); font-weight:800; flex:0 0 auto; }

/* ---------- DEVELOPER / API (dark raised) ---------- */
.lp-dev { background:var(--lp-ink-2); }
.lp-dev-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; }
.lp-code { background:#07050f; border:1px solid var(--lp-line); border-radius:14px; padding:22px; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:13.5px; color:#cdd3e0; line-height:1.7; overflow:auto; }
.lp-code .k { color:var(--gif-soft,#f1c3a7); } .lp-code .c { color:#6b7280; } .lp-code .s { color:#7ee787; }

/* ---------- USE CASES (alternating) ---------- */
.lp-uc { display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:center; margin-bottom:40px; }
.lp-uc:last-child { margin-bottom:0; }
.lp-uc.flip .lp-uc-text { order:2; }
.lp-uc-text h3 { font-size:28px; font-weight:800; margin:0 0 10px; }
.lp-uc-visual { aspect-ratio:4/3; border-radius:20px; background:var(--gif-gradient); opacity:.92; display:flex; align-items:center; justify-content:center; }
.lp-uc-visual.soft { background:rgba(131,12,107,.08); border:1px dashed rgba(131,12,107,.25); }
.lp-uc-visual img { width:40%; filter:brightness(0) invert(1); }
/* illustration cards (use-case / creator) */
.lp-uc-img { display:flex; align-items:center; justify-content:center; }
.lp-uc-img img { width:100%; max-width:480px; height:auto; filter:drop-shadow(0 26px 50px rgba(234,6,78,.3)); }
.lp-motion img { animation:lp-livingphoto 7s ease-in-out infinite; }
@keyframes lp-livingphoto { 0%,100%{transform:scale(1) translateY(0)} 50%{transform:scale(1.05) translateY(-7px)} }
@media (prefers-reduced-motion: reduce){ .lp-motion img{ animation:none; } }
.lp-tag { font-family:var(--lp-display); text-transform:uppercase; letter-spacing:.04em; font-weight:700; font-size:13px; color:var(--gif-primary,#ea064e); }
.lp-link { color:var(--gif-primary,#ea064e); font-weight:700; }

/* ---------- STEPS ---------- */
.lp-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.lp-step { background:#fff; border:1px solid rgba(13,10,26,.06); border-radius:18px; padding:32px 26px; box-shadow:0 16px 40px -26px rgba(28,20,48,.3); transition:transform .2s ease, box-shadow .2s ease; }
.lp-step:hover { transform:translateY(-6px); box-shadow:0 28px 54px -26px rgba(131,12,107,.4); }
.lp-step .lp-num { width:52px; height:52px; border-radius:15px; background:var(--gif-gradient); color:#fff; font-family:var(--lp-display); font-size:24px; font-weight:800; display:flex; align-items:center; justify-content:center; margin-bottom:20px; box-shadow:0 10px 22px -8px rgba(234,6,78,.5); }
.lp-step h3 { font-size:18px; font-weight:800; margin:0 0 6px; }
.lp-step p { font-size:15px; margin:0; }

/* ---------- TRUST ---------- */
.lp-trust-list { display:grid; grid-template-columns:1fr 1fr; gap:16px 32px; max-width:860px; margin:0 auto; list-style:none; padding:0; }
.lp-trust-list li { display:flex; gap:12px; align-items:flex-start; font-size:16px; font-weight:600; }

/* ---------- FAQ ---------- */
.lp-faq { max-width:780px; margin:0 auto; }
.lp-faq details { border-bottom:1px solid rgba(13,10,26,.1); padding:18px 0; }
.lp-faq summary { font-weight:700; font-size:18px; cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:16px; }
.lp-faq summary::-webkit-details-marker { display:none; }
.lp-faq summary::after { content:"+"; color:var(--gif-primary,#ea064e); font-size:24px; line-height:1; }
.lp-faq details[open] summary::after { content:"–"; }
.lp-faq p { margin:14px 0 0; font-size:16px; }

/* ---------- CTA BAND ---------- */
.lp-band { background:var(--gif-gradient); border-radius:24px; padding:56px; text-align:center; color:#fff; margin:0 24px; }
.lp-band h2 { font-family:var(--lp-display); text-transform:uppercase; color:#fff; font-size:clamp(28px,3.5vw,44px); margin:0 0 .3em; }
.lp-band p { color:rgba(255,255,255,.9); font-size:18px; }

/* ---------- FOOTER ---------- */
.lp-footer { background:var(--lp-ink); color:#b9b3c9; padding:56px 0 28px; }
.lp-footer a { color:#b9b3c9; } .lp-footer a:hover { color:#fff; }
.lp-foot-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:32px; margin-bottom:36px; }
.lp-foot-grid h4 { color:#fff; font-size:14px; text-transform:uppercase; letter-spacing:.05em; margin:0 0 14px; }
.lp-foot-grid ul { list-style:none; padding:0; margin:0; }
.lp-foot-grid li { margin-bottom:10px; font-size:15px; }
.lp-foot-brand img { height:54px; filter:brightness(0) invert(1); margin-bottom:14px; }
.lp-foot-bottom { border-top:1px solid var(--lp-line); padding-top:22px; font-size:14px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; }

/* ---------- RESPONSIVE ---------- */
@media (max-width:880px){
  .lp-nav-toggle { display:flex; }
  .lp-nav-links {
    position:absolute; top:calc(100% + 12px); left:0; right:0;
    flex-direction:column; align-items:stretch; gap:8px;
    background:rgba(13,10,26,.97); backdrop-filter:blur(14px);
    border:1px solid rgba(255,255,255,.14); border-radius:20px; padding:16px;
    box-shadow:0 24px 48px -16px rgba(0,0,0,.6); display:none;
  }
  .lp-nav.open .lp-nav-links { display:flex; }
  .lp-nav-links a:not(.lp-btn){ padding:10px 6px; font-size:16px; border-bottom:1px solid rgba(255,255,255,.08); }
  .lp-nav .lp-btn { text-align:center; padding:12px 18px; }
  .lp-dd { display:block; width:100%; }
  .lp-dd-btn { width:100%; justify-content:space-between; padding:10px 6px; font-size:16px; border-bottom:1px solid rgba(255,255,255,.08); }
  .lp-dd-menu { position:static; transform:none; opacity:1; visibility:visible; background:transparent; border:0; box-shadow:none; padding:4px 0 4px 14px; min-width:0; }
  .lp-dd-menu a { font-size:15px; }
  .lp-hero .lp-wrap, .lp-stats-grid, .lp-feat, .lp-pay, .lp-eco-grid, .lp-eco-list, .lp-dev-grid, .lp-uc, .lp-steps, .lp-trust-list, .lp-foot-grid { grid-template-columns:1fr; }
  .lp-uc.flip .lp-uc-text { order:0; }
  .lp-hero-art { max-width:380px; margin:0 auto; }
  .lp-band { padding:40px 24px; }
}

/* =====================================================================
   BEUI-inspired motion enhancements (patterns reimplemented in vanilla CSS/JS)
   ===================================================================== */
/* Tilt cards: 3D perspective + cursor-tracked glare */
.lp-tilt { position:relative; transform-style:preserve-3d; transition:transform .3s cubic-bezier(.22,1,.36,1); will-change:transform; }
.lp-tilt-glare { position:absolute; inset:0; border-radius:inherit; pointer-events:none; opacity:0; z-index:3; mix-blend-mode:overlay; transition:opacity .3s ease;
  background:radial-gradient(circle at var(--gx,50%) var(--gy,50%), rgba(255,255,255,.45), transparent 50%); }
.lp-tilt.is-tilting { transition:transform .08s linear; }
.lp-tilt.is-tilting .lp-tilt-glare { opacity:1; }

/* Spring-press buttons (magnetic pull added via JS on primary CTAs) */
.lp-btn:active { transform:scale(.95); }

/* Pulsing status badges */
.lp-soon::after { content:""; display:inline-block; width:6px; height:6px; margin-left:7px; border-radius:50%; background:currentColor; vertical-align:middle; animation:lp-pulse 1.8s ease-in-out infinite; }
@keyframes lp-pulse { 0%,100%{ opacity:.35; transform:scale(.75);} 50%{ opacity:1; transform:scale(1.2);} }

/* Bouncy FAQ accordion */
.lp-acc-item { border-bottom:1px solid rgba(28,20,48,.1); }
.lp-acc-q { width:100%; text-align:left; background:none; border:0; cursor:pointer; font-family:inherit; font-weight:700; font-size:18px; color:#1c1430; padding:20px 44px 20px 0; position:relative; display:block; }
.lp-acc-q::after { content:""; position:absolute; right:6px; top:23px; width:10px; height:10px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); transition:transform .4s cubic-bezier(.34,1.56,.64,1); }
.lp-acc-item.open .lp-acc-q::after { transform:rotate(-135deg); }
.lp-acc-panel { display:grid; grid-template-rows:1fr; transition:grid-template-rows .42s cubic-bezier(.34,1.56,.64,1); }
.lp-faq.js-acc .lp-acc-panel { grid-template-rows:0fr; }
.lp-faq.js-acc .lp-acc-item.open .lp-acc-panel { grid-template-rows:1fr; }
.lp-acc-panel > div { overflow:hidden; }
.lp-acc-panel p { margin:0 0 20px; }

@media (prefers-reduced-motion: reduce){
  .lp-tilt, .lp-btn:active { transform:none !important; }
  .lp-soon::after { animation:none; }
  .lp-acc-panel { transition:none; }
}
