/* ============================================================
   REMITTY — V1 BRAND BOLD
   Satoshi · full-bleed lime · chunky offset shadows · snappy
   ============================================================ */

:root{
  /* ---- locked brand palette ---- */
  --ink:#0e1810;          /* near-black forest */
  --lime:#d9ee51;         /* signature chartreuse */
  --lime-deep:#bfe23a;
  --logo-green:#73bf44;
  --mint:#60dd7a;
  --forest:#163a2e;
  --forest-mid:#1d503f;
  --blue:#5c94ff;
  --bg:#ffffff;
  --surface:#fafafa;
  --tint:#f0f9e7;
  --border:#e7e8e7;
  --text:#3f4640;
  --muted:#5f645f;  /* darkened from #878b87 for WCAG AA (~4.6:1 on white) */

  /* ---- type ---- */
  --font:'Satoshi',system-ui,sans-serif;
  --mono:'JetBrains Mono',monospace;
  --display:clamp(2.9rem,7vw,6rem);
  --h2:clamp(2rem,4.4vw,3.6rem);

  /* ---- shape ---- */
  --container:1296px;
  --radius:18px;
  --radius-lg:28px;
  --shadow-hard:6px 6px 0 var(--ink);
  --shadow-soft:0 18px 50px rgba(14,24,16,.10);

  /* ---- motion (snappy) ---- */
  --ease:cubic-bezier(0.22,1,0.36,1);
  --t:.22s;
}

*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  font-family:var(--font);
  background:var(--bg);
  color:var(--text);
  font-size:18px;
  line-height:1.6;
  font-weight:500;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:clamp(20px,5vw,48px)}
.section{position:relative;padding:clamp(72px,9vw,128px) 0;overflow:hidden}

/* ---- section themes ---- */
.s-lime{background:var(--lime);color:var(--ink)}
.s-dark{background:var(--forest);color:#eef3ec}
.s-soft{background:var(--surface)}

/* ---- shared type ---- */
.eyebrow{
  display:inline-flex;align-items:center;gap:.5em;
  font-family:var(--mono);font-size:.78rem;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--muted);
  padding:.45em .9em;border:1.5px solid var(--border);border-radius:300px;background:var(--bg);
}
.eyebrow--dark{color:var(--ink);border-color:rgba(14,24,16,.25);background:rgba(255,255,255,.35)}
.eyebrow--lime{color:var(--lime);border-color:rgba(217,238,81,.35);background:rgba(217,238,81,.08)}
.sec-head{max-width:760px;margin-bottom:clamp(40px,5vw,64px)}
.sec-title{
  font-size:var(--h2);font-weight:900;line-height:1.04;letter-spacing:-.03em;
  color:var(--ink);margin-top:1rem;
}
.s-dark .sec-title{color:#fff}
.sec-sub{margin-top:1rem;font-size:1.15rem;color:var(--muted);max-width:620px}
.lead{font-size:1.2rem;margin-top:1.25rem;max-width:520px}
.ink-hl{position:relative;white-space:nowrap}
.ink-hl::after{content:"";position:absolute;left:-2px;right:-2px;bottom:.06em;height:.42em;background:var(--lime);z-index:-1;transform:rotate(-1deg)}
.s-lime .ink-hl::after{background:var(--ink);opacity:.12}
.bolt{color:var(--logo-green);-webkit-text-stroke:0}

/* ============ BUTTONS ============ */
.btn{
  position:relative;display:inline-flex;align-items:center;gap:.55em;
  font-family:var(--font);font-weight:800;font-size:1rem;
  padding:.85em 1.5em;border-radius:300px;border:2px solid transparent;
  cursor:pointer;overflow:hidden;transition:transform var(--t) var(--ease),box-shadow var(--t) var(--ease),background var(--t);
  white-space:nowrap;will-change:transform;
}
.btn--lg{font-size:1.06rem;padding:1.02em 1.8em}
.btn--block{display:flex;width:100%;justify-content:center}
.btn__arrow{width:1.15em;height:1.15em;transition:transform var(--t) var(--ease)}
.btn:hover .btn__arrow{transform:translateX(4px)}
.btn--primary{background:var(--ink);color:var(--lime)}
.btn--primary:hover{box-shadow:var(--shadow-hard);transform:translate(-2px,-2px)}
.btn--lime{background:var(--lime);color:var(--ink);border-color:var(--ink)}
.btn--lime:hover{box-shadow:6px 6px 0 var(--lime);transform:translate(-2px,-2px)}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn--ghost:hover{background:var(--ink);color:var(--lime)}
/* shimmer */
.btn--primary::after,.btn--lime::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);
  transform:translateX(-120%);transition:transform .7s var(--ease);
}
.btn--primary:hover::after,.btn--lime:hover::after{transform:translateX(120%)}

