/* ============================================================
   TikAfrika landing page
   Dark plum hero, hot pink brand, white and lavender sections.
   Headings: Plus Jakarta Sans. Body: Inter. Notes: Caveat.
   ============================================================ */
:root{
  --pink:#ff2d6f;
  --pink-dark:#e8195b;
  --pink-soft:#ffe8ef;
  --ink:#13102b;
  --ink-2:#1d1940;
  --violet:#7c4dff;
  --heading-c:#16142e;
  --text:#3a3854;
  --muted:#6e6b88;
  --line:#ece9f4;
  --lav:#f7f4ff;
  --green:#22c55e;
  --blue:#2f8cff;
  --gold:#f8b400;
  --heading:"Plus Jakarta Sans",Inter,system-ui,sans-serif;
  --hand:"Caveat","Comic Sans MS",cursive;
  --radius:18px;
  --shadow-sm:0 2px 6px rgba(22,20,46,.06);
  --shadow:0 14px 36px -12px rgba(22,20,46,.18);
  --shadow-lg:0 40px 80px -24px rgba(0,0,0,.6);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:80px}
body{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:16px;line-height:1.6;color:var(--text);background:#fff;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img,svg{display:block}
button,input{font:inherit;color:inherit}
:focus-visible{outline:3px solid rgba(255,45,111,.5);outline-offset:2px;border-radius:8px}
h1,h2,h3{font-family:var(--heading);color:var(--heading-c);letter-spacing:-.025em;text-wrap:balance}
.skip{position:absolute;left:-999px;top:8px;z-index:300;padding:8px 14px;border-radius:8px;background:#fff;color:var(--ink)}
.skip:focus{left:8px}
.container{width:100%;max-width:1240px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:0 22px;border:1.5px solid transparent;border-radius:10px;font-family:var(--heading);font-weight:700;font-size:15px;line-height:1;white-space:nowrap;cursor:pointer;transition:background-color .15s,border-color .15s,transform .15s,box-shadow .15s}
.btn-lg{min-height:52px;padding:0 26px;font-size:16px}
.btn-block{width:100%}
.btn-pink{background:var(--pink);color:#fff;box-shadow:0 10px 24px -8px rgba(255,45,111,.7)}
.btn-pink:hover{background:var(--pink-dark);transform:translateY(-1px)}
.btn-ghost{border-color:var(--pink);color:#fff;background:transparent}
.btn-ghost:hover{background:rgba(255,45,111,.12)}

/* ---------- Brand ---------- */
.brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--heading);font-weight:800;font-size:28px;letter-spacing:-.03em;color:#fff}
.brand b{color:var(--pink);font-weight:800}
.brand-mark{color:var(--pink);font-size:26px}

/* ---------- Navbar ---------- */
.navbar{position:fixed;top:0;left:0;right:0;z-index:100;background:transparent;border-bottom:1px solid rgba(255,255,255,.08);transition:background-color .25s,box-shadow .25s}
.navbar.scrolled,.navbar.menu-open{background:rgba(19,16,43,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 8px 24px rgba(0,0,0,.25)}
.navbar-inner{display:flex;align-items:center;gap:24px;height:76px}
.nav-menu{display:flex;align-items:center;gap:34px;margin:0 auto}
.nav-menu > a{position:relative;padding:8px 0;font-size:15px;font-weight:500;color:rgba(255,255,255,.82);transition:color .15s}
.nav-menu > a:hover,.nav-menu > a.active{color:#fff}
.nav-menu > a.active::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:3px;border-radius:3px;background:var(--pink)}
.nav-menu-actions{display:none}
.nav-actions{display:flex;align-items:center;gap:12px}
.nav-toggle{display:none;margin-left:auto;width:44px;height:44px;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:transparent;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.nav-toggle span{display:block;width:18px;height:2px;border-radius:2px;background:#fff;transition:transform .2s,opacity .2s}
.navbar.menu-open .nav-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.navbar.menu-open .nav-toggle span:nth-child(2){opacity:0}
.navbar.menu-open .nav-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;padding:140px 0 150px;color:#fff;background:
  radial-gradient(700px 520px at 78% 72%,rgba(255,45,111,.55),transparent 70%),
  radial-gradient(620px 420px at 100% 0%,rgba(124,77,255,.55),transparent 70%),
  radial-gradient(500px 400px at 0% 100%,rgba(255,45,111,.25),transparent 70%),
  var(--ink)}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);gap:40px;align-items:center}
.pill-badge{display:inline-flex;align-items:center;gap:10px;padding:9px 18px;border:1.5px solid var(--pink);border-radius:999px;background:rgba(255,45,111,.08);color:#ff7aa2;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.hero h1{margin-top:26px;font-size:clamp(44px,5.7vw,78px);line-height:1;font-weight:800;letter-spacing:-.04em;color:#fff}
.h1-white,.h1-pink{display:block}
@media (min-width:1181px){.h1-white,.h1-pink{white-space:nowrap}}
.h1-pink{color:var(--pink)}
.lede{margin-top:24px;max-width:31em;font-size:clamp(17px,1.5vw,20px);line-height:1.55;color:rgba(255,255,255,.86)}
.lede strong{color:#fff}

.claim{display:flex;align-items:center;gap:8px;margin-top:34px;max-width:540px;padding:8px;border-radius:14px;background:#fff;box-shadow:0 20px 40px -16px rgba(0,0,0,.5)}
.claim-host{padding:0 6px 0 14px;font-weight:600;font-size:17px;color:var(--heading-c);white-space:nowrap}
.claim input{flex:1;min-width:0;height:50px;padding:0 14px;border:1px solid var(--line);border-radius:10px;outline:none;background:#fbfaff;font-size:16px;font-weight:500;color:var(--heading-c)}
.claim input:focus{border-color:var(--pink);background:#fff}
.claim input::placeholder{color:#aaa7bf}
.hero-checks{display:flex;flex-wrap:wrap;gap:12px 26px;margin-top:24px;list-style:none;font-size:14.5px;font-weight:500}
.hero-checks i{margin-right:8px;color:var(--pink);background:#fff;border-radius:50%;font-size:17px}

.hero-wave{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:90px;z-index:1}

/* ---------- Hero devices ---------- */
.hero-devices{position:relative;height:560px}
.mock{position:absolute;width:236px;height:auto;filter:drop-shadow(0 34px 40px rgba(0,0,0,.55))}
.mock-page{left:0;top:40px;z-index:2;transform:rotate(-5deg)}
.mock-gift{left:30%;top:70px;z-index:3;transform:rotate(1deg)}
.mock-live{right:-2%;top:0;z-index:1;transform:rotate(6deg)}

/* Handwritten notes */
.note{position:absolute;z-index:4;font-family:var(--hand);font-size:26px;line-height:1.05;color:#fff;transform:rotate(-6deg)}
.note-page{left:24%;top:-18px}
.note-live{right:-2%;bottom:6px;transform:rotate(-4deg)}
.note-arrow{position:absolute;z-index:4;color:var(--pink)}
.note-arrow-page{left:41%;top:36px;width:52px}
.note-arrow-live{right:20%;bottom:44px;width:40px}

/* ---------- Feature strip ---------- */
.features{padding:6px 0 34px}
.features-row{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;padding-bottom:34px;border-bottom:1px solid var(--line)}
.feature{display:flex;align-items:center;gap:14px}
.feature b{display:block;font-family:var(--heading);font-size:16px;color:var(--heading-c)}
.feature small{display:block;font-size:13.5px;color:var(--muted);line-height:1.4}
.f-ico{width:52px;height:52px;flex:0 0 52px;display:grid;place-items:center;border-radius:50%;color:#fff;font-size:20px}
.f-pink{background:linear-gradient(135deg,#ff5f8f,#ff2d6f)}
.f-violet{background:linear-gradient(135deg,#9a7bff,#6b46ff)}
.f-green{background:linear-gradient(135deg,#4ade80,#16a34a)}
.f-blue{background:linear-gradient(135deg,#5aa8ff,#1f6fff)}
.f-gold{background:linear-gradient(135deg,#ffd04d,#f59e0b)}

/* ---------- Popular gifts ---------- */
.gifts{padding:20px 0 80px}
.gifts-row{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);gap:32px;align-items:center}
.gifts-intro h2{font-size:clamp(28px,3vw,38px);font-weight:800}
.gifts-intro p{margin-top:8px;font-size:17px;color:var(--muted)}
.gift-cards{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.gift-card{display:flex;flex-direction:column;align-items:center;padding:18px 8px 16px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s}
.gift-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.gift-emoji{font-size:46px;line-height:1.15}
.gift-img{width:54px;height:54px;object-fit:contain}
.gift-card b{margin-top:8px;font-family:var(--heading);font-size:15px;color:var(--heading-c)}
.gift-card small{font-size:14px;color:var(--text)}

/* ---------- Sections ---------- */
.section{padding:88px 0}
.section-lav{background:linear-gradient(180deg,#f1eaff 0%,#f8f4ff 55%,#fdf2f7 100%)}
.section-head{max-width:640px;margin:0 auto 52px;text-align:center}
.section-head h2,.split-copy h2,.money-col h2{font-size:clamp(30px,3.4vw,42px);font-weight:800;line-height:1.15}
.section-head p{margin-top:10px;font-size:17px;color:var(--muted)}
.sub{margin-top:8px;font-size:17px;color:var(--muted)}

/* Steps */
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;text-align:center}
.steps li{position:relative;padding:0 8px}
.steps li + li::before{content:"";position:absolute;top:34px;left:-26px;width:24px;height:2px;background:var(--pink)}
.steps li + li::after{content:"";position:absolute;top:30px;left:-8px;width:8px;height:8px;border-top:2px solid var(--pink);border-right:2px solid var(--pink);transform:rotate(45deg)}
.step-ico{width:70px;height:70px;margin:0 auto;display:grid;place-items:center;border-radius:50%;color:#fff;font-size:26px;box-shadow:0 14px 26px -10px rgba(22,20,46,.4)}
.steps h3{margin-top:20px;font-size:18px;font-weight:700}
.steps p{margin-top:8px;font-size:15px;color:var(--muted)}

/* Split rows */
.split-row{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:center}
.split-reverse{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.ticks{list-style:none;display:grid;gap:12px;margin-top:24px}
.ticks li{position:relative;padding-left:32px;font-size:16px;color:var(--text)}
.ticks li::before{content:"";position:absolute;left:0;top:2px;width:21px;height:21px;border-radius:50%;background:var(--pink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-6.5' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}
.split-copy .btn{margin-top:30px}

/* Laptop mock */
.laptop{position:relative;max-width:660px;justify-self:end;width:100%}
.laptop-screen{padding:12px 12px 14px;border-radius:20px 20px 0 0;background:#0b0918;box-shadow:inset 0 0 0 1.5px #2b2747,var(--shadow-lg)}
.laptop-screen img{display:block;width:100%;height:auto;border-radius:8px}
.laptop-base{position:relative;height:18px;margin:0 -4%;border-radius:2px 2px 16px 16px;background:linear-gradient(180deg,#e2e0ea 0%,#b4b1c4 60%,#8e8aa3 100%)}
.laptop-base::before{content:"";position:absolute;top:0;left:50%;width:18%;height:6px;transform:translateX(-50%);border-radius:0 0 8px 8px;background:#9e9ab2}

/* Overlay section visual */
.overlay-visual{position:relative;display:flex;justify-content:center}
.overlay-visual::before{content:"";position:absolute;inset:8% 10%;border-radius:50%;background:radial-gradient(closest-side,rgba(255,45,111,.35),rgba(124,77,255,.25),transparent);filter:blur(30px)}
.overlay-visual img{position:relative;width:min(330px,80%);height:auto;filter:drop-shadow(0 30px 40px rgba(22,20,46,.35))}

/* Money */
.money-row{display:grid;grid-template-columns:1fr minmax(280px,.8fr) 1fr;gap:40px;align-items:start}
.money-col h2{font-size:clamp(26px,2.6vw,32px)}
.money-card{padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}
.money-card h3{font-size:17px;font-weight:700}
.money-card dl{margin-top:12px}
.money-card dl div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px}
.money-card dt{color:var(--muted)}
.money-card dd{font-weight:600;color:var(--heading-c);font-variant-numeric:tabular-nums}
.money-card .total{border-bottom:0}
.money-card .total dt,.money-card .total dd{font-weight:800;color:var(--heading-c);font-size:16.5px}
.money-note{display:flex;gap:10px;margin-top:10px;padding:12px 14px;border-radius:12px;background:var(--pink-soft);color:#c2124d;font-size:13.5px;line-height:1.45}
.money-note i{margin-top:2px}

/* Facts band */
.facts{background:
  radial-gradient(600px 200px at 20% 50%,rgba(255,45,111,.35),transparent 70%),
  radial-gradient(600px 200px at 85% 50%,rgba(124,77,255,.4),transparent 70%),
  var(--ink);color:#fff}
.facts-row{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.facts b{display:block;font-family:var(--heading);font-size:clamp(30px,3.2vw,42px);font-weight:800;letter-spacing:-.03em}
.facts span{display:block;margin-top:2px;font-size:15px;color:rgba(255,255,255,.8)}

/* FAQ */
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.faq-col{border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-sm);overflow:hidden;align-self:start}
.faq-col details + details{border-top:1px solid var(--line)}
.faq-col summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;cursor:pointer;list-style:none;font-weight:600;color:var(--heading-c)}
.faq-col summary::-webkit-details-marker{display:none}
.faq-col summary::after{content:"+";flex:0 0 auto;color:var(--pink);font-size:22px;font-weight:600;line-height:1;transition:transform .2s}
.faq-col details[open] summary::after{transform:rotate(45deg)}
.faq-col details p{padding:0 22px 18px;font-size:15px;color:var(--muted)}

/* CTA */
.cta{background:
  radial-gradient(500px 240px at 0% 100%,rgba(255,45,111,.5),transparent 70%),
  radial-gradient(500px 240px at 100% 0%,rgba(124,77,255,.5),transparent 70%),
  var(--ink);color:#fff}
.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:32px}
.cta-copy{display:flex;align-items:center;gap:20px}
.cta-gift{font-size:54px;transform:rotate(-12deg)}
.cta h2{color:#fff;font-size:clamp(24px,2.8vw,34px);font-weight:800}
.cta p{margin-top:4px;color:rgba(255,255,255,.82)}
.cta .claim{margin-top:0;flex:0 1 500px}

/* Footer */
.footer{color:rgba(255,255,255,.7);font-size:14.5px}
.footer-row{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-top:34px;padding-bottom:26px;border-bottom:1px solid rgba(255,255,255,.08)}
.footer .brand{font-size:24px}
.footer-nav{display:flex;flex-wrap:wrap;gap:8px 28px}
.footer-nav a:hover{color:#fff}
.footer-pay i{margin-right:6px;color:var(--pink)}
.footer-bottom{padding-top:20px;padding-bottom:26px;text-align:center;font-size:13.5px;color:rgba(255,255,255,.5)}

/* ---------- Curved dividers and background patterns ---------- */
.section-curved,.facts,.cta{position:relative;overflow:hidden}
.divider{position:absolute;left:0;width:100%;height:70px;z-index:1;pointer-events:none}
.divider path{fill:#fff}
.divider-top{top:-1px}
.divider-bottom{bottom:-1px}
.section-curved{padding:140px 0 150px}
.section-curved > .container,.facts > .container,.cta > .container{position:relative;z-index:2}

/* Lavender sections: soft glows plus faint flowing lines */
.section-lav::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1440' height='600' viewBox='0 0 1440 600' fill='none' stroke='%237c4dff' stroke-width='1.4'%3E%3Cpath stroke-opacity='.10' d='M-20 380C240 250 420 470 720 360S1180 160 1460 260'/%3E%3Cpath stroke-opacity='.08' d='M-20 420C240 290 420 510 720 400S1180 200 1460 300'/%3E%3Cpath stroke-opacity='.06' d='M-20 460C240 330 420 550 720 440S1180 240 1460 340'/%3E%3Cpath stroke='%23ff2d6f' stroke-opacity='.08' d='M-20 180C300 80 520 260 820 170S1240 60 1460 120'/%3E%3Cpath stroke='%23ff2d6f' stroke-opacity='.05' d='M-20 220C300 120 520 300 820 210S1240 100 1460 160'/%3E%3C/svg%3E") center/cover no-repeat,
  radial-gradient(420px 300px at 6% 20%,rgba(255,45,111,.10),transparent 70%),
  radial-gradient(460px 320px at 96% 80%,rgba(124,77,255,.12),transparent 70%)}
.section-lav{position:relative}
.section-lav > .container{position:relative;z-index:2}

/* White sections: a faint dot grid in one corner */
.section-dots{position:relative;overflow:hidden}
.section-dots::before{content:"";position:absolute;top:40px;right:-40px;width:340px;height:260px;z-index:0;pointer-events:none;background-image:radial-gradient(rgba(124,77,255,.22) 1.4px,transparent 1.6px);background-size:18px 18px;-webkit-mask-image:radial-gradient(closest-side,#000 40%,transparent);mask-image:radial-gradient(closest-side,#000 40%,transparent)}
.section-dots-left::before{right:auto;left:-60px;top:auto;bottom:40px;background-image:radial-gradient(rgba(255,45,111,.2) 1.4px,transparent 1.6px)}
.section-dots > .container{position:relative;z-index:1}

/* Facts band sits between two curves */
.facts{padding:120px 0}

/* CTA + footer read as one dark block with a curved top */
.cta{padding:130px 0 64px}
.cta-ribbon{position:absolute;left:-80px;bottom:-60px;width:360px;height:220px;z-index:1;border-radius:50%;border:26px solid rgba(255,45,111,.35);transform:rotate(-18deg);filter:blur(1px)}
.footer{position:relative;background:var(--ink)}
.footer::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent)}

/* ============================================================
   Inner marketing pages
   ============================================================ */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.f-red{background:linear-gradient(135deg,#ff6b6b,#e11d48)}
.section-tight{padding:40px 0 88px}
.btn-outline-light{border-color:rgba(255,255,255,.55);color:#fff;background:transparent}
.btn-outline-light:hover{background:rgba(255,255,255,.1);border-color:#fff}
.footer-nav a.active{color:#fff}

/* Page hero: same look as the home hero, a little shorter */
.page-hero{padding:132px 0 130px}
.page-hero .hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:400px}
.page-hero h1{font-size:clamp(40px,5.2vw,68px)}
.page-hero-visual{position:relative;display:flex;justify-content:center;align-items:center;min-height:380px}
.hero-points{list-style:none;display:flex;flex-wrap:wrap;gap:18px 28px;margin-top:30px}
.hero-points li{display:flex;align-items:center;gap:12px}
.hero-points li > span{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border-radius:50%;border:1.5px solid var(--pink);color:var(--pink);font-size:17px}
.hero-points b{display:block;font-size:14.5px;color:#fff}
.hero-points small{display:block;font-size:13px;color:rgba(255,255,255,.7)}

/* Hero visuals */
.hv-phones{position:relative;width:100%;max-width:520px;height:480px}
.hv-phones .mock{width:220px}
.mock-a{left:4%;top:20px;z-index:2;transform:rotate(-6deg)}
.mock-b{right:4%;top:50px;z-index:3;transform:rotate(4deg)}
.note-hv{left:30%;top:-44px;transform:rotate(-6deg)}
.hv-giftbox{position:relative;width:100%;max-width:560px}
.hv-giftbox-img{width:100%;height:auto;filter:drop-shadow(0 30px 40px rgba(0,0,0,.45))}
.hv-heart{position:absolute;font-size:34px;filter:drop-shadow(0 6px 12px rgba(255,45,111,.5))}
.hv-heart-1{left:2%;top:4%}
.hv-heart-2{right:6%;bottom:0}
.hv-payment{position:relative;width:100%;max-width:470px}
.hv-payment-img{width:100%;height:auto;filter:drop-shadow(0 30px 40px rgba(0,0,0,.5))}
.note-pay{right:0;top:-58px;transform:rotate(6deg)}
.hv-faq{position:relative;width:100%;max-width:460px;min-height:340px}
.faq-bubble{position:absolute;display:flex;align-items:center;gap:10px;max-width:300px;padding:16px 18px;border-radius:20px;font-weight:600;font-size:15.5px;line-height:1.35;box-shadow:0 20px 40px -14px rgba(0,0,0,.5)}
.faq-bubble i{font-size:20px}
.faq-bubble-q{left:0;top:30px;background:#fff;color:var(--heading-c);border-bottom-left-radius:6px}
.faq-bubble-q i{color:var(--violet)}
.faq-bubble-a{right:0;top:118px;background:var(--pink);color:#fff;border-bottom-right-radius:6px}
.hv-faq-img{position:absolute;left:26%;bottom:-6px;width:140px;height:auto;filter:drop-shadow(0 20px 30px rgba(0,0,0,.45))}

/* Section heading with an icon */
.icon-head{display:flex;align-items:center;gap:18px;margin-bottom:34px;flex-wrap:wrap}
.icon-head h2{font-size:clamp(26px,3vw,36px);font-weight:800;line-height:1.15}
.icon-head p{margin-top:4px;color:var(--muted);font-size:16.5px;max-width:46ch}
.icon-head .btn{margin-left:auto}
.icon-head > div{flex:1;min-width:200px}
.icon-head .btn{flex:0 0 auto}
.icon-head-stack{flex-direction:column;align-items:flex-start;margin:0}
.icon-head-stack > div{flex:none}
.icon-head-ico{width:58px;height:58px;flex:0 0 58px;display:inline-grid;place-items:center;border-radius:50%;color:#fff;font-size:22px;box-shadow:0 12px 24px -10px rgba(22,20,46,.45)}
.icon-title{display:flex;align-items:center;gap:16px}

/* Feature cards */
.feature-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.feature-card{display:flex;gap:14px;padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s}
.feature-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.fc-ico{width:46px;height:46px;flex:0 0 46px;display:grid;place-items:center;border-radius:13px;color:#fff;font-size:18px}
.feature-card h3{font-size:16px;font-weight:700}
.feature-card p{margin-top:6px;font-size:14.5px;color:var(--muted);line-height:1.5}

/* Numbered cards */
.fans-row{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,2fr);gap:36px;align-items:center}
.fans-row .icon-head h2{margin-top:14px}
.num-cards{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.num-cards li{padding:22px 20px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-sm)}
.num{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--pink);color:#fff;font-family:var(--heading);font-weight:800;font-size:14px;box-shadow:0 6px 14px -4px rgba(255,45,111,.6)}
.num-cards h3{margin-top:14px;font-size:16px;font-weight:700}
.num-cards p{margin-top:6px;font-size:14.5px;color:var(--muted);line-height:1.5}
.num-cards-compact{margin-top:26px}
.num-cards-compact li{padding:18px 16px}

/* LIVE stack */
.live-stack{position:relative;display:flex;justify-content:center;padding-bottom:40px}
.live-stack-phone{width:min(420px,90%);height:auto;border-radius:24px;filter:drop-shadow(0 30px 40px rgba(22,20,46,.35))}
.live-stack-alerts{position:absolute;right:-2%;bottom:0;width:min(300px,62%);height:auto;filter:drop-shadow(0 20px 30px rgba(22,20,46,.4))}

/* Trust cards */
.trust-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.trust-card{padding:30px 26px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow-sm);text-align:center}
.trust-card img{width:84px;height:84px;object-fit:contain;margin:0 auto}
.trust-card h3{margin-top:16px;font-size:18px;font-weight:700}
.trust-card p{margin-top:8px;font-size:15px;color:var(--muted)}

/* Gift prices: collection */
.collection-head{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:30px}
.collection-head .icon-head{margin:0}
.momo-pill{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;border-radius:999px;background:var(--pink);color:#fff;font-weight:600;font-size:14px;box-shadow:0 10px 22px -10px rgba(255,45,111,.8)}
.price-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px}
.price-card{display:flex;flex-direction:column;align-items:center;padding:22px 16px 18px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow-sm);text-align:center;transition:transform .2s,box-shadow .2s}
.price-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.price-art{display:grid;place-items:center;width:100%;height:110px}
.price-art img{max-width:120px;max-height:104px;object-fit:contain}
.price-emoji{font-size:64px;line-height:1}
.price-card h3{margin-top:12px;font-size:17px;font-weight:700}
.price-amount{margin-top:2px;font-family:var(--heading);font-weight:800;font-size:22px;color:var(--heading-c)}
.price-share{width:100%;margin-top:14px;padding:10px;border-radius:12px;background:#fff1f5;font-size:13px;color:var(--muted)}
.price-share b{color:var(--pink)}
.price-share small{display:block;font-size:11.5px;margin-top:2px}

/* Gift prices: payment flow */
.pay-flow{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:44px;align-items:center}
.pay-flow-art{display:flex;justify-content:center}
.pay-flow-art img{width:100%;max-width:400px;height:auto;filter:drop-shadow(0 30px 40px rgba(22,20,46,.3))}
.pay-flow h2{font-size:clamp(26px,3vw,36px);font-weight:800}
.info-note{display:flex;gap:12px;align-items:flex-start;margin-top:22px;padding:16px 18px;border-radius:16px;background:rgba(255,255,255,.75);border:1px solid var(--line);color:var(--text);font-size:14.5px;line-height:1.5}
.info-note i{margin-top:3px;color:var(--pink)}

/* Dark commission panel */
.dark-panel{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:20px;padding:22px;border-radius:26px;background:
  radial-gradient(500px 200px at 0% 100%,rgba(255,45,111,.35),transparent 70%),
  radial-gradient(500px 220px at 100% 0%,rgba(124,77,255,.35),transparent 70%),var(--ink);color:#fff;box-shadow:var(--shadow-lg)}
.dark-panel-card{padding:24px 26px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.04)}
.dp-head{display:flex;align-items:center;gap:14px}
.dp-head h3{color:#fff;font-size:19px;font-weight:700}
.dp-ico{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;border:1.5px solid var(--pink);color:var(--pink)}
.dp-rate{display:flex;align-items:center;gap:20px;margin-top:18px}
.dp-rate strong{font-family:var(--heading);font-size:64px;font-weight:800;line-height:1;color:var(--pink);letter-spacing:-.03em}
.dp-rate span{font-weight:600}
.dp-rate small{display:block;margin-top:6px;font-weight:400;font-size:13.5px;color:rgba(255,255,255,.7)}
.dp-split{display:grid;grid-template-columns:repeat(3,1fr);margin-top:20px;border-top:1px solid rgba(255,255,255,.12)}
.dp-split div{padding:16px 14px 4px 0}
.dp-split div + div{padding-left:16px;border-left:1px solid rgba(255,255,255,.12)}
.dp-split b{display:block;font-family:var(--heading);font-size:22px;font-weight:800}
.dp-split b.pink{color:var(--pink)}
.dp-split span{display:block;margin-top:4px;font-size:13px;color:rgba(255,255,255,.72)}

/* Value panel */
.value-panel{position:relative;display:grid;grid-template-columns:270px minmax(0,1fr) 300px;gap:30px;align-items:center;padding:0 30px 0 0;border-radius:26px;background:linear-gradient(120deg,#ffe3ef 0%,#f3e8ff 100%);overflow:hidden}
.value-art{align-self:end;width:100%;height:auto;margin-top:20px}
.value-copy h2{font-size:clamp(24px,2.6vw,32px);font-weight:800}
.value-copy p{margin-top:10px;color:var(--text)}
.value-copy .btn{margin-top:20px}
.value-example{margin:24px 0;padding:20px 22px;border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}
.value-example dt{font-weight:700;color:var(--heading-c)}
.value-example .ve-title{margin:10px 0 6px;font-family:var(--heading);font-weight:800;color:var(--heading-c)}
.value-example dd{display:flex;justify-content:space-between;gap:10px;padding:6px 0;font-size:14.5px}
.value-example dd b{color:var(--heading-c);font-variant-numeric:tabular-nums}

/* How it works: step rows */
.step-rows{display:grid;gap:80px}
.step-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;align-items:center}
.step-row-flip .step-row-copy{order:2}
.step-num{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;color:#fff;font-family:var(--heading);font-weight:800;font-size:22px;box-shadow:0 12px 24px -10px rgba(22,20,46,.45)}
.step-row h3{margin-top:18px;font-size:clamp(24px,2.6vw,32px);font-weight:800}
.step-row-copy > p{margin-top:10px;font-size:17px;color:var(--muted);max-width:34em}
.step-row-art{position:relative;display:flex;justify-content:center;padding:30px 0}
.step-row-art::before{content:"";position:absolute;inset:6% 12%;border-radius:40px;background:linear-gradient(135deg,#ffe3ef,#efe6ff);transform:rotate(-4deg);z-index:0}
.step-phone{position:relative;z-index:1;width:min(250px,70%);height:auto;filter:drop-shadow(0 30px 40px rgba(22,20,46,.35))}
.bio-card{position:relative;z-index:1;width:min(330px,90%);padding:22px;border-radius:24px;background:#fff;box-shadow:var(--shadow-lg)}
.bio-top{display:flex;align-items:center;gap:16px}
.bio-avatar{width:70px;height:70px;flex:0 0 70px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#ffb36b,#ff2d6f);color:#fff;font-family:var(--heading);font-weight:800;font-size:22px}
.bio-stats{display:flex;flex:1;justify-content:space-around;text-align:center;font-size:12px;color:var(--muted)}
.bio-stats b{display:block;font-family:var(--heading);font-size:16px;color:var(--heading-c)}
.bio-name{display:block;margin-top:14px;font-family:var(--heading);font-size:17px;color:var(--heading-c)}
.bio-text{margin-top:4px;font-size:14px;color:var(--text)}
.bio-link{display:inline-flex;align-items:center;gap:8px;margin-top:10px;padding:8px 14px;border-radius:999px;background:var(--pink-soft);color:var(--pink);font-weight:700;font-size:14px;outline:2px dashed rgba(255,45,111,.45);outline-offset:4px}
.bio-tap{position:absolute;left:160px;bottom:-14px;font-size:34px;color:var(--heading-c);transform:rotate(-12deg);filter:drop-shadow(0 6px 10px rgba(0,0,0,.25))}
.wallet-card{position:relative;z-index:1;width:min(330px,90%);padding:24px;border-radius:24px;background:var(--ink);color:#fff;box-shadow:var(--shadow-lg)}
.wc-head{display:flex;justify-content:space-between;align-items:center;font-weight:700}
.wc-head i{color:var(--pink);margin-right:6px}
.wc-badge{padding:4px 10px;border-radius:999px;background:#ffcb05;color:#1b1b1b;font-size:12px;font-weight:800}
.wallet-card small{display:block;margin-top:18px;font-size:13px;color:rgba(255,255,255,.7)}
.wallet-card strong{display:block;font-family:var(--heading);font-size:34px;font-weight:800}
.wc-row{display:flex;justify-content:space-between;margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.12);font-size:14px;color:rgba(255,255,255,.8)}
.wc-btn{margin-top:16px;padding:12px;border-radius:12px;background:var(--pink);text-align:center;font-weight:700}
.wc-done{margin-top:12px;font-size:13px;color:#86efac}
.wc-coins{position:absolute;z-index:2;right:4%;bottom:0;width:120px;height:auto;filter:drop-shadow(0 14px 20px rgba(0,0,0,.3))}

/* LIVE mini steps */
.mini-steps{list-style:none;counter-reset:ms;display:grid;gap:16px;margin-top:24px}
.mini-steps li{position:relative;padding-left:48px;counter-increment:ms}
.mini-steps li::before{content:counter(ms);position:absolute;left:0;top:0;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--violet);color:#fff;font-family:var(--heading);font-weight:800;font-size:14px}
.mini-steps b{display:block;color:var(--heading-c);font-size:16.5px}
.mini-steps span{display:block;margin-top:2px;color:var(--muted);font-size:15px}
.alerts-art{display:flex;justify-content:center;padding:30px;border-radius:30px;background:radial-gradient(closest-side,rgba(124,77,255,.25),transparent),linear-gradient(135deg,#1d1940,#13102b);box-shadow:var(--shadow-lg)}
.alerts-art img{width:100%;max-width:420px;height:auto}

/* FAQ page */
.faq-search{position:relative;max-width:520px;margin-top:30px}
.faq-search i{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:var(--muted)}
.faq-search input{width:100%;height:56px;padding:0 18px 0 48px;border:0;border-radius:14px;background:#fff;color:var(--heading-c);font-size:16px;outline:none;box-shadow:0 20px 40px -16px rgba(0,0,0,.5)}
.faq-search input:focus{box-shadow:0 0 0 4px rgba(255,45,111,.35),0 20px 40px -16px rgba(0,0,0,.5)}
.faq-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:40px;align-items:start}
.faq-nav{position:sticky;top:100px;display:grid;gap:6px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-sm)}
.faq-nav a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;font-weight:600;color:var(--text);transition:background-color .15s,color .15s}
.faq-nav a i{width:18px;color:var(--pink)}
.faq-nav a:hover{background:var(--pink-soft);color:var(--heading-c)}
.faq-groups{display:grid;gap:40px}
.faq-group{scroll-margin-top:100px}
.faq-group h2{display:flex;align-items:center;gap:14px;margin-bottom:16px;font-size:24px;font-weight:800}
.faq-group h2 .icon-head-ico{width:44px;height:44px;flex-basis:44px;font-size:17px}
.faq-group .faq-col{align-self:auto}
.faq-empty{padding:20px;border-radius:16px;background:var(--lav);color:var(--text)}
.faq-more{display:flex;align-items:center;gap:22px;padding:24px 28px;border-radius:24px;background:linear-gradient(120deg,#ffe3ef 0%,#f3e8ff 100%)}
.faq-more img{width:92px;height:auto}
.faq-more h3{font-size:20px;font-weight:800}
.faq-more p{margin-top:4px;color:var(--text)}
.faq-more .btn{margin-left:auto}

/* CTA with two buttons */
.cta-actions{display:flex;gap:14px;flex-wrap:wrap}
.cta-gift img{width:72px;height:auto;filter:drop-shadow(0 10px 20px rgba(0,0,0,.4))}

/* ---------- Motion ---------- */
@media (prefers-reduced-motion:no-preference){
  /* Hero: one staggered load-in */
  .hero-copy > *{animation:hero-in .8s cubic-bezier(.2,.7,.2,1) both}
  .hero-copy > :nth-child(1){animation-delay:.05s}
  .hero-copy > :nth-child(2){animation-delay:.15s}
  .hero-copy > :nth-child(3){animation-delay:.28s}
  .hero-copy > :nth-child(4){animation-delay:.4s}
  .hero-copy > :nth-child(5){animation-delay:.5s}
  .navbar{animation:nav-in .6s ease both}

  /* Phones rise in, then float gently */
  .mock{animation:mock-in .9s cubic-bezier(.2,.7,.2,1) both,mock-float 6s ease-in-out infinite}
  .mock-page{animation-delay:.25s,1.2s}
  .mock-gift{animation-delay:.4s,2s}
  .mock-live{animation-delay:.55s,1.6s}
  .mock-a{animation-delay:.25s,1.3s}
  .mock-b{animation-delay:.45s,2s}
  .hv-giftbox-img,.hv-payment-img,.hv-faq-img{animation:mock-in .9s cubic-bezier(.2,.7,.2,1) both,mock-float 6s ease-in-out 1.2s infinite}
  .faq-bubble{animation:hero-in .7s cubic-bezier(.2,.7,.2,1) both}
  .faq-bubble-q{animation-delay:.35s}
  .faq-bubble-a{animation-delay:.75s}
  .hv-heart{animation:mock-float 4s ease-in-out infinite}
  .hv-heart-2{animation-delay:1s}
  .note,.note-arrow{animation:fade-in .7s ease both;animation-delay:1.1s}

  /* Scroll reveal (only once the script marks the page ready) */
  .reveal-ready [data-reveal]{opacity:0;transition:opacity .7s ease,transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0ms)}
  .reveal-ready [data-reveal="up"]{transform:translateY(28px)}
  .reveal-ready [data-reveal="left"]{transform:translateX(-36px)}
  .reveal-ready [data-reveal="right"]{transform:translateX(36px)}
  .reveal-ready [data-reveal="zoom"]{transform:translateY(16px) scale(.92)}
  .reveal-ready [data-reveal].in{opacity:1;transform:none}
  .reveal-ready .gift-card.in{transition:opacity .6s ease,transform .6s cubic-bezier(.3,1.5,.5,1),box-shadow .2s;transition-delay:var(--d,0ms),var(--d,0ms),0s}
  .reveal-ready .gift-card.in:hover{transform:translateY(-4px);transition-delay:0s}

  /* Step icons pop once they appear */
  .reveal-ready .steps li.in .step-ico{animation:pop .6s cubic-bezier(.3,1.6,.5,1) both;animation-delay:calc(var(--d,0ms) + .15s)}
}
@keyframes hero-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes fade-in{from{opacity:0}to{opacity:1}}
@keyframes nav-in{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
@keyframes mock-in{from{opacity:0;translate:0 60px}to{opacity:1;translate:0 0}}
@keyframes mock-float{0%,100%{translate:0 0}50%{translate:0 -10px}}
@keyframes pop{0%{transform:scale(.6)}100%{transform:scale(1)}}

/* ---------- Responsive ---------- */
@media (max-width:1180px){
  .feature-cards{grid-template-columns:repeat(2,1fr)}
  .fans-row{grid-template-columns:1fr}
  .value-panel{grid-template-columns:220px minmax(0,1fr)}
  .value-example{grid-column:1/-1;margin:0 0 24px 24px}

  .hero-devices{transform:scale(.88);transform-origin:left center}
  .gifts-row{grid-template-columns:1fr}
  .features-row{grid-template-columns:repeat(3,1fr)}
  .money-row{grid-template-columns:1fr 1fr}
  .money-card{grid-column:1/-1;order:3;max-width:520px}
}
@media (max-width:980px){
  .page-hero{padding:112px 0 100px}
  .page-hero .hero-grid{grid-template-columns:1fr;min-height:0}
  .page-hero-visual{min-height:0}
  .num-cards{grid-template-columns:1fr 1fr}
  .pay-flow{grid-template-columns:1fr}
  .dark-panel{grid-template-columns:1fr}
  .step-row{grid-template-columns:1fr;gap:20px}
  .step-row-flip .step-row-copy{order:0}
  .step-rows{gap:60px}
  .trust-cards{grid-template-columns:1fr}
  .faq-layout{grid-template-columns:1fr}
  .faq-nav{position:static;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
  .hv-phones{height:420px}

  .nav-menu{position:absolute;top:76px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:8px max(20px,env(safe-area-inset-right,0px)) 22px max(20px,env(safe-area-inset-left,0px));background:rgba(19,16,43,.98);border-top:1px solid rgba(255,255,255,.08);display:none}
  .navbar.menu-open .nav-menu{display:flex}
  .nav-menu > a{padding:15px 4px;border-bottom:1px solid rgba(255,255,255,.08);font-size:16px}
  .nav-menu > a.active::after{display:none}
  .nav-menu-actions{display:grid;gap:10px;margin-top:18px}
  .nav-actions{display:none}
  .nav-toggle{display:flex}
  .hero{padding:118px 0 120px}
  .hero-grid{grid-template-columns:1fr;gap:56px}
  .hero-devices{transform:none;height:540px;max-width:540px;width:100%;margin:0 auto}
  .mock-live,.note-live,.note-arrow-live{display:none}
  .mock-page{left:4%}
  .mock-gift{left:auto;right:4%}
  .note-page{left:auto;right:4%;top:-30px}
  .note-arrow-page{display:none}
  .split-row,.split-reverse{grid-template-columns:1fr;gap:44px}
  .laptop{justify-self:center}
  .steps{grid-template-columns:1fr 1fr;row-gap:44px}
  .steps li + li::before,.steps li + li::after{display:none}
  .facts-row{grid-template-columns:1fr 1fr;row-gap:28px}
  .faq-grid{grid-template-columns:1fr}
  .cta-inner{flex-direction:column;align-items:stretch;text-align:left}
  .cta .claim{flex-basis:auto}
  .section{padding:72px 0}
  .section-curved{padding:110px 0 120px}
  .divider{height:44px}
  .facts{padding:84px 0}
  .cta{padding:96px 0 52px}
}
@media (max-width:640px){
  .price-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .price-card{padding:16px 10px 12px}
  .price-art{height:84px}
  .price-art img{max-width:92px;max-height:80px}
  .price-amount{font-size:19px}
  .price-share{font-size:12px;padding:8px 6px}
  .icon-head-ico{width:48px;height:48px;flex-basis:48px;font-size:19px}
  .feature-cards,.num-cards{grid-template-columns:1fr}
  .icon-head .btn{margin-left:0}
  .hv-phones{height:360px}
  .hv-phones .mock{width:170px}
  .note-hv,.note-pay{display:none}
  .dp-split{grid-template-columns:1fr}
  .dp-split div + div{padding-left:0;border-left:0;border-top:1px solid rgba(255,255,255,.12)}
  .value-panel{grid-template-columns:1fr;padding:24px 20px 0}
  .value-art{order:3;max-width:240px;margin:0 auto}
  .value-example{margin:0}
  .faq-more{flex-direction:column;align-items:flex-start}
  .faq-more .btn{margin-left:0}
  .hv-faq{min-height:280px}
  .faq-bubble{font-size:14px;max-width:240px}
  .faq-bubble-a{top:120px}

  .brand{font-size:24px}
  .hero h1{font-size:44px}
  .claim{flex-wrap:wrap}
  .claim-host{padding-left:8px}
  .claim input{min-width:140px}
  .claim .btn{width:100%}
  .hero-devices{height:440px}
  .mock{width:196px}
  .mock-page{left:-1%;top:20px}
  .mock-gift{right:-1%;top:46px}
  .note-page{display:none}
  .features-row{grid-template-columns:1fr 1fr;gap:22px 16px}
  .gift-cards{grid-template-columns:repeat(3,1fr);gap:10px}
  .steps{grid-template-columns:1fr}
  .money-row{grid-template-columns:1fr}
  .footer-row{flex-direction:column;align-items:flex-start}
}
@media (max-width:420px){
  .hero-devices{height:390px}
  .mock{width:170px}
  .features-row{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