/* ============ NAV ============ */
.nav{position:fixed;inset:0 0 auto;z-index:100;transition:background var(--t),box-shadow var(--t),border-color var(--t);border-bottom:1.5px solid transparent}
.nav__inner{display:flex;align-items:center;gap:1.5rem;height:76px}
.nav__logo img{height:30px;width:auto}
.nav__links{display:flex;gap:2rem;margin-left:auto;font-weight:600;font-size:.97rem}
.nav__links a{position:relative;color:var(--ink);transition:opacity var(--t)}
.nav__links a::after{content:"";position:absolute;left:0;bottom:-5px;width:0;height:2px;background:var(--ink);transition:width var(--t) var(--ease)}
.nav__links a:hover::after{width:100%}
.nav__cta{padding:.62em 1.15em;font-size:.95rem}
.nav.scrolled{background:rgba(255,255,255,.86);backdrop-filter:blur(14px);box-shadow:0 6px 30px rgba(14,24,16,.07);border-color:var(--border)}
.nav__burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px;margin-left:auto}
.nav__burger span{width:26px;height:2.5px;background:var(--ink);border-radius:2px;transition:var(--t)}
.drawer{position:fixed;inset:76px 0 auto;z-index:99;background:var(--lime);display:flex;flex-direction:column;gap:.5rem;padding:1.5rem clamp(20px,5vw,48px) 2rem;transform:translateY(-120%);transition:transform .4s var(--ease);border-bottom:2px solid var(--ink)}
.drawer.open{transform:translateY(0)}
.drawer a:not(.btn){font-weight:700;font-size:1.2rem;padding:.7rem 0;color:var(--ink);border-bottom:1.5px solid rgba(14,24,16,.12)}
.drawer .btn{margin-top:1rem;justify-content:center}

/* ============ HERO ============ */
.hero{background:var(--lime);padding-top:140px;min-height:100svh;display:flex;align-items:center}
.hero__bg{position:absolute;inset:0;overflow:hidden;z-index:0}
.blob{position:absolute;border-radius:50%;filter:blur(46px);opacity:.55;mix-blend-mode:multiply}
.blob--1{width:46vw;height:46vw;left:-12vw;top:-14vw;background:var(--mint);animation:morph1 16s var(--ease) infinite alternate}
.blob--2{width:40vw;height:40vw;right:-10vw;top:8vw;background:var(--forest);opacity:.28;animation:morph2 19s var(--ease) infinite alternate}
.blob--3{width:30vw;height:30vw;left:30vw;bottom:-14vw;background:var(--lime-deep);opacity:.6;animation:morph1 22s var(--ease) infinite alternate-reverse}
@keyframes morph1{0%{border-radius:60% 40% 30% 70%/60% 30% 70% 40%;transform:translate(0,0) rotate(0)}100%{border-radius:30% 60% 70% 40%/50% 60% 30% 60%;transform:translate(40px,30px) rotate(40deg)}}
@keyframes morph2{0%{border-radius:40% 60% 60% 40%/40% 50% 50% 60%;transform:translate(0,0)}100%{border-radius:60% 40% 40% 60%/60% 40% 60% 40%;transform:translate(-40px,20px)}}
.hero__dots{position:absolute;inset:0;background-image:radial-gradient(rgba(14,24,16,.10) 1.4px,transparent 1.4px);background-size:26px 26px;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000,transparent 75%);mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000,transparent 75%)}
.hero__grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;align-items:center;width:100%}
.hero__title{
  font-size:var(--display);font-weight:900;line-height:.98;letter-spacing:-.035em;color:var(--ink);
  margin:1.2rem 0 0;
}
.hero__title .hl{display:inline-block;background:var(--ink);color:var(--lime);padding:.02em .28em;border-radius:14px;transform:rotate(-1.5deg);margin-top:.12em}
.hero__sub{font-size:clamp(1.1rem,1.6vw,1.35rem);color:var(--ink);opacity:.78;margin-top:1.6rem;font-weight:600}
.hero__cta{display:flex;gap:1rem;margin-top:2.2rem;flex-wrap:wrap}
.hero__trust{display:flex;align-items:center;gap:.8rem;margin-top:2rem;font-size:.95rem;color:var(--ink);opacity:.82;flex-wrap:wrap}
.hero__trust b{font-weight:800}
.stars{color:var(--ink);letter-spacing:2px}

/* phone */
.hero__visual{display:flex;justify-content:center;position:relative}
.phone-wrap{position:relative;width:min(330px,80%);will-change:transform}
.phone{width:100%;height:auto;filter:drop-shadow(0 30px 60px rgba(14,24,16,.28));position:relative;z-index:2}
.glow-ellipse{position:absolute;inset:6% 0;background:radial-gradient(ellipse at center,rgba(115,191,68,.55),transparent 68%);filter:blur(36px);z-index:0}
.glow-ellipse--dark{background:radial-gradient(ellipse at center,rgba(14,24,16,.22),transparent 70%)}
.chip{position:absolute;z-index:3;will-change:transform}
.chip--coin{width:54px;top:8%;left:-6%}
.chip--flash{width:58px;bottom:20%;right:-8%}
.chip--rate{bottom:7%;left:-10%;display:flex;align-items:center;gap:.5em;background:var(--ink);color:#fff;font-size:.8rem;font-weight:700;padding:.6em 1em;border-radius:300px;box-shadow:var(--shadow-soft)}
.chip__dot{width:8px;height:8px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 0 rgba(96,221,122,.7);animation:pulse 1.8s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(96,221,122,.6)}70%{box-shadow:0 0 0 9px rgba(96,221,122,0)}100%{box-shadow:0 0 0 0 rgba(96,221,122,0)}}

.scroll-ind{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);width:26px;height:42px;border:2px solid rgba(14,24,16,.4);border-radius:300px;display:flex;justify-content:center;padding-top:7px;z-index:3}
.scroll-ind span{width:4px;height:9px;border-radius:2px;background:var(--ink);animation:scrolld 1.7s var(--ease) infinite}
@keyframes scrolld{0%{transform:translateY(0);opacity:0}40%{opacity:1}100%{transform:translateY(14px);opacity:0}}

/* ============ TICKER ============ */
.ticker{background:var(--ink);color:var(--lime);overflow:hidden;padding:18px 0;border-block:2px solid var(--ink)}
.ticker__track{display:flex;align-items:center;gap:2.4rem;width:max-content;animation:scrollx 32s linear infinite;font-family:var(--font);font-weight:900;font-size:1.1rem;letter-spacing:.02em;text-transform:uppercase}
.ticker__dot{color:var(--logo-green);font-size:.9rem}
@keyframes scrollx{to{transform:translateX(-50%)}}
.ticker:hover .ticker__track{animation-play-state:paused}

/* ============ FEATURES ============ */
.feat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
.feat-card{background:var(--bg);border:2px solid var(--ink);border-radius:var(--radius);padding:1.8rem 1.6rem;transition:transform var(--t) var(--ease),box-shadow var(--t) var(--ease)}
.feat-card:hover{transform:translate(-3px,-3px);box-shadow:var(--shadow-hard)}
.feat-card__icon{width:54px;height:54px;border-radius:14px;background:var(--lime);display:grid;place-items:center;margin-bottom:1.1rem}
.feat-card__icon svg{width:28px;height:28px}
.feat-card h3{font-size:1.3rem;font-weight:900;color:var(--ink);letter-spacing:-.02em;margin-bottom:.5rem}
.feat-card p{font-size:.98rem;color:var(--text)}

/* ============ SPLIT (fees / rcoins) ============ */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.check-list{list-style:none;margin-top:1.8rem;display:grid;gap:1rem}
.check-list li{position:relative;padding-left:2.2rem;font-size:1.05rem}
.check-list li::before{content:"";position:absolute;left:0;top:1px;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--ink);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12l4 4 8-9' fill='none' stroke='%23d9ee51' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-size:80%;background-position:center;background-repeat:no-repeat}
.s-lime .check-list li b{font-weight:900}

/* compare card */
.compare-card{background:var(--bg);border:2px solid var(--ink);border-radius:var(--radius-lg);padding:1.8rem;box-shadow:var(--shadow-hard)}
.compare-card__head{display:flex;justify-content:space-between;align-items:center;font-weight:800;color:var(--ink);margin-bottom:1.4rem}
.badge-live{display:inline-flex;align-items:center;gap:.4em;font-family:var(--mono);font-size:.72rem;text-transform:uppercase;color:var(--muted);font-weight:700}
.badge-live i{width:8px;height:8px;border-radius:50%;background:var(--mint);animation:pulse 1.8s infinite}
.compare-row{display:grid;grid-template-columns:96px 1fr auto;align-items:center;gap:1rem;padding:.7rem 0}
.compare-row__brand{font-weight:700;color:var(--ink);font-size:.92rem}
.compare-row__brand.muted{color:var(--muted)}
.mini-logo{height:18px;width:auto}
.compare-row__bars{height:12px;background:var(--surface);border-radius:300px;overflow:hidden}
.bar{display:block;height:100%;border-radius:300px}
.bar--fee{background:var(--lime);box-shadow:inset 0 0 0 2px var(--ink)}
.bar--dim{background:var(--border)}
.compare-row__num{font-weight:800;color:var(--ink)}
.compare-row__num.muted{color:var(--muted)}
.compare-card__foot{display:flex;justify-content:space-between;align-items:center;margin-top:1.2rem;padding-top:1.2rem;border-top:2px dashed var(--border);font-weight:800;color:var(--ink)}
.save-num{font-size:1.6rem;font-weight:900;color:var(--ink);background:var(--lime);padding:.05em .4em;border-radius:10px;border:2px solid var(--ink)}

/* ============ PERSONAS ============ */
.persona-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.persona-card{background:var(--bg);border:2px solid var(--ink);border-radius:var(--radius-lg);padding:1.4rem;transition:transform var(--t) var(--ease),box-shadow var(--t) var(--ease)}
.persona-card:hover{transform:translate(-3px,-3px);box-shadow:var(--shadow-hard)}
.persona-art{border-radius:16px;overflow:hidden;margin-bottom:1.3rem}
.persona-art svg{width:100%;height:auto;display:block}
.persona-card h3{font-size:1.45rem;font-weight:900;color:var(--ink);letter-spacing:-.02em;margin-bottom:.5rem}
.persona-card p{font-size:1rem}

/* ============ URGENCY ============ */
.urgency{text-align:center}
.urgency__inner{max-width:780px;margin-inline:auto;position:relative;z-index:2}
.urgency__title{font-size:clamp(2.6rem,6.5vw,5rem);font-weight:900;line-height:.98;letter-spacing:-.03em;color:#fff;margin:1.2rem 0 1.4rem}
.urgency p{font-size:1.2rem;color:#cdd8c9;max-width:620px;margin:0 auto 2.2rem}
.glow-blob{position:absolute;width:60vw;height:60vw;max-width:700px;max-height:700px;top:50%;left:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(217,238,81,.18),transparent 62%);pointer-events:none}
.with-noise::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ============ CORRIDOR CALCULATOR ============ */
.corridor .sec-head{max-width:820px}
.calc{display:grid;grid-template-columns:1fr 1fr;gap:0;border:2.5px solid var(--ink);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-hard);background:var(--bg)}
.calc__pane{padding:clamp(1.6rem,3vw,2.6rem)}
.calc__pane--in{border-right:2.5px solid var(--ink)}
.calc__pane--out{background:var(--ink);color:#fff}
.corridor-flags{display:flex;align-items:center;gap:1rem;margin-bottom:1.8rem;font-size:1.1rem;font-weight:700;color:var(--ink)}
.corridor-flags .flag{display:inline-flex;align-items:center;gap:.4em;background:var(--tint);padding:.4em .9em;border-radius:300px;border:1.5px solid var(--ink)}
.flag-arrow{width:36px;height:22px}
.flagicon{width:22px;height:15px;border-radius:2px;overflow:hidden;flex:0 0 auto;vertical-align:-.18em;object-fit:cover;box-shadow:0 0 0 1px rgba(0,0,0,.12)}
.calc__label{font-size:.72rem;letter-spacing:.14em;color:var(--muted);font-weight:700}
.calc__amount{display:flex;align-items:baseline;gap:.6rem;border-bottom:2.5px solid var(--ink);padding:.5rem 0 .7rem;margin:.5rem 0 1.4rem}
.calc__amount span{font-size:1.1rem;font-weight:700;color:var(--muted)}
.calc__amount input{border:0;outline:0;font-family:var(--font);font-weight:900;font-size:clamp(2rem,4vw,3rem);color:var(--ink);width:100%;background:transparent;letter-spacing:-.02em}
.calc__range{-webkit-appearance:none;width:100%;height:8px;border-radius:300px;background:var(--tint);border:1.5px solid var(--ink);cursor:pointer;margin-bottom:1.4rem}
.calc__range::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:var(--lime);border:2.5px solid var(--ink);cursor:grab;box-shadow:2px 2px 0 var(--ink)}
.calc__range::-moz-range-thumb{width:26px;height:26px;border-radius:50%;background:var(--lime);border:2.5px solid var(--ink);cursor:grab}
.calc__quick{display:flex;gap:.6rem;flex-wrap:wrap}
.calc__quick button{font-family:var(--mono);font-weight:700;font-size:.85rem;padding:.5em 1em;border-radius:300px;border:1.5px solid var(--ink);background:var(--bg);color:var(--ink);cursor:pointer;transition:var(--t)}
.calc__quick button:hover,.calc__quick button.is-active{background:var(--lime)}
.calc__big-label{font-size:.72rem;letter-spacing:.14em;color:rgba(255,255,255,.55);font-weight:700}
.calc__big-num{font-size:clamp(2.4rem,5vw,3.6rem);font-weight:900;letter-spacing:-.03em;color:var(--lime);line-height:1.1;margin-top:.3rem}
.calc__cur{font-size:1.2rem;color:rgba(255,255,255,.6)}
.calc__rows{list-style:none;margin:1.8rem 0;display:grid;gap:.1rem}
.calc__rows li{display:flex;justify-content:space-between;padding:.7rem 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:.98rem;color:rgba(255,255,255,.75)}
.calc__rows b{color:#fff;font-weight:700}
.calc__rows .ok{color:var(--mint)}
.calc__rows-save{border-bottom:0!important;color:#fff!important;font-weight:700}
.calc__rows-save b{color:var(--lime);font-size:1.15rem}

/* ============ R-COINS ============ */
.coins-stack{position:relative;max-width:360px;margin-inline:auto}
.coins-stack svg{position:relative;z-index:2}
.rcoin-progress{margin-top:2rem;background:rgba(14,24,16,.06);border:2px solid var(--ink);border-radius:16px;padding:1.2rem}
.rcoin-progress__bar{height:14px;background:rgba(14,24,16,.12);border-radius:300px;overflow:hidden;margin-bottom:.7rem}
.rcoin-progress__bar span{display:block;height:100%;background:var(--ink);border-radius:300px}
.rcoin-progress__meta{display:flex;justify-content:space-between;font-size:.82rem;color:var(--ink);font-weight:700}

/* R-Coin power medallion */
.rc-coin{width:min(100%,380px);height:auto;overflow:visible;display:block;margin-inline:auto}
.rc-coin .rc-bob{animation:rc-bob 2.6s var(--ease) infinite alternate}
.rc-coin .rc-spin{transform-box:view-box;transform-origin:210px 210px;animation:rc-spin 7s linear infinite}
.rc-coin .rc-spin-rev{transform-box:view-box;transform-origin:210px 210px;animation:rc-spin 9s linear infinite reverse}
.rc-coin .rc-flow{stroke-dasharray:6 12;animation:rc-flow .7s linear infinite}
.rc-coin .rc-zap{transform-box:view-box;transform-origin:318px 118px;animation:rc-zap .9s var(--ease) infinite alternate}
.rc-coin .rc-glow{transform-box:fill-box;transform-origin:center;filter:blur(30px);animation:rc-glow 2.6s var(--ease) infinite alternate}
@keyframes rc-bob{to{transform:translateY(-12px)}}
@keyframes rc-spin{to{transform:rotate(360deg)}}
@keyframes rc-flow{to{stroke-dashoffset:-36}}
@keyframes rc-zap{0%{transform:translateY(0) scale(1)}100%{transform:translateY(-6px) scale(1.07)}}
@keyframes rc-glow{0%{opacity:.32;transform:scale(.95)}100%{opacity:.6;transform:scale(1.05)}}
@media(prefers-reduced-motion:reduce){.rc-coin *{animation:none!important}}

/* ============ HOW IT WORKS ============ */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;position:relative}
.steps__line{position:absolute;top:74px;left:16%;right:16%;height:2.5px;background:repeating-linear-gradient(90deg,var(--ink) 0 10px,transparent 10px 20px);z-index:0}
.step{position:relative;z-index:1;text-align:center}
.step__num{display:inline-block;font-size:.85rem;font-weight:700;color:var(--muted);margin-bottom:1rem}
.step__icon{width:74px;height:74px;margin:0 auto 1.3rem;border-radius:20px;background:var(--bg);border:2.5px solid var(--ink);display:grid;place-items:center;box-shadow:var(--shadow-hard)}
.step__icon svg{width:38px;height:38px}
.step h3{font-size:1.4rem;font-weight:900;color:var(--ink);letter-spacing:-.02em;margin-bottom:.5rem}
.step p{max-width:280px;margin-inline:auto}

/* ============ WALLET ============ */
.wallet-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:1.4rem}
.wallet-card{background:var(--bg);border:2px solid var(--ink);border-radius:var(--radius-lg);padding:1.8rem;display:flex;flex-direction:column;grid-row:span 2;transition:transform var(--t) var(--ease),box-shadow var(--t) var(--ease)}
.wallet-card:hover{transform:translate(-3px,-3px);box-shadow:var(--shadow-hard)}
.wallet-card--wide{background:var(--lime)}
.wallet-card__art{margin-top:auto;padding-top:1.4rem}
.wallet-card__art svg{width:100%;height:auto}
.wallet-card__icon{width:54px;height:54px;border-radius:14px;background:var(--tint);display:grid;place-items:center;margin-bottom:1.1rem;border:2px solid var(--ink)}
.wallet-card__icon svg{width:28px;height:28px}
.wallet-card h3{font-size:1.3rem;font-weight:900;color:var(--ink);letter-spacing:-.02em;margin-bottom:.5rem}
.wallet-card p{font-size:.98rem}

/* ============ FAQ ============ */
.faq__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.qa{border-bottom:2px solid var(--ink);padding:.4rem 0}
.qa summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;cursor:pointer;list-style:none;padding:1.2rem 0;font-size:1.18rem;font-weight:800;color:var(--ink);letter-spacing:-.01em}
.qa summary::-webkit-details-marker{display:none}
.qa__plus{position:relative;flex:0 0 22px;width:22px;height:22px}
.qa__plus::before,.qa__plus::after{content:"";position:absolute;background:var(--ink);border-radius:2px;transition:var(--t) var(--ease)}
.qa__plus::before{top:10px;left:0;width:22px;height:2.5px}
.qa__plus::after{left:10px;top:0;width:2.5px;height:22px}
.qa[open] .qa__plus::after{transform:rotate(90deg);opacity:0}
.qa__body{overflow:hidden;max-height:0;transition:max-height .4s var(--ease)}
.qa[open] .qa__body{max-height:240px}
.qa__body p{padding-bottom:1.3rem;color:var(--text);max-width:560px}

/* ============ KC / CTA ============ */
.kc{text-align:center}
.kc__inner{max-width:720px;margin-inline:auto}
.kc__title{font-size:clamp(2.4rem,6vw,4.6rem);font-weight:900;line-height:1;letter-spacing:-.03em;color:var(--ink);margin:1.1rem 0 1.2rem}
.kc p{font-size:1.15rem;color:var(--ink);opacity:.78;max-width:520px;margin:0 auto}
.kc__form{display:flex;gap:.7rem;max-width:480px;margin:2rem auto .8rem;flex-wrap:wrap}
.kc__form input{flex:1;min-width:200px;border:2.5px solid var(--ink);border-radius:300px;padding:1em 1.4em;font-family:var(--font);font-size:1rem;font-weight:600;background:var(--bg);outline:none}
.kc__form input:focus{box-shadow:4px 4px 0 var(--ink)}
.kc__note{font-size:.86rem;color:var(--ink);opacity:.6}
.kc__link{display:inline-block;margin-top:1.6rem;font-weight:800;color:var(--ink);border-bottom:2.5px solid var(--ink);padding-bottom:2px}

/* ============ FOOTER ============ */
.footer{background:var(--ink);color:#cdd8c9;padding:clamp(56px,7vw,88px) 0 2rem}
.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:2.5rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.1)}
.footer__logo{height:30px;width:auto;margin-bottom:1.2rem}
.footer__brand p{font-size:.98rem;color:#9fb39c;max-width:320px}
.footer__col h4{font-size:.82rem;text-transform:uppercase;letter-spacing:.12em;color:#fff;margin-bottom:1.1rem;font-weight:800}
.footer__col a{display:block;padding:.42rem 0;color:#9fb39c;font-size:.96rem;transition:var(--t)}
.footer__col a:hover{color:var(--lime);transform:translateX(3px)}
.footer__form{display:flex;gap:.5rem;margin-top:.3rem}
.footer__form input{flex:1;background:rgba(255,255,255,.06);border:1.5px solid rgba(255,255,255,.18);border-radius:300px;padding:.8em 1.1em;color:#fff;font-family:var(--font);outline:none}
.footer__form input::placeholder{color:#7d8a7a}
.footer__form button{flex:0 0 46px;height:46px;border-radius:50%;background:var(--lime);border:0;color:var(--ink);cursor:pointer;display:grid;place-items:center;transition:var(--t)}
.footer__form button svg{width:20px;height:20px}
.footer__form button:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--logo-green)}
.footer__msg{display:block;margin-top:.7rem;font-size:.85rem;color:var(--mint);min-height:1.2em}
.footer__bar{display:flex;justify-content:space-between;align-items:center;padding-top:1.6rem;font-size:.88rem;color:#7d8a7a}
.footer__powered b{color:var(--lime)}

/* ============ SCROLL REVEAL ============ */
.reveal,.stagger>*{opacity:0;transform:translateY(36px)}
.is-in.reveal,.is-in.stagger>*{opacity:1;transform:none}
.reveal{transition:opacity .7s var(--ease),transform .7s var(--ease)}
.stagger>*{transition:opacity .6s var(--ease),transform .6s var(--ease)}

/* ============ RESPONSIVE ============ */
@media(max-width:1024px){
  .hero__grid{grid-template-columns:1fr;gap:2rem;text-align:center}
  .hero__copy{display:flex;flex-direction:column;align-items:center}
  .hero__cta,.hero__trust{justify-content:center}
  .hero__sub br{display:none}
  .feat-grid{grid-template-columns:repeat(2,1fr)}
  .wallet-grid{grid-template-columns:1fr 1fr}
  .wallet-card{grid-row:auto}
  .wallet-card--wide{grid-column:span 2}
  .faq__grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .nav__links,.nav__cta{display:none}
  .nav__burger{display:flex}
  .split,.calc{grid-template-columns:1fr}
  .calc__pane--in{border-right:0;border-bottom:2.5px solid var(--ink)}
  .persona-grid,.steps{grid-template-columns:1fr;gap:1.4rem}
  .steps__line{display:none}
  .feat-grid{grid-template-columns:1fr}
  .wallet-grid{grid-template-columns:1fr}
  .wallet-card--wide{grid-column:auto}
  .footer__grid{grid-template-columns:1fr 1fr}
  .footer__brand{grid-column:span 2}
  .footer__bar{flex-direction:column;gap:.5rem;text-align:center}
}
@media(max-width:480px){
  .footer__grid{grid-template-columns:1fr}
  .footer__brand{grid-column:auto}
  .hero__cta .btn{width:100%;justify-content:center}
}

/* ============ REDUCED MOTION ============ */
@media(prefers-reduced-motion:reduce){
  *,*::after,*::before{animation:none!important;transition:none!important}
  .reveal,.stagger>*{opacity:1!important;transform:none!important}
}


/* ---------- a11y: skip link + visible focus (added in QA pass) ---------- */
.skip-link{position:absolute;left:8px;top:-56px;z-index:2000;background:var(--ink);color:#fff;
  padding:.6rem 1rem;border-radius:10px;font-weight:700;text-decoration:none;transition:top .18s ease}
.skip-link:focus{top:8px}
:focus-visible{outline:2px solid currentColor;outline-offset:2px;border-radius:3px}
.footer__form input:focus-visible{outline:2px solid #d9ee51;outline-offset:2px}
.calc__amount input:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
